[jboss-cvs] JBossAS SVN: r64489 - in projects/microcontainer/trunk/container/src: main/org/jboss/reflect/plugins and 2 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Aug 7 20:33:04 EDT 2007


Author: scott.stark at jboss.org
Date: 2007-08-07 20:33:04 -0400 (Tue, 07 Aug 2007)
New Revision: 64489

Modified:
   projects/microcontainer/trunk/container/src/main/org/jboss/metadata/spi/signature/Signature.java
   projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ArrayInfoImpl.java
   projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/javassist/JavassistArrayInfoImpl.java
   projects/microcontainer/trunk/container/src/tests/org/jboss/test/classinfo/test/ClassInfoArrayTest.java
Log:
JBMICROCONT-202, change the ArrayInfoImpl name to match the standard reflection primative array names.

Modified: projects/microcontainer/trunk/container/src/main/org/jboss/metadata/spi/signature/Signature.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/metadata/spi/signature/Signature.java	2007-08-07 20:54:21 UTC (rev 64488)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/metadata/spi/signature/Signature.java	2007-08-08 00:33:04 UTC (rev 64489)
@@ -77,7 +77,12 @@
       primitiveArrayTypes.put(Long.TYPE.getName(), "J");
       primitiveArrayTypes.put(Short.TYPE.getName(), "S");
    }
-   
+
+   public static String getPrimativeArrayType(String name)
+   {
+      return primitiveArrayTypes.get(name);
+   }
+
    /**
     * Convert classes to string
     * 

Modified: projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ArrayInfoImpl.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ArrayInfoImpl.java	2007-08-07 20:54:21 UTC (rev 64488)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/ArrayInfoImpl.java	2007-08-08 00:33:04 UTC (rev 64489)
@@ -21,6 +21,7 @@
 */
 package org.jboss.reflect.plugins;
 
+import org.jboss.metadata.spi.signature.Signature;
 import org.jboss.reflect.spi.AnnotationValue;
 import org.jboss.reflect.spi.ArrayInfo;
 import org.jboss.reflect.spi.PrimitiveInfo;
@@ -68,7 +69,9 @@
       }
       if (temp.getClass().equals(PrimitiveInfo.class))
       {
-         builder.append(temp.getName());
+         //builder.append(temp.getName());
+         String encodedName = Signature.getPrimativeArrayType(temp.getName());
+         builder.append(encodedName);
       }
       else
       {

Modified: projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/javassist/JavassistArrayInfoImpl.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/javassist/JavassistArrayInfoImpl.java	2007-08-07 20:54:21 UTC (rev 64488)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/reflect/plugins/javassist/JavassistArrayInfoImpl.java	2007-08-08 00:33:04 UTC (rev 64489)
@@ -23,6 +23,7 @@
 
 import javassist.CtClass;
 
+import org.jboss.metadata.spi.signature.Signature;
 import org.jboss.reflect.spi.AnnotationValue;
 import org.jboss.reflect.spi.ArrayInfo;
 import org.jboss.reflect.spi.TypeInfo;
@@ -57,7 +58,16 @@
          builder.append("[");
          temp = ((JavassistArrayInfoImpl) temp).componentType;
       }
-      builder.append("L").append(temp.getName()).append(";");
+      if (temp.isPrimitive())
+      {
+         // Use the signature encoded name for the primitive element type
+         String encodedName = Signature.getPrimativeArrayType(temp.getName());
+         builder.append(encodedName);
+      }
+      else
+      {
+         builder.append("L").append(temp.getName()).append(";");
+      }
       return builder.toString();
    }
    

Modified: projects/microcontainer/trunk/container/src/tests/org/jboss/test/classinfo/test/ClassInfoArrayTest.java
===================================================================
--- projects/microcontainer/trunk/container/src/tests/org/jboss/test/classinfo/test/ClassInfoArrayTest.java	2007-08-07 20:54:21 UTC (rev 64488)
+++ projects/microcontainer/trunk/container/src/tests/org/jboss/test/classinfo/test/ClassInfoArrayTest.java	2007-08-08 00:33:04 UTC (rev 64489)
@@ -45,12 +45,55 @@
       String[] array = new String[0];
       testArray(array);
    }
+   public void testByteArray()
+      throws Throwable
+   {
+      byte[] array = {1, 2, 3, 4};
+      testArray(array);
+   }
+   public void test2DByteArray()
+      throws Throwable
+   {
+      byte[][] array = {{1, 2, 3, 4}, {5, 6, 7, 8}};
+      testArray(array);
+   }
    public void testCharArray()
       throws Throwable
    {
       char[] array = {'h', 'e', 'l', 'l', 'o'};
       testArray(array);
    }
+   public void testCharacterArray()
+      throws Throwable
+   {
+      Character[] array = {'h', 'e', 'l', 'l', 'o'};
+      testArray(array);
+   }
+   public void test2DCharacterArray()
+      throws Throwable
+   {
+      Character[][] array = {{'h', 'e', 'l', 'l', 'o'}, {'w', 'o', 'r', 'l', 'd'}};
+      testArray(array);
+   }
+   public void testfloatArray()
+      throws Throwable
+   {
+      float[] array = {1.0f, 2.0f, 3f, 4f};
+      testArray(array);
+   }
+   public void testFloatArray()
+      throws Throwable
+   {
+      Float[] array = {1.0f, 2.0f, 3f, 4f};
+      testArray(array);
+   }
+   public void testNumberArray()
+      throws Throwable
+   {
+      Number[] array = {1, 2, 3, 4};
+      testArray(array);
+   }
+
    public void testArrayType()
    {
       String[] array = {"hello", "world"};




More information about the jboss-cvs-commits mailing list