[CONF] Confluence Changes in the last 24 hours

2007-04-26 Thread confluence
-
This is a daily summary of all recent changes in Confluence.

-
Updated Spaces:
-

Apache Camel (CAMEL) http://cwiki.apache.org/confluence/display/CAMEL
|
|-Pages Added or Edited in This Space
 |-- Navigation was last edited by jstrachan (03:19 AM).
 |   http://cwiki.apache.org/confluence/display/CAMEL/Navigation
 |-- Processor was created by jstrachan (12:17 AM).
 |   http://cwiki.apache.org/confluence/display/CAMEL/Processor
 |-- Content Filter was created by jstrachan (12:51 AM).
 |   http://cwiki.apache.org/confluence/display/CAMEL/Content+Filter
 |-- Content Enricher was created by jstrachan (12:49 AM).
 |   http://cwiki.apache.org/confluence/display/CAMEL/Content+Enricher
 |-- Normalizer was created by jstrachan (12:46 AM).
 |   http://cwiki.apache.org/confluence/display/CAMEL/Normalizer
 |-- Enterprise Integration Patterns was last edited by jstrachan (12:44 AM).
 |   
http://cwiki.apache.org/confluence/display/CAMEL/Enterprise+Integration+Patterns
 |-- Durable Subscriber was created by jstrachan (12:39 AM).
 |   http://cwiki.apache.org/confluence/display/CAMEL/Durable+Subscriber
 |-- Message Dispatcher was created by jstrachan (12:36 AM).
 |   http://cwiki.apache.org/confluence/display/CAMEL/Message+Dispatcher
 |-- Competing Consumers was created by jstrachan (12:32 AM).
 |   http://cwiki.apache.org/confluence/display/CAMEL/Competing+Consumers
 |-- Messaging Mapper was created by jstrachan (12:30 AM).
 |   http://cwiki.apache.org/confluence/display/CAMEL/Messaging+Mapper
 |-- Message Translator was last edited by jstrachan (12:18 AM).
 |   http://cwiki.apache.org/confluence/display/CAMEL/Message+Translator

Apache CXF 2.0 Documentation (CXF20DOC) 
http://cwiki.apache.org/confluence/display/CXF20DOC
|
|-Pages Added or Edited in This Space
 |-- Dynamic Clients was created by dandiep (12:53 PM).
 |   http://cwiki.apache.org/confluence/display/CXF20DOC/Dynamic+Clients
 |-- Index was last edited by dandiep (12:14 PM).
 |   http://cwiki.apache.org/confluence/display/CXF20DOC/Index

Apache ActiveMQ (ACTIVEMQ) http://cwiki.apache.org/confluence/display/ACTIVEMQ
|
|-Pages Added or Edited in This Space
 |-- Xml Reference was last edited by jstrachan (08:12 AM).
 |   http://cwiki.apache.org/confluence/display/ACTIVEMQ/Xml+Reference
 |-- Monitoring ActiveMQ was last edited by jstrachan (06:38 AM).
 |   http://cwiki.apache.org/confluence/display/ACTIVEMQ/Monitoring+ActiveMQ
 |-- Source was last edited by jstrachan (02:35 AM).
 |   http://cwiki.apache.org/confluence/display/ACTIVEMQ/Source

Apache Struts 2 Plugin Registry (S2PLUGINS) 
http://cwiki.apache.org/confluence/display/S2PLUGINS
|
|-Pages Added or Edited in This Space
 |-- Struts GWT plugin demo was created by musachy (12:06 PM).
 |   
http://cwiki.apache.org/confluence/display/S2PLUGINS/2007/04/25/Struts+GWT+plugin+demo

Apache ActiveMQ CPP (AMQCPP) http://cwiki.apache.org/confluence/display/AMQCPP
|
|-Pages Added or Edited in This Space
 |-- Index was last edited by nmittler (12:41 PM).
 |   http://cwiki.apache.org/confluence/display/AMQCPP/Index

Apache Geronimo v2.0 (GMOxDOC20) 
http://cwiki.apache.org/confluence/display/GMOxDOC20
|
|-Pages Added or Edited in This Space
 |-- RELEASE-NOTES-2.0-M5.TXT was last edited by hogstrom (08:02 PM).
 |   
http://cwiki.apache.org/confluence/display/GMOxDOC20/RELEASE-NOTES-2.0-M5.TXT
 |-- Multiple Repositories was last edited by hcunico (07:40 AM).
 |   http://cwiki.apache.org/confluence/display/GMOxDOC20/Multiple+Repositories
 |-- Running Multiple Instances of Geronimo was last edited by hcunico (07:40 
AM).
 |   
