[jboss-cvs] JBossAS SVN: r104103 - in projects/jboss-mdr/trunk/src: test/java/org/jboss/test/metadata and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Apr 20 17:28:11 EDT 2010


Author: alesj
Date: 2010-04-20 17:28:10 -0400 (Tue, 20 Apr 2010)
New Revision: 104103

Modified:
   projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java
   projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorSignature.java
   projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodParametersSignature.java
   projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodSignature.java
   projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ParametersSignature.java
   projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/Signature.java
   projects/jboss-mdr/trunk/src/test/java/org/jboss/test/metadata/SignatureMetaDataTest.java
Log:
[JBMDR-68]; lazy loading of Signature.

Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java	2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java	2010-04-20 21:28:10 UTC (rev 104103)
@@ -77,7 +77,7 @@
     */
    public ConstructorParametersSignature(ConstructorInfo constructor, int param)
    {
-      super(param, convertParameterTypes(constructor.getParameterTypes()));
+      super(param, constructor.getParameterTypes());
    }
 
    /**

Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorSignature.java	2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ConstructorSignature.java	2010-04-20 21:28:10 UTC (rev 104103)
@@ -74,7 +74,7 @@
     */
    public ConstructorSignature(ConstructorInfo constructor)
    {
-      super(convertParameterTypes(constructor.getParameterTypes()));
+      super(constructor.getParameterTypes());
    }
 
    /**

Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodParametersSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodParametersSignature.java	2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodParametersSignature.java	2010-04-20 21:28:10 UTC (rev 104103)
@@ -81,7 +81,7 @@
     */
    public MethodParametersSignature(MethodInfo method, int param)
    {
-      super(method.getName(), param, convertParameterTypes(method.getParameterTypes()));
+      super(method.getName(), param, method.getParameterTypes());
    }
 
    /**

Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodSignature.java	2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/MethodSignature.java	2010-04-20 21:28:10 UTC (rev 104103)
@@ -76,7 +76,7 @@
     */
    public MethodSignature(MethodInfo method)
    {
-      super(method.getName(), convertParameterTypes(method.getParameterTypes()));
+      super(method.getName(), method.getParameterTypes());
    }
 
    /**

Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ParametersSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ParametersSignature.java	2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/ParametersSignature.java	2010-04-20 21:28:10 UTC (rev 104103)
@@ -21,6 +21,8 @@
 */
 package org.jboss.metadata.spi.signature;
 
+import org.jboss.reflect.spi.TypeInfo;
+
 /**
  * Parameters Signature.
  *
@@ -60,6 +62,19 @@
    /**
     * Create a new Signature.
     *
+    * @param param the parameter number
+    * @param parameters the parameters
+    */
+   protected ParametersSignature(int param, TypeInfo... parameters)
+   {
+      super(parameters);
+      this.param = param;
+      checkParam();
+   }
+
+   /**
+    * Create a new Signature.
+    *
     * @param name the name
     * @param param the parameter number
     * @param parameters the parameters
@@ -86,6 +101,20 @@
    }
 
    /**
+    * Create a new Signature.
+    *
+    * @param name the name
+    * @param param the parameter number
+    * @param parameters the parameters
+    */
+   protected ParametersSignature(String name, int param, TypeInfo... parameters)
+   {
+      super(name, parameters);
+      this.param = param;
+      checkParam();
+   }
+
+   /**
     * Get the param.
     *
     * @return the param.

Modified: projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/Signature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/Signature.java	2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/main/java/org/jboss/metadata/spi/signature/Signature.java	2010-04-20 21:28:10 UTC (rev 104103)
@@ -21,25 +21,16 @@
 */
 package org.jboss.metadata.spi.signature;
 
-import java.lang.reflect.Array;
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Field;
-import java.lang.reflect.Member;
-import java.lang.reflect.Method;
-import java.util.Arrays;
+import java.lang.reflect.*;
 
 import org.jboss.metadata.plugins.signature.SignatureNameUtil;
-import org.jboss.reflect.spi.ConstructorInfo;
-import org.jboss.reflect.spi.FieldInfo;
-import org.jboss.reflect.spi.MemberInfo;
-import org.jboss.reflect.spi.MethodInfo;
-import org.jboss.reflect.spi.PrimitiveInfo;
-import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.reflect.spi.*;
 
 /**
  * Signature.
  * 
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
  * @version $Revision: 1.1 $
  */
 public class Signature
