svn commit: r408662 - in /struts/action2/trunk/action-api: ./ src/main/java/org/apache/struts/action2/ src/main/java/org/apache/struts/action2/attribute/ src/main/java/org/apache/struts/action2/spi/ s

2006-05-22 Thread plightbo
Author: plightbo
Date: Mon May 22 06:47:57 2006
New Revision: 408662

URL: http://svn.apache.org/viewvc?rev=408662&view=rev
Log:
bob's latest API

Added:

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/spi/ActionContext.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/spi/RequestContext.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/spi/RequestContextAware.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/spi/ThreadLocalRequestContext.java
Modified:
struts/action2/trunk/action-api/pom.xml

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/ErrorAware.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/MessageAware.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/Messages.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/Validatable.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/attribute/ApplicationAttribute.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/attribute/RequestAttribute.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/attribute/SessionAttribute.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/package-info.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/spi/Interceptor.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/spi/Request.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/spi/RequestAware.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/spi/Result.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/spi/ThreadLocalRequest.java

struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/spi/package-info.java

struts/action2/trunk/action-api/src/test/java/org/apache/struts/action2/spi/ThreadLocalRequestTest.java

Modified: struts/action2/trunk/action-api/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/action2/trunk/action-api/pom.xml?rev=408662&r1=408661&r2=408662&view=diff
==
--- struts/action2/trunk/action-api/pom.xml (original)
+++ struts/action2/trunk/action-api/pom.xml Mon May 22 06:47:57 2006
@@ -16,18 +16,19 @@
 javax.servlet
 servlet-api
 2.4
-provided
 
 
 junit
 junit
 test
+
 true
 
 
 easymock
 easymock
 test
+2.0
 
 
 

Modified: 
struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/ErrorAware.java
URL: 
http://svn.apache.org/viewvc/struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/ErrorAware.java?rev=408662&r1=408661&r2=408662&view=diff
==
--- 
struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/ErrorAware.java
 (original)
+++ 
struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/ErrorAware.java
 Mon May 22 06:47:57 2006
@@ -1,45 +0,0 @@
-package org.apache.struts.action2;
-
-/**
- * Implemented by actions that may need to record error messages. For example:
- *
- * 
- *   static import ResultNames.*;
- *
- *   public class SetName implements ErrorAware {
- *
- * Messages errors;
- * String name;
- *
- * public String execute() {
- *   if ("".equals(name) {
- * errors.add("name.required");
- * return INPUT;
- *   }
- *
- *   ...
- *   return SUCCESS;
- * }
- *
- * public void setErrors(Messages errors) {
- *   this.errors = errors;
- * }
- *
- * public void setName(String name) {
- *   this.name = name;
- * }
- *   }
- * 
- *
- * @see MessageAware
- * @author [EMAIL PROTECTED] (Bob Lee)
- */
-public interface ErrorAware {
-
-/**
- * Sets error messages.
- *
- * @param errors error messages
- */
-void setErrors(Messages errors);
-}

Modified: 
struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/MessageAware.java
URL: 
http://svn.apache.org/viewvc/struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/MessageAware.java?rev=408662&r1=408661&r2=408662&view=diff
==
--- 
struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/MessageAware.java
 (original)
+++ 
struts/action2/trunk/action-api/src/main/java/org/apache/struts/action2/MessageAware.java
 Mon May 22 06:47:57 2006
