This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch action-context-boost
in repository https://gitbox.apache.org/repos/asf/struts.git


The following commit(s) were added to refs/heads/action-context-boost by this 
push:
     new df687a6  WW-4789 WW-3788 Marks CONVERSION_ERRORS as deprecated on 
behalf using helper methods
df687a6 is described below

commit df687a6d43901ef42ff98b01754fc191ec29445f
Author: Lukasz Lenart <lukaszlen...@apache.org>
AuthorDate: Fri Apr 10 09:08:38 2020 +0200

    WW-4789 WW-3788 Marks CONVERSION_ERRORS as deprecated on behalf using 
helper methods
---
 .../com/opensymphony/xwork2/ActionContext.java     |  15 +-
 .../xwork2/conversion/impl/XWorkConverter.java     |   5 +-
 .../xwork2/interceptor/AliasInterceptor.java       |   5 +-
 .../xwork2/interceptor/ParametersInterceptor.java  |   5 +-
 .../interceptor/StaticParametersInterceptor.java   |   5 +-
 .../impl/AnnotationXWorkConverterTest.java         |  74 +++++-----
 .../xwork2/conversion/impl/XWorkConverterTest.java | 155 +++++++++++----------
 .../xwork2/ognl/OgnlValueStackTest.java            |  51 +++----
 8 files changed, 164 insertions(+), 151 deletions(-)

