[jboss-cvs] JBossAS SVN: r72903 - in projects/jboss-mdr/trunk/src: main/org/jboss/metadata/spi/signature and 6 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Apr 30 17:28:37 EDT 2008
Author: alesj
Date: 2008-04-30 17:28:37 -0400 (Wed, 30 Apr 2008)
New Revision: 72903
Added:
projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java
projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/ParametersSignature.java
projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/javassist/JavassistConstructorParametersSignature.java
projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/reflection/support/ConstructorParamBean.java
Modified:
projects/jboss-mdr/trunk/src/main/org/jboss/metadata/plugins/loader/reflection/AnnotatedElementMetaDataLoader.java
projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/MethodParametersSignature.java
projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/SignatureMetaDataTest.java
projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/memory/test/MemoryLoaderComponentBasicAnnotationsUnitTestCase.java
projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/reflection/test/AnnotatedElementLoaderComponentBasicAnnotationsUnitTestCase.java
projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/shared/ComponentBasicAnnotationsTest.java
Log:
ConstructorParametersSignature introduction.
Modified: projects/jboss-mdr/trunk/src/main/org/jboss/metadata/plugins/loader/reflection/AnnotatedElementMetaDataLoader.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/org/jboss/metadata/plugins/loader/reflection/AnnotatedElementMetaDataLoader.java 2008-04-30 20:20:51 UTC (rev 72902)
+++ projects/jboss-mdr/trunk/src/main/org/jboss/metadata/plugins/loader/reflection/AnnotatedElementMetaDataLoader.java 2008-04-30 21:28:37 UTC (rev 72903)
@@ -38,14 +38,15 @@
import org.jboss.metadata.spi.scope.CommonLevels;
import org.jboss.metadata.spi.scope.Scope;
import org.jboss.metadata.spi.scope.ScopeKey;
+import org.jboss.metadata.spi.signature.ConstructorParametersSignature;
import org.jboss.metadata.spi.signature.ConstructorSignature;
import org.jboss.metadata.spi.signature.FieldSignature;
import org.jboss.metadata.spi.signature.MethodParametersSignature;
import org.jboss.metadata.spi.signature.MethodSignature;
import org.jboss.metadata.spi.signature.Signature;
+import org.jboss.reflect.plugins.introspection.ReflectionUtils;
import org.jboss.util.JBossStringBuilder;
import org.jboss.util.Strings;
-import org.jboss.reflect.plugins.introspection.ReflectionUtils;
/**
* AnnotatedElementMetaDataLoader.
@@ -158,6 +159,20 @@
return null;
}
}
+ else if (signature instanceof ConstructorParametersSignature)
+ {
+ try
+ {
+ Constructor constructor = clazz.getConstructor(signature.getParametersTypes(clazz));
+ Annotation[][] paramAnnotations = constructor.getParameterAnnotations();
+ ConstructorParametersSignature sig = (ConstructorParametersSignature) signature;
+ return new SimpleMetaDataLoader(paramAnnotations[sig.getParam()]);
+ }
+ catch (NoSuchMethodException e)
+ {
+ return null;
+ }
+ }
else if (signature instanceof FieldSignature)
{
Field field = ReflectionUtils.findField(clazz, signature.getName());
@@ -178,11 +193,11 @@
if (annotated instanceof Constructor)
{
- if (signature instanceof MethodParametersSignature)
+ if (signature instanceof ConstructorParametersSignature)
{
Constructor<?> constructor = Constructor.class.cast(annotated);
Annotation[][] paramAnnotations = constructor.getParameterAnnotations();
- MethodParametersSignature sig = (MethodParametersSignature) signature;
+ ConstructorParametersSignature sig = (ConstructorParametersSignature) signature;
return new SimpleMetaDataLoader(paramAnnotations[sig.getParam()]);
}
}
Copied: projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java (from rev 72888, projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/MethodParametersSignature.java)
===================================================================
--- projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java (rev 0)
+++ projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/ConstructorParametersSignature.java 2008-04-30 21:28:37 UTC (rev 72903)
@@ -0,0 +1,78 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.metadata.spi.signature;
+
+import java.lang.reflect.Constructor;
+
+import org.jboss.reflect.spi.ConstructorInfo;
+
+/**
+ * Constructor parameters Signature.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class ConstructorParametersSignature extends ParametersSignature
+{
+ /**
+ * Create a new Signature.
+ *
+ * @param param the parameter number
+ * @param parameters the parameters
+ */
+ public ConstructorParametersSignature(int param, String... parameters)
+ {
+ super(param, parameters);
+ }
+
+ /**
+ * Create a new Signature.
+ *
+ * @param param the parameter number
+ * @param parameters the parameters
+ */
+ public ConstructorParametersSignature(int param, Class<?>... parameters)
+ {
+ super(param, parameters);
+ }
+
+ /**
+ * Create a new Signature.
+ *
+ * @param constructor the constructor
+ * @param param the parameter number
+ */
+ public ConstructorParametersSignature(Constructor constructor, int param)
+ {
+ super(param, constructor.getParameterTypes());
+ }
+
+ /**
+ * Create a new Signature.
+ *
+ * @param constructor the constructor info
+ * @param param the parameter number
+ */
+ public ConstructorParametersSignature(ConstructorInfo constructor, int param)
+ {
+ super(param, convertParameterTypes(constructor.getParameterTypes()));
+ }
+}
\ No newline at end of file
Modified: projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/MethodParametersSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/MethodParametersSignature.java 2008-04-30 20:20:51 UTC (rev 72902)
+++ projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/MethodParametersSignature.java 2008-04-30 21:28:37 UTC (rev 72903)
@@ -29,13 +29,11 @@
* Method parameters Signature.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
* @version $Revision: 1.1 $
*/
-public class MethodParametersSignature extends Signature
+public class MethodParametersSignature extends ParametersSignature
{
- /** The parameter number */
- private int param;
-
/**
* Create a new Signature.
*
@@ -45,9 +43,7 @@
*/
public MethodParametersSignature(String name, String[] parameters, int param)
{
- super(name, parameters);
- this.param = param;
- checkParam();
+ super(name, param, parameters);
}
/**
@@ -59,9 +55,7 @@
*/
public MethodParametersSignature(String name, int param, Class<?>... parameters)
{
- super(name, parameters);
- this.param = param;
- checkParam();
+ super(name, param, parameters);
}
/**
@@ -72,9 +66,7 @@
*/
public MethodParametersSignature(Method method, int param)
{
- super(method.getName(), method.getParameterTypes());
- this.param = param;
- checkParam();
+ super(method.getName(), param, method.getParameterTypes());
}
/**
@@ -85,33 +77,6 @@
*/
public MethodParametersSignature(MethodInfo method, int param)
{
- super(method.getName(), convertParameterTypes(method.getParameterTypes()));
- this.param = param;
- checkParam();
+ super(method.getName(), param, convertParameterTypes(method.getParameterTypes()));
}
-
- /**
- * Get the param.
- *
- * @return the param.
- */
- public int getParam()
- {
- return param;
- }
-
- /**
- * Check the param number makes sense
- */
- protected void checkParam()
- {
- if (param < 0 || param >= getParameters().length)
- throw new IllegalArgumentException("param must be between 0 and " + getParameters().length);
- }
-
- protected void internalToString(StringBuilder builder)
- {
- super.internalToString(builder);
- builder.append("#").append(param);
- }
}
Added: projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/ParametersSignature.java
===================================================================
--- projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/ParametersSignature.java (rev 0)
+++ projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/ParametersSignature.java 2008-04-30 21:28:37 UTC (rev 72903)
@@ -0,0 +1,112 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.metadata.spi.signature;
+
+/**
+ * Parameters Signature.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public abstract class ParametersSignature extends Signature
+{
+ /** The parameter number */
+ private int param;
+
+ /**
+ * Create a new Signature.
+ *
+ * @param param the parameter number
+ * @param parameters the parameters
+ */
+ protected ParametersSignature(int param, String... parameters)
+ {
+ super(parameters);
+ this.param = param;
+ checkParam();
+ }
+
+ /**
+ * Create a new Signature.
+ *
+ * @param param the parameter number
+ * @param parameters the parameters
+ */
+ protected ParametersSignature(int param, Class<?>... parameters)
+ {
+ super(parameters);
+ this.param = param;
+ checkParam();
+ }
+
+ /**
+ * Create a new Signature.
+ *
+ * @param name the name
+ * @param param the parameter number
+ * @param parameters the parameters
+ */
+ protected ParametersSignature(String name, int param, String... parameters)
+ {
+ super(name, parameters);
+ this.param = param;
+ checkParam();
+ }
+
+ /**
+ * Create a new Signature.
+ *
+ * @param name the name
+ * @param param the parameter number
+ * @param parameters the parameters
+ */
+ protected ParametersSignature(String name, int param, Class<?>... parameters)
+ {
+ super(name, parameters);
+ this.param = param;
+ checkParam();
+ }
+
+ /**
+ * Get the param.
+ *
+ * @return the param.
+ */
+ public int getParam()
+ {
+ return param;
+ }
+
+ /**
+ * Check the param number makes sense
+ */
+ protected void checkParam()
+ {
+ if (param < 0 || param >= getParameters().length)
+ throw new IllegalArgumentException("param must be between 0 and " + getParameters().length);
+ }
+
+ protected void internalToString(StringBuilder builder)
+ {
+ super.internalToString(builder);
+ builder.append("#").append(param);
+ }
+}
\ No newline at end of file
Copied: projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/javassist/JavassistConstructorParametersSignature.java (from rev 72888, projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/javassist/JavassistMethodParametersSignature.java)
===================================================================
--- projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/javassist/JavassistConstructorParametersSignature.java (rev 0)
+++ projects/jboss-mdr/trunk/src/main/org/jboss/metadata/spi/signature/javassist/JavassistConstructorParametersSignature.java 2008-04-30 21:28:37 UTC (rev 72903)
@@ -0,0 +1,46 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.metadata.spi.signature.javassist;
+
+import javassist.CtConstructor;
+import javassist.NotFoundException;
+import org.jboss.metadata.spi.signature.ConstructorParametersSignature;
+
+/**
+ * Javassist Constructor parameters Signature.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class JavassistConstructorParametersSignature extends ConstructorParametersSignature
+{
+ /**
+ * Create a new Signature.
+ *
+ * @param constructor the method
+ * @param param the parameter number
+ * @throws javassist.NotFoundException for any error
+ */
+ public JavassistConstructorParametersSignature(CtConstructor constructor, int param) throws NotFoundException
+ {
+ super(param, JavassistSignatureFactory.convertParameters(constructor.getParameterTypes()));
+ }
+}
\ No newline at end of file
Modified: projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/SignatureMetaDataTest.java
===================================================================
--- projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/SignatureMetaDataTest.java 2008-04-30 20:20:51 UTC (rev 72902)
+++ projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/SignatureMetaDataTest.java 2008-04-30 21:28:37 UTC (rev 72903)
@@ -29,6 +29,7 @@
import org.jboss.config.plugins.property.PropertyConfiguration;
import org.jboss.config.spi.Configuration;
+import org.jboss.metadata.spi.signature.ConstructorParametersSignature;
import org.jboss.metadata.spi.signature.ConstructorSignature;
import org.jboss.metadata.spi.signature.FieldSignature;
import org.jboss.metadata.spi.signature.MethodParametersSignature;
@@ -130,6 +131,26 @@
return new MethodParametersSignature(getMethodInfo(), 0);
}
+ protected ConstructorParametersSignature getStringConstructorParametersSignature() throws Exception
+ {
+ return new ConstructorParametersSignature(0, Calendar.class.getName());
+ }
+
+ protected ConstructorParametersSignature getClassConstructorParametersSignature() throws Exception
+ {
+ return new ConstructorParametersSignature(0, Calendar.class);
+ }
+
+ protected ConstructorParametersSignature getConstructorParametersSignature() throws Exception
+ {
+ return new ConstructorParametersSignature(getConstructor(), 0);
+ }
+
+ protected ConstructorParametersSignature getConstructorInfoParametersSignature() throws Exception
+ {
+ return new ConstructorParametersSignature(getConstructorInfo(), 0);
+ }
+
protected Constructor<?> getConstructor() throws Exception
{
return SignatureTester.class.getDeclaredConstructor(Calendar.class);
@@ -168,7 +189,7 @@
protected Signature[] getSignatures() throws Exception
{
- Signature[] signatures = new Signature[15];
+ Signature[] signatures = new Signature[19];
signatures[0] = getDefaultConstructorSignature();
signatures[1] = getStringParameterConstructorSignature();
signatures[2] = getClassParameterConstructorSignature();
@@ -184,6 +205,10 @@
signatures[12] = getStringMethodParametersSignature();
signatures[13] = getMethodParametersSignature();
signatures[14] = getMethodInfoParametersSignature();
+ signatures[15] = getStringConstructorParametersSignature();
+ signatures[16] = getClassConstructorParametersSignature();
+ signatures[17] = getConstructorParametersSignature();
+ signatures[18] = getConstructorInfoParametersSignature();
return signatures;
}
@@ -225,4 +250,14 @@
signatures[3] = getMethodInfoParametersSignature();
return signatures;
}
+
+ protected ConstructorParametersSignature[] getConstructorParametersSignatures() throws Exception
+ {
+ ConstructorParametersSignature[] signatures = new ConstructorParametersSignature[4];
+ signatures[0] = getStringConstructorParametersSignature();
+ signatures[1] = getClassConstructorParametersSignature();
+ signatures[2] = getConstructorParametersSignature();
+ signatures[3] = getConstructorInfoParametersSignature();
+ return signatures;
+ }
}
Modified: projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/memory/test/MemoryLoaderComponentBasicAnnotationsUnitTestCase.java
===================================================================
--- projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/memory/test/MemoryLoaderComponentBasicAnnotationsUnitTestCase.java 2008-04-30 20:20:51 UTC (rev 72902)
+++ projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/memory/test/MemoryLoaderComponentBasicAnnotationsUnitTestCase.java 2008-04-30 21:28:37 UTC (rev 72903)
@@ -24,6 +24,7 @@
import org.jboss.metadata.plugins.loader.memory.MemoryMetaDataLoader;
import org.jboss.metadata.spi.MetaData;
import org.jboss.metadata.spi.retrieval.MetaDataRetrievalToMetaDataBridge;
+import org.jboss.metadata.spi.signature.ConstructorParametersSignature;
import org.jboss.metadata.spi.signature.ConstructorSignature;
import org.jboss.metadata.spi.signature.FieldSignature;
import org.jboss.metadata.spi.signature.MethodParametersSignature;
@@ -105,4 +106,19 @@
loader.addComponentMetaDataRetrieval(new MethodParametersSignature("testAnnotation12", 1, String.class, Class.class), component);
return new MetaDataRetrievalToMetaDataBridge(loader);
}
+
+ protected MetaData setupConstructorParams()
+ {
+ MemoryMetaDataLoader loader = new MemoryMetaDataLoader();
+ MemoryMetaDataLoader component = new MemoryMetaDataLoader();
+ loader.addComponentMetaDataRetrieval(new ConstructorParametersSignature(0, String.class), component);
+ component = new MemoryMetaDataLoader();
+ component.addAnnotation(new TestAnnotationImpl());
+ loader.addComponentMetaDataRetrieval(new ConstructorParametersSignature(0, Integer.class), component);
+ component = new MemoryMetaDataLoader();
+ component.addAnnotation(new TestAnnotation1Impl());
+ component.addAnnotation(new TestAnnotation2Impl());
+ loader.addComponentMetaDataRetrieval(new ConstructorParametersSignature(1, String.class, Class.class), component);
+ return new MetaDataRetrievalToMetaDataBridge(loader);
+ }
}
Copied: projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/reflection/support/ConstructorParamBean.java (from rev 71863, projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/reflection/support/MethodParamBean.java)
===================================================================
--- projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/reflection/support/ConstructorParamBean.java (rev 0)
+++ projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/reflection/support/ConstructorParamBean.java 2008-04-30 21:28:37 UTC (rev 72903)
@@ -0,0 +1,46 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+*/
+package org.jboss.test.metadata.loader.reflection.support;
+
+import org.jboss.test.metadata.shared.support.TestAnnotation;
+import org.jboss.test.metadata.shared.support.TestAnnotation1;
+import org.jboss.test.metadata.shared.support.TestAnnotation2;
+
+/**
+ * ConstructorParamBean.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public class ConstructorParamBean
+{
+ public ConstructorParamBean(String p1)
+ {
+ }
+
+ public ConstructorParamBean(@TestAnnotation Integer p1)
+ {
+ }
+
+ public ConstructorParamBean(String p1, @TestAnnotation1 @TestAnnotation2 Class<?> p2)
+ {
+ }
+}
\ No newline at end of file
Modified: projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/reflection/test/AnnotatedElementLoaderComponentBasicAnnotationsUnitTestCase.java
===================================================================
--- projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/reflection/test/AnnotatedElementLoaderComponentBasicAnnotationsUnitTestCase.java 2008-04-30 20:20:51 UTC (rev 72902)
+++ projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/loader/reflection/test/AnnotatedElementLoaderComponentBasicAnnotationsUnitTestCase.java 2008-04-30 21:28:37 UTC (rev 72903)
@@ -25,6 +25,7 @@
import org.jboss.metadata.spi.MetaData;
import org.jboss.metadata.spi.retrieval.MetaDataRetrievalToMetaDataBridge;
import org.jboss.test.metadata.loader.reflection.support.ConstructorBean;
+import org.jboss.test.metadata.loader.reflection.support.ConstructorParamBean;
import org.jboss.test.metadata.loader.reflection.support.FieldBean;
import org.jboss.test.metadata.loader.reflection.support.MethodBean;
import org.jboss.test.metadata.loader.reflection.support.MethodParamBean;
@@ -66,4 +67,10 @@
AnnotatedElementMetaDataLoader loader = new AnnotatedElementMetaDataLoader(MethodParamBean.class);
return new MetaDataRetrievalToMetaDataBridge(loader);
}
+
+ protected MetaData setupConstructorParams()
+ {
+ AnnotatedElementMetaDataLoader loader = new AnnotatedElementMetaDataLoader(ConstructorParamBean.class);
+ return new MetaDataRetrievalToMetaDataBridge(loader);
+ }
}
Modified: projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/shared/ComponentBasicAnnotationsTest.java
===================================================================
--- projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/shared/ComponentBasicAnnotationsTest.java 2008-04-30 20:20:51 UTC (rev 72902)
+++ projects/jboss-mdr/trunk/src/tests/org/jboss/test/metadata/shared/ComponentBasicAnnotationsTest.java 2008-04-30 21:28:37 UTC (rev 72903)
@@ -22,6 +22,7 @@
package org.jboss.test.metadata.shared;
import org.jboss.metadata.spi.MetaData;
+import org.jboss.metadata.spi.signature.ConstructorParametersSignature;
import org.jboss.metadata.spi.signature.ConstructorSignature;
import org.jboss.metadata.spi.signature.FieldSignature;
import org.jboss.metadata.spi.signature.MethodParametersSignature;
@@ -56,7 +57,9 @@
protected abstract MetaData setupMethod();
protected abstract MetaData setupMethodParams();
-
+
+ protected abstract MetaData setupConstructorParams();
+
public void testFieldNotFound() throws Exception
{
MetaData metaData = setupField();
@@ -85,6 +88,13 @@
assertNull(metaData);
}
+ public void testConstructorParamsNotFound() throws Exception
+ {
+ MetaData metaData = setupConstructorParams();
+ metaData = metaData.getComponentMetaData(new ConstructorParametersSignature(0, Void.class));
+ assertNull(metaData);
+ }
+
public void testFieldEmpty() throws Exception
{
MetaData metaData = setupField();
@@ -113,6 +123,13 @@
testEmpty(metaData);
}
+ public void testConstructorParamsEmpty() throws Exception
+ {
+ MetaData metaData = setupConstructorParams();
+ metaData = metaData.getComponentMetaData(new ConstructorParametersSignature(0, String.class));
+ testEmpty(metaData);
+ }
+
protected void testEmpty(MetaData metaData) throws Exception
{
assertNotNull(metaData);
@@ -151,6 +168,13 @@
testTestAnnotation(metaData);
}
+ public void testConstructorParamsTestAnnotation() throws Exception
+ {
+ MetaData metaData = setupConstructorParams();
+ metaData = metaData.getComponentMetaData(new ConstructorParametersSignature(0, Integer.class));
+ testTestAnnotation(metaData);
+ }
+
protected void testTestAnnotation(MetaData metaData) throws Exception
{
assertNotNull(metaData);
@@ -192,6 +216,13 @@
testTestAnnotation12(metaData);
}
+ public void testConstructorParamTestAnnotation12() throws Exception
+ {
+ MetaData metaData = setupConstructorParams();
+ metaData = metaData.getComponentMetaData(new ConstructorParametersSignature(1, String.class, Class.class));
+ testTestAnnotation12(metaData);
+ }
+
protected void testTestAnnotation12(MetaData metaData) throws Exception
{
assertNotNull(metaData);
More information about the jboss-cvs-commits
mailing list