continuum-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jesse McConnell" <jesse.mcconn...@gmail.com>
Subject Re: continuum-webapp issues [was: Re: svn commit: r431764 - /maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp]
Date Thu, 17 Aug 2006 12:37:29 GMT
I know your problems solved, but this is how I did it last night..

            <ec:column property="actions" title="&nbsp;">
                 <ww:url id="editUrl" action="buildDefinition" method="input">
                  <ww:param
name="projectGroupId">${pageScope.buildDefinitionSummary.projectGroupId}</ww:param>
                  <ww:param
name="buildDefinitionId">${pageScope.buildDefinitionSummary.id}</ww:param>
                </ww:url>
                <ww:url id="removeUrl" action="removeGroupBuildDefinition">
                  <ww:param
name="projectGroupId">${pageScope.buildDefinitionSummary.projectGroupId}</ww:param>
                  <ww:param
name="buildDefinitionId">${pageScope.buildDefinitionSummary.id}</ww:param>
                  <ww:param name="confirmed" value="false"/>
                </ww:url>

                <ww:a href="%{editUrl}"><ww:text name="edit"/></ww:a>
                &nbsp;
                <ww:a href="%{removeUrl}"><ww:text name="delete"/></ww:a>
            </ec:column>

On 8/16/06, Kenney Westerhof <kenney@apache.org> wrote:
> (fwd again, now using correct address.. does anybody have a nice
> alternative for Thunderbird on linux? :/ )
>
> ---
>
> Ok, I'm trying to get this to work.
>
> It seems that the <ww: tags use OGNL expressions to set/get values from
> the action. (I'm missing a design document on how actions/jsp/etc are
> related, but I'm figuring it out... slowly..).
>
> Code snippet from summary.jsp (simplified):
>
> ----
>          <ec:table items="projects"
>                    var="project">
>            <ec:row highlightRow="true">
>              <ec:column property="state" title="&nbsp;" width="1%"
> cell="org.apache.maven.continuum.web.view.StateCell"/>
>              <ec:column property="name"
> title="summary.projectTable.name" width="48%">
>                <a href="<ww:url action='projectView.action'>
>                    <ww:param name='projectId' value='${project.id}' />
>                  </ww:url>">${project.name}</a>
>              </ec:column>
> ---
>
>  From what I understand the following happens when you go to
> /summary.action:
>
> * The SummaryAction class is executed and the summary.jsp used to render
>    the output.
>
> * The <ec:table> uses the SummaryAction.getProjects()'s value to iterate
>    over the projects (how it retrieves that is a mystery; it must somehow
>    be registered as a PageContext scope'd variable 'projects'??)
>    The <ec:*> taglib only uses the JspPageContext e.a. to retrieve/store
>    variables.
>
> * The <ec:table> makes the current item (from the projects list)
>    available in a variable 'project'. This is only so that the
>    ${project.*} expressions in plain-text (i.e. not within <tags> and
>    their parameters) can be evaluated by the JspWriter.
>
> * Next taglib: webwork. The <ww:url> and <ww:param> values use OGNL
>    expressions to evaluate parameters. So <ww:param . value="project.id">
>    actually tries SummaryAction.getProject().getId().
>
> * Since the extremecomponents taglib doesn't update the action with the
>    current loop variable (call SummaryAction.setProject(project), which I
>    added to test this), the <ww:param> tag doesn't work since the value
>    can't be evaluated.
>
> Some more strange things:
>
> * ${project.id} works outside of tags (but inside <ec:column>), since
>    'project' is a PageContext scoped variable.
>
> * <c:set var="test" value="${project.id}"/> doesn't work; produces
>    '${project.id}' for ${test}.
>
> * <c:set var="test" property="${project.id}"/> doesn't work; produces
>    '' for ${test}.
>
> * <c:set var="test" property="project.id"/> doesn't work; produces
>    '' for ${test}.
>
> * <c:set var="test">${project.id}</c:set> doesn't work; produces
>    '${project.id}' for ${test}.
>
> Any ideas? Working examples? (not the <a href="<ww:url
> action=".."/>?projectId=${project.id}">..</a> preferrably ;)
>
> -- Kenney
>
> Kenney Westerhof wrote:
> >
> >
> > Carlos Sanchez wrote:
> >> i've seen this problem with tomcat. Works fine with jetty.
> >
> > Aha.
> >
> > I couldn't get jetty to work:
> >
> > [continuum-webapp]$ mvn jetty:run
> > ....
> >
> > [INFO] Initializing JDO.
> > 13:11:26,739 INFO  JPOX.JDO [org.jpox.AbstractPersistenceManagerFactory]
> > PersistenceManagerFactory - Vendor: JPOX  Version: Unknown
> > 13:11:26,745 INFO  JPOX.JDO [org.jpox.AbstractPersistenceManagerFactory]
> > PersistenceManagerFactory initialised for datastore
> > URL=jdbc:derby:/vol/home/forge/work/opensource-rw/maven-trunks/continuum/continuum-webapp/src/main/webapp/WEB-INF/database;create=true
> > driver=org.apache.derby.jdbc.EmbeddedDriver userName=sa
> > 13:11:26,823 INFO  org.quartz.simpl.RAMJobStore
> > [org.quartz.simpl.RAMJobStore] RAMJobStore initialized.
> > 13:11:26,824 INFO  org.quartz.impl.StdSchedulerFactory
> > [org.quartz.impl.StdSchedulerFactory] Quartz scheduler
> > 'defaultScheduler' initialized from an externally provided properties
> > instance.
> > 13:11:26,826 INFO  org.quartz.impl.StdSchedulerFactory
> > [org.quartz.impl.StdSchedulerFactory] Quartz scheduler version: 1.4.5
> > 13:11:26,828 INFO  org.quartz.core.QuartzScheduler
> > [org.quartz.core.QuartzScheduler] Scheduler
> > defaultScheduler_$_NON_CLUSTERED started.
> > [WARNING] Could not find the executable 'ant' in the path '[]'.
> > [WARNING] Could not find the executable 'maven' in the path '[]'.
> > :WARN:  failed
> > ContextHandler@1248f2b{/,file:/vol/home/forge/work/opensource-rw/maven-trunks/continuum/continuum-webapp/src/main/webapp/}
> >
> > :WARN:  failed ContextHandlerCollection@ad97f5
> > :WARN:  failed HandlerCollection@d38976
> > :INFO:  Started SelectChannelConnector @ 0.0.0.0:9090
> > :WARN:  failed Server@86988
> > [INFO] Jetty server exiting.
> > [INFO]
> > ------------------------------------------------------------------------
> > [ERROR] BUILD ERROR
> > [INFO]
> > ------------------------------------------------------------------------
> > [INFO] Failure
> >
> > Embedded error: org.codehaus.plexus.PlexusContainerException: Error
> > initializaing container in
> > org.codehaus.plexus.container.initialization.StartLoadOnStartComponentsPhase@18f729c.
> >
> > Component composition failed. No field of type: 'interface
> > org.apache.maven.MavenTools' exists in class
> > 'org.apache.maven.project.DefaultMavenProjectBuilder'. Component: role:
> > 'org.apache.maven.project.MavenProjectBuilder', implementation:
> > 'org.apache.maven.project.DefaultMavenProjectBuilder'
> > [INFO]
> > ------------------------------------------------------------------------
> > [INFO] For more information, run Maven with the -e switch
> > [INFO]
> > ------------------------------------------------------------------------
> > [INFO] Total time: 1 minute 24 seconds
> > [INFO] Finished at: Wed Aug 16 13:11:26 CEST 2006
> > [INFO] Final Memory: 18M/52M
> > [INFO]
> > ------------------------------------------------------------------------
> > FATAL ERROR: Unable to configure the Maven application
> > For more information, run with the -e flag
> > :INFO:  Shutdown hook executing
> > :INFO:  Shutdown hook complete
> > 13:11:28,867 INFO  JPOX.RDBMS
> > [org.jpox.store.rdbms.adapter.RDBMSAdapterFactory] RDBMS Adapter
> > initialised : CloudscapeAdapter : Apache Derby version=10.1.2.1,
> > major=10, minor=1, revision=2
> > Identifier Names : UPPERCASE
> > Driver name=Apache Derby Embedded JDBC Driver, version=10.1.2.1,
> > major=10, minor=1
> > Identifier Max Lengths : Table=128  Column=128  Constraint=18  Index=18
> >  Delimeters="
> > Identifier Support in DDL : catalog=false  schema=true
> > 13:11:28,868 INFO  JPOX.RDBMS.SCHEMA [org.jpox.store.rdbms.RDBMSManager]
> > Initialising Catalog "", Schema "SA" using "SchemaTable" auto-start option
> > 13:11:29,761 INFO  JPOX.RDBMS.SCHEMA [org.jpox.store.rdbms.RDBMSManager]
> > Catalog "", Schema "SA" initialised - managing 0 classes
> > org.codehaus.plexus.personality.plexus.lifecycle.phase.StoppingException:
> > Error storing the Continuum configuration.
> >         at
> > org.apache.maven.continuum.DefaultContinuum.stopContinuum(DefaultContinuum.java:2077)
> >
> >         at
> > org.apache.maven.continuum.DefaultContinuum$1.run(DefaultContinuum.java:163)
> >
> > Caused by:
> > org.apache.maven.continuum.configuration.ConfigurationStoringException:
> > Error writting configuration to database.
> >         at
> > org.apache.maven.continuum.configuration.DefaultConfigurationService.store(DefaultConfigurationService.java:270)
> >
> >         at
> > org.apache.maven.continuum.DefaultContinuum.stopContinuum(DefaultContinuum.java:2073)
> >
> >         ... 1 more
> > Caused by: org.apache.maven.continuum.store.ContinuumStoreException: Not
> > detached: null
> >         at
> > org.apache.maven.continuum.store.JdoContinuumStore.updateObject(JdoContinuumStore.java:602)
> >
> >         at
> > org.apache.maven.continuum.store.JdoContinuumStore.updateSystemConfiguration(JdoContinuumStore.java:1045)
> >
> >         at
> > org.apache.maven.continuum.configuration.DefaultConfigurationService.store(DefaultConfigurationService.java:266)
> >
> >         ... 2 more
> > Caused by: org.codehaus.plexus.jdo.PlexusStoreException: Not detached: null
> >         at
> > org.codehaus.plexus.jdo.PlexusJdoUtils.updateObject(PlexusJdoUtils.java:74)
> >         at
> > org.apache.maven.continuum.store.JdoContinuumStore.updateObject(JdoContinuumStore.java:598)
> >
> >         ... 4 more
> >
> >
> > I thought this was fixed?
> >
> > Any idea?
> >
> > -- Kenney
> >
> >>
> >> Please add a jira to put back the right url composition, your changes
> >> won't work in some cases (we just moved all url composition to use
> >> c:url)
> >>
> >> On 8/15/06, Brett Porter <brett@apache.org> wrote:
> >>> There are two versions of c: - core, and core_rt. If you are including a
> >>> TLD in the webapp, make sure you have the right one.
> >>>
> >>> I usually just omit the tlds in the webapp and use:
> >>> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
> >>> (note this is JSTL 1.1, the URL is different for JSTL 1.0, which might
> >>> also be the problem).
> >>>
> >>> This gets pulled from the JAR. Seems to work just fine in MRM.
> >>>
> >>> - Brett
> >>>
> >>> On 16/08/2006 11:41 AM, kenney@apache.org wrote:
> >>> > Author: kenney
> >>> > Date: Tue Aug 15 18:41:17 2006
> >>> > New Revision: 431764
> >>> >
> >>> > URL: http://svn.apache.org/viewvc?rev=431764&view=rev
> >>> > Log:
> >>> > Use <c:url because of the url completion, but not c:param (for now).
> >>> >
> >>> > <c:*> tags don't evaluate the expressions, somehow. Not sure
why
> >>> this doesn't
> >>> > work..
> >>> >
> >>> > This problem also exists in schedules.jsp (and probably other places).
> >>> >
> >>> > Added a workaround for the main page for now.
> >>> >
> >>> > Modified:
> >>> >     maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp
> >>> >
> >>> > Modified:
> >>> maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp
> >>> > URL:
> >>> http://svn.apache.org/viewvc/maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp?rev=431764&r1=431763&r2=431764&view=diff
> >>>
> >>> >
> >>> ==============================================================================
> >>>
> >>> > ---
> >>> maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp
> >>> (original)
> >>> > +++
> >>> maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp
> >>> Tue Aug 15 18:41:17 2006
> >>> > @@ -19,13 +19,8 @@
> >>> >            <ec:row highlightRow="true">
> >>> >              <ec:column property="state" title="&nbsp;" width="1%"
> >>> cell="org.apache.maven.continuum.web.view.StateCell"/>
> >>> >              <ec:column property="name"
> >>> title="summary.projectTable.name" width="48%">
> >>> > -                <!--this doesn't work as the project.id isn't
> >>> interpolated
> >>> > -                <c:url var="projectViewUrl"
> >>> value="/projectView.action">
> >>> > -                  <c:param name="projectId" value="${project.id}"/>
> >>> > -                </c:url>
> >>> > -                <a href="<c:out
> >>> value='${projectViewUrl}'/>">${project.name}</a>
> >>> > -                -->
> >>> > -                <a
> >>> href="/projectView.action?projectId=${project.id}">${project.name}</a>
> >>> > +                <c:url var="projectViewUrl"
> >>> value="/projectView.action"/>
> >>> > +                <a href="<c:out
> >>> value='${projectViewUrl}?projectId=${project.id}'/>">${project.name}</a>
> >>> >              </ec:column>
> >>> >              <ec:column property="version"
> >>> title="summary.projectTable.version" width="13%"/>
> >>> >              <ec:column property="buildNumber"
> >>> title="summary.projectTable.build" width="5%"
> >>> cell="org.apache.maven.continuum.web.view.BuildCell"/>
> >>> >
> >>> >
> >>>
> >>>
> >>> --
> >>> Apache Maven - http://maven.apache.org/
> >>> Better Builds with Maven - http://library.mergere.com/
> >>>
> >>
> >>
>
>
>


-- 
jesse mcconnell
jesse.mcconnell@gmail.com

Mime
View raw message