Author: niallp
Date: Fri May 25 09:30:15 2007
New Revision: 541715

URL: http://svn.apache.org/viewvc?view=rev&rev=541715
Log:
BEANUTILS-258 - refactor new lookup() method slightly

Modified:
    
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/ConvertUtilsBean.java

Modified: 
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/ConvertUtilsBean.java
URL: 
http://svn.apache.org/viewvc/jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/ConvertUtilsBean.java?view=diff&rev=541715&r1=541714&r2=541715
==============================================================================
--- 
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/ConvertUtilsBean.java
 (original)
+++ 
jakarta/commons/proper/beanutils/trunk/src/java/org/apache/commons/beanutils/ConvertUtilsBean.java
 Fri May 25 09:30:15 2007
@@ -816,16 +816,17 @@
         if (targetType == null) {
             throw new IllegalArgumentException("Target type is missing");
         }
+        if (sourceType == null) {
+            return lookup(targetType);
+        }
 
         Converter converter = null;
         // Convert --> String 
         if (targetType == String.class) {
-            if (sourceType != null) {
-                converter = lookup(sourceType);
-                if (converter == null && (sourceType.isArray() ||
+            converter = lookup(sourceType);
+            if (converter == null && (sourceType.isArray() ||
                         Collection.class.isAssignableFrom(sourceType))) {
-                    converter = lookup(String[].class);
-                }
+                converter = lookup(String[].class);
             }
             if (converter == null) {
                 converter = lookup(String.class);
@@ -835,16 +836,16 @@
 
         // Convert --> String array 
         if (targetType == String[].class) {
-            if (sourceType != null && sourceType.isArray()) {
+            if (sourceType.isArray() || 
Collection.class.isAssignableFrom(sourceType)) {
                 converter = lookup(sourceType);
             }
             if (converter == null) {
                 converter = lookup(String[].class);
             }
-        } else {
-            converter = lookup(targetType);
+            return converter;
         }
-        return converter;
+
+        return lookup(targetType);
 
     }
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to