You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2013/01/02 22:41:26 UTC

svn commit: r1428072 - in /struts/struts2/trunk/xwork-core/src: main/java/com/opensymphony/xwork2/validator/ main/java/com/opensymphony/xwork2/validator/validators/ test/java/com/opensymphony/xwork2/config/providers/ test/java/com/opensymphony/xwork2/v...

Author: lukaszlenart
Date: Wed Jan  2 21:41:26 2013
New Revision: 1428072

URL: http://svn.apache.org/viewvc?rev=1428072&view=rev
Log:
WW-3890 improves support for generics and moves test values into the tests

Modified:
    struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/ValidationException.java
    struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ValidatorSupport.java
    struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/config/providers/MockConfigurationProvider.java
    struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeValidatorTest.java
    struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/validators/ValidationAction.java

Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/ValidationException.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/ValidationException.java?rev=1428072&r1=1428071&r2=1428072&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/ValidationException.java (original)
+++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/ValidationException.java Wed Jan  2 21:41:26 2013
@@ -37,4 +37,8 @@ public class ValidationException extends
     public ValidationException(String s) {
         super(s);
     }
+
+    public ValidationException(String message, Throwable cause) {
+        super(message, cause);
+    }
 }

Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ValidatorSupport.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ValidatorSupport.java?rev=1428072&r1=1428071&r2=1428072&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ValidatorSupport.java (original)
+++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/validator/validators/ValidatorSupport.java Wed Jan  2 21:41:26 2013
@@ -44,10 +44,10 @@ public abstract class ValidatorSupport i
     protected String messageKey;
     private ValidatorContext validatorContext;
     private boolean shortCircuit;
-    private boolean parse;
+    protected boolean parse;
     private String type;
     private String[] messageParameters;