@@ -1,27 +1,33 @@
 package org.apache.struts.action2;
 
 /**
- * Implemented by actions th

svn commit: r408817 - in /struts/shale/trunk: core-library/src/java/org/apache/shale/component/ use-cases/src/web/WEB-INF/ use-cases/src/web/profile/

2006-05-22 Thread craigmcc
Author: craigmcc
Date: Mon May 22 19:02:23 2006
New Revision: 408817

URL: http://svn.apache.org/viewvc?rev=408817&view=rev
Log:
Fix the  component so that it does not allow a spurious resubmit
to succeed after the first resubmit has failed.  This is done by caching the
token value the first time it is generated, so that the same value is used
if the page is rerendered later.  This works because a given value is only
accepted once.

JIRA Issue:  SHALE-177
Submitted By:  Veit Guna 

Modified:

struts/shale/trunk/core-library/src/java/org/apache/shale/component/Token.java
struts/shale/trunk/use-cases/src/web/WEB-INF/dialog-config.xml
struts/shale/trunk/use-cases/src/web/profile/logon.jsp
struts/shale/trunk/use-cases/src/web/profile/profile1.jsp
struts/shale/trunk/use-cases/src/web/profile/profile2.jsp
struts/shale/trunk/use-cases/src/web/profile/profile3.jsp

Modified: 
struts/shale/trunk/core-library/src/java/org/apache/shale/component/Token.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/core-library/src/java/org/apache/shale/component/Token.java?rev=408817&r1=408816&r2=408817&view=diff
==
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/component/Token.java 
(original)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/component/Token.java 
Mon May 22 19:02:23 2006
@@ -58,6 +58,13 @@
   
 
 /**
+ * Local component attribute under which we store the token value
+ * the first time it is generated.
+ */
+private static final String TOKEN_ATTRIBUTE_KEY = 
"org.apache.shale.Token.TOKEN_VALUE";
+
+
+/**
  * Message resources for this class
  */
 private static Messages messages =