http://cwiki.apache.org/confluence/display/GMOxDOC20/Running+Multiple+Instances+of+Geronimo

Apache Struts 2 Documentation (WW) http://cwiki.apache.org/confluence/display/WW
|
|-Pages Added or Edited in This Space
 |-- Why would we want to create Action objects from the Spring configuration 
was last edited by [EMAIL PROTECTED] (02:06 AM).
 |   
http://cwiki.apache.org/confluence/display/WW/Why+would+we+want+to+create+Action+objects+from+the+Spring+configuration

Apache Ode (ODExSITE) http://cwiki.apache.org/confluence/display/ODExSITE
|
|-Pages Added or Edited in This Space
 |-- Index was last edited by [EMAIL PROTECTED] (11:45 AM).
 |   http://cwiki.apache.org/confluence/display/ODExSITE/Index
 |-- WS-BPEL 2.0 Specification Compliance was last edited by [EMAIL PROTECTED] 
(11:43 AM).
 |   
http://cwiki.apache.org/confluence/display/ODExSITE/WS-BPEL+2.0+Specification+Compliance
 |-- WS-BPEL 2.0 was last edited by [EMAIL PROTECTED] (11:41 AM).
 |   http://cwiki.apache.org/confluence/display/ODExSITE/WS-BPEL+2.0
 |-- SideNav Documentation was last edited by mriou (11:40 AM).
 |   http://cwiki.apache.org/confluence/display/ODExSITE/SideNav+Documentation
 |-- Frequently Asked Questions was last edited b

[Struts Wiki] Update of "StrutsTutorials" by ImranChughtai

2007-04-26 Thread Apache Wiki
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Struts Wiki" for change 
notification.

The following page has been changed by ImranChughtai:
http://wiki.apache.org/struts/StrutsTutorials

--
  Tutorials that cover Struts:
+ 
+ [http://www.visualbuilder.com/jsp/struts/tutorial/ Struts Tutorial with Video 
Demonstrations] understand the benefits of Struts and how to program your first 
Struts program
  
  [http://www.javapassion.com/handsonlabs/strutsbasics/ Struts Lab] by Sang 
Shin (based on Struts 1.2.9)
  


svn commit: r532655 - /struts/struts1/trunk/tiles2/pom.xml

2007-04-26 Thread apetrelli
Author: apetrelli
Date: Thu Apr 26 01:25:59 2007
New Revision: 532655

URL: http://svn.apache.org/viewvc?view=rev&rev=532655
Log:
STR-3017
Updated dependency on Tiles 2 to Tiles 2.0.3

Modified:
struts/struts1/trunk/tiles2/pom.xml

Modified: struts/struts1/trunk/tiles2/pom.xml
URL: 
http://svn.apache.org/viewvc/struts/struts1/trunk/tiles2/pom.xml?view=diff&rev=532655&r1=532654&r2=532655
==
--- struts/struts1/trunk/tiles2/pom.xml (original)
+++ struts/struts1/trunk/tiles2/pom.xml Thu Apr 26 01:25:59 2007
@@ -109,13 +109,7 @@
   
  org.apache.tiles
  tiles-core
- 2.0.2-SNAPSHOT
-  
-
-  
- org.apache.tiles
- tiles-api
- 2.0.2-SNAPSHOT
+ 2.0.3
   
 
   




svn commit: r532741 - /struts/struts2/trunk/plugins/codebehind/src/main/java/org/apache/struts2/codebehind/CodebehindUnknownHandler.java

2007-04-26 Thread mrdon
Author: mrdon
Date: Thu Apr 26 06:42:48 2007
New Revision: 532741

URL: http://svn.apache.org/viewvc?view=rev&rev=532741
Log:
Updating to the new codebehind interface
WW-1715

Modified:

struts/struts2/trunk/plugins/codebehind/src/main/java/org/apache/struts2/codebehind/CodebehindUnknownHandler.java

Modified: 
struts/struts2/trunk/plugins/codebehind/src/main/java/org/apache/struts2/codebehind/CodebehindUnknownHandler.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/codebehind/src/main/java/org/apache/struts2/codebehind/CodebehindUnknownHandler.java?view=diff&rev=532741&r1=532740&r2=532741
==
--- 
struts/struts2/trunk/plugins/codebehind/src/main/java/org/apache/struts2/codebehind/CodebehindUnknownHandler.java
 (original)
+++ 
struts/struts2/trunk/plugins/codebehind/src/main/java/org/apache/struts2/codebehind/CodebehindUnknownHandler.java
 Thu Apr 26 06:42:48 2007
@@ -210,4 +210,11 @@
 return prefix + ns;
 }
 
