[jboss-cvs] JBossAS SVN: r104317 - in projects/jboss-reflect/trunk/src: main/java/org/jboss/reflect/plugins/javassist and 5 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Apr 29 10:54:13 EDT 2010
Author: kabir.khan at jboss.com
Date: 2010-04-29 10:54:09 -0400 (Thu, 29 Apr 2010)
New Revision: 104317
Added:
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/ErrorCheckingMemberFactory.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/support/ClassInfoBeanWithArrayMembers.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoWithArrayMembersTest.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/IntrospectionClassInfoWithArrayMembersTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/JavassistClassInfoWithArrayMembersTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractMemberFactoryArrayUnitTest.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryArrayUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryBoxedInterfaceUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedStaticBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrimitiveInterfaceUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivatePrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateStaticBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateStaticPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedStaticBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedStaticPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicStaticBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicStaticPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryTestSuite.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/GeneratedMemberFactoryTestSuite.java
Modified:
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/introspection/ReflectionUtils.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistReflectionFactory.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistUtil.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/SecurityActions.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistBehaviorFactory.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistConstructorFactory.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistFieldFactory.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistMemberFactory.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistMethodFactory.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistConstructor.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistField.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistMethod.java
projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultMemberFactory.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMemberFactoryTest.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodAndFieldFactoryTest.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodFactoryTest.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodFieldAndConstructorFactoryTest.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryArrayUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryBoxedInterfaceUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedStaticBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrimitiveInterfaceUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivatePrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateStaticBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateStaticPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedStaticBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedStaticPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicStaticBoxedUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicStaticPrimitiveUnitTestCase.java
projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryTestSuite.java
Log:
[JBREFLECT-6] [JBREFLECT-121]
6: Remove the checking from the generated byte code and put in wrapper classes created by ErrorCheckingMemberFactory. Test that the same errors are reported from ErrorCheckingMemberFactory as from ReflectionUtils.
121: Fix bug where the SignatureKeys used to cache constructor/methods in JavassistTypeInfo.getDeclaredMethods()/-Constructors() are different from those created when passing in TypeInfos to getDeclaredMethod()/-Constructor()
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/introspection/ReflectionUtils.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/introspection/ReflectionUtils.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/introspection/ReflectionUtils.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -25,6 +25,7 @@
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -66,6 +67,10 @@
if (clazz.isInstance(target) == false)
throw new IllegalArgumentException("Wrong target. " + target.getClass().getName() + " is not a " + clazz.getName());
}
+ else if (target == null && !Modifier.isStatic(method.getModifiers()))
+ {
+ throw new IllegalArgumentException("Null target calling: " + method);
+ }
throw handleErrors(method.getName(), Strings.defaultToString(target), method.getParameterTypes(), arguments, t);
}
}
@@ -166,6 +171,8 @@
{
if (field == null)
throw new IllegalArgumentException("Null field");
+ if (target == null && !Modifier.isStatic(field.getModifiers()))
+ throw new IllegalArgumentException("Null target getting " + field.getDeclaringClass().getName() + "." + field.getName());
try
{
@@ -190,6 +197,8 @@
{
if (field == null)
throw new IllegalArgumentException("Null field");
+ if (target == null && !Modifier.isStatic(field.getModifiers()))
+ throw new IllegalArgumentException("Null target getting " + field.getDeclaringClass().getName() + "." + field.getName());
try
{
@@ -417,7 +426,7 @@
if (t instanceof IllegalArgumentException)
{
Class<?> clazz = field.getDeclaringClass();
- if (clazz.isInstance(target) == false)
+ if (clazz.isInstance(target) == false && !(Modifier.isStatic(field.getModifiers()) && target == null))
throw new IllegalArgumentException("Wrong target. " + target.getClass().getName() + " is not a " + clazz.getName());
String valueType = null;
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistReflectionFactory.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistReflectionFactory.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistReflectionFactory.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -31,10 +31,6 @@
import java.util.HashSet;
import java.util.Set;
-import javassist.CtConstructor;
-import javassist.CtField;
-import javassist.CtMethod;
-
import org.jboss.reflect.plugins.javassist.bytecode.JavassistMemberFactory;
import org.jboss.reflect.plugins.javassist.defaultmember.DefaultMemberFactory;
import org.jboss.reflect.plugins.javassist.metrics.MetricsJavassistConstructor;
@@ -70,9 +66,6 @@
{
public static final JavassistReflectionFactory INSTANCE;
- /** Whether to check arguments */
- private static final boolean check;
-
/** Whether to output generated classes to disk */
private static final boolean debug;
@@ -85,7 +78,6 @@
protected static final Class<?> MAGIC_ACCESSOR_IMPL;
static
{
- check = initBooleanProperty(JavassistReflectionFactory.class.getName() + ".check");
debug = initBooleanProperty(JavassistReflectionFactory.class.getName() + ".debug");
enableMetrics = initBooleanProperty(JavassistReflectionFactory.class.getName() + ".enableMetrics");
forceGenerate = initForceGenerate(JavassistReflectionFactory.class.getName() + ".file");
@@ -197,7 +189,7 @@
{
String sig = JavassistUtil.getSignature(info.getCtMethod());
JavassistMethod method = generateAccessor(sig) ?
- JavassistMemberFactory.createJavassistMethod(MAGIC_ACCESSOR_IMPL, info.getCtMethod(), check, debug) :
+ JavassistMemberFactory.createJavassistMethod(MAGIC_ACCESSOR_IMPL, info.getCtMethod(), debug) :
DefaultMemberFactory.createJavassistMethod(info);
if (enableMetrics)
@@ -217,7 +209,7 @@
{
String sig = JavassistUtil.getSignature(info.getCtConstructor());
JavassistConstructor ctor = generateAccessor(sig) ?
- JavassistMemberFactory.createJavassistConstructor(MAGIC_ACCESSOR_IMPL, info.getCtConstructor(), check, debug) :
+ JavassistMemberFactory.createJavassistConstructor(MAGIC_ACCESSOR_IMPL, info.getCtConstructor(), debug) :
DefaultMemberFactory.createJavassistConstructor(info);
if (enableMetrics)
@@ -237,7 +229,7 @@
{
String sig = JavassistUtil.getSignature(info.getCtField());
JavassistField field = generateAccessor(sig) ?
- JavassistMemberFactory.createJavassistField(MAGIC_ACCESSOR_IMPL, info.getCtField(), check, debug) :
+ JavassistMemberFactory.createJavassistField(MAGIC_ACCESSOR_IMPL, info.getCtField(), debug) :
DefaultMemberFactory.createJavassistField(info);
if (enableMetrics)
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfo.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -57,6 +57,7 @@
import org.jboss.reflect.spi.MutableFieldInfo;
import org.jboss.reflect.spi.MutableMethodInfo;
import org.jboss.reflect.spi.PackageInfo;
+import org.jboss.reflect.spi.PrimitiveInfo;
import org.jboss.reflect.spi.TypeInfo;
import org.jboss.reflect.spi.TypeInfoFactory;
import org.jboss.util.JBossStringBuilder;
@@ -639,7 +640,7 @@
CtClass[] parameterTypes = constructor.getParameterTypes();
String[] params = new String[parameterTypes.length];
for (int i = 0; i < params.length; ++i)
- params[i] = parameterTypes[i].getName();
+ params[i] = getParameterTypeStringForSignature(parameterTypes[i]);
SignatureKey key = new SignatureKey(null, params);
JavassistConstructorInfo info = new JavassistConstructorInfo(factory, this, constructor);
synchronized (constructors)
@@ -723,7 +724,9 @@
CtClass[] parameterTypes = method.getParameterTypes();
String[] params = new String[parameterTypes.length];
for (int i = 0; i < params.length; ++i)
- params[i] = parameterTypes[i].getName();
+ {
+ params[i] = getParameterTypeStringForSignature(parameterTypes[i]);
+ }
SignatureKey key = new SignatureKey(method.getName(), params);
return generateMethodInfo(key, method);
}
@@ -732,7 +735,7 @@
throw JavassistTypeInfoFactoryImpl.raiseClassNotFound("for method " + method.getName(), e);
}
}
-
+
/**
* Generate method info
*
@@ -1290,4 +1293,34 @@
}
}
+ /**
+ * Constructs the string for a parameter for a signature in the same way as TypeInfo does
+ *
+ * @param clazz
+ * @return the string
+ */
+ protected String getParameterTypeStringForSignature(CtClass clazz) throws NotFoundException
+ {
+ if (clazz.isArray())
+ {
+ StringBuilder sb = new StringBuilder();
+ while (clazz.isArray())
+ {
+ sb.append("[");
+ clazz = clazz.getComponentType();
+ }
+ if (!clazz.isPrimitive())
+ {
+ sb.append("L");
+ sb.append(clazz.getName());
+ sb.append(";");
+ }
+ else
+ sb.append(PrimitiveInfo.getPrimativeArrayType(clazz.getName()));
+
+ return sb.toString();
+ }
+ else
+ return clazz.getName();
+ }
}
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistTypeInfoFactoryImpl.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -285,7 +285,7 @@
* @param clazz the class
* @return the converted name
*/
- protected String convertName(CtClass clazz)
+ protected static String convertName(CtClass clazz)
{
CtClass temp = clazz;
if (temp.isArray())
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistUtil.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistUtil.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/JavassistUtil.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -23,17 +23,24 @@
import org.jboss.reflect.spi.ClassInfo;
import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.util.Classes;
+import org.jboss.util.JBossStringBuilder;
import java.lang.reflect.Array;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
import javassist.CannotCompileException;
import javassist.ClassPool;
+import javassist.CtBehavior;
import javassist.CtClass;
import javassist.CtConstructor;
import javassist.CtField;
import javassist.CtMethod;
import javassist.CtPrimitiveType;
import javassist.NotFoundException;
+import javassist.bytecode.Descriptor;
/**
* A JavassistUtil.
@@ -202,4 +209,163 @@
return field.getDeclaringClass().getName() + "." + field.getName();
}
+ public static Field ctFieldToField(CtField field)
+ {
+ ClassLoader cl = null;
+ try
+ {
+ CtClass declaring = field.getDeclaringClass();
+ cl = getClassLoader(declaring);
+ Class<?> realClass = cl.loadClass(declaring.getName());
+ //TODO might need to check if the class is being generated in which case we should call ctClassToClass?
+
+
+ return SecurityActions.getDeclaredField(realClass, field.getName());
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new RuntimeException(field.getDeclaringClass().getName() + " not found in " + cl);
+ }
+ catch (NoSuchFieldException e)
+ {
+ throw new RuntimeException(field.getName() + " not found in " + field.getDeclaringClass().getName() );
+ }
+ }
+
+ private static Class<?> loadClass(ClassLoader cl, CtClass ctClass)
+ {
+ if (ctClass.isPrimitive())
+ {
+ return getPrimitiveClass(ctClass);
+ }
+ else if (ctClass.isArray())
+ {
+ JBossStringBuilder buffer = new JBossStringBuilder();
+ try
+ {
+ CtClass temp = ctClass;
+ int dims = 0;
+ while (temp.isArray())
+ {
+ buffer.append('[');
+ temp = temp.getComponentType();
+ }
+ if (temp.isPrimitive())
+ {
+ CtPrimitiveType primitive = (CtPrimitiveType) temp;
+ buffer.append(Character.toString(primitive.getDescriptor()));
+ }
+ else
+ {
+ buffer.append('L');
+ buffer.append(temp.getName());
+ buffer.append(';');
+ }
+ return Classes.loadClass(buffer.toString(), cl);
+ }
+ catch (NotFoundException e)
+ {
+ throw new RuntimeException(ctClass.getName(), e);
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new RuntimeException(buffer.toString() + " not found in " + cl);
+ }
+ }
+
+ try
+ {
+ return cl.loadClass(ctClass.getName());
+ //TODO might need to check if the class is being generated in which case we should call ctClassToClass?
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new RuntimeException(ctClass.getName() + " not found in " + cl);
+ }
+ }
+
+ private static Class<?> getPrimitiveClass(CtClass ctClass)
+ {
+ if (!ctClass.isPrimitive())
+ throw new IllegalArgumentException("Not a primitive ");
+
+ if (ctClass == CtClass.booleanType)
+ return Boolean.TYPE;
+ else if (ctClass == CtClass.byteType)
+ return Byte.TYPE;
+ else if (ctClass == CtClass.charType)
+ return Character.TYPE;
+ else if (ctClass == CtClass.doubleType)
+ return Double.TYPE;
+ else if (ctClass == CtClass.floatType)
+ return Float.TYPE;
+ else if (ctClass == CtClass.intType)
+ return Integer.TYPE;
+ else if (ctClass == CtClass.longType)
+ return Long.TYPE;
+ else if (ctClass == CtClass.shortType)
+ return Short.TYPE;
+
+ return null;
+ }
+
+ private static Class<?>[] loadParameters(ClassLoader cl, CtBehavior behavior)
+ {
+ CtClass[] params;
+ try
+ {
+ params = behavior.getParameterTypes();
+ }
+ catch (NotFoundException e)
+ {
+ throw new RuntimeException("Could not determine the parameters for " + behavior + " in " + behavior.getDeclaringClass().getClassPool(), e);
+ }
+ Class<?>[] real = new Class<?>[params.length];
+
+ for (int i = 0 ; i < params.length ; i++)
+ real[i] = loadClass(cl, params[i]);
+
+ return real;
+ }
+
+ public static Method ctMethodToMethod(CtMethod method)
+ {
+ ClassLoader cl = null;
+ try
+ {
+ CtClass declaring = method.getDeclaringClass();
+ cl = getClassLoader(declaring);
+ Class<?> realClass = loadClass(cl, declaring);
+ Class<?>[] params = loadParameters(cl, method);
+
+ return SecurityActions.getDeclaredMethod(realClass, method.getName(), params);
+ }
+ catch (NoSuchMethodException e)
+ {
+ throw new RuntimeException(method.getName() + method.getSignature() + " not found in " + method.getDeclaringClass().getName() );
+ }
+ }
+
+
+ public static Constructor<?> ctConstructorToConstructor(CtConstructor constructor)
+ {
+ ClassLoader cl = null;
+ try
+ {
+ CtClass declaring = constructor.getDeclaringClass();
+ cl = getClassLoader(declaring);
+ Class<?> realClass = cl.loadClass(declaring.getName());
+ Class<?>[] params = loadParameters(cl, constructor);
+
+ return SecurityActions.getDeclaredConstructor(realClass, params);
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new RuntimeException(constructor.getDeclaringClass().getName() + " not found in " + cl);
+ }
+ catch (NoSuchMethodException e)
+ {
+ throw new RuntimeException(constructor.getName() + constructor.getSignature() + " not found in " + constructor.getDeclaringClass().getName() );
+ }
+ }
}
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/SecurityActions.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/SecurityActions.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/SecurityActions.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -22,6 +22,7 @@
package org.jboss.reflect.plugins.javassist;
import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.security.AccessController;
import java.security.PrivilegedAction;
@@ -104,6 +105,90 @@
}
}
+ static Field getDeclaredField(final Class<?> clazz, final String name) throws NoSuchFieldException
+ {
+ if (System.getSecurityManager() == null)
+ return clazz.getDeclaredField(name);
+ else
+ {
+ try
+ {
+ return AccessController.doPrivileged(new PrivilegedExceptionAction<Field>()
+ {
+ public Field run() throws Exception
+ {
+ return clazz.getDeclaredField(name);
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ Throwable cause = e.getCause();
+ if (cause instanceof NoSuchFieldException)
+ throw (NoSuchFieldException)cause;
+ if (cause instanceof RuntimeException)
+ throw (RuntimeException)cause;
+ throw new RuntimeException(cause);
+ }
+ }
+ }
+
+ static Method getDeclaredMethod(final Class<?> clazz, final String name, final Class<?>...parameters) throws NoSuchMethodException
+ {
+ if (System.getSecurityManager() == null)
+ return clazz.getDeclaredMethod(name, parameters);
+ else
+ {
+ try
+ {
+ return AccessController.doPrivileged(new PrivilegedExceptionAction<Method>()
+ {
+ public Method run() throws Exception
+ {
+ return clazz.getDeclaredMethod(name, parameters);
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ Throwable cause = e.getCause();
+ if (cause instanceof NoSuchFieldException)
+ throw (NoSuchMethodException)cause;
+ if (cause instanceof RuntimeException)
+ throw (RuntimeException)cause;
+ throw new RuntimeException(cause);
+ }
+ }
+ }
+
+ static Constructor<?> getDeclaredConstructor(final Class<?> clazz, final Class<?>...parameters) throws NoSuchMethodException
+ {
+ if (System.getSecurityManager() == null)
+ return clazz.getDeclaredConstructor(parameters);
+ else
+ {
+ try
+ {
+ return AccessController.doPrivileged(new PrivilegedExceptionAction<Constructor<?>>()
+ {
+ public Constructor<?> run() throws Exception
+ {
+ return clazz.getDeclaredConstructor( parameters);
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ Throwable cause = e.getCause();
+ if (cause instanceof NoSuchFieldException)
+ throw (NoSuchMethodException)cause;
+ if (cause instanceof RuntimeException)
+ throw (RuntimeException)cause;
+ throw new RuntimeException(cause);
+ }
+ }
+ }
+
static Class<?> classForName(final String name) throws ClassNotFoundException
{
if (System.getSecurityManager() == null)
Added: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/ErrorCheckingMemberFactory.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/ErrorCheckingMemberFactory.java (rev 0)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/ErrorCheckingMemberFactory.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,316 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.reflect.plugins.javassist.bytecode;
+
+import java.lang.reflect.AccessibleObject;
+import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.List;
+
+import javassist.CtClass;
+import javassist.CtConstructor;
+import javassist.CtField;
+import javassist.CtMember;
+import javassist.CtMethod;
+import javassist.Modifier;
+import javassist.NotFoundException;
+
+import org.jboss.reflect.plugins.javassist.JavassistConstructor;
+import org.jboss.reflect.plugins.javassist.JavassistField;
+import org.jboss.reflect.plugins.javassist.JavassistMethod;
+import org.jboss.reflect.plugins.javassist.JavassistUtil;
+import org.jboss.reflect.plugins.javassist.defaultmember.DefaultMemberFactory;
+import org.jboss.util.Strings;
+
+/**
+ * JavassistMembers created using {@link JavassistMemberFactory} don't check the parameters
+ * in the generated code. Do the same checks as ReflectionUtils here so we get the same behaviour
+ * as when using the Introspection implementation or when the Javassist implementation uses the
+ * {@link DefaultMemberFactory}.
+ *
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+class ErrorCheckingMemberFactory
+{
+ static JavassistMethod create(JavassistMethod m, CtMethod method)
+ {
+ if (m == null || method == null)
+ throw new IllegalArgumentException("Null method");
+
+ int numParameters = 0;
+ try
+ {
+ numParameters = method.getParameterTypes().length;
+ }
+ catch(NotFoundException e)
+ {
+ throw new IllegalArgumentException("Could not load the parameters for " + method);
+ }
+
+ return new ErrorCheckingJavassistMethod(m, method, numParameters);
+ }
+
+ static JavassistConstructor create(JavassistConstructor c, CtConstructor constructor)
+ {
+ if (c == null || constructor == null)
+ throw new IllegalArgumentException("Null constructor");
+
+ int numParameters = 0;
+ try
+ {
+ numParameters = constructor.getParameterTypes().length;
+ }
+ catch(NotFoundException e)
+ {
+ throw new IllegalArgumentException("Could not load the parameters for " + constructor);
+ }
+
+ return new ErrorCheckingJavassistConstructor(c, constructor, numParameters);
+ }
+
+ static JavassistField create(JavassistField f, CtField field)
+ {
+ if (f == null)
+ throw new IllegalArgumentException("Null field");
+
+ return new ErrorCheckingJavassistField(f, field);
+ }
+
+ private static boolean checkNumberOfParameters(Object[] args, int numParameters)
+ {
+ if (args == null && numParameters > 0)
+ return false;
+ if (args != null && args.length != numParameters)
+ return false;
+ return true;
+ }
+
+ private static boolean isStatic(CtMember member)
+ {
+ return Modifier.isStatic(member.getModifiers());
+ }
+
+ private static void handleWrongParameters(String context, String target, Class<?>[] expected, Object[] args)
+ {
+ List<String> actual = new ArrayList<String>();
+ if (args != null)
+ {
+ for (Object argument : args)
+ {
+ if (argument == null)
+ actual.add(null);
+ else
+ actual.add(argument.getClass().getName());
+ }
+ }
+ throw new IllegalArgumentException("Wrong arguments. " + context + " for target " + target + " expected=" + expected + " actual=" + actual);
+
+ }
+
+ private static void handleWrongTarget(Object target, Class<?> expected, String name)
+ {
+ throw new IllegalArgumentException("Wrong target for " + name + " " + target.getClass().getName() + " is not a " + expected.getName());
+ }
+
+ private static void handleNullTarget(AccessibleObject ao)
+ {
+ throw new IllegalArgumentException("Null target calling non-static " + ao);
+ }
+
+ private static class ErrorCheckingJavassistMethod implements JavassistMethod
+ {
+ private final JavassistMethod delegate;
+ private final CtMethod ctMethod;
+ private final int numParameters;
+
+ private ErrorCheckingJavassistMethod(JavassistMethod delegate, CtMethod ctMethod, int numParameters)
+ {
+ this.delegate = delegate;
+ this.ctMethod = ctMethod;
+ this.numParameters = numParameters;
+ }
+
+ public Object invoke(Object target, Object[] args) throws Throwable
+ {
+ if (!checkNumberOfParameters(args, numParameters))
+ throw new IllegalArgumentException("Wrong number of parameters for " + ctMethod.getDeclaringClass() + "." + ctMethod.getName() + ctMethod.getSignature());
+
+ try
+ {
+ return delegate.invoke(target, args);
+ }
+ catch(ClassCastException e)
+ {
+ Method method = JavassistUtil.ctMethodToMethod(ctMethod);
+ if (!isStatic(ctMethod))
+ {
+ if (!method.getDeclaringClass().isAssignableFrom(target.getClass()))
+ handleWrongTarget(target, method.getDeclaringClass(), method.getName());
+ }
+
+ Class<?>[] params = method.getParameterTypes();
+ for (int i = 0 ; i < args.length ; i++)
+ {
+ if (!params[i].isAssignableFrom(args[i].getClass()))
+ handleWrongParameters(method.getName(), Strings.defaultToString(target), method.getParameterTypes(), args);
+ }
+
+ throw e;
+ }
+ catch(NullPointerException e)
+ {
+ Method method = JavassistUtil.ctMethodToMethod(ctMethod);
+ if (!isStatic(ctMethod) && target == null)
+ handleNullTarget(method);
+
+ CtClass[] parameters = ctMethod.getParameterTypes();
+ for (int i = 0 ; i < parameters.length ; i++)
+ {
+ if (parameters[i].isPrimitive() && args[i] == null)
+ handleWrongParameters(method.getName(), Strings.defaultToString(target), method.getParameterTypes(), args);
+ }
+
+ throw e;
+ }
+ }
+
+ }
+
+ private static class ErrorCheckingJavassistConstructor implements JavassistConstructor
+ {
+ private final JavassistConstructor delegate;
+ private final CtConstructor ctConstructor;
+ private final int numParameters;
+
+ private ErrorCheckingJavassistConstructor(JavassistConstructor delegate, CtConstructor ctConstructor, int numParameters)
+ {
+ this.delegate = delegate;
+ this.ctConstructor = ctConstructor;
+ this.numParameters = numParameters;
+ }
+
+ public Object newInstance(Object[] args) throws Throwable
+ {
+ if (!checkNumberOfParameters(args, numParameters))
+ throw new IllegalArgumentException("Wrong number of parameters for " + ctConstructor.getDeclaringClass() + "." + ctConstructor.getName() + ctConstructor.getSignature());
+
+ try
+ {
+ return delegate.newInstance(args);
+ }
+ catch(ClassCastException e)
+ {
+ Constructor<?> constructor = JavassistUtil.ctConstructorToConstructor(ctConstructor);
+ Class<?>[] params = constructor.getParameterTypes();
+ for (int i = 0 ; i < args.length ; i++)
+ {
+ if (!params[i].isAssignableFrom(args[i].getClass()))
+ handleWrongParameters("new", Strings.defaultToString(ctConstructor.getDeclaringClass().getName()), constructor.getParameterTypes(), args);
+ }
+
+ throw e;
+ }
+ catch(NullPointerException e)
+ {
+ CtClass[] parameters = ctConstructor.getParameterTypes();
+ for (int i = 0 ; i < parameters.length ; i++)
+ {
+ if (parameters[i].isPrimitive() && args[i] == null)
+ {
+ Constructor<?> constructor = JavassistUtil.ctConstructorToConstructor(ctConstructor);
+ handleWrongParameters("new", Strings.defaultToString(ctConstructor.getDeclaringClass().getName()), constructor.getParameterTypes(), args);
+ }
+ }
+
+ throw e;
+ }
+ }
+ }
+
+ private static class ErrorCheckingJavassistField implements JavassistField
+ {
+ private final JavassistField delegate;
+ private final CtField ctField;
+
+ private ErrorCheckingJavassistField(JavassistField delegate, CtField ctField)
+ {
+ this.delegate = delegate;
+ this.ctField = ctField;
+ }
+
+ public Object get(Object target) throws Throwable
+ {
+ try
+ {
+ return delegate.get(target);
+ }
+ catch (ClassCastException e)
+ {
+ Field field = JavassistUtil.ctFieldToField(ctField);
+
+ if (!isStatic(ctField) && !field.getDeclaringClass().isAssignableFrom(target.getClass()))
+ handleWrongTarget(target, field.getDeclaringClass(), field.getName());
+
+ throw e;
+ }
+ catch(NullPointerException e)
+ {
+ Field field = JavassistUtil.ctFieldToField(ctField);
+ if (!isStatic(ctField) && target == null)
+ handleNullTarget(field);
+ throw e;
+ }
+ }
+
+ public void set(Object target, Object value) throws Throwable
+ {
+ try
+ {
+ delegate.set(target, value);
+ }
+ catch (ClassCastException e)
+ {
+ Field field = JavassistUtil.ctFieldToField(ctField);
+ Class<?> type = field.getType();
+
+ if (!isStatic(ctField) && !field.getDeclaringClass().isAssignableFrom(target.getClass()))
+ handleWrongTarget(target, field.getDeclaringClass(), field.getName());
+
+ if (!type.isAssignableFrom(value.getClass()))
+ throw new IllegalArgumentException("Wrong arguments. Setting " + field.getName() + " for target " + target + " expected=" + field.getType() + " actual=" + value.getClass());
+ }
+ catch(NullPointerException e)
+ {
+ Field field = JavassistUtil.ctFieldToField(ctField);
+ if (!isStatic(ctField) && target == null)
+ handleNullTarget(field);
+ if (ctField.getType().isPrimitive() && value == null)
+ throw new IllegalArgumentException("Null value setting non-static field. " + field);
+ throw e;
+ }
+ }
+ }
+}
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistBehaviorFactory.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistBehaviorFactory.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistBehaviorFactory.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -50,12 +50,11 @@
*
* @param superClass the super class to use for the implementation
* @param ctBehavior the method or constructor we are generating a {@link JavassistMethod} or {@link JavassistConstructor} for
- * @param check whether the methods implemented from the interfaces should check the parameters
* @param debug true to cause the class bytes to be output to the file system so they can be inspected with a decompiler/javap
*/
- JavassistBehaviorFactory(Class<?> superClass, CtBehavior ctBehavior, boolean check, boolean debug)
+ JavassistBehaviorFactory(Class<?> superClass, CtBehavior ctBehavior, boolean debug)
{
- super(superClass, check, debug);
+ super(superClass, debug);
this.ctBehavior = ctBehavior;
}
@@ -102,108 +101,4 @@
}
}
}
-
-
- /**
- * Adds byte code instructions to the <code>code</code> parameter to validate the parameters in the
- * method we are generating.
- *
- * @param The parameter index, with 1 being the first, 2 the second and so on
- * @param code the byte code of the method we are generating
- * @param isStatic true if the target member is static
- */
- void checkParameters(Bytecode code, int parameterIndex)
- {
- if (check)
- {
- CtClass[] parameterTypes = getParameterTypes();
- if (parameterTypes.length > 0)
- {
- //if (args == null || args.length != 10) throw new IllegalArgumentException("Wrong number of parameters");
- code.addAload(parameterIndex);
- code.addOpcode(Opcode.IFNULL);
- int pc1 = code.currentPc();
- code.addIndex(0);
- code.addAload(parameterIndex);
- code.addOpcode(Opcode.ARRAYLENGTH);
- code.addIconst(parameterTypes.length);
- code.addOpcode(Opcode.IF_ICMPEQ);
- int pc2 = code.currentPc();
- code.addIndex(0);
- code.write16bit(pc1, code.currentPc() - pc1 + 1);
- code.addNew(ILLEGAL_ARGUMENT_EXCEPTION_NAME);
- code.addOpcode(Opcode.DUP);
- code.addLdc("Expected " + parameterTypes.length + " parameter(s) for " + getAccessedMember());
- code.addInvokespecial(ILLEGAL_ARGUMENT_EXCEPTION_NAME, "<init>", ILLEGAL_ARGUMENT_EXCEPTION_CONSTRUCTOR_DESCRIPTOR);
- code.addOpcode(Opcode.ATHROW);
- code.write16bit(pc2, code.currentPc() - pc2 + 1);
- }
- else
- {
- //if (args != null && args.length > 0) throw new IllegalArgumentException("No parameters expected");
- code.addAload(parameterIndex);
- code.addOpcode(Opcode.IFNULL);
- int pc1 = code.currentPc();
- code.addIndex(0);
- code.addAload(parameterIndex);
- code.addOpcode(Opcode.ARRAYLENGTH);
- code.addOpcode(Opcode.IFLE);
- int pc2 = code.currentPc();
- code.addIndex(0);
- code.addNew(ILLEGAL_ARGUMENT_EXCEPTION_NAME);
- code.addOpcode(Opcode.DUP);
- code.addLdc("Expected no parameters for " + getAccessedMember());
- code.addInvokespecial(ILLEGAL_ARGUMENT_EXCEPTION_NAME, "<init>", ILLEGAL_ARGUMENT_EXCEPTION_CONSTRUCTOR_DESCRIPTOR);
- code.addOpcode(Opcode.ATHROW);
- code.write16bit(pc1, code.currentPc() - pc1 + 1);
- code.write16bit(pc2, code.currentPc() - pc2 + 1);
- }
-
- for (int i = 0 ; i < parameterTypes.length ; i++)
- {
- if (!parameterTypes[i].getName().equals(OBJECT_NAME))
- {
- String param = getBoxedType(parameterTypes[i]);
- if (parameterTypes[i].isPrimitive())
- {
- //if (args[1] == null) throw new IllegalArgumentException("Parameter 1 cannot be null for TestBean.test()");
- code.addAload(parameterIndex);
- code.addIconst(i);
- code.addOpcode(Opcode.AALOAD);
- code.addOpcode(Opcode.IFNONNULL);
- int pc1 = code.currentPc();
- code.addIndex(0);
- code.addNew(ILLEGAL_ARGUMENT_EXCEPTION_NAME);
- code.addOpcode(Opcode.DUP);
- code.addLdc("Parameter[" + i + "] can not be null for " + getAccessedMember());
- code.addInvokespecial(ILLEGAL_ARGUMENT_EXCEPTION_NAME, "<init>", ILLEGAL_ARGUMENT_EXCEPTION_CONSTRUCTOR_DESCRIPTOR);
- code.addOpcode(Opcode.ATHROW);
- code.write16bit(pc1, code.currentPc() - pc1 + 1);
- }
-
- //if (args[1] != null && args[1] instanceof String == false) throw new IllegalArgumentException("Parameter 1 is not an instance of String for TestBean.test()");
- code.addAload(parameterIndex);
- code.addIconst(i);
- code.addOpcode(Opcode.AALOAD);
- code.addOpcode(Opcode.IFNULL);
- int pc1 = code.currentPc();
- code.addIndex(0);
- code.addAload(parameterIndex);
- code.addIconst(i);
- code.addOpcode(Opcode.AALOAD);
- code.addInstanceof(param);
- code.addOpcode(Opcode.IFNE);
- int pc2 = code.currentPc();
- code.addIndex(0);
- code.addNew(ILLEGAL_ARGUMENT_EXCEPTION_NAME);
- code.addOpcode(Opcode.DUP);
- code.addLdc("Parameter[" + i + "] is not an instance of " + param + " for " + getAccessedMember());
- code.addInvokespecial(ILLEGAL_ARGUMENT_EXCEPTION_NAME, "<init>", ILLEGAL_ARGUMENT_EXCEPTION_CONSTRUCTOR_DESCRIPTOR);
- code.addOpcode(Opcode.ATHROW);
- code.write16bit(pc1, code.currentPc() - pc1 + 1);
- code.write16bit(pc2, code.currentPc() - pc2 + 1);
- }
- }
- }
- }
}
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistConstructorFactory.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistConstructorFactory.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistConstructorFactory.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -77,12 +77,11 @@
*
* @param superClass the super class to use for the implementation
* @param ctConstructor the constructor we are generating a {@link JavassistConstructor} for
- * @param check whether the methods implemented from the interfaces should check the parameters
* @param debug true to cause the class bytes to be output to the file system so they can be inspected with a decompiler/javap
*/
- JavassistConstructorFactory(Class<?> superClass, CtConstructor ctConstructor, boolean check, boolean debug)
+ JavassistConstructorFactory(Class<?> superClass, CtConstructor ctConstructor, boolean debug)
{
- super(superClass, ctConstructor, check, debug);
+ super(superClass, ctConstructor, debug);
this.ctConstructor = ctConstructor;
}
@@ -113,8 +112,6 @@
int pc = code.currentPc();
- checkParameters(code, 1);
-
code.addNew(ctConstructor.getDeclaringClass().getName());
code.addOpcode(Opcode.DUP);
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistFieldFactory.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistFieldFactory.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistFieldFactory.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -81,12 +81,11 @@
*
* @param superClass the super class to use for the implementation
* @param ctField the field we are generating a {@link JavassistField} for
- * @param check whether the methods implemented from the interfaces should check the parameters
* @param debug true to cause the class bytes to be output to the file system so they can be inspected with a decompiler/javap
*/
- JavassistFieldFactory(Class<?> superClass, CtField ctField, boolean check, boolean debug)
+ JavassistFieldFactory(Class<?> superClass, CtField ctField, boolean debug)
{
- super(superClass, check, debug);
+ super(superClass, debug);
this.ctField = ctField;
}
@@ -147,8 +146,6 @@
int pc = code.currentPc();
boolean isStatic = Modifier.isStatic(ctField.getModifiers());
- checkTargetParameter(code, ctField.getDeclaringClass().getName(), isStatic);
-
int maxLocals = 0;
if (index == 0)
{
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistMemberFactory.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistMemberFactory.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistMemberFactory.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -74,8 +74,6 @@
{
protected static final String OBJECT_NAME = Object.class.getName();
- private static final String STRINGBUILDER_NAME = StringBuilder.class.getName();
-
protected static final String ILLEGAL_ARGUMENT_EXCEPTION_NAME = IllegalArgumentException.class.getName();
private static final String SHORT_NAME = Short.class.getName();
@@ -160,9 +158,6 @@
/** The super class to use for the implementation */
private final Class<?> superClass;
- /** Whether the methods implemented from the interfaces should check the parameters */
- protected final boolean check;
-
/** If true the class bytes are output to the file system so they can be inspected with a decompiler/javap */
private final boolean debug;
@@ -205,10 +200,9 @@
* @param check whether the methods implemented from the interfaces should check the parameters
* @param debug true to cause the class bytes to be output to the file system so they can be inspected with a decompiler/javap
*/
- JavassistMemberFactory(Class<?> superClass, boolean check, boolean debug)
+ JavassistMemberFactory(Class<?> superClass, boolean debug)
{
this.superClass = superClass;
- this.check = check;
this.debug = debug;
}
@@ -217,16 +211,17 @@
*
* @param superClass the super class of the JavassistMethod implementation
* @param ctMethod the CtMethod for which we want to create a JavassistMethod implementation
- * @param check true if the JavassistMethod implementation should check the parameters when its invoke method is called
* @param debug true if the bytecode should be output to file
* @return the generated class
* @throws RuntimeException if an error ocurred
*/
- public static JavassistMethod createJavassistMethod(Class<?> superClass, CtMethod ctMethod, boolean check, boolean debug)
+ public static JavassistMethod createJavassistMethod(Class<?> superClass, CtMethod ctMethod, boolean debug)
{
- JavassistMemberFactory factory = new JavassistMethodFactory(superClass, ctMethod, check, debug);
+ JavassistMemberFactory factory = new JavassistMethodFactory(superClass, ctMethod, debug);
Class<JavassistMethod> member = factory.makeClass(JavassistMethod.class, ctMethod.getDeclaringClass());
- return factory.instantiate(member);
+ JavassistMethod method = factory.instantiate(member);
+ method = ErrorCheckingMemberFactory.create(method, ctMethod);
+ return method;
}
/**
@@ -234,16 +229,17 @@
*
* @param superClass the super class of the JavassistConstructor implementation
* @param ctConstructor the CtConstructor for which we want to create a JavassistConstructor implementation
- * @param check true if the JavassistConstructor implementation should check the parameters when its invoke method is called
* @param debug true if the bytecode should be output to file
* @return the generated class
* @throws RuntimeException if an error ocurred
*/
- public static JavassistConstructor createJavassistConstructor(Class<?> superClass, CtConstructor ctConstructor, boolean check, boolean debug)
+ public static JavassistConstructor createJavassistConstructor(Class<?> superClass, CtConstructor ctConstructor, boolean debug)
{
- JavassistMemberFactory factory = new JavassistConstructorFactory(superClass, ctConstructor, check, debug);
+ JavassistMemberFactory factory = new JavassistConstructorFactory(superClass, ctConstructor, debug);
Class<JavassistConstructor> member = factory.makeClass(JavassistConstructor.class, ctConstructor.getDeclaringClass());
- return factory.instantiate(member);
+ JavassistConstructor constructor = factory.instantiate(member);
+ constructor = ErrorCheckingMemberFactory.create(constructor, ctConstructor);
+ return constructor;
}
/**
@@ -251,16 +247,17 @@
*
* @param superClass the super class of the JavassistField implementation
* @param ctField the CtField for which we want to create a JavassistField implementation
- * @param check true if the JavassistField implementation should check the parameters when its get/set methods are called
* @param debug true if the bytecode should be output to file
* @return the generated class
* @throws RuntimeException if an error ocurred
*/
- public static JavassistField createJavassistField(Class<?> superClass, CtField ctField, boolean check, boolean debug)
+ public static JavassistField createJavassistField(Class<?> superClass, CtField ctField, boolean debug)
{
- JavassistMemberFactory factory = new JavassistFieldFactory(superClass, ctField, check, debug);
+ JavassistMemberFactory factory = new JavassistFieldFactory(superClass, ctField, debug);
Class<JavassistField> member = factory.makeClass(JavassistField.class, ctField.getDeclaringClass());
- return factory.instantiate(member);
+ JavassistField field = factory.instantiate(member);
+ field = ErrorCheckingMemberFactory.create(field, ctField);
+ return field;
}
/**
@@ -612,7 +609,6 @@
String getArrayType(CtClass type)
{
- String s = Descriptor.of(type);
StringBuilder buf = new StringBuilder();
//int dims = 0;
@@ -749,57 +745,6 @@
}
}
- /**
- * Adds byte code instructions to the <code>code</code> parameter to check if
- * the first parameter to the method/constructor being constructed is of a particular
- * type
- *
- * @param code the byte code of the method/constructor we are currently creating
- * @param targetType the type we want to make sure we have
- * @param isStatic true if the method being created is static?
- */
- void checkTargetParameter(Bytecode code, String targetType, boolean isStatic)
- {
- if (!isStatic)
- {
- //if ($1 == null) throw new IllegalArgumentException("Null target");
- if (check)
- {
- code.addAload(1);
- code.addOpcode(Opcode.IFNONNULL);
- int pc1 = code.currentPc();
- code.addIndex(0);
- code.addNew(ILLEGAL_ARGUMENT_EXCEPTION_NAME);
- code.addOpcode(Opcode.DUP);
- code.addLdc("Null target for " + getAccessedMember());
- code.addInvokespecial(ILLEGAL_ARGUMENT_EXCEPTION_NAME, "<init>", ILLEGAL_ARGUMENT_EXCEPTION_CONSTRUCTOR_DESCRIPTOR);
- code.addOpcode(Opcode.ATHROW);
- code.write16bit(pc1, code.currentPc() - pc1 + 1);
-
- //if ($1 instanceof TargetType == false) throw new IllegalArgumentException("$1 is not an instance of TargetType");
- code.addAload(1);
- code.addInstanceof(targetType); //TODO take parameter
- code.addOpcode(Opcode.IFNE);
- pc1 = code.currentPc();
- code.addIndex(0);
- code.addNew(ILLEGAL_ARGUMENT_EXCEPTION_NAME);
- code.addOpcode(Opcode.DUP);
- code.addNew(STRINGBUILDER_NAME);
- code.addOpcode(Opcode.DUP);
- code.addLdc("Target: ");
- code.addInvokespecial(STRINGBUILDER_NAME, "<init>", STRINGBUILDER_CONSTRUCTOR_DESCRIPTOR);
- code.addAload(1);
- code.addInvokevirtual(STRINGBUILDER_NAME, "append", STRINGBUILDER_APPEND_DESCRIPTOR);
- code.addLdc(" is not an instance of " + targetType);
- code.addInvokevirtual(STRINGBUILDER_NAME, "append", STRINGBUILDER_APPEND_DESCRIPTOR);
- code.addInvokevirtual(STRINGBUILDER_NAME, "toString", STRINGBUILDER_TOSTRING_DESCRIPTOR);
- code.addInvokespecial(ILLEGAL_ARGUMENT_EXCEPTION_NAME, "<init>", ILLEGAL_ARGUMENT_EXCEPTION_CONSTRUCTOR_DESCRIPTOR);
- code.addOpcode(Opcode.ATHROW);
- code.write16bit(pc1, code.currentPc() - pc1 + 1);
- }
- }
- }
-
private static class ParentLoaderHandler
{
final ClassLoader reflectLoader;
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistMethodFactory.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistMethodFactory.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/bytecode/JavassistMethodFactory.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -81,12 +81,11 @@
*
* @param superClass the super class to use for the implementation
* @param ctMethod the constructor we are generating a {@link JavassistMethod} for
- * @param check whether the methods implemented from the interfaces should check the parameters
* @param debug true to cause the class bytes to be output to the file system so they can be inspected with a decompiler/javap
*/
- JavassistMethodFactory(Class<?> superClass, CtMethod ctMethod, boolean check, boolean debug)
+ JavassistMethodFactory(Class<?> superClass, CtMethod ctMethod, boolean debug)
{
- super(superClass, ctMethod, check, debug);
+ super(superClass, ctMethod, debug);
this.ctMethod = ctMethod;
}
@@ -136,8 +135,6 @@
boolean isStatic = Modifier.isStatic(ctBehavior.getModifiers());
- checkTargetParameter(code, ctBehavior.getDeclaringClass().getName(), isStatic);
- checkParameters(code, 2);
if (!isStatic)
{
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistConstructor.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistConstructor.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistConstructor.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -22,7 +22,11 @@
package org.jboss.reflect.plugins.javassist.defaultmember;
import java.lang.reflect.Constructor;
+import java.lang.reflect.Modifier;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import org.jboss.reflect.plugins.introspection.ReflectionUtils;
import org.jboss.reflect.plugins.javassist.JavassistConstructor;
/**
@@ -37,10 +41,39 @@
DefaultJavassistConstructor(Constructor<?> ctor)
{
this.ctor = ctor;
+ if (ctor != null && !Modifier.isPublic(ctor.getModifiers()) || !Modifier.isPublic(ctor.getDeclaringClass().getModifiers()))
+ setAccessible();
+
}
public Object newInstance(Object[] args) throws Throwable
{
- return ctor.newInstance(args);
+ return ReflectionUtils.newInstance(ctor, args);
}
+
+ /**
+ * Set method accessible to true
+ */
+ private void setAccessible()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm == null)
+ ctor.setAccessible(true);
+ else
+ AccessController.doPrivileged(new SetAccessible());
+ }
+
+ /**
+ * Set accessible privileged block
+ */
+ private class SetAccessible implements PrivilegedAction<Object>
+ {
+ public Object run()
+ {
+ ctor.setAccessible(true);
+ return null;
+ }
+ }
+
+
}
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistField.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistField.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistField.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -22,7 +22,13 @@
package org.jboss.reflect.plugins.javassist.defaultmember;
import java.lang.reflect.Field;
+import java.lang.reflect.Modifier;
+import java.lang.reflect.ReflectPermission;
+import java.security.AccessController;
+import java.security.Permission;
+import java.security.PrivilegedAction;
+import org.jboss.reflect.plugins.introspection.ReflectionUtils;
import org.jboss.reflect.plugins.javassist.JavassistField;
/**
@@ -34,20 +40,76 @@
{
final Field field;
+ /** The permission */
+ private static Permission accessCheck = new ReflectPermission("suppressAccessChecks");
+
DefaultJavassistField(Field field)
{
this.field = field;
+ if (!Modifier.isPublic(field.getModifiers()) && field != null)
+ setAccessible();
}
+ //TODO this code is duplicated from ReflectFieldInfo and should be extracted somewhere
+
public Object get(Object target) throws Throwable
{
- return field.get(target);
+ return ReflectionUtils.getField(field, target);
}
public void set(Object target, Object value) throws Throwable
{
- field.set(target, value);
+ ReflectionUtils.setField(field, target, value);
}
+ /**
+ * Check access permission.
+ */
+ protected final void accessCheck() // final because we don't want subclasses to disable it
+ {
+ accessCheck(Modifier.isPublic(field.getModifiers()));
+ }
+
+ /**
+ * Check access permission.
+ *
+ * @param isPublic whether the field is public
+ */
+ protected final void accessCheck(final boolean isPublic) // final because we don't want subclasses to disable it
+ {
+ if (isPublic == false)
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm != null)
+ sm.checkPermission(accessCheck);
+ }
+ }
+
+
+ /**
+ * Set field accessible to true
+ */
+ private void setAccessible()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm == null)
+ field.setAccessible(true);
+ else
+ AccessController.doPrivileged(new SetAccessible());
+ }
+
+ /**
+ * Set accessible privileged block
+ */
+ private class SetAccessible implements PrivilegedAction<Object>
+ {
+ public Object run()
+ {
+ field.setAccessible(true);
+ return null;
+ }
+ }
+
+
}
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistMethod.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistMethod.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultJavassistMethod.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -22,7 +22,12 @@
package org.jboss.reflect.plugins.javassist.defaultmember;
import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import org.jboss.reflect.plugins.introspection.ReflectClassInfoImpl;
+import org.jboss.reflect.plugins.introspection.ReflectionUtils;
import org.jboss.reflect.plugins.javassist.JavassistMethod;
/**
@@ -30,17 +35,55 @@
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
-class DefaultJavassistMethod implements JavassistMethod
+class DefaultJavassistMethod extends ReflectClassInfoImpl implements JavassistMethod
{
+ private static final long serialVersionUID = 1L;
+
private final Method method;
DefaultJavassistMethod(Method method)
{
this.method = method;
+ if (method != null && !Modifier.isPublic(method.getModifiers()) || !Modifier.isPublic(method.getDeclaringClass().getModifiers()))
+ setAccessible();
+
}
+ //TODO this code is duplicated from ReflectMethodImpl, it should be extracted
+
public Object invoke(Object target, Object[] args) throws Throwable
{
- return method.invoke(target, args);
+ return ReflectionUtils.invoke(method, target, args);
}
+
+ protected boolean isDeclaringClassPublic()
+ {
+ Class<?> owner = method.getDeclaringClass();
+ return Modifier.isPublic(owner.getModifiers());
+ }
+
+ /**
+ * Set method accessible to true
+ */
+ private void setAccessible()
+ {
+ SecurityManager sm = System.getSecurityManager();
+ if (sm == null)
+ method.setAccessible(true);
+ else
+ AccessController.doPrivileged(new SetAccessible());
+ }
+
+ /**
+ * Set accessible privileged block
+ */
+ private class SetAccessible implements PrivilegedAction<Object>
+ {
+ public Object run()
+ {
+ method.setAccessible(true);
+ return null;
+ }
+ }
+
}
Modified: projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultMemberFactory.java
===================================================================
--- projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultMemberFactory.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/main/java/org/jboss/reflect/plugins/javassist/defaultmember/DefaultMemberFactory.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -58,7 +58,6 @@
if (methodInfo == null)
throw new IllegalArgumentException("Null method");
-
try
{
//Ok to load the class here since this is only called by MethodInfo.invoke() in which
@@ -66,6 +65,7 @@
Class<?> clazz = methodInfo.getDeclaringClass().getType();
Class<?>[] params = getParams(methodInfo.getParameterTypes());
Method method = clazz.getDeclaredMethod(methodInfo.getName(), params);
+
return new DefaultJavassistMethod(method);
}
catch(RuntimeException e)
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/support/ClassInfoBeanWithArrayMembers.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/support/ClassInfoBeanWithArrayMembers.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/support/ClassInfoBeanWithArrayMembers.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,54 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.classinfo.support;
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class ClassInfoBeanWithArrayMembers
+{
+ Boolean[] boxed;
+
+ short[][] primitive;
+
+ public ClassInfoBeanWithArrayMembers(Boolean[] boxed)
+ {
+
+ }
+
+ public ClassInfoBeanWithArrayMembers(short[][] primitive)
+ {
+
+ }
+
+ public void setBoxed(Boolean[] b)
+ {
+ }
+
+ public void setPrimitive(short[][] s)
+ {
+ }
+
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoWithArrayMembersTest.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoWithArrayMembersTest.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/ClassInfoWithArrayMembersTest.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,102 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.classinfo.test;
+
+import org.jboss.reflect.spi.ClassInfo;
+import org.jboss.reflect.spi.ConstructorInfo;
+import org.jboss.reflect.spi.FieldInfo;
+import org.jboss.reflect.spi.MethodInfo;
+import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.test.classinfo.support.ClassInfoBeanWithArrayMembers;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public abstract class ClassInfoWithArrayMembersTest extends AbstractClassInfoTest
+{
+
+ public ClassInfoWithArrayMembersTest(String name)
+ {
+ // FIXME ClassInfoWithArrayMembersTest constructor
+ super(name);
+ }
+
+ public void testMethodLookup() throws Throwable
+ {
+ ClassInfo info = assertInstanceOf(getTypeInfoFactory().getTypeInfo(ClassInfoBeanWithArrayMembers.class), ClassInfo.class);
+
+ TypeInfo booleanArray = getTypeInfoFactory().getTypeInfo(Boolean[].class);
+ assertNotNull(booleanArray);
+
+ TypeInfo shortArray = getTypeInfoFactory().getTypeInfo(short[][].class);
+ assertNotNull(shortArray);
+
+ assertEquals(2, info.getDeclaredMethods().length);
+
+ MethodInfo method = info.getDeclaredMethod("setBoxed", new TypeInfo[] {booleanArray});
+ assertNotNull(method);
+
+ method = info.getDeclaredMethod("setPrimitive", new TypeInfo[] {shortArray});
+ assertNotNull(method);
+
+ }
+
+ public void testConstructorLookup() throws Throwable
+ {
+ ClassInfo info = assertInstanceOf(getTypeInfoFactory().getTypeInfo(ClassInfoBeanWithArrayMembers.class), ClassInfo.class);
+
+ TypeInfo booleanArray = getTypeInfoFactory().getTypeInfo(Boolean[].class);
+ assertNotNull(booleanArray);
+
+ TypeInfo shortArray = getTypeInfoFactory().getTypeInfo(short[][].class);
+ assertNotNull(shortArray);
+
+ assertEquals(2, info.getDeclaredConstructors().length);
+
+ ConstructorInfo constructor = info.getDeclaredConstructor(new TypeInfo[] {booleanArray});
+ assertNotNull(constructor);
+
+ constructor = info.getDeclaredConstructor(new TypeInfo[] {shortArray});
+ assertNotNull(constructor);
+ }
+
+ public void testFieldLookup() throws Throwable
+ {
+ ClassInfo info = assertInstanceOf(getTypeInfoFactory().getTypeInfo(ClassInfoBeanWithArrayMembers.class), ClassInfo.class);
+
+ TypeInfo booleanArray = getTypeInfoFactory().getTypeInfo(Boolean[].class);
+ assertNotNull(booleanArray);
+
+ TypeInfo shortArray = getTypeInfoFactory().getTypeInfo(short[][].class);
+ assertNotNull(shortArray);
+
+ assertEquals(2, info.getDeclaredFields().length);
+
+ FieldInfo field = info.getDeclaredField("boxed");
+ assertNotNull(field);
+
+ field = info.getDeclaredField("primitive");
+ assertNotNull(field);
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/IntrospectionClassInfoWithArrayMembersTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/IntrospectionClassInfoWithArrayMembersTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/IntrospectionClassInfoWithArrayMembersTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,53 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.classinfo.test;
+
+import junit.framework.Test;
+
+import org.jboss.reflect.plugins.introspection.IntrospectionTypeInfoFactory;
+import org.jboss.reflect.spi.TypeInfoFactory;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class IntrospectionClassInfoWithArrayMembersTestCase extends ClassInfoWithArrayMembersTest
+{
+
+ public IntrospectionClassInfoWithArrayMembersTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(IntrospectionClassInfoWithArrayMembersTestCase.class);
+ }
+
+ @Override
+ protected TypeInfoFactory getTypeInfoFactory()
+ {
+ return new IntrospectionTypeInfoFactory();
+ }
+
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/JavassistClassInfoWithArrayMembersTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/JavassistClassInfoWithArrayMembersTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/classinfo/test/JavassistClassInfoWithArrayMembersTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,53 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.classinfo.test;
+
+import junit.framework.Test;
+
+import org.jboss.reflect.plugins.javassist.JavassistTypeInfoFactory;
+import org.jboss.reflect.spi.TypeInfoFactory;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class JavassistClassInfoWithArrayMembersTestCase extends ClassInfoWithArrayMembersTest
+{
+
+ public JavassistClassInfoWithArrayMembersTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(JavassistClassInfoWithArrayMembersTestCase.class);
+ }
+
+ @Override
+ protected TypeInfoFactory getTypeInfoFactory()
+ {
+ return new JavassistTypeInfoFactory();
+ }
+
+}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMemberFactoryTest.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMemberFactoryTest.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMemberFactoryTest.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -30,9 +30,17 @@
import javassist.CtMethod;
import org.jboss.reflect.plugins.javassist.JavassistConstructor;
+import org.jboss.reflect.plugins.javassist.JavassistConstructorInfo;
import org.jboss.reflect.plugins.javassist.JavassistField;
+import org.jboss.reflect.plugins.javassist.JavassistFieldInfo;
import org.jboss.reflect.plugins.javassist.JavassistMethod;
+import org.jboss.reflect.plugins.javassist.JavassistMethodInfo;
+import org.jboss.reflect.plugins.javassist.JavassistTypeInfoFactory;
import org.jboss.reflect.plugins.javassist.bytecode.JavassistMemberFactory;
+import org.jboss.reflect.plugins.javassist.defaultmember.DefaultMemberFactory;
+import org.jboss.reflect.spi.ClassInfo;
+import org.jboss.reflect.spi.TypeInfo;
+import org.jboss.reflect.spi.TypeInfoFactory;
import org.jboss.test.ContainerTest;
/**
@@ -42,8 +50,10 @@
*/
public abstract class AbstractJavassistMemberFactoryTest extends ContainerTest
{
- protected static final boolean CHECK = true;
+ protected final TestMemberFactory javassistMemberFactory = new JavassistTestMemberFactory();
+ protected final TestMemberFactory defaultMemberFactory = new DefaultTestMemberFactory();
+
protected static final boolean DEBUG = false;
protected final boolean isPrimitive;
@@ -68,79 +78,157 @@
this.isPrimitive = isPrimitive;
}
- protected CtClass getCtClass(Class<?> clazz) throws Exception
- {
- if (isPrimitive)
- {
- if (clazz == Boolean.class)
- clazz = Boolean.TYPE;
- else if (clazz == Byte.class)
- clazz = Byte.TYPE;
- else if (clazz == Character.class)
- clazz = Character.TYPE;
- else if (clazz == Double.class)
- clazz = Double.TYPE;
- else if (clazz == Float.class)
- clazz = Float.TYPE;
- else if (clazz == Integer.class)
- clazz = Integer.TYPE;
- else if (clazz == Long.class)
- clazz = Long.TYPE;
- else if (clazz == Short.class)
- clazz = Short.TYPE;
- }
- return ClassPool.getDefault().getCtClass(clazz.getName());
- }
- protected CtClass[] getCtClasses(Class<?>...classes) throws Exception
+ protected JavassistConstructor createConstructor(Class<?> clazz, Class<?>...params) throws Exception
{
- CtClass[] ctClasses = new CtClass[classes.length];
-
- for (int i = 0 ; i < classes.length ; i++)
- {
- ctClasses[i] = getCtClass(classes[i]);
- }
- return ctClasses;
+ return getTestMemberFactory().createConstructor(clazz, params);
}
- protected CtConstructor getCtConstructor(Class<?> clazz, Class<?>...params) throws Exception
+ protected JavassistMethod createMethod(Class<?> clazz, String name, Class<?>...params) throws Exception
{
- CtClass ct = getCtClass(clazz);
- CtClass[] ctParams = getCtClasses(params);
- for (CtConstructor ctor : ct.getConstructors())
- {
- if (Arrays.equals(ctParams, ctor.getParameterTypes()))
- return ctor;
- }
- fail("No constructor found");
- return null;
+ return getTestMemberFactory().createMethod(clazz, name, params);
}
- protected CtMethod getCtMethod(Class<?> clazz, String name, Class<?>...params) throws Exception
+ protected JavassistField createField(Class<?> clazz, String name) throws Exception
{
- CtClass ct = getCtClass(clazz);
- CtClass[] ctParams = getCtClasses(params);
- return ct.getDeclaredMethod(name, ctParams);
+ return getTestMemberFactory().createField(clazz, name);
}
- protected CtField getCtField(Class<?> clazz, String name) throws Exception
- {
- CtClass ct = getCtClass(clazz);
- return ct.getDeclaredField(name);
- }
+ protected abstract boolean isStatic();
- protected JavassistConstructor createConstructor(Class<?> clazz, Class<?>...params) throws Exception
+ protected abstract TestMemberFactory getTestMemberFactory();
+
+ protected abstract class TestMemberFactory
{
- return JavassistMemberFactory.createJavassistConstructor(MAGIC_ACCESSOR_IMPL, getCtConstructor(clazz, params), CHECK, DEBUG);
+ abstract JavassistConstructor createConstructor(Class<?> clazz, Class<?>...params) throws Exception;
+
+ abstract JavassistMethod createMethod(Class<?> clazz, String name, Class<?>...params) throws Exception;
+
+ abstract JavassistField createField(Class<?> clazz, String name) throws Exception;
+
+ Class<?> checkPrimitive(Class<?> clazz)
+ {
+ if (isPrimitive)
+ {
+ if (clazz == Boolean.class)
+ return Boolean.TYPE;
+ else if (clazz == Byte.class)
+ return Byte.TYPE;
+ else if (clazz == Character.class)
+ return Character.TYPE;
+ else if (clazz == Double.class)
+ return Double.TYPE;
+ else if (clazz == Float.class)
+ return Float.TYPE;
+ else if (clazz == Integer.class)
+ return Integer.TYPE;
+ else if (clazz == Long.class)
+ return Long.TYPE;
+ else if (clazz == Short.class)
+ return Short.TYPE;
+ }
+ return clazz;
+ }
}
- protected JavassistMethod createMethod(Class<?> clazz, String name, Class<?>...params) throws Exception
+ protected class JavassistTestMemberFactory extends TestMemberFactory
{
- return JavassistMemberFactory.createJavassistMethod(MAGIC_ACCESSOR_IMPL, getCtMethod(clazz, name, params), CHECK, DEBUG);
+ public JavassistConstructor createConstructor(Class<?> clazz, Class<?>...params) throws Exception
+ {
+ return JavassistMemberFactory.createJavassistConstructor(MAGIC_ACCESSOR_IMPL, getCtConstructor(clazz, params), DEBUG);
+ }
+
+ public JavassistMethod createMethod(Class<?> clazz, String name, Class<?>...params) throws Exception
+ {
+ return JavassistMemberFactory.createJavassistMethod(MAGIC_ACCESSOR_IMPL, getCtMethod(clazz, name, params), DEBUG);
+ }
+
+ public JavassistField createField(Class<?> clazz, String name) throws Exception
+ {
+ return JavassistMemberFactory.createJavassistField(MAGIC_ACCESSOR_IMPL, getCtField(clazz, name), DEBUG);
+ }
+
+ private CtClass getCtClass(Class<?> clazz) throws Exception
+ {
+ clazz = checkPrimitive(clazz);
+ return ClassPool.getDefault().getCtClass(clazz.getName());
+ }
+
+ private CtClass[] getCtClasses(Class<?>...classes) throws Exception
+ {
+ CtClass[] ctClasses = new CtClass[classes.length];
+
+ for (int i = 0 ; i < classes.length ; i++)
+ {
+ ctClasses[i] = getCtClass(classes[i]);
+ }
+ return ctClasses;
+ }
+
+ private CtConstructor getCtConstructor(Class<?> clazz, Class<?>...params) throws Exception
+ {
+ CtClass ct = getCtClass(clazz);
+ CtClass[] ctParams = getCtClasses(params);
+ for (CtConstructor ctor : ct.getConstructors())
+ {
+ if (Arrays.equals(ctParams, ctor.getParameterTypes()))
+ return ctor;
+ }
+ fail("No constructor found");
+ return null;
+ }
+
+ private CtMethod getCtMethod(Class<?> clazz, String name, Class<?>...params) throws Exception
+ {
+ CtClass ct = getCtClass(clazz);
+ CtClass[] ctParams = getCtClasses(params);
+ return ct.getDeclaredMethod(name, ctParams);
+ }
+
+ private CtField getCtField(Class<?> clazz, String name) throws Exception
+ {
+ CtClass ct = getCtClass(clazz);
+ return ct.getDeclaredField(name);
+ }
+
}
-
- protected JavassistField createField(Class<?> clazz, String name) throws Exception
+
+ protected class DefaultTestMemberFactory extends TestMemberFactory
{
- return JavassistMemberFactory.createJavassistField(MAGIC_ACCESSOR_IMPL, getCtField(clazz, name), CHECK, DEBUG);
+ TypeInfoFactory factory = new JavassistTypeInfoFactory();
+
+ public JavassistConstructor createConstructor(Class<?> clazz, Class<?>...params) throws Exception
+ {
+ ClassInfo info = getClassInfo(clazz);
+ JavassistConstructorInfo constructorInfo = assertInstanceOf(info.getDeclaredConstructor(getParams(params)), JavassistConstructorInfo.class);
+ return DefaultMemberFactory.createJavassistConstructor(constructorInfo);
+ }
+
+ public JavassistMethod createMethod(Class<?> clazz, String name, Class<?>...params) throws Exception
+ {
+ ClassInfo info = getClassInfo(clazz);
+ JavassistMethodInfo methodInfo = assertInstanceOf(info.getDeclaredMethod(name, getParams(params)), JavassistMethodInfo.class);
+ return DefaultMemberFactory.createJavassistMethod(methodInfo);
+ }
+
+ public JavassistField createField(Class<?> clazz, String name) throws Exception
+ {
+ ClassInfo info = getClassInfo(clazz);
+ JavassistFieldInfo fieldInfo = assertInstanceOf(info.getDeclaredField(name), JavassistFieldInfo.class);
+ return DefaultMemberFactory.createJavassistField(fieldInfo);
+ }
+
+ private ClassInfo getClassInfo(Class<?> clazz)
+ {
+ return assertInstanceOf(factory.getTypeInfo(clazz), ClassInfo.class);
+ }
+
+ private TypeInfo[] getParams(Class<?>...params)
+ {
+ TypeInfo[] infos = new TypeInfo[params.length];
+ for (int i = 0 ; i < infos.length ; i++)
+ infos[i] = factory.getTypeInfo(checkPrimitive(params[i]));
+ return infos;
+ }
}
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodAndFieldFactoryTest.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodAndFieldFactoryTest.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodAndFieldFactoryTest.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -104,10 +104,15 @@
checkWrongParameter(field, target, "Not a primitive");
field.set(target, goodParam);
- if (goodParam instanceof Double || goodParam instanceof Float)
+// if (goodParam instanceof Double || goodParam instanceof Float)
assertEquals(goodParam, field.get(target));
- else
- assertSame(goodParam, field.get(target));
+// else
+// assertSame(goodParam, field.get(target));
+
+ checkWrongTargetSet(field, "Wrong target", goodParam);
+ checkNullTargetSet(field, goodParam);
+ checkWrongTargetGet(field, "Wrong target");
+ checkNullTargetGet(field);
}
public void checkWrongParameter(JavassistField f, Object bean, Object param) throws Throwable
@@ -115,12 +120,68 @@
try
{
f.set(bean, param);
- fail("Should have picked up too many parameters");
+ fail("Should have picked up wrong parameters");
}
- catch (Exception expected)
+ catch (IllegalArgumentException expected)
{
}
}
+ public void checkWrongTargetSet(JavassistField f, Object bean, Object param) throws Throwable
+ {
+ try
+ {
+ f.set(bean, param);
+ if (!isStatic())
+ fail("Should have picked up wrong target");
+ }
+ catch(IllegalArgumentException expected)
+ {
+ }
+ }
+
+ public void checkNullTargetSet(JavassistField f, Object param) throws Throwable
+ {
+ try
+ {
+ f.set(null, param);
+ if (!isStatic())
+ fail("Should have picked up null target for non static field");
+ }
+ catch (IllegalArgumentException e)
+ {
+ if (isStatic())
+ fail("Should not have picked up null target for static field");
+ }
+ }
+
+ public void checkWrongTargetGet(JavassistField f, Object bean) throws Throwable
+ {
+ try
+ {
+ f.get(bean);
+ if (!isStatic())
+ fail("Should have picked up wrong target");
+ }
+ catch(IllegalArgumentException expected)
+ {
+ }
+ }
+
+ public void checkNullTargetGet(JavassistField f) throws Throwable
+ {
+ try
+ {
+ f.get(null);
+ if (!isStatic())
+ fail("Should have picked up null target for non static field");
+ }
+ catch (IllegalArgumentException e)
+ {
+ if (isStatic())
+ fail("Should not have picked up null target for static field");
+ }
+ }
+
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodFactoryTest.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodFactoryTest.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodFactoryTest.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -65,13 +65,13 @@
public void testObjectMethodWithNullParameters() throws Throwable
{
JavassistMethod m = createMethod(getClazz(), "noReturnNoParams");
- checkWrongParameters(m, createInstance(), null);
+ m.invoke(createInstance(), null);
}
public void testObjectMethodWithEmptyParameters() throws Throwable
{
JavassistMethod m = createMethod(getClazz(), "noReturnNoParams");
- checkWrongParameters(m, createInstance(), new Object[0]);
+ m.invoke(createInstance(), new Object[0]);
}
public void testObjectMethodWithTooManyParameters() throws Throwable
@@ -124,7 +124,12 @@
{
Object target = createInstance();
checkWrongParameters(method, target, new Object[] {"Not a primitive"});
- checkWrongParameters(method, target, new Object[] {null});
+
+ if (isPrimitive)
+ checkWrongParameters(method, target, new Object[] {null});
+ else
+ method.invoke(target, new Object[] {null});
+
checkWrongParameters(method, target, new Object[0]);
checkWrongParameters(method, target, new Object[] {goodParam, goodParam});
if (isPrimitive)
@@ -133,6 +138,9 @@
assertNull(method.invoke(target, new Object[] {null}));
assertEquals(goodParam, method.invoke(target, new Object[] {goodParam}));
+
+ checkWrongTarget(method, new Object[] {goodParam});
+ checkNullTarget(method, new Object[] {goodParam});
}
public void testBigMethod() throws Throwable
@@ -146,20 +154,54 @@
checkWrongParameters(method, target, new Object[] {"Test", Boolean.TRUE, Byte.valueOf((byte)1), Integer.valueOf(5)});
assertEquals("Test", method.invoke(target, new Object[] {"Test", Boolean.TRUE, Byte.valueOf((byte)1), Character.valueOf('a')}));
checkWrongParameters(method, target, new Object[] {"Test", Boolean.TRUE, Byte.valueOf((byte)1), Character.valueOf('a'), null});
+
+ if (isPrimitive)
+ checkWrongParameters(method, target, new Object[] {"Test", Boolean.TRUE, null, Character.valueOf('a')});
+ else
+ method.invoke(target, new Object[] {"Test", Boolean.TRUE, null, Character.valueOf('a')});
}
protected void checkWrongParameters(JavassistMethod m, Object bean, Object[] params) throws Throwable
{
try
{
- m.invoke(bean, new Object[] {new Object()});
- fail("Should have picked up too many parameters");
+ m.invoke(bean, params);
+ fail("Should have picked up wrong parameters");
}
- catch (Exception expected)
+ catch (IllegalArgumentException expected)
{
}
}
+ public void checkWrongTarget(JavassistMethod m, Object[] params) throws Throwable
+ {
+ try
+ {
+ m.invoke("WrongTarget", params);
+ if (!isStatic())
+ fail("Should have picked up wrong target");
+ }
+ catch(IllegalArgumentException expected)
+ {
+ }
+ }
+
+ public void checkNullTarget(JavassistMethod m, Object[] params) throws Throwable
+ {
+ try
+ {
+ m.invoke(null, params);
+ if (!isStatic())
+ fail("Should have picked up null target for non static method");
+ }
+ catch (IllegalArgumentException e)
+ {
+ if (isStatic())
+ fail("Should not have picked up null target for static method");
+ }
+ }
+
+
protected abstract Class<?> getClazz();
protected abstract Object createInstance();
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodFieldAndConstructorFactoryTest.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodFieldAndConstructorFactoryTest.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractJavassistMethodFieldAndConstructorFactoryTest.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -193,7 +193,7 @@
ctor.newInstance(params);
fail("Should have picked up wrong parameters");
}
- catch (Exception expected)
+ catch (IllegalArgumentException expected)
{
}
}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractMemberFactoryArrayUnitTest.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractMemberFactoryArrayUnitTest.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/AbstractMemberFactoryArrayUnitTest.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,227 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.reflect.plugins.javassist.JavassistConstructor;
+import org.jboss.reflect.plugins.javassist.JavassistField;
+import org.jboss.reflect.plugins.javassist.JavassistMethod;
+import org.jboss.test.plugins.javassist.bytecode.support.BoxedArrayBean;
+import org.jboss.test.plugins.javassist.bytecode.support.PrimitiveArrayBean;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class AbstractMemberFactoryArrayUnitTest extends AbstractJavassistMemberFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(AbstractMemberFactoryArrayUnitTest.class);
+ }
+
+ public AbstractMemberFactoryArrayUnitTest(String name)
+ {
+ super(name, false);
+ }
+
+ public void testObjectArray() throws Throwable
+ {
+ testArray(BoxedArrayBean.class, Object[].class, "useObjectArray", "objectArray", new Object[] {"x"}, new Object[] {"y"});
+ }
+
+ public void testObject2Array() throws Throwable
+ {
+ testArray(BoxedArrayBean.class, Object[][].class, "useObject2Array", "object2Array", new Object[][] {new Object[] {"x"}}, new Object[][] {new Object[] {"y"}});
+ }
+
+ public void testBoxedBooleanArray() throws Throwable
+ {
+ testArray(BoxedArrayBean.class, Boolean[].class, "useBooleanArray", "booleanArray", new Boolean[] {Boolean.TRUE}, new Boolean[] {Boolean.FALSE});
+ }
+
+ public void testPrimitiveBooleanArray() throws Throwable
+ {
+ testArray(PrimitiveArrayBean.class, boolean[].class, "useBooleanArray", "booleanArray", new boolean[] {true}, new boolean[] {false});
+ }
+
+ public void testBoxedByteArray() throws Throwable
+ {
+ testArray(BoxedArrayBean.class, Byte[].class, "useByteArray", "byteArray", new Byte[] {Byte.valueOf((byte)1)}, new Byte[] {Byte.valueOf((byte)2)});
+ }
+
+ public void testPrimitiveByteArray() throws Throwable
+ {
+ testArray(PrimitiveArrayBean.class, byte[].class, "useByteArray", "byteArray", new byte[] {(byte)1}, new byte[] {(byte)2});
+ }
+
+ public void testBoxedCharArray() throws Throwable
+ {
+ testArray(BoxedArrayBean.class, Character[].class, "useCharArray", "charArray", new Character[] {Character.valueOf('a')}, new Character[] {Character.valueOf('b')});
+ }
+
+ public void testPrimitiveCharArray() throws Throwable
+ {
+ testArray(PrimitiveArrayBean.class, char[].class, "useCharArray", "charArray", new char[] {'a'}, new char[] {'b'});
+ }
+
+ public void testBoxedDoubleArray() throws Throwable
+ {
+ testArray(BoxedArrayBean.class, Double[].class, "useDoubleArray", "doubleArray", new Double[] {Double.valueOf(1)}, new Double[] {Double.valueOf(2)});
+ }
+
+ public void testPrimitiveDoubleArray() throws Throwable
+ {
+ testArray(PrimitiveArrayBean.class, double[].class, "useDoubleArray", "doubleArray", new double[] {1}, new double[] {2});
+ }
+
+ public void testBoxedFloatArray() throws Throwable
+ {
+ testArray(BoxedArrayBean.class, Float[].class, "useFloatArray", "floatArray", new Float[] {Float.valueOf(1)}, new Float[] {Float.valueOf(2)});
+ }
+
+ public void testPrimitveFloatArray() throws Throwable
+ {
+ testArray(PrimitiveArrayBean.class, float[].class, "useFloatArray", "floatArray", new float[] {1}, new float[] {2});
+ }
+
+ public void testBoxedIntArray() throws Throwable
+ {
+ testArray(BoxedArrayBean.class, Integer[].class, "useIntArray", "intArray", new Integer[] {Integer.valueOf(1)}, new Integer[] {Integer.valueOf(2)});
+ }
+
+ public void testPrimitiveIntArray() throws Throwable
+ {
+ testArray(PrimitiveArrayBean.class, int[].class, "useIntArray", "intArray", new int[] {1}, new int[] {2});
+ }
+
+ public void testBoxedLongArray() throws Throwable
+ {
+ testArray(BoxedArrayBean.class, Long[].class, "useLongArray", "longArray", new Long[] {Long.valueOf(1)}, new Long[] {Long.valueOf(2)});
+ }
+
+ public void testPrimitiveLongArray() throws Throwable
+ {
+ testArray(PrimitiveArrayBean.class, long[].class, "useLongArray", "longArray", new long[] {1}, new long[] {2});
+ }
+
+ public void testBoxedShortArray() throws Throwable
+ {
+ testArray(BoxedArrayBean.class, Short[].class, "useShortArray", "shortArray", new Short[] {Short.valueOf((short)1)}, new Short[] {Short.valueOf((short)2)});
+ }
+
+ public void testPrimitveShortArray() throws Throwable
+ {
+ testArray(PrimitiveArrayBean.class, short[].class, "useShortArray", "shortArray", new short[] {(short)1}, new short[] {(short)2});
+ }
+
+ private <T> void testArray(Class<?> beanClass, Class<T> type, String methodName, String fieldName, T arg, T arg2) throws Throwable
+ {
+ JavassistConstructor ctor = createConstructor(beanClass, type);
+ Object tgt = ctor.newInstance(new Object[] {arg});
+ assertInstanceOf(tgt, beanClass);
+
+ JavassistMethod method = createMethod(beanClass, methodName, type);
+ assertSame(arg, method.invoke(tgt, new Object[] {arg}));
+
+ JavassistField field = createField(beanClass, fieldName);
+ field.set(tgt, arg2);
+ assertSame(arg2, field.get(tgt));
+
+ testWrongTarget(null, method, field, type, arg);
+ testWrongTarget("String", method, field, type, arg);
+ }
+
+ private <T> void testWrongTarget(Object tgt, JavassistMethod method, JavassistField field, Class<T> type, T arg) throws Throwable
+ {
+ try
+ {
+ field.set(tgt, arg);
+ fail("Should have picked up bad target");
+ }
+ catch (IllegalArgumentException expected)
+ {
+ }
+
+ try
+ {
+ field.get(tgt);
+ fail("Should have picked up bad target");
+ }
+ catch (IllegalArgumentException expected)
+ {
+ }
+
+ try
+ {
+ method.invoke(tgt, new Object[] {arg});
+ fail("Should have picked up bad target");
+ }
+ catch (IllegalArgumentException expected)
+ {
+ }
+ }
+
+ private void testWrongParameter(Object tgt, JavassistConstructor ctor, JavassistMethod method, JavassistField field) throws Throwable
+ {
+ try
+ {
+ ctor.newInstance(new Object[] {"Not an array"});
+ fail("Should have picked up bad parameter");
+ }
+ catch (IllegalArgumentException expected)
+ {
+ }
+
+ try
+ {
+ field.set(tgt, "Not an array");
+ fail("Should have picked up bad parameter");
+ }
+ catch (IllegalArgumentException expected)
+ {
+ }
+
+ try
+ {
+ method.invoke(tgt, new Object[] {"Not an array"});
+ fail("Should have picked up bad parameter");
+ }
+ catch (IllegalArgumentException expected)
+ {
+ }
+ }
+
+ @Override
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryArrayUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryArrayUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryArrayUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,54 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryArrayUnitTestCase extends AbstractMemberFactoryArrayUnitTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryArrayUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryArrayUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ @Override
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryBoxedInterfaceUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryBoxedInterfaceUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryBoxedInterfaceUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,68 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.BoxedInterface;
+import org.jboss.test.plugins.javassist.bytecode.support.PublicBoxedBean;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryBoxedInterfaceUnitTestCase extends AbstractJavassistMethodFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryBoxedInterfaceUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryBoxedInterfaceUnitTestCase(String name)
+ {
+ super(name, false);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return new PublicBoxedBean();
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return BoxedInterface.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedBoxedUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.ProtectedBoxedBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPackageProtectedBoxedUnitTestCase extends AbstractJavassistMethodFieldAndConstructorFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPackageProtectedBoxedUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPackageProtectedBoxedUnitTestCase(String name)
+ {
+ super(name, false);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return ProtectedBoxedBean.getInstance();
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return ProtectedBoxedBean.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedPrimitiveUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.PackageProtectedPrimitiveBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPackageProtectedPrimitiveUnitTestCase extends AbstractJavassistMethodFieldAndConstructorFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPackageProtectedPrimitiveUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPackageProtectedPrimitiveUnitTestCase(String name)
+ {
+ super(name, true);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return PackageProtectedPrimitiveBean.getInstance();
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return PackageProtectedPrimitiveBean.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedStaticBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedStaticBoxedUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedStaticBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.PackageProtectedStaticBoxedBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPackageProtectedStaticBoxedUnitTestCase extends AbstractJavassistMethodAndFieldFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPackageProtectedStaticBoxedUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPackageProtectedStaticBoxedUnitTestCase(String name)
+ {
+ super(name, false);
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return PackageProtectedStaticBoxedBean.class;
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return null;
+ }
+
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.PackageProtectedStaticPrimitiveBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase extends AbstractJavassistMethodAndFieldFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase(String name)
+ {
+ super(name, true);
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return PackageProtectedStaticPrimitiveBean.class;
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return null;
+ }
+
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrimitiveInterfaceUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrimitiveInterfaceUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrimitiveInterfaceUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,68 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.PrimitiveInterface;
+import org.jboss.test.plugins.javassist.bytecode.support.PublicPrimitiveBean;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPrimitiveInterfaceUnitTestCase extends AbstractJavassistMethodFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPrimitiveInterfaceUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPrimitiveInterfaceUnitTestCase(String name)
+ {
+ super(name, true);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return new PublicPrimitiveBean();
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return PrimitiveInterface.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateBoxedUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.ProtectedBoxedBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPrivateBoxedUnitTestCase extends AbstractJavassistMethodFieldAndConstructorFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPrivateBoxedUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPrivateBoxedUnitTestCase(String name)
+ {
+ super(name, false);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return ProtectedBoxedBean.getInstance();
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return ProtectedBoxedBean.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivatePrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivatePrimitiveUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivatePrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.ProtectedPrimitiveBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPrivatePrimitiveUnitTestCase extends AbstractJavassistMethodFieldAndConstructorFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPrivatePrimitiveUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPrivatePrimitiveUnitTestCase(String name)
+ {
+ super(name, true);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return ProtectedPrimitiveBean.getInstance();
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return ProtectedPrimitiveBean.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateStaticBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateStaticBoxedUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateStaticBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.ProtectedStaticBoxedBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPrivateStaticBoxedUnitTestCase extends AbstractJavassistMethodAndFieldFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPrivateStaticBoxedUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPrivateStaticBoxedUnitTestCase(String name)
+ {
+ super(name, false);
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return ProtectedStaticBoxedBean.class;
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return null;
+ }
+
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateStaticPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateStaticPrimitiveUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPrivateStaticPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.ProtectedStaticPrimitiveBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPrivateStaticPrimitiveUnitTestCase extends AbstractJavassistMethodAndFieldFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPrivateStaticPrimitiveUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPrivateStaticPrimitiveUnitTestCase(String name)
+ {
+ super(name, true);
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return ProtectedStaticPrimitiveBean.class;
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return null;
+ }
+
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedBoxedUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.ProtectedBoxedBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryProtectedBoxedUnitTestCase extends AbstractJavassistMethodFieldAndConstructorFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryProtectedBoxedUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryProtectedBoxedUnitTestCase(String name)
+ {
+ super(name, false);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return ProtectedBoxedBean.getInstance();
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return ProtectedBoxedBean.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedPrimitiveUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.ProtectedPrimitiveBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryProtectedPrimitiveUnitTestCase extends AbstractJavassistMethodFieldAndConstructorFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryProtectedPrimitiveUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryProtectedPrimitiveUnitTestCase(String name)
+ {
+ super(name, true);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return ProtectedPrimitiveBean.getInstance();
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return ProtectedPrimitiveBean.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedStaticBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedStaticBoxedUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedStaticBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.ProtectedStaticBoxedBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryProtectedStaticBoxedUnitTestCase extends AbstractJavassistMethodAndFieldFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryProtectedStaticBoxedUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryProtectedStaticBoxedUnitTestCase(String name)
+ {
+ super(name, false);
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return ProtectedStaticBoxedBean.class;
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return null;
+ }
+
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedStaticPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedStaticPrimitiveUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryProtectedStaticPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.ProtectedStaticPrimitiveBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryProtectedStaticPrimitiveUnitTestCase extends AbstractJavassistMethodAndFieldFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryProtectedStaticPrimitiveUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryProtectedStaticPrimitiveUnitTestCase(String name)
+ {
+ super(name, true);
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return ProtectedStaticPrimitiveBean.class;
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return null;
+ }
+
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicBoxedUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.PublicBoxedBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPublicBoxedUnitTestCase extends AbstractJavassistMethodFieldAndConstructorFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPublicBoxedUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPublicBoxedUnitTestCase(String name)
+ {
+ super(name, false);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return new PublicBoxedBean();
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return PublicBoxedBean.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicPrimitiveUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.PublicPrimitiveBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPublicPrimitiveUnitTestCase extends AbstractJavassistMethodFieldAndConstructorFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPublicPrimitiveUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPublicPrimitiveUnitTestCase(String name)
+ {
+ super(name, true);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return new PublicPrimitiveBean();
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return PublicPrimitiveBean.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicStaticBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicStaticBoxedUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicStaticBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.PublicStaticBoxedBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPublicStaticBoxedUnitTestCase extends AbstractJavassistMethodAndFieldFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPublicStaticBoxedUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPublicStaticBoxedUnitTestCase(String name)
+ {
+ super(name, false);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return null;
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return PublicStaticBoxedBean.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicStaticPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicStaticPrimitiveUnitTestCase.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryPublicStaticPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,69 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+
+import org.jboss.test.plugins.javassist.bytecode.support.PublicStaticPrimitiveBean;
+
+
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryPublicStaticPrimitiveUnitTestCase extends AbstractJavassistMethodAndFieldFactoryTest
+{
+ public static Test suite()
+ {
+ return suite(DefaultMemberFactoryPublicStaticPrimitiveUnitTestCase.class);
+ }
+
+ public DefaultMemberFactoryPublicStaticPrimitiveUnitTestCase(String name)
+ {
+ super(name, true);
+ }
+
+ @Override
+ protected Object createInstance()
+ {
+ return null;
+ }
+
+ @Override
+ protected Class<?> getClazz()
+ {
+ return PublicStaticPrimitiveBean.class;
+ }
+
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return defaultMemberFactory;
+ }
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryTestSuite.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryTestSuite.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/DefaultMemberFactoryTestSuite.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,72 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class DefaultMemberFactoryTestSuite extends TestSuite
+{
+ public static void main(String[] args)
+ {
+ TestRunner.run(suite());
+ }
+
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite("Javassist Default Member Factory Tests");
+
+ suite.addTest(DefaultMemberFactoryPublicBoxedUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryPublicPrimitiveUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryPublicStaticBoxedUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryPublicStaticPrimitiveUnitTestCase.suite());
+
+ suite.addTest(DefaultMemberFactoryProtectedBoxedUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryProtectedPrimitiveUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryProtectedStaticBoxedUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryProtectedStaticPrimitiveUnitTestCase.suite());
+
+ suite.addTest(DefaultMemberFactoryPackageProtectedBoxedUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryPackageProtectedPrimitiveUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryPackageProtectedStaticBoxedUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.suite());
+
+ suite.addTest(DefaultMemberFactoryPrivateBoxedUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryPrivatePrimitiveUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryPrivateStaticBoxedUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryPrivateStaticPrimitiveUnitTestCase.suite());
+
+ suite.addTest(DefaultMemberFactoryPrimitiveInterfaceUnitTestCase.suite());
+ suite.addTest(DefaultMemberFactoryBoxedInterfaceUnitTestCase.suite());
+
+ suite.addTest(DefaultMemberFactoryArrayUnitTestCase.suite());
+
+ return suite;
+ }
+
+}
Added: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/GeneratedMemberFactoryTestSuite.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/GeneratedMemberFactoryTestSuite.java (rev 0)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/GeneratedMemberFactoryTestSuite.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -0,0 +1,72 @@
+/*
+* JBoss, Home of Professional Open Source.
+* Copyright 2006, Red Hat Middleware LLC, and individual contributors
+* as indicated by the @author tags. See the copyright.txt file 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.plugins.javassist.bytecode.test;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import junit.textui.TestRunner;
+
+/**
+ *
+ * @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
+ * @version $Revision: 1.1 $
+ */
+public class GeneratedMemberFactoryTestSuite extends TestSuite
+{
+ public static void main(String[] args)
+ {
+ TestRunner.run(suite());
+ }
+
+ public static Test suite()
+ {
+ TestSuite suite = new TestSuite("Javassist Member Factory Tests");
+
+ suite.addTest(JavassistMemberFactoryPublicBoxedUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryPublicPrimitiveUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryPublicStaticBoxedUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryPublicStaticPrimitiveUnitTestCase.suite());
+
+ suite.addTest(JavassistMemberFactoryProtectedBoxedUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryProtectedPrimitiveUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryProtectedStaticBoxedUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryProtectedStaticPrimitiveUnitTestCase.suite());
+
+ suite.addTest(JavassistMemberFactoryPackageProtectedBoxedUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryPackageProtectedPrimitiveUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryPackageProtectedStaticBoxedUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.suite());
+
+ suite.addTest(JavassistMemberFactoryPrivateBoxedUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryPrivatePrimitiveUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryPrivateStaticBoxedUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryPrivateStaticPrimitiveUnitTestCase.suite());
+
+ suite.addTest(JavassistMemberFactoryPrimitiveInterfaceUnitTestCase.suite());
+ suite.addTest(JavassistMemberFactoryBoxedInterfaceUnitTestCase.suite());
+
+ suite.addTest(JavassistMemberFactoryArrayUnitTestCase.suite());
+
+ return suite;
+ }
+
+}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryArrayUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryArrayUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryArrayUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -23,18 +23,12 @@
import junit.framework.Test;
-import org.jboss.reflect.plugins.javassist.JavassistConstructor;
-import org.jboss.reflect.plugins.javassist.JavassistField;
-import org.jboss.reflect.plugins.javassist.JavassistMethod;
-import org.jboss.test.plugins.javassist.bytecode.support.BoxedArrayBean;
-import org.jboss.test.plugins.javassist.bytecode.support.PrimitiveArrayBean;
-
/**
*
* @author <a href="kabir.khan at jboss.com">Kabir Khan</a>
* @version $Revision: 1.1 $
*/
-public class JavassistMemberFactoryArrayUnitTestCase extends AbstractJavassistMemberFactoryTest
+public class JavassistMemberFactoryArrayUnitTestCase extends AbstractMemberFactoryArrayUnitTest
{
public static Test suite()
{
@@ -43,110 +37,18 @@
public JavassistMemberFactoryArrayUnitTestCase(String name)
{
- super(name, false);
+ super(name);
}
- public void testObjectArray() throws Throwable
+ @Override
+ protected boolean isStatic()
{
- testArray(BoxedArrayBean.class, Object[].class, "useObjectArray", "objectArray", new Object[] {"x"}, new Object[] {"y"});
+ return false;
}
-
- public void testObject2Array() throws Throwable
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
{
- testArray(BoxedArrayBean.class, Object[][].class, "useObject2Array", "object2Array", new Object[][] {new Object[] {"x"}}, new Object[][] {new Object[] {"y"}});
+ return javassistMemberFactory;
}
-
- public void testBoxedBooleanArray() throws Throwable
- {
- testArray(BoxedArrayBean.class, Boolean[].class, "useBooleanArray", "booleanArray", new Boolean[] {Boolean.TRUE}, new Boolean[] {Boolean.FALSE});
- }
-
- public void testPrimitiveBooleanArray() throws Throwable
- {
- testArray(PrimitiveArrayBean.class, boolean[].class, "useBooleanArray", "booleanArray", new boolean[] {true}, new boolean[] {false});
- }
-
- public void testBoxedByteArray() throws Throwable
- {
- testArray(BoxedArrayBean.class, Byte[].class, "useByteArray", "byteArray", new Byte[] {Byte.valueOf((byte)1)}, new Byte[] {Byte.valueOf((byte)2)});
- }
-
- public void testPrimitiveByteArray() throws Throwable
- {
- testArray(PrimitiveArrayBean.class, byte[].class, "useByteArray", "byteArray", new byte[] {(byte)1}, new byte[] {(byte)2});
- }
-
- public void testBoxedCharArray() throws Throwable
- {
- testArray(BoxedArrayBean.class, Character[].class, "useCharArray", "charArray", new Character[] {Character.valueOf('a')}, new Character[] {Character.valueOf('b')});
- }
-
- public void testPrimitiveCharArray() throws Throwable
- {
- testArray(PrimitiveArrayBean.class, char[].class, "useCharArray", "charArray", new char[] {'a'}, new char[] {'b'});
- }
-
- public void testBoxedDoubleArray() throws Throwable
- {
- testArray(BoxedArrayBean.class, Double[].class, "useDoubleArray", "doubleArray", new Double[] {Double.valueOf(1)}, new Double[] {Double.valueOf(2)});
- }
-
- public void testPrimitiveDoubleArray() throws Throwable
- {
- testArray(PrimitiveArrayBean.class, double[].class, "useDoubleArray", "doubleArray", new double[] {1}, new double[] {2});
- }
-
- public void testBoxedFloatArray() throws Throwable
- {
- testArray(BoxedArrayBean.class, Float[].class, "useFloatArray", "floatArray", new Float[] {Float.valueOf(1)}, new Float[] {Float.valueOf(2)});
- }
-
- public void testPrimitveFloatArray() throws Throwable
- {
- testArray(PrimitiveArrayBean.class, float[].class, "useFloatArray", "floatArray", new float[] {1}, new float[] {2});
- }
-
- public void testBoxedIntArray() throws Throwable
- {
- testArray(BoxedArrayBean.class, Integer[].class, "useIntArray", "intArray", new Integer[] {Integer.valueOf(1)}, new Integer[] {Integer.valueOf(2)});
- }
-
- public void testPrimitiveIntArray() throws Throwable
- {
- testArray(PrimitiveArrayBean.class, int[].class, "useIntArray", "intArray", new int[] {1}, new int[] {2});
- }
-
- public void testBoxedLongArray() throws Throwable
- {
- testArray(BoxedArrayBean.class, Long[].class, "useLongArray", "longArray", new Long[] {Long.valueOf(1)}, new Long[] {Long.valueOf(2)});
- }
-
- public void testPrimitiveLongArray() throws Throwable
- {
- testArray(PrimitiveArrayBean.class, long[].class, "useLongArray", "longArray", new long[] {1}, new long[] {2});
- }
-
- public void testBoxedShortArray() throws Throwable
- {
- testArray(BoxedArrayBean.class, Short[].class, "useShortArray", "shortArray", new Short[] {Short.valueOf((short)1)}, new Short[] {Short.valueOf((short)2)});
- }
-
- public void testPrimitveShortArray() throws Throwable
- {
- testArray(PrimitiveArrayBean.class, short[].class, "useShortArray", "shortArray", new short[] {(short)1}, new short[] {(short)2});
- }
-
- private <T> void testArray(Class<?> beanClass, Class<T> type, String methodName, String fieldName, T arg, T arg2) throws Throwable
- {
- JavassistConstructor ctor = createConstructor(beanClass, type);
- Object tgt = ctor.newInstance(new Object[] {arg});
- assertInstanceOf(tgt, beanClass);
-
- JavassistMethod method = createMethod(beanClass, methodName, type);
- assertSame(arg, method.invoke(tgt, new Object[] {arg}));
-
- JavassistField field = createField(beanClass, fieldName);
- field.set(tgt, arg2);
- assertSame(arg2, field.get(tgt));
- }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryBoxedInterfaceUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryBoxedInterfaceUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryBoxedInterfaceUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -54,4 +54,15 @@
{
return BoxedInterface.class;
}
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedBoxedUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -56,5 +56,14 @@
return ProtectedBoxedBean.class;
}
-
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedPrimitiveUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -56,5 +56,14 @@
return PackageProtectedPrimitiveBean.class;
}
-
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedStaticBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedStaticBoxedUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedStaticBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -53,8 +53,17 @@
@Override
protected Object createInstance()
{
- return new PackageProtectedStaticBoxedBean();
+ return null;
}
-
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -53,8 +53,17 @@
@Override
protected Object createInstance()
{
- return new PackageProtectedStaticPrimitiveBean();
+ return null;
}
+ protected boolean isStatic()
+ {
+ return true;
+ }
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrimitiveInterfaceUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrimitiveInterfaceUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrimitiveInterfaceUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -54,4 +54,15 @@
{
return PrimitiveInterface.class;
}
+
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateBoxedUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -56,5 +56,14 @@
return ProtectedBoxedBean.class;
}
-
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivatePrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivatePrimitiveUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivatePrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -56,5 +56,14 @@
return ProtectedPrimitiveBean.class;
}
-
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateStaticBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateStaticBoxedUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateStaticBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -53,8 +53,17 @@
@Override
protected Object createInstance()
{
- return new ProtectedStaticBoxedBean();
+ return null;
}
-
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateStaticPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateStaticPrimitiveUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPrivateStaticPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -53,8 +53,17 @@
@Override
protected Object createInstance()
{
- return new ProtectedStaticPrimitiveBean();
+ return null;
}
-
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedBoxedUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -56,5 +56,14 @@
return ProtectedBoxedBean.class;
}
-
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedPrimitiveUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -56,5 +56,14 @@
return ProtectedPrimitiveBean.class;
}
-
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedStaticBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedStaticBoxedUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedStaticBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -53,8 +53,17 @@
@Override
protected Object createInstance()
{
- return new ProtectedStaticBoxedBean();
+ return null;
}
-
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedStaticPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedStaticPrimitiveUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryProtectedStaticPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -53,8 +53,17 @@
@Override
protected Object createInstance()
{
- return new ProtectedStaticPrimitiveBean();
+ return null;
}
-
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicBoxedUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -56,5 +56,14 @@
return PublicBoxedBean.class;
}
-
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicPrimitiveUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -56,5 +56,14 @@
return PublicPrimitiveBean.class;
}
-
+ protected boolean isStatic()
+ {
+ return false;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicStaticBoxedUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicStaticBoxedUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicStaticBoxedUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -47,7 +47,7 @@
@Override
protected Object createInstance()
{
- return new PublicStaticBoxedBean();
+ return null;
}
@Override
@@ -56,5 +56,14 @@
return PublicStaticBoxedBean.class;
}
-
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicStaticPrimitiveUnitTestCase.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicStaticPrimitiveUnitTestCase.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryPublicStaticPrimitiveUnitTestCase.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -47,7 +47,7 @@
@Override
protected Object createInstance()
{
- return new PublicStaticPrimitiveBean();
+ return null;
}
@Override
@@ -56,5 +56,14 @@
return PublicStaticPrimitiveBean.class;
}
-
+ protected boolean isStatic()
+ {
+ return true;
+ }
+
+ @Override
+ protected TestMemberFactory getTestMemberFactory()
+ {
+ return javassistMemberFactory;
+ }
}
Modified: projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryTestSuite.java
===================================================================
--- projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryTestSuite.java 2010-04-29 14:37:55 UTC (rev 104316)
+++ projects/jboss-reflect/trunk/src/test/java/org/jboss/test/plugins/javassist/bytecode/test/JavassistMemberFactoryTestSuite.java 2010-04-29 14:54:09 UTC (rev 104317)
@@ -41,31 +41,9 @@
{
TestSuite suite = new TestSuite("Javassist Member Factory Tests");
- suite.addTest(JavassistMemberFactoryPublicBoxedUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryPublicPrimitiveUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryPublicStaticBoxedUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryPublicStaticPrimitiveUnitTestCase.suite());
-
- suite.addTest(JavassistMemberFactoryProtectedBoxedUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryProtectedPrimitiveUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryProtectedStaticBoxedUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryProtectedStaticPrimitiveUnitTestCase.suite());
-
- suite.addTest(JavassistMemberFactoryPackageProtectedBoxedUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryPackageProtectedPrimitiveUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryPackageProtectedStaticBoxedUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryPackageProtectedStaticPrimitiveUnitTestCase.suite());
-
- suite.addTest(JavassistMemberFactoryPrivateBoxedUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryPrivatePrimitiveUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryPrivateStaticBoxedUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryPrivateStaticPrimitiveUnitTestCase.suite());
-
- suite.addTest(JavassistMemberFactoryPrimitiveInterfaceUnitTestCase.suite());
- suite.addTest(JavassistMemberFactoryBoxedInterfaceUnitTestCase.suite());
-
- suite.addTest(JavassistMemberFactoryArrayUnitTestCase.suite());
-
+ suite.addTest(GeneratedMemberFactoryTestSuite.suite());
+ suite.addTest(DefaultMemberFactoryTestSuite.suite());
+
return suite;
}
More information about the jboss-cvs-commits
mailing list