diff --git a/core/src/main/java/com/opensymphony/xwork2/ActionContext.java 
b/core/src/main/java/com/opensymphony/xwork2/ActionContext.java
index 3d7b78e..fbc15b9 100644
--- a/core/src/main/java/com/opensymphony/xwork2/ActionContext.java
+++ b/core/src/main/java/com/opensymphony/xwork2/ActionContext.java
@@ -63,7 +63,7 @@ public class ActionContext implements Serializable {
     /**
      * Constant for the name of the action being executed.
      *
-     * @deprecated used helper methods instead
+     * @deprecated use helper methods instead
      */
     @Deprecated
     public static final String ACTION_NAME = 
"com.opensymphony.xwork2.ActionContext.name";
@@ -100,16 +100,17 @@ public class ActionContext implements Serializable {
 
     /**
      * Constant for the map of type conversion errors.
+     * @deprecated use helper method instead
      */
+    @Deprecated
     public static final String CONVERSION_ERRORS = 
"com.opensymphony.xwork2.ActionContext.conversionErrors";
 
-
     /**
      * Constant for the container
      */
     public static final String CONTAINER = 
"com.opensymphony.xwork2.ActionContext.container";
 
-    private Map<String, Object> context;
+    private final Map<String, Object> context;
 
     /**
      * Creates a new ActionContext initialized with another context.
@@ -128,6 +129,9 @@ public class ActionContext implements Serializable {
      * @return new ActionContext
      */
     public static ActionContext of(Map<String, Object> context) {
+        if (context == null) {
+            throw new IllegalArgumentException("Context cannot be null!");
+        }
         return new ActionContext(context);
     }
 
@@ -223,6 +227,7 @@ public class ActionContext implements Serializable {
      *
      * @return a Map of ServletContext or generic application level Map
      */
+    @SuppressWarnings("unchecked")
     public Map<String, Object> getApplication() {
         return (Map<String, Object>) get(APPLICATION);
     }
@@ -258,8 +263,9 @@ public class ActionContext implements Serializable {
      * @return the map of conversion errors which occurred when executing the 
action or an empty map if
      * there were no errors.
      */
+    @SuppressWarnings("unchecked")
     public Map<String, ConversionData> getConversionErrors() {
-        Map<String, ConversionData> errors = (Map) get(CONVERSION_ERRORS);
+        Map<String, ConversionData> errors = (Map<String, ConversionData>) 
get(CONVERSION_ERRORS);
 
         if (errors == null) {
             errors = withConversionErrors(new 
HashMap<>()).getConversionErrors();
@@ -374,6 +380,7 @@ public class ActionContext implements Serializable {
      *
      * @return the Map of HttpSession values when in a servlet environment or 
a generic session map otherwise.
      */
+    @SuppressWarnings("unchecked")
     public Map<String, Object> getSession() {
         return (Map<String, Object>) get(SESSION);
     }
diff --git 
a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
 
b/core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
index 2a8df11..3cda3e3 100644
--- 
a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
+++ 
b/core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
@@ -442,11 +442,12 @@ public class XWorkConverter extends DefaultTypeConverter {
                 realProperty = fullName;
             }
 
-            Map<String, ConversionData> conversionErrors = (Map<String, 
ConversionData>) context.get(ActionContext.CONVERSION_ERRORS);
+            ActionContext actionContext = ActionContext.of(context);
+            Map<String, ConversionData> conversionErrors = 
actionContext.getConversionErrors();
 
             if (conversionErrors == null) {
                 conversionErrors = new HashMap<>();
-                context.put(ActionContext.CONVERSION_ERRORS, conversionErrors);
+                actionContext.withConversionErrors(conversionErrors);
             }
 
             conversionErrors.put(realProperty, new ConversionData(value, 
toClass));
diff --git 
a/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java 
b/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
index bc156e4..44cdd51 100644
--- 
a/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
+++ 
b/core/src/main/java/com/opensymphony/xwork2/interceptor/AliasInterceptor.java
@@ -193,8 +193,9 @@ public class AliasInterceptor extends AbstractInterceptor {
                     }
                 }
 
-                if (clearableStack && (stack.getContext() != null) && 
(newStack.getContext() != null))
-                    stack.getContext().put(ActionContext.CONVERSION_ERRORS, 
newStack.getContext().get(ActionContext.CONVERSION_ERRORS));
+                if (clearableStack) {
+                    
stack.getActionContext().withConversionErrors(newStack.getActionContext().getConversionErrors());
+                }
             } else {
                 LOG.debug("invalid alias expression: {}", aliasesKey);
             }
diff --git 
a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
 
b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
index aa8c441..c3d67d3 100644
--- 
a/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
+++ 
b/core/src/main/java/com/opensymphony/xwork2/interceptor/ParametersInterceptor.java
@@ -216,8 +216,9 @@ public class ParametersInterceptor extends 
MethodFilterInterceptor {
             }
         }
 
-        if (clearableStack && (stack.getContext() != null) && 
(newStack.getContext() != null))
-            stack.getContext().put(ActionContext.CONVERSION_ERRORS, 
newStack.getContext().get(ActionContext.CONVERSION_ERRORS));
+        if (clearableStack) {
+            
stack.getActionContext().withConversionErrors(newStack.getActionContext().getConversionErrors());
+        }
 
         addParametersToContext(ActionContext.getContext(), 
acceptableParameters);
     }
diff --git 
a/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
 
b/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
index 2d05e9c..14fba78 100644
--- 
a/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
+++ 
b/core/src/main/java/com/opensymphony/xwork2/interceptor/StaticParametersInterceptor.java
@@ -188,8 +188,9 @@ public class StaticParametersInterceptor extends 
AbstractInterceptor {
                     }
                 }
 
-                 if (clearableStack && (stack.getContext() != null) && 
(newStack.getContext() != null))
-                    stack.getContext().put(ActionContext.CONVERSION_ERRORS, 
newStack.getContext().get(ActionContext.CONVERSION_ERRORS));
+                 if (clearableStack) {
+                     
stack.getActionContext().withConversionErrors(newStack.getActionContext().getConversionErrors());
+                 }
 
                 if (merge)
                     addParametersToContext(ac, parameters);
diff --git 
a/core/src/test/java/com/opensymphony/xwork2/conversion/impl/AnnotationXWorkConverterTest.java
 
b/core/src/test/java/com/opensymphony/xwork2/conversion/impl/AnnotationXWorkConverterTest.java
index 25a57fd..a4e501b 100644
--- 
a/core/src/test/java/com/opensymphony/xwork2/conversion/impl/AnnotationXWorkConverterTest.java
+++ 
b/core/src/test/java/com/opensymphony/xwork2/conversion/impl/AnnotationXWorkConverterTest.java
@@ -24,8 +24,6 @@ import 
com.opensymphony.xwork2.test.ModelDrivenAnnotationAction2;
 import com.opensymphony.xwork2.util.Bar;
 import com.opensymphony.xwork2.util.ValueStack;
 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
-import ognl.Ognl;
-import ognl.OgnlException;
 import ognl.OgnlRuntime;
 
 import java.math.BigDecimal;
@@ -35,6 +33,8 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
+import static org.junit.Assert.assertArrayEquals;
+
 
 /**
  * @author $Author$
@@ -76,11 +76,11 @@ public class AnnotationXWorkConverterTest extends 
XWorkTestCase {
 
     public void testArrayToNumberConversion() {
         String[] value = new String[]{"12345"};
-        assertEquals(new Integer(12345), converter.convertValue(context, null, 
null, null, value, Integer.class));
-        assertEquals(new Long(12345), converter.convertValue(context, null, 
null, null, value, Long.class));
+        assertEquals(12345, converter.convertValue(context, null, null, null, 
value, Integer.class));
+        assertEquals(12345L, converter.convertValue(context, null, null, null, 
value, Long.class));
         value[0] = "123.45";
-        assertEquals(new Float(123.45), converter.convertValue(context, null, 
null, null, value, Float.class));
-        assertEquals(new Double(123.45), converter.convertValue(context, null, 
null, null, value, Double.class));
+        assertEquals(123.45f, converter.convertValue(context, null, null, 
null, value, Float.class));
+        assertEquals(123.45, converter.convertValue(context, null, null, null, 
value, Double.class));
         value[0] = "1234567890123456789012345678901234567890";
         assertEquals(new BigInteger(value[0]), converter.convertValue(context, 
null, null, null, value, BigInteger.class));
         value[0] = "1234567890123456789.012345678901234567890";
@@ -91,7 +91,7 @@ public class AnnotationXWorkConverterTest extends 
XWorkTestCase {
         java.sql.Date sqlDate = new java.sql.Date(System.currentTimeMillis());
         assertEquals(sqlDate, converter.convertValue(context, null, null, 
null, sqlDate, Date.class));
 
-        SimpleDateFormat format = new SimpleDateFormat("mm/dd/yyyy hh:mm:ss");
+        SimpleDateFormat format = new SimpleDateFormat("MM/dd/yyyy hh:mm:ss");
         Date date = format.parse("01/10/2001 00:00:00");
         String dateStr = (String) converter.convertValue(context, null, null, 
null, date, String.class);
         Date date2 = (Date) converter.convertValue(context, null, null, null, 
dateStr, Date.class);
@@ -113,9 +113,9 @@ public class AnnotationXWorkConverterTest extends 
XWorkTestCase {
         assertEquals("Conversion should have failed.", 
OgnlRuntime.NoConversionPossible, converter.convertValue(ognlStackContext, 
action.getBean(), null, "birth", value, Date.class));
         stack.pop();
 
-        Map<String, ConversionData> conversionErrors = (Map<String, 
ConversionData>) stack.getContext().get(ActionContext.CONVERSION_ERRORS);
+        Map<String, ConversionData> conversionErrors = 
stack.getActionContext().getConversionErrors();
         assertNotNull(conversionErrors);
-        assertTrue(conversionErrors.size() == 1);
+        assertEquals(1, conversionErrors.size());
         assertEquals(value, conversionErrors.get("bean.birth").getValue());
     }
 
@@ -133,7 +133,7 @@ public class AnnotationXWorkConverterTest extends 
XWorkTestCase {
         assertEquals("Conversion should have failed.", 
OgnlRuntime.NoConversionPossible, converter.convertValue(ognlStackContext, 
action, null, "date", value, Date.class));
         stack.pop();
 
-        Map<String, ConversionData> conversionErrors = (Map<String, 
ConversionData>) ognlStackContext.get(ActionContext.CONVERSION_ERRORS);
+        Map<String, ConversionData> conversionErrors = 
ActionContext.of(ognlStackContext).getConversionErrors();
         assertNotNull(conversionErrors);
         assertEquals(1, conversionErrors.size());
         assertNotNull(conversionErrors.get("date"));
@@ -154,7 +154,7 @@ public class AnnotationXWorkConverterTest extends 
XWorkTestCase {
         stack.pop();
         stack.pop();
 
-        Map<String, ConversionData> conversionErrors = (Map<String, 
ConversionData>) ognlStackContext.get(ActionContext.CONVERSION_ERRORS);
+        Map<String, ConversionData> conversionErrors = 
ActionContext.of(ognlStackContext).getConversionErrors();
         assertNotNull(conversionErrors);
         assertEquals(1, conversionErrors.size());
         assertNotNull(conversionErrors.get("birth"));
@@ -204,7 +204,7 @@ public class AnnotationXWorkConverterTest extends 
XWorkTestCase {
         assertEquals(value2, b2.getTitle() + ":" + b2.getSomethingElse());
     }
 
-    public void testLocalizedDateConversion() throws Exception {
+    public void testLocalizedDateConversion() {
         Date date = new Date(System.currentTimeMillis());
         Locale locale = Locale.GERMANY;
         DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
@@ -224,7 +224,7 @@ public class AnnotationXWorkConverterTest extends 
XWorkTestCase {
     }
 
     public void testStringArrayToList() {
-        List<String> list = new ArrayList<String>();
+        List<String> list = new ArrayList<>();
         list.add("foo");
         list.add("bar");
         list.add("baz");
@@ -238,63 +238,63 @@ public class AnnotationXWorkConverterTest extends 
XWorkTestCase {
                 "123", "456"
         }, Long[].class);
         assertNotNull(longs);
-        assertTrue(Arrays.equals(new Long[]{123L, 456L}, longs));
+        assertArrayEquals(new Long[]{123L, 456L}, longs);
 
         Integer[] ints = (Integer[]) converter.convertValue(context, null, 
null, null, new String[]{
                 "123", "456"
         }, Integer[].class);
         assertNotNull(ints);
-        assertTrue(Arrays.equals(new Integer[]{123, 456}, ints));
+        assertArrayEquals(new Integer[]{123, 456}, ints);
 
         Double[] doubles = (Double[]) converter.convertValue(context, null, 
null, null, new String[]{
                 "123", "456"
         }, Double[].class);
         assertNotNull(doubles);
-        assertTrue(Arrays.equals(new Double[]{123D, 456D}, doubles));
+        assertArrayEquals(new Double[]{123D, 456D}, doubles);
 
         Float[] floats = (Float[]) converter.convertValue(context, null, null, 
null, new String[]{
                 "123", "456"
         }, Float[].class);
         assertNotNull(floats);
-        assertTrue(Arrays.equals(new Float[]{123F, 456F}, floats));
+        assertArrayEquals(new Float[]{123F, 456F}, floats);
 
         Boolean[] booleans = (Boolean[]) converter.convertValue(context, null, 
null, null, new String[]{
                 "true", "false"
         }, Boolean[].class);
         assertNotNull(booleans);
-        assertTrue(Arrays.equals(new Boolean[]{Boolean.TRUE, Boolean.FALSE}, 
booleans));
+        assertArrayEquals(new Boolean[]{Boolean.TRUE, Boolean.FALSE}, 
booleans);
     }
 
-    public void testStringArrayToPrimitives() throws OgnlException {
+    public void testStringArrayToPrimitives() {
         long[] longs = (long[]) converter.convertValue(context, null, null, 
null, new String[]{
                 "123", "456"
         }, long[].class);
         assertNotNull(longs);
-        assertTrue(Arrays.equals(new long[]{123, 456}, longs));
+        assertArrayEquals(new long[]{123, 456}, longs);
 
         int[] ints = (int[]) converter.convertValue(context, null, null, null, 
new String[]{
                 "123", "456"
         }, int[].class);
         assertNotNull(ints);
-        assertTrue(Arrays.equals(new int[]{123, 456}, ints));
+        assertArrayEquals(new int[]{123, 456}, ints);
 
         double[] doubles = (double[]) converter.convertValue(context, null, 
null, null, new String[]{
                 "123", "456"
         }, double[].class);
         assertNotNull(doubles);
-        assertTrue(Arrays.equals(new double[]{123, 456}, doubles));
+        assertArrayEquals(new double[]{123, 456}, doubles, 0.0);
 
         float[] floats = (float[]) converter.convertValue(context, null, null, 
null, new String[]{
                 "123", "456"
         }, float[].class);
         assertNotNull(floats);
-        assertTrue(Arrays.equals(new float[]{123, 456}, floats));
+        assertArrayEquals(new float[]{123, 456}, floats, 0.0f);
 
         boolean[] booleans = (boolean[]) converter.convertValue(context, null, 
null, null, new String[]{
                 "true", "false"
         }, boolean[].class);
         assertNotNull(booleans);
-        assertTrue(Arrays.equals(new boolean[]{true, false}, booleans));
+        assertArrayEquals(new boolean[]{true, false}, booleans);
     }
 
     public void testStringArrayToSet() {
@@ -338,22 +338,22 @@ public class AnnotationXWorkConverterTest extends 
XWorkTestCase {
     }
 
     public void testStringToPrimitiveWrappers() {
-        assertEquals(new Long(123), converter.convertValue(context, null, 
null, null, "123", Long.class));
-        assertEquals(new Integer(123), converter.convertValue(context, null, 
null, null, "123", Integer.class));
-        assertEquals(new Double(123.5), converter.convertValue(context, null, 
null, null, "123.5", Double.class));
-        assertEquals(new Float(123.5), converter.convertValue(context, null, 
null, null, "123.5", float.class));
+        assertEquals(123L, converter.convertValue(context, null, null, null, 
"123", Long.class));
+        assertEquals(123, converter.convertValue(context, null, null, null, 
"123", Integer.class));
+        assertEquals(123.5, converter.convertValue(context, null, null, null, 
"123.5", Double.class));
+        assertEquals(123.5f, converter.convertValue(context, null, null, null, 
"123.5", float.class));
         assertEquals(false, converter.convertValue(context, null, null, null, 
"false", Boolean.class));
         assertEquals(true, converter.convertValue(context, null, null, null, 
"true", Boolean.class));
     }
 
     public void testStringToPrimitives() {
-        assertEquals(new Long(123), converter.convertValue(context, null, 
null, null, "123", long.class));
-        assertEquals(new Integer(123), converter.convertValue(context, null, 
null, null, "123", int.class));
-        assertEquals(new Double(123.5), converter.convertValue(context, null, 
null, null, "123.5", double.class));
-        assertEquals(new Float(123.5), converter.convertValue(context, null, 
null, null, "123.5", float.class));
+        assertEquals(123L, converter.convertValue(context, null, null, null, 
"123", long.class));
+        assertEquals(123, converter.convertValue(context, null, null, null, 
"123", int.class));
+        assertEquals(123.5, converter.convertValue(context, null, null, null, 
"123.5", double.class));
+        assertEquals(123.5f, converter.convertValue(context, null, null, null, 
"123.5", float.class));
         assertEquals(false, converter.convertValue(context, null, null, null, 
"false", boolean.class));
         assertEquals(true, converter.convertValue(context, null, null, null, 
"true", boolean.class));
-        assertEquals(new BigDecimal(123.5), converter.convertValue(context, 
null, null, null, "123.5", BigDecimal.class));
+        assertEquals(new BigDecimal("123.5"), converter.convertValue(context, 
null, null, null, "123.5", BigDecimal.class));
         assertEquals(new BigInteger("123"), converter.convertValue(context, 
null, null, null, "123", BigInteger.class));
     }
 
@@ -373,8 +373,8 @@ public class AnnotationXWorkConverterTest extends 
XWorkTestCase {
         stack.setValue("doubles", value);
         assertEquals(2, gb.getDoubles().size());
         assertEquals(Double.class, gb.getDoubles().get(0).getClass());
-        assertEquals(new Double(123.12), gb.getDoubles().get(0));
-        assertEquals(new Double(123.45), gb.getDoubles().get(1));
+        assertEquals(123.12, gb.getDoubles().get(0));
+        assertEquals(123.45, gb.getDoubles().get(1));
     }
 
     public void testGenericPropertiesFromField() {
@@ -422,8 +422,8 @@ public class AnnotationXWorkConverterTest extends 
XWorkTestCase {
 
         assertEquals(1, gb.getGetterList().size());
         assertEquals("42.42", stack.findValue("getterList.get(0).toString()"));
-        assertEquals(new Double(42.42), stack.findValue("getterList.get(0)"));
-        assertEquals(new Double(42.42), gb.getGetterList().get(0));
+        assertEquals(42.42, stack.findValue("getterList.get(0)"));
+        assertEquals(42.42, gb.getGetterList().get(0));
 
     }
 
diff --git 
a/core/src/test/java/com/opensymphony/xwork2/conversion/impl/XWorkConverterTest.java
 
b/core/src/test/java/com/opensymphony/xwork2/conversion/impl/XWorkConverterTest.java
index 1b2113c..7bb42b6 100644
--- 
a/core/src/test/java/com/opensymphony/xwork2/conversion/impl/XWorkConverterTest.java
+++ 
b/core/src/test/java/com/opensymphony/xwork2/conversion/impl/XWorkConverterTest.java
@@ -27,7 +27,6 @@ import com.opensymphony.xwork2.util.Cat;
 import com.opensymphony.xwork2.util.Foo;
 import com.opensymphony.xwork2.util.FurColor;
 import com.opensymphony.xwork2.util.reflection.ReflectionContextState;
-import ognl.OgnlException;
 import ognl.OgnlRuntime;
 
 import java.io.IOException;
@@ -40,6 +39,8 @@ import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.*;
 
+import static org.junit.Assert.assertArrayEquals;
+
 
 /**
  * @author $Author$
@@ -80,11 +81,11 @@ public class XWorkConverterTest extends XWorkTestCase {
 
     public void testArrayToNumberConversion() {
         String[] value = new String[]{"12345"};
-        assertEquals(new Integer(12345), converter.convertValue(context, null, 
null, null, value, Integer.class));
-        assertEquals(new Long(12345), converter.convertValue(context, null, 
null, null, value, Long.class));
+        assertEquals(12345, converter.convertValue(context, null, null, null, 
value, Integer.class));
+        assertEquals(12345L, converter.convertValue(context, null, null, null, 
value, Long.class));
         value[0] = "123.45";
-        assertEquals(new Float(123.45), converter.convertValue(context, null, 
null, null, value, Float.class));
-        assertEquals(new Double(123.45), converter.convertValue(context, null, 
null, null, value, Double.class));
+        assertEquals(123.45f, converter.convertValue(context, null, null, 
null, value, Float.class));
+        assertEquals(123.45, converter.convertValue(context, null, null, null, 
value, Double.class));
         value[0] = "1234567890123456789012345678901234567890";
         assertEquals(new BigInteger(value[0]), converter.convertValue(context, 
null, null, null, value, BigInteger.class));
         value[0] = "1234567890123456789.012345678901234567890";
@@ -135,9 +136,9 @@ public class XWorkConverterTest extends XWorkTestCase {
         assertEquals("Conversion should have failed.", 
OgnlRuntime.NoConversionPossible, converter.convertValue(ognlStackContext, 
action.getBean(), null, "birth", value, Date.class));
         stack.pop();
 
-        Map<String, ConversionData> conversionErrors = (Map<String, 
ConversionData>) stack.getContext().get(ActionContext.CONVERSION_ERRORS);
+        Map<String, ConversionData> conversionErrors = 
stack.getActionContext().getConversionErrors();
         assertNotNull(conversionErrors);
-        assertTrue(conversionErrors.size() == 1);
+        assertEquals(1, conversionErrors.size());
         assertEquals(value, conversionErrors.get("bean.birth").getValue());
     }
 
@@ -154,7 +155,7 @@ public class XWorkConverterTest extends XWorkTestCase {
         assertEquals("Conversion should have failed.", 
OgnlRuntime.NoConversionPossible, converter.convertValue(ognlStackContext, 
action, null, "date", value, Date.class));
         stack.pop();
 
-        Map<String, ConversionData> conversionErrors = (Map<String, 
ConversionData>) ognlStackContext.get(ActionContext.CONVERSION_ERRORS);
+        Map<String, ConversionData> conversionErrors = 
ActionContext.of(ognlStackContext).getConversionErrors();
         assertNotNull(conversionErrors);
         assertEquals(1, conversionErrors.size());
         assertNotNull(conversionErrors.get("date"));
@@ -174,7 +175,7 @@ public class XWorkConverterTest extends XWorkTestCase {
         stack.pop();
         stack.pop();
 
-        Map<String, ConversionData> conversionErrors = (Map<String, 
ConversionData>) ognlStackContext.get(ActionContext.CONVERSION_ERRORS);
+        Map<String, ConversionData> conversionErrors = 
ActionContext.of(ognlStackContext).getConversionErrors();
         assertNotNull(conversionErrors);
         assertEquals(1, conversionErrors.size());
         assertNotNull(conversionErrors.get("birth"));
@@ -311,7 +312,7 @@ public class XWorkConverterTest extends XWorkTestCase {
         assertEquals("Custom error message for java.util.Date.", message);
     }
 
-    public void testLocalizedDateConversion() throws Exception {
+    public void testLocalizedDateConversion() {
         Date date = new Date(System.currentTimeMillis());
         Locale locale = Locale.GERMANY;
         DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, locale);
@@ -332,9 +333,9 @@ public class XWorkConverterTest extends XWorkTestCase {
         assertEquals("Conversion should have failed.", 
OgnlRuntime.NoConversionPossible, converter.convertValue(ognlStackContext, 
action.getBean(), null, "count", "111.1", int.class));
         stack.pop();
 
-        Map conversionErrors = (Map) 
stack.getContext().get(ActionContext.CONVERSION_ERRORS);
+        Map<String, ConversionData> conversionErrors = 
stack.getActionContext().getConversionErrors();
         assertNotNull(conversionErrors);
-        assertTrue(conversionErrors.size() == 1);
+        assertEquals(1, conversionErrors.size());
     }
 
     public void testStringArrayToCollection() {
@@ -362,63 +363,63 @@ public class XWorkConverterTest extends XWorkTestCase {
                 "123", "456"
         }, Long[].class);
         assertNotNull(longs);
-        assertTrue(Arrays.equals(new Long[]{123L, 456L}, longs));
+        assertArrayEquals(new Long[]{123L, 456L}, longs);
 
         Integer[] ints = (Integer[]) converter.convertValue(context, null, 
null, null, new String[]{
                 "123", "456"
         }, Integer[].class);
         assertNotNull(ints);
-        assertTrue(Arrays.equals(new Integer[]{123, 456}, ints));
+        assertArrayEquals(new Integer[]{123, 456}, ints);
 
         Double[] doubles = (Double[]) converter.convertValue(context, null, 
null, null, new String[]{
                 "123", "456"
         }, Double[].class);
         assertNotNull(doubles);
-        assertTrue(Arrays.equals(new Double[]{123D, 456D}, doubles));
+        assertArrayEquals(new Double[]{123D, 456D}, doubles);
 
         Float[] floats = (Float[]) converter.convertValue(context, null, null, 
null, new String[]{
                 "123", "456"
         }, Float[].class);
         assertNotNull(floats);
-        assertTrue(Arrays.equals(new Float[]{123F, 456F}, floats));
+        assertArrayEquals(new Float[]{123F, 456F}, floats);
 
         Boolean[] booleans = (Boolean[]) converter.convertValue(context, null, 
null, null, new String[]{
                 "true", "false"
         }, Boolean[].class);
         assertNotNull(booleans);
-        assertTrue(Arrays.equals(new Boolean[]{Boolean.TRUE, Boolean.FALSE}, 
booleans));
+        assertArrayEquals(new Boolean[]{Boolean.TRUE, Boolean.FALSE}, 
booleans);
     }
 
-    public void testStringArrayToPrimitives() throws OgnlException {
+    public void testStringArrayToPrimitives() {
         long[] longs = (long[]) converter.convertValue(context, null, null, 
null, new String[]{
                 "123", "456"
         }, long[].class);
         assertNotNull(longs);
-        assertTrue(Arrays.equals(new long[]{123, 456}, longs));
+        assertArrayEquals(new long[]{123, 456}, longs);
 
         int[] ints = (int[]) converter.convertValue(context, null, null, null, 
new String[]{
                 "123", "456"
         }, int[].class);
         assertNotNull(ints);
-        assertTrue(Arrays.equals(new int[]{123, 456}, ints));
+        assertArrayEquals(new int[]{123, 456}, ints);
 
         double[] doubles = (double[]) converter.convertValue(context, null, 
null, null, new String[]{
                 "123", "456"
         }, double[].class);
         assertNotNull(doubles);
-        assertTrue(Arrays.equals(new double[]{123, 456}, doubles));
+        assertArrayEquals(new double[]{123, 456}, doubles, 0.0);
 
         float[] floats = (float[]) converter.convertValue(context, null, null, 
null, new String[]{
                 "123", "456"
         }, float[].class);
         assertNotNull(floats);
-        assertTrue(Arrays.equals(new float[]{123, 456}, floats));
+        assertArrayEquals(new float[]{123, 456}, floats, 0.0f);
 
         boolean[] booleans = (boolean[]) converter.convertValue(context, null, 
null, null, new String[]{
                 "true", "false"
         }, boolean[].class);
         assertNotNull(booleans);
-        assertTrue(Arrays.equals(new boolean[]{true, false}, booleans));
+        assertArrayEquals(new boolean[]{true, false}, booleans);
     }
 
     public void testStringArrayToSet() {
@@ -500,21 +501,21 @@ public class XWorkConverterTest extends XWorkTestCase {
     }
 
     public void testStringToPrimitiveWrappers() {
-        assertEquals(new Long(123), converter.convertValue(context, null, 
null, null, "123", Long.class));
-        assertEquals(new Integer(123), converter.convertValue(context, null, 
null, null, "123", Integer.class));
-        assertEquals(new Double(123.5), converter.convertValue(context, null, 
null, null, "123.5", Double.class));
-        assertEquals(new Float(123.5), converter.convertValue(context, null, 
null, null, "123.5", float.class));
+        assertEquals(123L, converter.convertValue(context, null, null, null, 
"123", Long.class));
+        assertEquals(123, converter.convertValue(context, null, null, null, 
"123", Integer.class));
+        assertEquals(123.5, converter.convertValue(context, null, null, null, 
"123.5", Double.class));
+        assertEquals(123.5f, converter.convertValue(context, null, null, null, 
"123.5", float.class));
         assertEquals(false, converter.convertValue(context, null, null, null, 
"false", Boolean.class));
         assertEquals(true, converter.convertValue(context, null, null, null, 
"true", Boolean.class));
     }
 
     public void testStringToPrimitives() {
-        assertEquals(new Long(123), converter.convertValue(context, null, 
null, null, "123", long.class));
-        assertEquals(new Double(123.5), converter.convertValue(context, null, 
null, null, "123.5", double.class));
-        assertEquals(new Float(123.5), converter.convertValue(context, null, 
null, null, "123.5", float.class));
+        assertEquals(123L, converter.convertValue(context, null, null, null, 
"123", long.class));
+        assertEquals(123.5, converter.convertValue(context, null, null, null, 
"123.5", double.class));
+        assertEquals(123.5f, converter.convertValue(context, null, null, null, 
"123.5", float.class));
         assertEquals(false, converter.convertValue(context, null, null, null, 
"false", boolean.class));
         assertEquals(true, converter.convertValue(context, null, null, null, 
"true", boolean.class));
-        assertEquals(new BigDecimal(123.5), converter.convertValue(context, 
null, null, null, "123.5", BigDecimal.class));
+        assertEquals(new BigDecimal("123.5"), converter.convertValue(context, 
null, null, null, "123.5", BigDecimal.class));
         assertEquals(new BigInteger("123"), converter.convertValue(context, 
null, null, null, "123", BigInteger.class));
     }
 
@@ -551,7 +552,7 @@ public class XWorkConverterTest extends XWorkTestCase {
     }
 
     public void testStringToInt() {
-        assertEquals(new Integer(123), converter.convertValue(context, null, 
null, null, "123", int.class));
+        assertEquals(123, converter.convertValue(context, null, null, null, 
"123", int.class));
         context.put(ActionContext.LOCALE, Locale.US);
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "123.12", int.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "123aa", int.class));
@@ -574,22 +575,22 @@ public class XWorkConverterTest extends XWorkTestCase {
 
 
     public void testStringToInteger() {
-        assertEquals(new Integer(123), converter.convertValue(context, null, 
null, null, "123", Integer.class));
+        assertEquals(123, converter.convertValue(context, null, null, null, 
"123", Integer.class));
         context.put(ActionContext.LOCALE, Locale.US);
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "123.12", Integer.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "123aa", Integer.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "aa123", Integer.class));
-        assertEquals(new Integer(1234), converter.convertValue(context, null, 
null, null, "1,234", Integer.class));
+        assertEquals(1234, converter.convertValue(context, null, null, null, 
"1,234", Integer.class));
         // WRONG: locale separator is wrongly placed
-        assertEquals(new Integer(123), converter.convertValue(context, null, 
null, null, "1,23", Integer.class));
+        assertEquals(123, converter.convertValue(context, null, null, null, 
"1,23", Integer.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "1,234.12", Integer.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "1.234", Integer.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "1.234,12", Integer.class));
 
         context.put(ActionContext.LOCALE, Locale.GERMANY);
         // WRONG: locale separator is wrongly placed
-        assertEquals(new Integer(12312), converter.convertValue(context, null, 
null, null, "123.12", Integer.class));
-        assertEquals(new Integer(1234), converter.convertValue(context, null, 
null, null, "1.234", Integer.class));
+        assertEquals(12312, converter.convertValue(context, null, null, null, 
"123.12", Integer.class));
+        assertEquals(1234, converter.convertValue(context, null, null, null, 
"1.234", Integer.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "123aa", Integer.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "aa123", Integer.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "1,234", Integer.class));
@@ -624,26 +625,26 @@ public class XWorkConverterTest extends XWorkTestCase {
     public void testStringToDouble() {
         assertEquals(123d, converter.convertValue(context, null, null, null, 
"123", Double.class));
         context.put(ActionContext.LOCALE, Locale.US);
-        assertEquals(new Double(123.12), converter.convertValue(context, null, 
null, null, "123.12", Double.class));
+        assertEquals(123.12, converter.convertValue(context, null, null, null, 
"123.12", Double.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "123aa", Double.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "aa123", Double.class));
-        assertEquals(new Double(1234), converter.convertValue(context, null, 
null, null, "1,234", Double.class));
-        assertEquals(new Double(1234.12), converter.convertValue(context, 
null, null, null, "1,234.12", Double.class));
+        assertEquals(1234d, converter.convertValue(context, null, null, null, 
"1,234", Double.class));
+        assertEquals(1234.12, converter.convertValue(context, null, null, 
null, "1,234.12", Double.class));
         // WRONG: locale separator is wrongly placed 
-        assertEquals(new Double(123), converter.convertValue(context, null, 
null, null, "1,23", Double.class));
-        assertEquals(new Double(1.234), converter.convertValue(context, null, 
null, null, "1.234", Double.class));
+        assertEquals(123d, converter.convertValue(context, null, null, null, 
"1,23", Double.class));
+        assertEquals(1.234, converter.convertValue(context, null, null, null, 
"1.234", Double.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "1.234,12", Double.class));
 
         context.put(ActionContext.LOCALE, Locale.GERMANY);
         // WRONG: locale separator is wrongly placed
-        assertEquals(new Double(12312), converter.convertValue(context, null, 
null, null, "123.12", Double.class));
+        assertEquals(12312d, converter.convertValue(context, null, null, null, 
"123.12", Double.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "123aa", Double.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "aa123", Double.class));
-        assertEquals(new Double(1.234), converter.convertValue(context, null, 
null, null, "1,234", Double.class));
+        assertEquals(1.234, converter.convertValue(context, null, null, null, 
"1,234", Double.class));
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, null, null, null, "1,234.12", Double.class));
-        assertEquals(new Double(1.23), converter.convertValue(context, null, 
null, null, "1,23", Double.class));
-        assertEquals(new Double(1234), converter.convertValue(context, null, 
null, null, "1.234", Double.class));
-        assertEquals(new Double(1234.12), converter.convertValue(context, 
null, null, null, "1.234,12", Double.class));
+        assertEquals(1.23, converter.convertValue(context, null, null, null, 
"1,23", Double.class));
+        assertEquals(1234d, converter.convertValue(context, null, null, null, 
"1.234", Double.class));
+        assertEquals(1234.12, converter.convertValue(context, null, null, 
null, "1.234,12", Double.class));
 
     }
     
@@ -655,50 +656,50 @@ public class XWorkConverterTest extends XWorkTestCase {
 
     // Testing for null result on non-primitive Number types supplied as empty 
String or 
     public void testNotPrimitiveDefaultsToNull() {
-        assertEquals(null, converter.convertValue(context, null, null, null, 
null, Double.class));
-        assertEquals(null, converter.convertValue(context, null, null, null, 
"", Double.class));
+        assertNull(converter.convertValue(context, null, null, null, null, 
Double.class));
+        assertNull(converter.convertValue(context, null, null, null, "", 
Double.class));
 
-        assertEquals(null, converter.convertValue(context, null, null, null, 
null, Integer.class));
-        assertEquals(null, converter.convertValue(context, null, null, null, 
"", Integer.class));
+        assertNull(converter.convertValue(context, null, null, null, null, 
Integer.class));
+        assertNull(converter.convertValue(context, null, null, null, "", 
Integer.class));
 
-        assertEquals(null, converter.convertValue(context, null, null, null, 
null, Float.class));
-        assertEquals(null, converter.convertValue(context, null, null, null, 
"", Float.class));
+        assertNull(converter.convertValue(context, null, null, null, null, 
Float.class));
+        assertNull(converter.convertValue(context, null, null, null, "", 
Float.class));
 
-        assertEquals(null, converter.convertValue(context, null, null, null, 
null, Character.class));
-        assertEquals(null, converter.convertValue(context, null, null, null, 
"", Character.class));
+        assertNull(converter.convertValue(context, null, null, null, null, 
Character.class));
+        assertNull(converter.convertValue(context, null, null, null, "", 
Character.class));
 
-        assertEquals(null, converter.convertValue(context, null, null, null, 
null, Long.class));
-        assertEquals(null, converter.convertValue(context, null, null, null, 
"", Long.class));
+        assertNull(converter.convertValue(context, null, null, null, null, 
Long.class));
+        assertNull(converter.convertValue(context, null, null, null, "", 
Long.class));
 
-        assertEquals(null, converter.convertValue(context, null, null, null, 
null, Short.class));
-        assertEquals(null, converter.convertValue(context, null, null, null, 
"", Short.class));
+        assertNull(converter.convertValue(context, null, null, null, null, 
Short.class));
+        assertNull(converter.convertValue(context, null, null, null, "", 
Short.class));
 
     }
 
     public void testConvertChar() {
-        assertEquals(new Character('A'), converter.convertValue(context, "A", 
char.class));
-        assertEquals(new Character('Z'), converter.convertValue(context, "Z", 
char.class));
-        assertEquals(new Character('A'), converter.convertValue(context, "A", 
Character.class));
-        assertEquals(new Character('Z'), converter.convertValue(context, "Z", 
Character.class));
+        assertEquals('A', converter.convertValue(context, "A", char.class));
+        assertEquals('Z', converter.convertValue(context, "Z", char.class));
+        assertEquals('A', converter.convertValue(context, "A", 
Character.class));
+        assertEquals('Z', converter.convertValue(context, "Z", 
Character.class));
 
-        assertEquals(new Character('A'), converter.convertValue(context, new 
Character('A'), char.class));
-        assertEquals(new Character('Z'), converter.convertValue(context, new 
Character('Z'), char.class));
-        assertEquals(new Character('A'), converter.convertValue(context, new 
Character('A'), Character.class));
-        assertEquals(new Character('Z'), converter.convertValue(context, new 
Character('Z'), Character.class));
+        assertEquals('A', converter.convertValue(context, 'A', char.class));
+        assertEquals('Z', converter.convertValue(context, 'Z', char.class));
+        assertEquals('A', converter.convertValue(context, 'A', 
Character.class));
+        assertEquals('Z', converter.convertValue(context, 'Z', 
Character.class));
 
-        assertEquals(new Character('D'), converter.convertValue(context, 
"DEF", char.class));
-        assertEquals(new Character('X'), converter.convertValue(context, 
"XYZ", Character.class));
-        assertEquals(new Character(' '), converter.convertValue(context, " ", 
Character.class));
-        assertEquals(new Character(' '), converter.convertValue(context, "   
", char.class));
+        assertEquals('D', converter.convertValue(context, "DEF", char.class));
+        assertEquals('X', converter.convertValue(context, "XYZ", 
Character.class));
+        assertEquals(' ', converter.convertValue(context, " ", 
Character.class));
+        assertEquals(' ', converter.convertValue(context, "   ", char.class));
 
-        assertEquals(null, converter.convertValue(context, "", char.class));
+        assertNull(converter.convertValue(context, "", char.class));
     }
 
     public void testConvertClass() {
-        Class clazz = (Class) converter.convertValue(context, 
"java.util.Date", Class.class);
+        Class<?> clazz = (Class<?>) converter.convertValue(context, 
"java.util.Date", Class.class);
         assertEquals(Date.class.getName(), clazz.getName());
 
-        Class clazz2 = (Class) converter.convertValue(context, 
"com.opensymphony.xwork2.util.Bar", Class.class);
+        Class<?> clazz2 = (Class<?>) converter.convertValue(context, 
"com.opensymphony.xwork2.util.Bar", Class.class);
         assertEquals(Bar.class.getName(), clazz2.getName());
 
         assertEquals(OgnlRuntime.NoConversionPossible, 
converter.convertValue(context, "com.opensymphony.xwork2.util.IDoNotExist", 
Class.class));
@@ -713,7 +714,7 @@ public class XWorkConverterTest extends XWorkTestCase {
         assertEquals(Boolean.TRUE, converter.convertValue(context, 
Boolean.TRUE, Boolean.class));
         assertEquals(Boolean.FALSE, converter.convertValue(context, 
Boolean.FALSE, Boolean.class));
 
-        assertEquals(null, converter.convertValue(context, null, 
Boolean.class));
+        assertNull(converter.convertValue(context, null, Boolean.class));
         assertEquals(Boolean.TRUE, converter.convertValue(context, new Bar(), 
Boolean.class)); // Ognl converter will default to true
     }
 
@@ -729,7 +730,7 @@ public class XWorkConverterTest extends XWorkTestCase {
         names.add("XWork");
         names.add("Struts");
 
-        Collection col = (Collection) converter.convertValue(context, names, 
Collection.class);
+        Collection<String> col = (Collection<String>) 
converter.convertValue(context, names, Collection.class);
         assertSame(names, col);
     }
 
@@ -752,7 +753,7 @@ public class XWorkConverterTest extends XWorkTestCase {
         assertEquals(321, cat.getFoo().getNumber());
     }
 
-    public void testCollectionConversion() throws Exception {
+    public void testCollectionConversion() {
         // given
         String[] col1 = new String[]{"1", "2", "ble", "3"};
 
diff --git 
a/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java 
b/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java
index e84956b..b5704c3 100644
--- a/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java
+++ b/core/src/test/java/com/opensymphony/xwork2/ognl/OgnlValueStackTest.java
@@ -20,6 +20,7 @@ package com.opensymphony.xwork2.ognl;
 
 import com.opensymphony.xwork2.*;
 import com.opensymphony.xwork2.config.ConfigurationException;
+import com.opensymphony.xwork2.conversion.impl.ConversionData;
 import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
 import com.opensymphony.xwork2.inject.ContainerBuilder;
 import com.opensymphony.xwork2.ognl.accessor.CompoundRootAccessor;
@@ -849,11 +850,11 @@ public class OgnlValueStackTest extends XWorkTestCase {
             assertTrue(true);
         }
 
-        Map conversionErrors = (Map) 
stack.getContext().get(ActionContext.CONVERSION_ERRORS);
+        Map<String, ConversionData> conversionErrors = 
stack.getActionContext().getConversionErrors();
         assertTrue(conversionErrors.containsKey("bar"));
     }
 
-    public void 
testPrimitiveSettingWithInvalidValueAddsFieldErrorInNonDevMode() throws 
Exception {
+    public void 
testPrimitiveSettingWithInvalidValueAddsFieldErrorInNonDevMode() {
         SimpleAction action = new SimpleAction();
         OgnlValueStack stack = createValueStack();
         stack.getContext().put(XWorkConverter.REPORT_CONVERSION_ERRORS, 
Boolean.TRUE);
@@ -861,7 +862,7 @@ public class OgnlValueStackTest extends XWorkTestCase {
         stack.push(action);
         stack.setValue("bar", "3x");
 
-        Map conversionErrors = (Map) 
stack.getContext().get(ActionContext.CONVERSION_ERRORS);
+        Map<String, ConversionData> conversionErrors = 
stack.getActionContext().getConversionErrors();
         assertTrue(conversionErrors.containsKey("bar"));
     }
 
@@ -879,7 +880,7 @@ public class OgnlValueStackTest extends XWorkTestCase {
             // expected
         }
 
-        Map conversionErrors = (Map) 
stack.getContext().get(ActionContext.CONVERSION_ERRORS);
+        Map<String, ConversionData> conversionErrors = 
stack.getActionContext().getConversionErrors();
         assertTrue(conversionErrors.containsKey("bean"));
         assertNotNull(action.getBean());
     }
@@ -978,8 +979,8 @@ public class OgnlValueStackTest extends XWorkTestCase {
         vs.setValue("animalMap[6].name", "Cat Six by interface");
         assertNotNull(foo.getAnimalMap());
         assertEquals(2, foo.getAnimalMap().size());
-        assertEquals("Cat Three by interface", foo.getAnimalMap().get(new 
Long(3)).getName());
-        assertEquals("Cat Six by interface", foo.getAnimalMap().get(new 
Long(6)).getName());
+        assertEquals("Cat Three by interface", 
foo.getAnimalMap().get(3L).getName());
+        assertEquals("Cat Six by interface", 
foo.getAnimalMap().get(6L).getName());
 
         vs.setValue("annotatedCats[0].name", "Cat One By Annotation");
         vs.setValue("annotatedCats[1].name", "Cat Two By Annotation");
@@ -1057,7 +1058,7 @@ public class OgnlValueStackTest extends XWorkTestCase {
 
         vs.setValue("male", "false");
 
-        assertEquals(false, dog.isMale());
+        assertFalse(dog.isMale());
     }
 
     public void testStatics() {
@@ -1074,7 +1075,7 @@ public class OgnlValueStackTest extends XWorkTestCase {
         assertEquals("Canine", vs.findValue("@vs@SCIENTIFIC_NAME"));
         assertEquals("Canine", vs.findValue("@vs1@SCIENTIFIC_NAME"));
         assertEquals("Feline", vs.findValue("@vs2@SCIENTIFIC_NAME"));
-        assertEquals(new Integer(BigDecimal.ROUND_HALF_DOWN), 
vs.findValue("@java.math.BigDecimal@ROUND_HALF_DOWN"));
+        assertEquals(BigDecimal.ROUND_HALF_DOWN, 
vs.findValue("@java.math.BigDecimal@ROUND_HALF_DOWN"));
         assertNull(vs.findValue("@vs3@BLAH"));
         assertNull(vs.findValue("@com.nothing.here.Nothing@BLAH"));
     }
@@ -1177,7 +1178,7 @@ public class OgnlValueStackTest extends XWorkTestCase {
             // expected
         }
 
-        Map conversionErrors = (Map) 
stack.getContext().get(ActionContext.CONVERSION_ERRORS);
+        Map<String, ConversionData> conversionErrors = 
stack.getActionContext().getConversionErrors();
         assertTrue(conversionErrors.containsKey("count"));
     }
 
@@ -1202,11 +1203,11 @@ public class OgnlValueStackTest extends XWorkTestCase {
         stack.push("Hello World");
 
         assertEquals("Hello World", stack.findValue("top"));
-        assertEquals(null, stack.findValue(null));
+        assertNull(stack.findValue(null));
 
         stack.setDefaultType(Integer.class);
-        stack.push(new Integer(123));
-        assertEquals(new Integer(123), stack.findValue("top"));
+        stack.push(123);
+        assertEquals(123, stack.findValue("top"));
     }
 
     public void testFindString() {
@@ -1215,11 +1216,11 @@ public class OgnlValueStackTest extends XWorkTestCase {
         stack.push("Hello World");
 
         assertEquals("Hello World", stack.findString("top"));
-        assertEquals(null, stack.findString(null));
+        assertNull(stack.findString(null));
     }
 
     public void testExpOverrides() {
-        Map overrides = new HashMap();
+        Map<Object, Object> overrides = new HashMap<>();
         overrides.put("claus", "top");
 
         OgnlValueStack stack = createValueStack();
@@ -1236,7 +1237,7 @@ public class OgnlValueStackTest extends XWorkTestCase {
 
         stack.getContext().put("santa", "Hello Santa");
         assertEquals("Hello Santa", stack.findValue("santa", String.class));
-        assertEquals(null, stack.findValue("unknown", String.class));
+        assertNull(stack.findValue("unknown", String.class));
     }
 
     public void testWarnAboutInvalidProperties() {
@@ -1247,16 +1248,16 @@ public class OgnlValueStackTest extends XWorkTestCase {
 
         // how to test the warning was logged?
         assertEquals("Don", stack.findValue("name", String.class));
-        assertEquals(null, stack.findValue("address", String.class));
+        assertNull(stack.findValue("address", String.class));
         // should log warning
-        assertEquals(null, stack.findValue("address.invalidProperty", 
String.class));
+        assertNull(stack.findValue("address.invalidProperty", String.class));
 
         // if country is null, OGNL throws an exception
         /*action.setAddress(new Address());
         stack.push(action);*/
         // should log warning
-        assertEquals(null, stack.findValue("address.country.id", 
String.class));
-        assertEquals(null, stack.findValue("address.country.name", 
String.class));
+        assertNull(stack.findValue("address.country.id", String.class));
+        assertNull(stack.findValue("address.country.name", String.class));
     }
 
    /**
@@ -1498,7 +1499,7 @@ public class OgnlValueStackTest extends XWorkTestCase {
         ognlUtil = container.getInstance(OgnlUtil.class);
     }
 
-    class BadJavaBean {
+    static class BadJavaBean {
         private int count;
         private int count2;
 
@@ -1519,7 +1520,7 @@ public class OgnlValueStackTest extends XWorkTestCase {
         }
     }
 
-    class MyAction {
+    static class MyAction {
         private Long id;
         private String name;
         private Address address;
@@ -1549,7 +1550,7 @@ public class OgnlValueStackTest extends XWorkTestCase {
         }
     }
 
-    class Address {
+    static class Address {
         private String address;
         private Country country;
         private String city;
@@ -1579,7 +1580,7 @@ public class OgnlValueStackTest extends XWorkTestCase {
         }
     }
 
-    class Country {
+    static class Country {
         private String iso;
         private String name;
         private String displayName;
@@ -1609,7 +1610,7 @@ public class OgnlValueStackTest extends XWorkTestCase {
         }
     }
 
-    class TestAppender extends AbstractAppender {
+    static class TestAppender extends AbstractAppender {
         List<LogEvent> logEvents = new ArrayList<>();
 
         TestAppender() {
@@ -1625,4 +1626,4 @@ public class OgnlValueStackTest extends XWorkTestCase {
 
 enum MyNumbers {
     ONE, TWO, THREE
-}
\ No newline at end of file
+}

Reply via email to