Re: continuum-webapp issues [was: Re: svn commit: r431764 - /maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp]

2006-08-17 Thread Jesse McConnell

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 [EMAIL PROTECTED] 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:  

Re: continuum-webapp issues [was: Re: svn commit: r431764 - /maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp]

2006-08-16 Thread Kenney Westerhof


Ok, the problem is resolved: I upgraded the web.xml to the 2.4
specification. Tomcat correctly uses the 1.0 jstl and applies other 2.3 
behaviours if the web.xml is version 2.3, whereas jetty probably always 
uses the 2.4 spec, which is why that works there (although jetty:run

doesn't work here..).

I also updated the c:urls to ww:urls.

What I see is a lot of non-standard actions, like

ww:url value=${notifier.type}NotifierEdit!default.action.

Could this easily be changed to

ww:url action=edit${notifier.type}Notifier

? Seems cleaner to me.


Thanks for your patience and sorry about all the spam! :)

-- Kenney

Kenney Westerhof 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 
[EMAIL PROTECTED]/,file:/vol/home/forge/work/opensource-rw/maven-trunks/continuum/continuum-webapp/src/main/webapp/} 


:WARN:  failed [EMAIL PROTECTED]
:WARN:  failed [EMAIL PROTECTED]
:INFO:  Started SelectChannelConnector @ 0.0.0.0:9090
:WARN:  failed [EMAIL PROTECTED]
[INFO] Jetty server exiting.
[INFO] 

Re: continuum-webapp issues [was: Re: svn commit: r431764 - /maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp]

2006-08-16 Thread Brett Porter
The later is most definitely better. It allows you to keep your URLs 
independent. For example, with the repository browse actions in Archiva, 
the mapper will convert the action  parameters into 
/browse/group/artifact/version instead of 
browse.action?group=...artifactId=... etc


- Brett

On 17/8/06 2:03 AM, Kenney Westerhof wrote:


Ok, the problem is resolved: I upgraded the web.xml to the 2.4
specification. Tomcat correctly uses the 1.0 jstl and applies other 2.3 
behaviours if the web.xml is version 2.3, whereas jetty probably always 
uses the 2.4 spec, which is why that works there (although jetty:run

doesn't work here..).

I also updated the c:urls to ww:urls.

What I see is a lot of non-standard actions, like

ww:url value=${notifier.type}NotifierEdit!default.action.

Could this easily be changed to

ww:url action=edit${notifier.type}Notifier

? Seems cleaner to me.


Thanks for your patience and sorry about all the spam! :)

-- Kenney

Kenney Westerhof 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 
[EMAIL 

Re: JSTL vs WebWork taglibs [Was: svn commit: r431764 - /maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp]

2006-08-16 Thread Brett Porter
reason is in the other mail. use ww:url for getting action urls (for 
which there is no standard equivalent).


I use c: forEach instead of ww:iterator and so on, though.

- Brett

On 17/8/06 2:59 AM, Carlos Sanchez wrote:

What's the advantage of using webwork ww:url and other ww tags when
there's an equivalent in jstl? why not stick to the standard? I'd use
jstl by default and ww tags when there's no jstl equivalent.

On 8/15/06, Brett Porter [EMAIL PROTECTED] wrote:

Since it's an action URL, I strong suggest using ww:url instead.

- Brett

On 16/08/2006 12:04 PM, Carlos Sanchez wrote:
 i've seen this problem with tomcat. Works fine with jetty.

 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 [EMAIL PROTECTED] 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, [EMAIL PROTECTED] wrote:
  Author: kenney
  Date: Tue Aug 15 18:41:17 2006
  New Revision: 431764
 
  URL: http://svn.apache.org/viewvc?rev=431764view=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=431764r1=431763r2=431764view=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/





--
Apache Maven - http://maven.apache.org/
Better Builds with Maven - http://library.mergere.com/







--
Apache Maven - http://maven.apache.org/
Better Builds with Maven - http://library.mergere.com/


Re: svn commit: r431764 - /maven/continuum/trunk/continuum-webapp/src/main/webapp/summary.jsp

2006-08-15 Thread Emmanuel Venisse

me too.

Emmanuel

Brett Porter a écrit :

Since it's an action URL, I strong suggest using ww:url instead.

- Brett

On 16/08/2006 12:04 PM, Carlos Sanchez wrote:

i've seen this problem with tomcat. Works fine with jetty.

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 [EMAIL PROTECTED] 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, [EMAIL PROTECTED] wrote:
 Author: kenney
 Date: Tue Aug 15 18:41:17 2006
 New Revision: 431764

 URL: http://svn.apache.org/viewvc?rev=431764view=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=431764r1=431763r2=431764view=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/