+/**
+ * Not used
+ */
+   public Object handleUnknownActionMethod(Object action, String 
methodName) throws NoSuchMethodException {
+   throw new NoSuchMethodException();
+   }
+
 }




svn commit: r532755 - in /struts/struts2/trunk/plugins/spring/src: main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.

2007-04-26 Thread mrdon
Author: mrdon
Date: Thu Apr 26 07:23:02 2007
New Revision: 532755

URL: http://svn.apache.org/viewvc?view=rev&rev=532755
Log:
Fixing setter order problem by using constructor injection
WW-1753

Modified:

struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java

struts/struts2/trunk/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java

Modified: 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java?view=diff&rev=532755&r1=532754&r2=532755
==
--- 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
 (original)
+++ 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
 Thu Apr 26 07:23:02 2007
@@ -43,22 +43,14 @@
  */
 public class StrutsSpringObjectFactory extends SpringObjectFactory {
 private static final Log log = 
LogFactory.getLog(StrutsSpringObjectFactory.class);
-
-private String autoWire;
-private boolean useClassCache = true;
-
-
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_AUTOWIRE,required=false)
-public void setAutoWire(String val) {
-autoWire = val;
-}
-
-
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_USE_CLASS_CACHE,required=false)
-public void setUseClassCache(String val) {
-useClassCache = "true".equals(val);
-}
-
+
 @Inject
-public void setServletContext(ServletContext servletContext) {
+public StrutsSpringObjectFactory(
+
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_AUTOWIRE,required=false)
 String autoWire,
+
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_USE_CLASS_CACHE,required=false)
 String useClassCacheStr,
+@Inject ServletContext servletContext) {
+
+boolean useClassCache = "true".equals(useClassCacheStr);
 log.info("Initializing Struts-Spring integration...");
 
 ApplicationContext appContext = 
WebApplicationContextUtils.getWebApplicationContext(servletContext);

Modified: 
struts/struts2/trunk/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java?view=diff&rev=532755&r1=532754&r2=532755
==
--- 
struts/struts2/trunk/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java
 (original)
+++ 
struts/struts2/trunk/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java
 Thu Apr 26 07:23:02 2007
@@ -38,18 +38,13 @@
 
 public void testNoSpringContext() throws Exception {
 // to cover situations where there will be logged an error
-StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory();
-ServletContext msc = (ServletContext) new MockServletContext();
-fac.setServletContext(msc);
+StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory(null, 
null, new MockServletContext());
 
 assertEquals(AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, 
fac.getAutowireStrategy());
 }
 
 public void testWithSpringContext() throws Exception {
-StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory();
-
-// autowire by constructure, we try a non default setting in this unit 
test
-fac.setAutoWire("constructor");
+
 
 ConfigurableWebApplicationContext ac = new XmlWebApplicationContext();
 ServletContext msc = (ServletContext) new MockServletContext();
@@ -57,8 +52,7 @@
 ac.setServletContext(msc);
 ac.setConfigLocations(new String[] 
{"org/apache/struts2/spring/StrutsSpringObjectFactoryTest-applicationContext.xml"});
 ac.refresh();
-
-fac.setServletContext(msc);
+StrutsSpringObjectFactory fac = new 
StrutsSpringObjectFactory("constructor", null, msc);
 
 assertEquals(AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR, 
fac.getAutowireStrategy());
 }




svn commit: r532757 - /struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java

2007-04-26 Thread mrdon
Author: mrdon
Date: Thu Apr 26 07:23:48 2007
New Revision: 532757

URL: http://svn.apache.org/viewvc?view=rev&rev=532757
Log:
Adding default constructor call
WW-1753

Modified:

struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java

Modified: 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java?view=diff&rev=532757&r1=532756&r2=532757
==
--- 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
 (original)
+++ 
struts/struts2/trunk/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
 Thu Apr 26 07:23:48 2007
@@ -49,7 +49,8 @@
 
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_AUTOWIRE,required=false)
 String autoWire,
 
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_USE_CLASS_CACHE,required=false)
 String useClassCacheStr,
 @Inject ServletContext servletContext) {
-
+  
+super();
 boolean useClassCache = "true".equals(useClassCacheStr);
 log.info("Initializing Struts-Spring integration...");
 




svn commit: r532759 - in /struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src: main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java test/java/org/apache/struts2/spring/StrutsSpringOb

2007-04-26 Thread mrdon
Author: mrdon
Date: Thu Apr 26 07:27:47 2007
New Revision: 532759

URL: http://svn.apache.org/viewvc?view=rev&rev=532759
Log:
Fixing initialisation order problem
WW-1753

Modified:

struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java

struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java

Modified: 
struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java?view=diff&rev=532759&r1=532758&r2=532759
==
--- 
struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
 (original)
+++ 
struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/main/java/org/apache/struts2/spring/StrutsSpringObjectFactory.java
 Thu Apr 26 07:27:47 2007
@@ -43,22 +43,15 @@
  */
 public class StrutsSpringObjectFactory extends SpringObjectFactory {
 private static final Log log = 
LogFactory.getLog(StrutsSpringObjectFactory.class);
-
-private String autoWire;
-private boolean useClassCache = true;
-
-
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_AUTOWIRE,required=false)
-public void setAutoWire(String val) {
-autoWire = val;
-}
-
-
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_USE_CLASS_CACHE,required=false)
-public void setUseClassCache(String val) {
-useClassCache = "true".equals(val);
-}
-
+
 @Inject
