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 2011/12/22 07:51:15 UTC
svn commit: r1222068 - in /struts/struts2/trunk/xwork-core/src:
main/java/com/opensymphony/xwork2/
main/java/com/opensymphony/xwork2/conversion/impl/
main/java/com/opensymphony/xwork2/util/
test/java/com/opensymphony/xwork2/util/
Author: lukaszlenart
Date: Thu Dec 22 06:51:14 2011
New Revision: 1222068
URL: http://svn.apache.org/viewvc?rev=1222068&view=rev
Log:
WW-3414 removes not serializable field from XWorkList and uses Object Factory to obtain instance o XWorkBasicConverter
Modified:
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java
struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/XWorkListTest.java
Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java?rev=1222068&r1=1222067&r2=1222068&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java (original)
+++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/ObjectFactory.java Thu Dec 22 06:51:14 2011
@@ -19,6 +19,7 @@ import com.opensymphony.xwork2.config.Co
import com.opensymphony.xwork2.config.entities.ActionConfig;
import com.opensymphony.xwork2.config.entities.InterceptorConfig;
import com.opensymphony.xwork2.config.entities.ResultConfig;
+import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.inject.Container;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.interceptor.Interceptor;
@@ -256,6 +257,10 @@ public class ObjectFactory implements Se
return validator;
}
+ public TypeConverter buildConverter(Class<? extends TypeConverter> converterClass) {
+ return container.getInstance(converterClass);
+ }
+
static class ContinuationsClassLoader extends ClassLoader {
}
Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java?rev=1222068&r1=1222067&r2=1222068&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java (original)
+++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkBasicConverter.java Thu Dec 22 06:51:14 2011
@@ -22,16 +22,29 @@ import com.opensymphony.xwork2.conversio
import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.inject.Inject;
import com.opensymphony.xwork2.util.XWorkList;
+import org.apache.commons.lang.StringUtils;
import java.lang.reflect.Array;
import java.lang.reflect.Constructor;
import java.lang.reflect.Member;
import java.math.BigDecimal;
import java.math.BigInteger;
-import java.text.*;
-import java.util.*;
-
-import org.apache.commons.lang.StringUtils;
+import java.text.DateFormat;
+import java.text.NumberFormat;
+import java.text.ParseException;
+import java.text.ParsePosition;
+import java.text.SimpleDateFormat;
+import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Collection;
+import java.util.Date;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+import java.util.SortedSet;
+import java.util.TreeSet;
/**
@@ -66,7 +79,6 @@ public class XWorkBasicConverter extends
private static String MILLISECOND_FORMAT = ".SSS";
private ObjectTypeDeterminer objectTypeDeterminer;
- private XWorkConverter xworkConverter;
private ObjectFactory objectFactory;
@Inject
@@ -75,11 +87,6 @@ public class XWorkBasicConverter extends
}
@Inject
- public void setXWorkConverter(XWorkConverter conv) {
- this.xworkConverter = conv;
- }
-
- @Inject
public void setObjectFactory(ObjectFactory fac) {
this.objectFactory = fac;
}
@@ -204,9 +211,9 @@ public class XWorkBasicConverter extends
result = new TreeSet();
} else {
if (size > 0) {
- result = new XWorkList(objectFactory, xworkConverter, memberType, size);
+ result = new XWorkList(objectFactory, memberType, size);
} else {
- result = new XWorkList(objectFactory, xworkConverter, memberType);
+ result = new XWorkList(objectFactory, memberType);
}
}
Modified: struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java?rev=1222068&r1=1222067&r2=1222068&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java (original)
+++ struts/struts2/trunk/xwork-core/src/main/java/com/opensymphony/xwork2/util/XWorkList.java Thu Dec 22 06:51:14 2011
@@ -18,6 +18,7 @@ package com.opensymphony.xwork2.util;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.XWorkException;
+import com.opensymphony.xwork2.conversion.TypeConverter;
import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
import com.opensymphony.xwork2.util.logging.Logger;
import com.opensymphony.xwork2.util.logging.LoggerFactory;
@@ -40,20 +41,17 @@ public class XWorkList extends ArrayList
private static final Logger LOG = LoggerFactory.getLogger(XWorkConverter.class);
private Class clazz;
- private XWorkConverter conv;
private ObjectFactory objectFactory;
- public XWorkList(ObjectFactory fac, XWorkConverter conv, Class clazz) {
- this.conv = conv;
+ public XWorkList(ObjectFactory fac, Class clazz) {
this.clazz = clazz;
this.objectFactory = fac;
}
- public XWorkList(ObjectFactory fac, XWorkConverter conv, Class clazz, int initialCapacity) {
+ public XWorkList(ObjectFactory fac, Class clazz, int initialCapacity) {
super(initialCapacity);
this.clazz = clazz;
- this.conv = conv;
this.objectFactory = fac;
}
@@ -209,7 +207,7 @@ public class XWorkList extends ArrayList
if (LOG.isDebugEnabled()) {
LOG.debug("Converting from " + element.getClass().getName() + " to " + clazz.getName());
}
-
+ TypeConverter conv = objectFactory.buildConverter(XWorkConverter.class);
Map<String, Object> context = ActionContext.getContext().getContextMap();
element = conv.convertValue(context, null, null, null, element, clazz);
}
Modified: struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/XWorkListTest.java
URL: http://svn.apache.org/viewvc/struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/XWorkListTest.java?rev=1222068&r1=1222067&r2=1222068&view=diff
==============================================================================
--- struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/XWorkListTest.java (original)
+++ struts/struts2/trunk/xwork-core/src/test/java/com/opensymphony/xwork2/util/XWorkListTest.java Thu Dec 22 06:51:14 2011
@@ -17,7 +17,6 @@ package com.opensymphony.xwork2.util;
import com.opensymphony.xwork2.ObjectFactory;
import com.opensymphony.xwork2.XWorkTestCase;
-import com.opensymphony.xwork2.conversion.impl.XWorkConverter;
import java.util.ArrayList;
@@ -30,9 +29,8 @@ import java.util.ArrayList;
public class XWorkListTest extends XWorkTestCase {
public void testAddAllIndex() {
- XWorkConverter conv = container.getInstance(XWorkConverter.class);
ObjectFactory of = container.getInstance(ObjectFactory.class);
- XWorkList xworkList = new XWorkList(of, conv, String.class);
+ XWorkList xworkList = new XWorkList(of, String.class);
xworkList.add(new String[]{"a"});
xworkList.add("b");
@@ -52,7 +50,7 @@ public class XWorkListTest extends XWork
assertEquals("3", xworkList.get(5));
// take 2, no trim
- xworkList = new XWorkList(of, conv,String.class);
+ xworkList = new XWorkList(of, String.class);
xworkList.add(new String[]{"a"});
xworkList.add("b");
@@ -70,7 +68,7 @@ public class XWorkListTest extends XWork
assertEquals("3", xworkList.get(4));
// take 3, insert
- xworkList = new XWorkList(of, conv,String.class);
+ xworkList = new XWorkList(of, String.class);
xworkList.add(new String[]{"a"});
xworkList.add("b");