Repository: struts
Updated Branches:
  refs/heads/develop fa814744d -> 2da93000d


WW-4369 Solves problem with detecting primitives


Project: http://git-wip-us.apache.org/repos/asf/struts/repo
Commit: http://git-wip-us.apache.org/repos/asf/struts/commit/2b794d76
Tree: http://git-wip-us.apache.org/repos/asf/struts/tree/2b794d76
Diff: http://git-wip-us.apache.org/repos/asf/struts/diff/2b794d76

Branch: refs/heads/develop
Commit: 2b794d76e59c023348eec2d673d7d8b9abd8263b
Parents: fa81474
Author: Lukasz Lenart <lukaszlen...@apache.org>
Authored: Wed Jul 9 20:50:10 2014 +0200
Committer: Lukasz Lenart <lukaszlen...@apache.org>
Committed: Wed Jul 9 20:50:10 2014 +0200

----------------------------------------------------------------------
 .../xwork2/conversion/impl/XWorkConverter.java           | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/struts/blob/2b794d76/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
----------------------------------------------------------------------
diff --git 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
index c0aa30b..a91ca1c 100644
--- 
a/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
+++ 
b/xwork-core/src/main/java/com/opensymphony/xwork2/conversion/impl/XWorkConverter.java
@@ -354,7 +354,7 @@ public class XWorkConverter extends DefaultTypeConverter {
      * @param className name of the class the TypeConverter must handle
      * @return a TypeConverter to handle the specified class or null if none 
can be found
      */
-    public TypeConverter lookup(String className) {
+    public TypeConverter lookup(String className, boolean isPrimitive) {
         if (converterHolder.containsUnknownMapping(className) && 
!converterHolder.containsDefaultMapping(className)) {
             return null;
         }
@@ -362,7 +362,7 @@ public class XWorkConverter extends DefaultTypeConverter {
         TypeConverter result = converterHolder.getDefaultMapping(className);
 
         //Looks for super classes
-        if (result == null) {
+        if (result == null && !isPrimitive) {
             Class clazz = null;
 
             try {
@@ -394,14 +394,17 @@ public class XWorkConverter extends DefaultTypeConverter {
      * @return a TypeConverter to handle the specified class or null if none 
can be found
      */
     public TypeConverter lookup(Class clazz) {
-        if (clazz.isPrimitive()) {
+        TypeConverter result = lookup(clazz.getName(), clazz.isPrimitive());
+
+        if (result == null && clazz.isPrimitive()) {
             /**
              * if it is primitive use default converter which allows to define 
different converters per type
              * @see XWorkBasicConverter
              */
             return defaultTypeConverter;
         }
-        return lookup(clazz.getName());
+
+        return result;
     }
 
     protected Object getConverter(Class clazz, String property) {

Reply via email to