-public void setServletContext(ServletContext servletContext) {
+public StrutsSpringObjectFactory(
+
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_AUTOWIRE,required=false)
 String autoWire,
+
@Inject(value=StrutsConstants.STRUTS_OBJECTFACTORY_SPRING_USE_CLASS_CACHE,required=false)
 String useClassCacheStr,
+@Inject ServletContext servletContext) {
+  
+super();
+boolean useClassCache = "true".equals(useClassCacheStr);
 log.info("Initializing Struts-Spring integration...");
 
 ApplicationContext appContext = 
WebApplicationContextUtils.getWebApplicationContext(servletContext);

Modified: 
struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java?view=diff&rev=532759&r1=532758&r2=532759
==
--- 
struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java
 (original)
+++ 
struts/struts2/branches/STRUTS_2_0_X/plugins/spring/src/test/java/org/apache/struts2/spring/StrutsSpringObjectFactoryTest.java
 Thu Apr 26 07:27:47 2007
@@ -38,18 +38,13 @@
 
 public void testNoSpringContext() throws Exception {
 // to cover situations where there will be logged an error
-StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory();
-ServletContext msc = (ServletContext) new MockServletContext();
-fac.setServletContext(msc);
+StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory(null, 
null, new MockServletContext());
 
 assertEquals(AutowireCapableBeanFactory.AUTOWIRE_BY_NAME, 
fac.getAutowireStrategy());
 }
 
 public void testWithSpringContext() throws Exception {
-StrutsSpringObjectFactory fac = new StrutsSpringObjectFactory();
-
-// autowire by constructure, we try a non default setting in this unit 
test
-fac.setAutoWire("constructor");
+
 
 ConfigurableWebApplicationContext ac = new XmlWebApplicationContext();
 ServletContext msc = (ServletContext) new MockServletContext();
@@ -57,8 +52,7 @@
 ac.setServletContext(msc);
 ac.setConfigLocations(new String[] 
{"org/apache/struts2/spring/StrutsSpringObjectFactoryTest-applicationContext.xml"});
 ac.refresh();
-
-fac.setServletContext(msc);
+StrutsSpringObjectFactory fac = new 
StrutsSpringObjectFactory("constructor", null, msc);
 
 assertEquals(AutowireCapableBeanFactory.AUTOWIRE_CONSTRUCTOR, 
fac.getAutowireStrategy());
 }




svn commit: r532928 - in /struts/struts2/trunk/core/src: main/java/org/apache/struts2/interceptor/validation/ main/resources/ main/resources/org/apache/struts2/static/ main/resources/template/css_xhtm

2007-04-26 Thread musachy
Author: musachy
Date: Thu Apr 26 18:51:07 2007
New Revision: 532928

URL: http://svn.apache.org/viewvc?view=rev&rev=532928
Log:
WW-1897 Create JSONValidationInterceptor

Added:

struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java

struts/struts2/trunk/core/src/main/resources/org/apache/struts2/static/utils.js
struts/struts2/trunk/core/src/test/java/org/apache/struts2/TestUtils.java

struts/struts2/trunk/core/src/test/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptorTest.java
Removed:

struts/struts2/trunk/core/src/main/resources/org/apache/struts2/static/validationClient.js
Modified:
struts/struts2/trunk/core/src/main/resources/struts-default.xml

struts/struts2/trunk/core/src/main/resources/template/css_xhtml/validation.js
struts/struts2/trunk/core/src/main/resources/template/xhtml/validation.js

Added: 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java?view=auto&rev=532928
==
--- 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java
 (added)
+++ 
struts/struts2/trunk/core/src/main/java/org/apache/struts2/interceptor/validation/JSONValidationInterceptor.java
 Thu Apr 26 18:51:07 2007
@@ -0,0 +1,207 @@
+/*
+ * $Id$
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *  http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.struts2.interceptor.validation;
+
+import java.text.CharacterIterator;
+import java.text.StringCharacterIterator;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.struts2.ServletActionContext;
+
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionInvocation;
+import com.opensymphony.xwork2.ValidationAware;
+
+/**
+ * Extends the annotations validator and returns a JSON string with the
+ * validation errors. If validation succeeds the action is invoked. 
+ * 
+ * If 'validationFailedStatus' is set it will be used as the Response status
+ * when validation fails.
+ * 
+ * If the request has a parameter 'validateOnly' execution will return 
after 
+ * validation (action won't be executed).
+ */
+public class JSONValidationInterceptor extends AnnotationValidationInterceptor 
{
+private static final Log LOG = LogFactory
+.getLog(JSONValidationInterceptor.class);
+static char[] hex = "0123456789ABCDEF".toCharArray();
+
+private int validationFailedStatus = -1;
+
+/**
+ * HTTP status that will be set in the response if validation fails
+ * @param validationFailedStatus
+ */
+public void setValidationFailedStatus(int validationFailedStatus) {
+this.validationFailedStatus = validationFailedStatus;
+}
+
+@Override
+protected String doIntercept(ActionInvocation invocation) throws Exception 
{
+//validate
+doBeforeInvocation(invocation);
+
+HttpServletResponse response = ServletActionContext.getResponse();
+HttpServletRequest request = ServletActionContext.getRequest();
+
+Object action = invocation.getAction();
+
+if (action instanceof ValidationAware) {
+// generate json
+ValidationAware validationAware = (ValidationAware) action;
+if (validationAware.hasErrors()) {
+if (validationFailedStatus >= 0)
+response.setStatus(validationFailedStatus);
+response.getWriter().print(buildResponse(validationAware));
+return Action.NONE;
+}
+}
+
+String validateOnly = request.getParameter("validateOnly");
+if (validateOnly != null && "true".equals(validateOnly)) {
+return Action.NONE;
+} else {
+return invoc

svn commit: r532929 - /struts/struts2/trunk/core/src/test/resources/org/apache/struts2/interceptor/validation/

2007-04-26 Thread musachy
Author: musachy
Date: Thu Apr 26 19:01:50 2007
New Revision: 532929

URL: http://svn.apache.org/viewvc?view=rev&rev=532929
Log:
WW-1897 Create JSONValidationInterceptor

Added:

struts/struts2/trunk/core/src/test/resources/org/apache/struts2/interceptor/validation/



svn commit: r532930 - /struts/struts2/trunk/core/src/test/resources/org/apache/struts2/interceptor/validation/json-1.txt

2007-04-26 Thread musachy
Author: musachy
Date: Thu Apr 26 19:01:53 2007
New Revision: 532930

URL: http://svn.apache.org/viewvc?view=rev&rev=532930
Log:
WW-1897 Create JSONValidationInterceptor

Added:

struts/struts2/trunk/core/src/test/resources/org/apache/struts2/interceptor/validation/json-1.txt

Added: 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/interceptor/validation/json-1.txt
URL: 
http://svn.apache.org/viewvc/struts/struts2/trunk/core/src/test/resources/org/apache/struts2/interceptor/validation/json-1.txt?view=auto&rev=532930
==
--- 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/interceptor/validation/json-1.txt
 (added)
+++ 
struts/struts2/trunk/core/src/test/resources/org/apache/struts2/interceptor/validation/json-1.txt
 Thu Apr 26 19:01:53 2007
@@ -0,0 +1,12 @@
+/* {
+   "errors": [
+"General error"
+   ],
+   "fieldErrors": {
+"value": ["Min value is -1"],
+   "text" : [
+   "Too short",
+   "This is no email"
+   ]
+   } 
+} */
\ No newline at end of file