You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2013/02/07 19:32:43 UTC

svn commit: r1443646 - in /camel/branches/camel-2.9.x: ./ camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java camel-core/src/test/java/org/apache/camel/impl/DefaultClassResolverTest.java

Author: davsclaus
Date: Thu Feb  7 18:32:42 2013
New Revision: 1443646

URL: http://svn.apache.org/r1443646
Log:
CAMEL-6051: Added more simple type converters to array types to default class resolver, so you can convert to Object[] etc.

Modified:
    camel/branches/camel-2.9.x/   (props changed)
    camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
    camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/impl/DefaultClassResolverTest.java

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
  Merged /camel/trunk:r1443644
  Merged /camel/branches/camel-2.10.x:r1443645

Propchange: camel/branches/camel-2.9.x/
------------------------------------------------------------------------------
Binary property 'svnmerge-integrated' - no diff available.

Modified: camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java?rev=1443646&r1=1443645&r2=1443646&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/main/java/org/apache/camel/util/ObjectHelper.java Thu Feb  7 18:32:42 2013
@@ -787,9 +787,15 @@ public final class ObjectHelper {
      * @return the class or <tt>null</tt> if it could not be loaded
      */
     public static Class<?> loadSimpleType(String name) {
-        // special for byte[] as its common to use
+        // special for byte[] or Object[] as its common to use
         if ("java.lang.byte[]".equals(name) || "byte[]".equals(name)) {
             return byte[].class;
+        } else if ("java.lang.Byte[]".equals(name) || "Byte[]".equals(name)) {
+            return Byte[].class;
+        } else if ("java.lang.Object[]".equals(name) || "Object[]".equals(name)) {
+            return Object[].class;
+        } else if ("java.lang.String[]".equals(name) || "String[]".equals(name)) {
+            return String[].class;
         // and these is common as well
         } else if ("java.lang.String".equals(name) || "String".equals(name)) {
             return String.class;

Modified: camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/impl/DefaultClassResolverTest.java
URL: http://svn.apache.org/viewvc/camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/impl/DefaultClassResolverTest.java?rev=1443646&r1=1443645&r2=1443646&view=diff
==============================================================================
--- camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/impl/DefaultClassResolverTest.java (original)
+++ camel/branches/camel-2.9.x/camel-core/src/test/java/org/apache/camel/impl/DefaultClassResolverTest.java Thu Feb  7 18:32:42 2013
@@ -62,6 +62,40 @@ public class DefaultClassResolverTest ex
         assertNotNull(clazz);
     }
 
+    public void testResolveMandatorySimpleClassType()throws Exception {
+        DefaultClassResolver resolver = new DefaultClassResolver();
+
+        Class<Byte> clazz = resolver.resolveMandatoryClass("Byte", Byte.class);
+        assertNotNull(clazz);
+        clazz = resolver.resolveMandatoryClass("java.lang.Byte", Byte.class);
+        assertNotNull(clazz);
+
+        Class<Long> clazz2 = resolver.resolveMandatoryClass("Long", Long.class);
+        assertNotNull(clazz2);
+        clazz2 = resolver.resolveMandatoryClass("java.lang.Long", Long.class);
+        assertNotNull(clazz2);
+
+        Class<String> clazz3 = resolver.resolveMandatoryClass("String", String.class);
+        assertNotNull(clazz3);
+        clazz3 = resolver.resolveMandatoryClass("java.lang.String", String.class);
+        assertNotNull(clazz3);
+
+        Class<Byte[]> clazz4 = resolver.resolveMandatoryClass("Byte[]", Byte[].class);
+        assertNotNull(clazz4);
+        clazz4 = resolver.resolveMandatoryClass("java.lang.Byte[]", Byte[].class);
+        assertNotNull(clazz4);
+
+        Class<Object[]> clazz5 = resolver.resolveMandatoryClass("Object[]", Object[].class);
+        assertNotNull(clazz5);
+        clazz5 = resolver.resolveMandatoryClass("java.lang.Object[]", Object[].class);
+        assertNotNull(clazz5);
+
+        Class<String[]> clazz6 = resolver.resolveMandatoryClass("String[]", String[].class);
+        assertNotNull(clazz6);
+        clazz6 = resolver.resolveMandatoryClass("java.lang.String[]", String[].class);
+        assertNotNull(clazz6);
+    }
+
     public void testResolveMandatoryClassClassLoader() throws Exception {
         DefaultClassResolver resolver = new DefaultClassResolver();
         Class clazz = resolver.resolveMandatoryClass("java.lang.Integer", DefaultClassResolverTest.class.getClassLoader());