@@ -62,6 +53,9 @@
    /** The parameter types */
    private Class<?>[] parameterTypes;
    
+   /** The parameter type infos */
+   private TypeInfo[] parameterTypeInfos;
+
    /** The cached hashcode */
    private transient int cachedHashCode = Integer.MIN_VALUE;
 
@@ -201,8 +195,13 @@
 
    /**
     * Loads a class by name.
-    * 
+    *
     * TODO A similar method exists in org.jboss.util.Classes ...
+    *
+    * @param cl the classloader
+    * @param name the class name
+    * @return loaded class
+    * @throws ClassNotFoundException if the class is not found
     */
    private static Class<?> loadClass(ClassLoader cl, String name) throws ClassNotFoundException
    {
@@ -297,6 +296,16 @@
 
    /**
     * Create a new Signature.
+    *
+    * @param parameters the parameters
+    */
+   public Signature(TypeInfo... parameters)
+   {
+      this(NO_NAME, parameters);
+   }
+
+   /**
+    * Create a new Signature.
     * 
     * @param parameters the parameters
     */
@@ -329,8 +338,20 @@
 
    /**
     * Create a new Signature.
-    * 
+    *
     * @param name the  name
+    * @param parameters the parameters
+    */
+   public Signature(String name, TypeInfo... parameters)
+   {
+      this(name);
+      this.parameterTypeInfos = parameters;
+   }
+
+   /**
+    * Create a new Signature.
+    *
+    * @param name the  name
     * @param parameterTypes the parameterTypes
     * @param parameters the parameters
     */
@@ -342,7 +363,7 @@
       this.parameters = parameters;
       this.parameterTypes = parameterTypes;
    }
-   
+
    /**
     * Returns the name.
     * 
@@ -360,8 +381,14 @@
     */
    public String[] getParameters()
    {
-      if (parameters == null)
-         parameters = classesToStrings(getParameterTypes());
+      boolean initParameters = parameters == NO_PARAMETERS || parameters == null;
+      if (initParameters)
+      {
+         if (parameterTypeInfos != null)
+            parameters = convertParameters(parameterTypeInfos);
+         else
+            parameters = classesToStrings(getParameterTypes());
+      }
       return parameters;
    }
    
@@ -372,6 +399,10 @@
     */
    protected Class<?>[] getParameterTypes()
    {
+      boolean initParameterTypes = parameterTypes == null || parameterTypes == NO_PARAMETER_TYPES;
+      if (initParameterTypes && parameterTypeInfos != null)
+         parameterTypes = convertParameterTypes(parameterTypeInfos);
+
       return parameterTypes;
    }
    

Modified: projects/jboss-mdr/trunk/src/test/java/org/jboss/test/metadata/SignatureMetaDataTest.java
===================================================================
--- projects/jboss-mdr/trunk/src/test/java/org/jboss/test/metadata/SignatureMetaDataTest.java	2010-04-20 20:09:01 UTC (rev 104102)
+++ projects/jboss-mdr/trunk/src/test/java/org/jboss/test/metadata/SignatureMetaDataTest.java	2010-04-20 21:28:10 UTC (rev 104103)
@@ -160,7 +160,7 @@
    {
       ClassInfo classInfo = configuration.getClassInfo(SignatureTester.class);
       TypeInfo calendarTypeInfo = configuration.getTypeInfo(Calendar.class);
-      return classInfo.getDeclaredConstructor(new TypeInfo[]{calendarTypeInfo});
+      return classInfo.getDeclaredConstructor(calendarTypeInfo);
    }
 
    protected Method getMethod() throws Exception
@@ -173,7 +173,7 @@
       ClassInfo classInfo = configuration.getClassInfo(SignatureTester.class);
       TypeInfo calendarTypeInfo = configuration.getTypeInfo(Calendar.class);
       TypeInfo timeZoneTypeInfo = configuration.getTypeInfo(TimeZone.class);
-      return classInfo.getDeclaredMethod("applyTimeZone", new TypeInfo[]{calendarTypeInfo, timeZoneTypeInfo});
+      return classInfo.getDeclaredMethod("applyTimeZone", calendarTypeInfo, timeZoneTypeInfo);
    }
 
    protected Field getField() throws Exception




More information about the jboss-cvs-commits mailing list