[jboss-cvs] JBossAS SVN: r107559 - projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/annotations/test.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Aug 12 10:36:21 EDT 2010
Author: alesj
Date: 2010-08-12 10:36:21 -0400 (Thu, 12 Aug 2010)
New Revision: 107559
Modified:
projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/annotations/test/SmokeAnnotationsScanningTestCase.java
Log:
[JBCTS-1039]; configurable JDK requesting class.
Modified: projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/annotations/test/SmokeAnnotationsScanningTestCase.java
===================================================================
--- projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/annotations/test/SmokeAnnotationsScanningTestCase.java 2010-08-12 14:21:36 UTC (rev 107558)
+++ projects/scanning/trunk/testsuite/src/test/java/org/jboss/test/scanning/annotations/test/SmokeAnnotationsScanningTestCase.java 2010-08-12 14:36:21 UTC (rev 107559)
@@ -21,6 +21,7 @@
*/
package org.jboss.test.scanning.annotations.test;
+import java.util.Arrays;
import java.util.Set;
import org.jboss.classloader.plugins.jdk.AbstractJDKChecker;
@@ -39,10 +40,38 @@
*/
public class SmokeAnnotationsScanningTestCase extends ScanningDeployersTest
{
- // TODO -- configurable system class
- private String sysClassName = "sun.reflect.generics.factory.CoreReflectionFactory";
- private String sysJavassist = "javassist.bytecode.annotation.MemberValue";
+ // add possible other JDK requesting classes; e.g. OpenJDK, IBM, Oracle/BEA Rockit, ...
+ private static String[] JDK_CLASSES = {"sun.reflect.generics.factory.CoreReflectionFactory"};
+ private static Class<?> sysClass;
+ private static Class<?> sysJavassist;
+
+ static
+ {
+ ClassLoader cl = SmokeAnnotationsScanningTestCase.class.getClassLoader();
+ try
+ {
+ sysJavassist = cl.loadClass("javassist.bytecode.annotation.MemberValue");
+ }
+ catch (ClassNotFoundException e)
+ {
+ throw new RuntimeException("Cannot load Javassist sys class.", e);
+ }
+ for (String className : JDK_CLASSES)
+ {
+ try
+ {
+ sysClass = cl.loadClass(className);
+ break;
+ }
+ catch (Throwable ignored)
+ {
+ }
+ }
+ if (sysClass == null) // hack
+ throw new RuntimeException("No such sys class available: " + Arrays.asList(JDK_CLASSES));
+ }
+
public SmokeAnnotationsScanningTestCase(String name)
{
super(name);
@@ -59,24 +88,16 @@
super.setUp();
Set<Class<?>> classes = AbstractJDKChecker.getExcluded();
- ClassLoader cl = getClass().getClassLoader();
- // jdk system
- Class<?> sysClass = cl.loadClass(sysClassName);
classes.add(sysClass);
- // javassist
- Class<?> javassistClass = cl.loadClass(sysJavassist);
- classes.add(javassistClass);
+ classes.add(sysJavassist);
}
@Override
protected void tearDown() throws Exception
{
Set<Class<?>> classes = AbstractJDKChecker.getExcluded();
- ClassLoader cl = getClass().getClassLoader();
- Class<?> sysClass = cl.loadClass(sysClassName);
classes.remove(sysClass);
- Class<?> javassistClass = cl.loadClass(sysJavassist);
- classes.remove(javassistClass);
+ classes.remove(sysJavassist);
super.tearDown();
}
@@ -90,15 +111,15 @@
try
{
DeploymentUnit unit = assertDeploy(jar);
-// AnnotationIndex ai = unit.getAttachment(AnnotationIndex.class);
-// assertNotNull(ai);
-// Set<Element<Annotation, Class<?>>> elementSet = ai.classIsAnnotatedWith(Classes.class.getName());
-// Element<Annotation, Class<?>> elt = elementSet.iterator().next();
-// Annotation ann = elt.getAnnotation();
-// Object value = ann.getClass().getMethod("value").invoke(ann);
-// Class[] classes = Class[].class.cast(value);
-// ClassLoader cl = classes[0].getClassLoader();
-// getLog().fatal("cl=" + cl);
+// AnnotationIndex ai = unit.getAttachment(AnnotationIndex.class);
+// assertNotNull(ai);
+// Set<Element<Annotation, Class<?>>> elementSet = ai.classIsAnnotatedWith(Classes.class.getName());
+// Element<Annotation, Class<?>> elt = elementSet.iterator().next();
+// Annotation ann = elt.getAnnotation();
+// Object value = ann.getClass().getMethod("value").invoke(ann);
+// Class[] classes = Class[].class.cast(value);
+// ClassLoader cl = classes[0].getClassLoader();
+// getLog().fatal("cl=" + cl);
fail("Should not be here.");
}
catch (Exception e)
More information about the jboss-cvs-commits
mailing list