[Jboss-cvs] JBossAS SVN: r56418 - in branches/MC_VDF_WORK/system-jmx: . src/tests/org/jboss/test/classloading src/tests-support/org/jboss/test/support src/tests-support/org/jboss/test/support/jar1 src/tests-support/org/jboss/test/support/jar1/simple1
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Aug 29 17:30:37 EDT 2006
Author: scott.stark at jboss.org
Date: 2006-08-29 17:30:31 -0400 (Tue, 29 Aug 2006)
New Revision: 56418
Added:
branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/jar1/
branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/jar1/simple1/
Removed:
branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/simple1/
Modified:
branches/MC_VDF_WORK/system-jmx/build-support-jars.xml
branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/jar1/simple1/Bean1.java
branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/jar1/simple1/ISimpleBean.java
branches/MC_VDF_WORK/system-jmx/src/tests/org/jboss/test/classloading/UCLDomainClassLoaderTest.java
Log:
Segment the support classes into packages that match their jar
Modified: branches/MC_VDF_WORK/system-jmx/build-support-jars.xml
===================================================================
--- branches/MC_VDF_WORK/system-jmx/build-support-jars.xml 2006-08-29 21:29:13 UTC (rev 56417)
+++ branches/MC_VDF_WORK/system-jmx/build-support-jars.xml 2006-08-29 21:30:31 UTC (rev 56418)
@@ -4,7 +4,7 @@
<property name="build.test.lib" value="output/test-lib" />
<target name="jars" description="Build the tests-support tree jars"
- depends="simple1.jar" />
+ depends="jar1.jar" />
<macrodef name="build-test-jar" description="build a jar from a name patter">
<attribute name="name" description="Basename for jar/package" />
@@ -18,7 +18,7 @@
</sequential>
</macrodef>
- <target name="simple1.jar">
- <build-test-jar name="simple1" />
+ <target name="jar1.jar">
+ <build-test-jar name="jar1" />
</target>
</project>
\ No newline at end of file
Modified: branches/MC_VDF_WORK/system-jmx/src/tests/org/jboss/test/classloading/UCLDomainClassLoaderTest.java
===================================================================
--- branches/MC_VDF_WORK/system-jmx/src/tests/org/jboss/test/classloading/UCLDomainClassLoaderTest.java 2006-08-29 21:29:13 UTC (rev 56417)
+++ branches/MC_VDF_WORK/system-jmx/src/tests/org/jboss/test/classloading/UCLDomainClassLoaderTest.java 2006-08-29 21:30:31 UTC (rev 56418)
@@ -22,6 +22,8 @@
package org.jboss.test.classloading;
import java.net.URL;
+import java.util.ArrayList;
+import java.util.Arrays;
import org.jboss.test.AbstractSystemTest;
import org.jboss.mx.loading.DomainClassLoaderUCLImpl;
@@ -42,13 +44,13 @@
}
/**
- * Test that classes in
+ * Basic test of loading classes from /simple1.jar
* @throws Exception
*/
public void testSimple1Jar()
throws Exception
{
- String beanClassName = "org.jboss.test.support.simple1.Bean1";
+ String beanClassName = "org.jboss.test.support.jar1.simple1.Bean1";
// Assert that Bean1 is not visible to this test class loader
ClassLoader tcl = Thread.currentThread().getContextClassLoader();
try
@@ -60,14 +62,58 @@
{
}
- URL simple1Jar = super.getResource("/simple1.jar");
- assertNotNull("simple1.jar", simple1Jar);
- getLog().info("Using simple1.jar: "+simple1Jar);
- DomainClassLoaderUCLImpl loader = new DomainClassLoaderUCLImpl(simple1Jar);
UnifiedLoaderRepositoryDCL repository = new UnifiedLoaderRepositoryDCL();
- repository.addClassLoader(loader);
+ URL[] cp = buildClasspath("/jar1.jar");
+ getLog().info("Using classpath: "+Arrays.asList(cp));
+ DomainClassLoaderUCLImpl loader = new DomainClassLoaderUCLImpl(cp, repository);
Class beanClass = repository.loadClass(beanClassName);
assertNotNull(beanClass);
getLog().info(beanClass+", PD: "+beanClass.getProtectionDomain());
}
+
+ /**
+ * Basic test of loading classes in /simple2.jar which has a Class-Path
+ * manifest entry pointing to /simple1.jar
+ *
+ * @throws Exception
+ */
+ public void testSimple2JarWithManifestCP()
+ throws Exception
+ {
+ String beanClassName = "org.jboss.test.support.jar1.simple1.Bean1";
+ // Assert that Bean1 is not visible to this test class loader
+ ClassLoader tcl = Thread.currentThread().getContextClassLoader();
+ try
+ {
+ Class beanClass = tcl.loadClass(beanClassName);
+ fail("Was able to find "+beanClassName+", "+beanClass.getProtectionDomain());
+ }
+ catch(ClassNotFoundException e)
+ {
+ }
+
+ UnifiedLoaderRepositoryDCL repository = new UnifiedLoaderRepositoryDCL();
+ URL[] cp = buildClasspath("/jar1.jar");
+ getLog().info("Using classpath: "+Arrays.asList(cp));
+ DomainClassLoaderUCLImpl loader = new DomainClassLoaderUCLImpl(cp, repository);
+ Class beanClass = repository.loadClass(beanClassName);
+ assertNotNull(beanClass);
+ getLog().info(beanClass+", PD: "+beanClass.getProtectionDomain());
+ }
+
+ private URL[] buildClasspath(String... jars)
+ {
+ ArrayList<URL> cp = new ArrayList<URL>();
+ for(String jar : jars)
+ {
+ // This needs to use the fully pathname syntax
+ URL jarURL = super.getResource(jar);
+ if( jarURL == null )
+ fail("Failed to find resource for jar: "+jar);
+ cp.add(jarURL);
+ }
+ URL[] tmp = new URL[cp.size()];
+ cp.toArray(tmp);
+ return tmp;
+ }
}
Copied: branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/jar1/simple1 (from rev 56414, branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/simple1)
Modified: branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/jar1/simple1/Bean1.java
===================================================================
--- branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/simple1/Bean1.java 2006-08-29 20:09:43 UTC (rev 56414)
+++ branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/jar1/simple1/Bean1.java 2006-08-29 21:30:31 UTC (rev 56418)
@@ -19,7 +19,7 @@
* 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.support.simple1;
+package org.jboss.test.support.jar1.simple1;
import java.math.BigDecimal;
import java.math.BigInteger;
Modified: branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/jar1/simple1/ISimpleBean.java
===================================================================
--- branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/simple1/ISimpleBean.java 2006-08-29 20:09:43 UTC (rev 56414)
+++ branches/MC_VDF_WORK/system-jmx/src/tests-support/org/jboss/test/support/jar1/simple1/ISimpleBean.java 2006-08-29 21:30:31 UTC (rev 56418)
@@ -1,5 +1,5 @@
-package org.jboss.test.support.simple1;
+package org.jboss.test.support.jar1.simple1;
import java.math.BigDecimal;
import java.math.BigInteger;
More information about the jboss-cvs-commits
mailing list