@@ -263,9 +270,18 @@
  */
 public String getToken() {
 
+// Have we already generated a token value?  If so, use it
+String value = (String) getAttributes().get(TOKEN_ATTRIBUTE_KEY);
+if (value != null) {
+ return value;
+}
+
+// Generate a new token value and cache it for reuse if the
+// current view is rerendered
 FacesContext context = FacesContext.getCurrentInstance();
 TokenProcessor tp = getTokenProcessor(context);
 String token = tp.generate(context);
+getAttributes().put(TOKEN_ATTRIBUTE_KEY, token);
 if (log.isDebugEnabled()) {
 log.debug("Generating token '" + token + "'");
 }

Modified: struts/shale/trunk/use-cases/src/web/WEB-INF/dialog-config.xml
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/use-cases/src/web/WEB-INF/dialog-config.xml?rev=408817&r1=408816&r2=408817&view=diff
==
--- struts/shale/trunk/use-cases/src/web/WEB-INF/dialog-config.xml (original)
+++ struts/shale/trunk/use-cases/src/web/WEB-INF/dialog-config.xml Mon May 22 
19:02:23 2006
@@ -57,6 +57,8 @@
 
 
+  
   
 

Modified: struts/shale/trunk/use-cases/src/web/profile/logon.jsp
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/use-cases/src/web/profile/logon.jsp?rev=408817&r1=408816&r2=408817&view=diff
==
--- struts/shale/trunk/use-cases/src/web/profile/logon.jsp (original)
+++ struts/shale/trunk/use-cases/src/web/profile/logon.jsp Mon May 22 19:02:23 
2006
@@ -37,7 +37,7 @@
 
   
 
+   globalOnly="false"/>
   
 
   <%-- "remember" --%>

Modified: struts/shale/trunk/use-cases/src/web/profile/profile1.jsp
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/use-cases/src/web/profile/profile1.jsp?rev=408817&r1=408816&r2=408817&view=diff
==
--- struts/shale/trunk/use-cases/src/web/profile/profile1.jsp (original)
+++ struts/shale/trunk/use-cases/src/web/profile/profile1.jsp Mon May 22 
19:02:23 2006
@@ -37,7 +37,7 @@
 
   
 
+   globalOnly="false"/>
   
 
   <%-- username --%>

Modified: struts/shale/trunk/use-cases/src/web/profile/profile2.jsp
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/use-cases/src/web/profile/profile2.jsp?rev=408817&r1=408816&r2=408817&view=diff
==
--- struts/shale/trunk/use-cases/src/web/profile/profile2.jsp (original)
+++ struts/shale/trunk/use-cases/src/web/profile/profile2.jsp Mon May 22 
19:02:23 2006
@@ -39,7 +39,7 @@
 
   
 
+   globalOnly="false"/>
   
 
   <%-- fullName --%>

Modified: struts/shale/trunk/use-cases/src/web/profile/profile3.jsp
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/use-cases/src/web/profile/profile3.jsp?rev=408817&r1=408816&r2=408817&view=diff
==
--- struts/shale/trunk/use-cases/src/

svn commit: r408821 - /struts/action2/trunk/apps/pom.xml

2006-05-22 Thread wsmoak
Author: wsmoak
Date: Mon May 22 20:02:18 2006
New Revision: 408821

URL: http://svn.apache.org/viewvc?rev=408821&view=rev
Log:
Added Cargo plugin configuration for apps.
Usage:  mvn package cargo:start -Dcargo.tomcat5x.home=/path/to/tomcat

Modified:
struts/action2/trunk/apps/pom.xml

Modified: struts/action2/trunk/apps/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/action2/trunk/apps/pom.xml?rev=408821&r1=408820&r2=408821&view=diff
==
--- struts/action2/trunk/apps/pom.xml (original)
+++ struts/action2/trunk/apps/pom.xml Mon May 22 20:02:18 2006
@@ -96,6 +96,26 @@
 
 
 
+
+
+
+org.codehaus.cargo
+cargo-maven2-plugin
+
+
+tomcat5x
+${cargo.tomcat5x.home}
+${project.build.directory}/tomcat5x.log
+
${project.build.directory}/tomcat5x.out
+
+
+${project.build.directory}/tomcat5x
+
+
+
+
+
+
 
 
 




svn commit: r408825 - in /struts/shale/trunk/clay-plugin/src: java/org/apache/shale/clay/config/ java/org/apache/shale/clay/parser/builder/ java/org/apache/shale/clay/parser/builder/chain/ test/org/ap

2006-05-22 Thread gvanmatre
Author: gvanmatre
Date: Mon May 22 20:48:47 2006
New Revision: 408825

URL: http://svn.apache.org/viewvc?rev=408825&view=rev
Log:
Added better xml namespace support to the clay html template parsing.

Added:

struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/ElementBuilder.java
   (with props)

struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/chain/ClayNamespaceBuilderRule.java
   (with props)

struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address1.html
  - copied, changed from r405826, 
struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address.html

struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address2.html
   (with props)
Removed:

struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/address.html
Modified:

struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java

struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/BuilderFactory.java

struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/chain/shale-builder-config.xml

struts/shale/trunk/clay-plugin/src/test/org/apache/shale/clay/config/ConfigTestCase.java

Modified: 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java?rev=408825&r1=408824&r2=408825&view=diff
==
--- 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java
 (original)
+++ 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/config/Globals.java
 Mon May 22 20:48:47 2006
@@ -196,10 +196,21 @@
 
 /**
  *  Command name in the BUILDER_CATALOG_NAME used to invoke a command
- * chain of rule commands that locates a [EMAIL PROTECTED] 
org.apache.shale.clay.parser.builder.Builder}.
+ * chain of rule commands that locates a [EMAIL PROTECTED] 
org.apache.shale.clay.parser.builder.Builder}
+ * for the default namespace.
  * 
  */
-public static final String FIND_BUILDER_COMMAND_NAME = "findBuilder";
+public static final String FIND_DEFAULT_BUILDER_COMMAND_NAME = 
"default-namespace";
+   
+
+/**
+ *  Command name in the BUILDER_CATALOG_NAME used to invoke a command
+ * chain of rule commands that locates a [EMAIL PROTECTED] 
org.apache.shale.clay.parser.builder.Builder}
+ * for a unknown namespace.
+ * 
+ */
+public static final String FIND_UNKNOWN_BUILDER_COMMAND_NAME = 
"unknown-namespace";
+
 
 /**
  * The config file used by [EMAIL PROTECTED] 
org.apache.shale.clay.component.Clay} component to

Modified: 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/BuilderFactory.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/BuilderFactory.java?rev=408825&r1=408824&r2=408825&view=diff
==
--- 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/BuilderFactory.java
 (original)
+++ 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/BuilderFactory.java
 Mon May 22 20:48:47 2006
@@ -90,7 +90,24 @@
 context.setNode(node);
 try {
 Catalog catalog = getCatalog();
-Command command = 
catalog.getCommand(Globals.FIND_BUILDER_COMMAND_NAME);
+
+Command command = null;
+if (node.getQname() == null) {
+command = 
catalog.getCommand(Globals.FIND_DEFAULT_BUILDER_COMMAND_NAME);
+} else {
+String prefix = node.getQname();
+String uri = node.getNamespaceURI(prefix);
+if (uri != null) {
+command = catalog.getCommand(uri);
+if (command == null) {
+command = 
catalog.getCommand(Globals.FIND_UNKNOWN_BUILDER_COMMAND_NAME);  
   
+}
+} else {
+command = 
catalog.getCommand(Globals.FIND_UNKNOWN_BUILDER_COMMAND_NAME);  

+}
+
+}
+
 command.execute(context);
 
 } catch (Exception e) {

Added: 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/ElementBuilder.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/parser/builder/ElementBuilder.java?rev=408825&view=auto
==
--- 
struts/shale/trunk/clay-plugin/src/java/org/apache/shale/clay/pa

svn commit: r408835 - in /struts/shale/trunk/core-library/src/java/org/apache/shale/remoting: Constants.java faces/MappingsHelper.java

2006-05-22 Thread craigmcc
Author: craigmcc
Date: Mon May 22 22:31:59 2006
New Revision: 408835

URL: http://svn.apache.org/viewvc?rev=408835&view=rev
Log:
Explicitly support identification of the Faces Servlet instance to be used
for remoting requests.  By default, the last servlet definition for servlet
class javax.faces.webapp.FacesServlet will be used.

JIRA Issue:  SHALE-178
Patch Supplied By:  Ed Burns 

Modified:

struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/Constants.java

struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/faces/MappingsHelper.java

Modified: 
struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/Constants.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/Constants.java?rev=408835&r1=408834&r2=408835&view=diff
==
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/Constants.java
 (original)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/Constants.java
 Mon May 22 22:31:59 2006
@@ -63,6 +63,16 @@
 
 
 /**
+ * Context initialization parameter defining the name of the
+ * Faces Servlet to be used for remoting requests.  If not specified,
+ * the last (or only) servlet definition for a servlet whose class is
+ * javax.faces.webapp.FacesServlet is used.
+ */
+public static final String FACES_SERVLET_NAME_PARAM=
+"org.apache.shale.remoting.FACES_SERVLET_NAME";
+
+
+/**
  * Context initialization parameter containing the fully qualified
  * class name of the [EMAIL PROTECTED] Mapping} implementation class to 
use.  If
  * not specified, org.apache.shale.remoting.impl.MappingImpl

Modified: 
struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/faces/MappingsHelper.java
URL: 
http://svn.apache.org/viewvc/struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/faces/MappingsHelper.java?rev=408835&r1=408834&r2=408835&view=diff
==
--- 
struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/faces/MappingsHelper.java
 (original)
+++ 
struts/shale/trunk/core-library/src/java/org/apache/shale/remoting/faces/MappingsHelper.java
 Mon May 22 22:31:59 2006
@@ -333,28 +333,27 @@
 }
 
 // Identify the servlet name of the JavaServer Faces controller servlet
-String name = null;
-NodeList servletNodes = document.getElementsByTagName("servlet");
-for (int i = 0; i < servletNodes.getLength(); i++) {
-Node servletNode = servletNodes.item(i);
-String servletName = null;
-String servletClass = null;
-NodeList kids = servletNode.getChildNodes();
-for (int j = 0; j < kids.getLength(); j++) {
-Node kid = kids.item(j);
-if ("servlet-name".equals(kid.getNodeName())) {
-servletName = text(kid);
-} else if ("servlet-class".equals(kid.getNodeName())) {
-servletClass = text(kid);
+String name =
+
context.getExternalContext().getInitParameter(Constants.FACES_SERVLET_NAME_PARAM);
+if (null == name) {
+NodeList servletNodes = document.getElementsByTagName("servlet");
+for (int i = 0; i < servletNodes.getLength(); i++) {
+Node servletNode = servletNodes.item(i);
+String servletName = null;
+String servletClass = null;
+NodeList kids = servletNode.getChildNodes();
+for (int j = 0; j < kids.getLength(); j++) {
+Node kid = kids.item(j);
+if ("servlet-name".equals(kid.getNodeName())) {
+servletName = text(kid);
+} else if ("servlet-class".equals(kid.getNodeName())) {
+servletClass = text(kid);
+}
+}
+if ("javax.faces.webapp.FacesServlet".equals(servletClass)) {
+name = servletName;
 }
 }
-if ("javax.faces.webapp.FacesServlet".equals(servletClass)) {
-name = servletName;
-//break;
-}
-}
-if (name == null) {
-return new String[0];
 }
 
 // Identify the URL patterns to which this servlet is mapped