-    private ValueStack stack;
+    protected ValueStack stack;
 
 
     public void setValueStack(ValueStack stack) {

Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/config/providers/MockConfigurationProvider.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/config/providers/MockConfigurationProvider.java?rev=1428072&r1=1428071&r2=1428072&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/config/providers/MockConfigurationProvider.java (original)
+++ struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/config/providers/MockConfigurationProvider.java Wed Jan  2 21:41:26 2013
@@ -15,11 +15,19 @@
  */
 package com.opensymphony.xwork2.config.providers;
 
-import com.opensymphony.xwork2.*;
+import com.opensymphony.xwork2.Action;
+import com.opensymphony.xwork2.ActionChainResult;
+import com.opensymphony.xwork2.ModelDrivenAction;
+import com.opensymphony.xwork2.ObjectFactory;
+import com.opensymphony.xwork2.SimpleAction;
 import com.opensymphony.xwork2.config.Configuration;
 import com.opensymphony.xwork2.config.ConfigurationException;
 import com.opensymphony.xwork2.config.ConfigurationProvider;
-import com.opensymphony.xwork2.config.entities.*;
+import com.opensymphony.xwork2.config.entities.ActionConfig;
+import com.opensymphony.xwork2.config.entities.InterceptorConfig;
+import com.opensymphony.xwork2.config.entities.InterceptorMapping;
+import com.opensymphony.xwork2.config.entities.PackageConfig;
+import com.opensymphony.xwork2.config.entities.ResultConfig;
 import com.opensymphony.xwork2.inject.ContainerBuilder;
 import com.opensymphony.xwork2.inject.Inject;
 import com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor;
@@ -30,6 +38,7 @@ import com.opensymphony.xwork2.util.loca
 import com.opensymphony.xwork2.validator.ValidationInterceptor;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -50,6 +59,9 @@ public class MockConfigurationProvider i
     public static final String VALIDATION_ACTION_NAME = "validationInterceptorTest";
     public static final String VALIDATION_ALIAS_NAME = "validationAlias";
     public static final String VALIDATION_SUBPROPERTY_NAME = "subproperty";
+
+    private static final Map<String,String> EMPTY_STRING_MAP = Collections.emptyMap();
+
     private Configuration configuration;
     private Map<String,String> params;
     private ObjectFactory objectFactory;
@@ -77,11 +89,11 @@ public class MockConfigurationProvider i
     public void loadPackages() {
         
         PackageConfig.Builder defaultPackageContext = new PackageConfig.Builder("defaultPackage");
-        HashMap params = new HashMap();
+        Map<String, String> params = new HashMap<String, String>();
         params.put("bar", "5");
 
-        HashMap results = new HashMap();
-        HashMap successParams = new HashMap();
+        Map<String, ResultConfig> results = new HashMap<String, ResultConfig>();
+        Map<String, String> successParams = new HashMap<String, String>();
         successParams.put("actionName", "bar");
         results.put("success", new ResultConfig.Builder("success", ActionChainResult.class.getName()).addParams(successParams).build());
 
@@ -90,8 +102,8 @@ public class MockConfigurationProvider i
             .build();
         defaultPackageContext.addActionConfig(FOO_ACTION_NAME, fooActionConfig);
 
-        results = new HashMap();
-        successParams = new HashMap();
+        results = new HashMap<String, ResultConfig>();
+        successParams = new HashMap<String, String>();
         successParams.put("actionName", "bar");
         results.put("success", new ResultConfig.Builder("success", ActionChainResult.class.getName()).addParams(successParams).build());
 
@@ -106,9 +118,9 @@ public class MockConfigurationProvider i
 
         interceptors = new ArrayList<InterceptorMapping>();
         interceptors.add(new InterceptorMapping("model", 
-                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", ModelDrivenInterceptor.class.getName()).build(), new HashMap())));
+                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", ModelDrivenInterceptor.class.getName()).build(), EMPTY_STRING_MAP)));
         interceptors.add(new InterceptorMapping("params",
-                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", ParametersInterceptor.class.getName()).build(), new HashMap())));
+                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", ParametersInterceptor.class.getName()).build(), EMPTY_STRING_MAP)));
 
         ActionConfig modelParamActionConfig = new ActionConfig.Builder("defaultPackage", MODEL_DRIVEN_PARAM_TEST, ModelDrivenAction.class.getName())
             .addInterceptors(interceptors)
@@ -122,28 +134,23 @@ public class MockConfigurationProvider i
         
 
         results = new HashMap<String, ResultConfig>();
-        successParams = new HashMap();
+        successParams = new HashMap<String, String>();
         successParams.put("actionName", "bar");
         results.put("success", new ResultConfig.Builder("success", ActionChainResult.class.getName()).addParams(successParams).build());
         results.put(Action.ERROR, new ResultConfig.Builder(Action.ERROR, MockResult.class.getName()).build());
 
         interceptors = new ArrayList<InterceptorMapping>();
         interceptors.add(new InterceptorMapping("staticParams", 
-                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", StaticParametersInterceptor.class.getName()).build(), new HashMap())));
+                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", StaticParametersInterceptor.class.getName()).build(), EMPTY_STRING_MAP)));
         interceptors.add(new InterceptorMapping("model", 
-                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", ModelDrivenInterceptor.class.getName()).build(), new HashMap())));
+                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", ModelDrivenInterceptor.class.getName()).build(), EMPTY_STRING_MAP)));
         interceptors.add(new InterceptorMapping("params", 
-                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", ParametersInterceptor.class.getName()).build(), new HashMap())));
+                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", ParametersInterceptor.class.getName()).build(), EMPTY_STRING_MAP)));
         interceptors.add(new InterceptorMapping("validation", 
-                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", ValidationInterceptor.class.getName()).build(), new HashMap())));
+                objectFactory.buildInterceptor(new InterceptorConfig.Builder("model", ValidationInterceptor.class.getName()).build(), EMPTY_STRING_MAP)));
 
         //Explicitly set an out-of-range date for DateRangeValidatorTest
-        params = new HashMap();
-        params.put("date", new java.util.Date(2002 - 1900, 11, 20));
-
-        //Explicitly set an out-of-range double for DoubleRangeValidatorTest
-        params.put("percentage", new Double(100.0123));
-
+        params = new HashMap<String, String>();
         ActionConfig validationActionConfig = new ActionConfig.Builder("defaultPackage", VALIDATION_ACTION_NAME, SimpleAction.class.getName())
             .addInterceptors(interceptors)
             .addParams(params)
@@ -156,8 +163,7 @@ public class MockConfigurationProvider i
                 new ActionConfig.Builder(validationActionConfig).name(VALIDATION_SUBPROPERTY_NAME).build());
 
 
-        params = new HashMap();
-        params.put("percentage", new Double(1.234567));
+        params = new HashMap<String, String>();
         ActionConfig percentageActionConfig = new ActionConfig.Builder("defaultPackage", "percentage", SimpleAction.class.getName())
                 .addParams(params)
                 .addResultConfigs(results)

Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeValidatorTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeValidatorTest.java?rev=1428072&r1=1428071&r2=1428072&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeValidatorTest.java (original)
+++ struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/DoubleRangeValidatorTest.java Wed Jan  2 21:41:26 2013
@@ -6,6 +6,7 @@ import com.opensymphony.xwork2.config.pr
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.validator.validators.DoubleRangeFieldValidator;
 
+import java.util.HashMap;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
@@ -22,11 +23,17 @@ public class DoubleRangeValidatorTest ex
     private DoubleRangeFieldValidator val;
 
     public void testRangeValidationWithError() throws Exception {
+        //Explicitly set an out-of-range double for DoubleRangeValidatorTest
+        Map<String, Object> context = new HashMap<String, Object>();
+        HashMap<String, Object> params = new HashMap<String, Object>();
+        params.put("percentage", 100.0123d);
+        context.put(ActionContext.PARAMETERS, params);
+
         // must set a locale to US as error message contains a locale dependent number (see XW-490)
         Locale defLocale = Locale.getDefault();
         Locale.setDefault(Locale.US);
         
-        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.VALIDATION_ACTION_NAME, null);
+        ActionProxy proxy = actionProxyFactory.createActionProxy("", MockConfigurationProvider.VALIDATION_ACTION_NAME, context);
         proxy.execute();
         assertTrue(((ValidationAware) proxy.getAction()).hasFieldErrors());
 
@@ -45,7 +52,12 @@ public class DoubleRangeValidatorTest ex
     }
 
     public void testRangeValidationNoError() throws Exception {
-        ActionProxy proxy = actionProxyFactory.createActionProxy("", "percentage", null);
+        Map<String, Object> context = new HashMap<String, Object>();
+        HashMap<String, Object> params = new HashMap<String, Object>();
+        params.put("percentage", 1.234567d);
+        context.put(ActionContext.PARAMETERS, params);
+
+        ActionProxy proxy = actionProxyFactory.createActionProxy("", "percentage", context);
         proxy.execute();
         assertTrue(((ValidationAware) proxy.getAction()).hasFieldErrors());
 
@@ -183,6 +195,7 @@ public class DoubleRangeValidatorTest ex
         loadConfigurationProviders(provider,  new MockConfigurationProvider());
         val = new DoubleRangeFieldValidator();
         val.setValueStack(ActionContext.getContext().getValueStack());
+        ActionContext.getContext().setParameters(new HashMap<String, Object>());
     }
 
     @Override

Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/validators/ValidationAction.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/validators/ValidationAction.java?rev=1428072&r1=1428071&r2=1428072&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/validators/ValidationAction.java (original)
+++ struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/validator/validators/ValidationAction.java Wed Jan  2 21:41:26 2013
@@ -1,5 +1,7 @@
 package com.opensymphony.xwork2.validator.validators;
 
+import java.util.Date;
+
 public class ValidationAction {
 
     private Integer intRange;
@@ -14,6 +16,11 @@ public class ValidationAction {
     private Long longMinValue;
     private Long longMaxValue;
 
+    private Date dateRange;
+    private Date dateMinValue;
+    private Date dateMaxValue;
+    private String dateFormat;
+
     public Integer getIntRange() {
         return intRange;
     }
@@ -86,4 +93,35 @@ public class ValidationAction {
         this.longMaxValue = longMaxValue;
     }
 
+    public Date getDateRange() {
+        return dateRange;
+    }
+
+    public void setDateRange(Date dateRange) {
+        this.dateRange = dateRange;
+    }
+
+    public Date getDateMinValue() {
+        return dateMinValue;
+    }
+
+    public void setDateMinValue(Date dateMinValue) {
+        this.dateMinValue = dateMinValue;
+    }
+
+    public Date getDateMaxValue() {
+        return dateMaxValue;
+    }
+
+    public void setDateMaxValue(Date dateMaxValue) {
+        this.dateMaxValue = dateMaxValue;
+    }
+
+    public String getDateFormat() {
+        return dateFormat;
+    }
+
+    public void setDateFormat(String dateFormat) {
+        this.dateFormat = dateFormat;
+    }
 }