[jboss-cvs] JBossAS SVN: r110039 - in projects/jboss-classpool/trunk: classpool/src/test/java/org/jboss/test/classpool/support and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Dec 20 08:47:33 EST 2010
Author: alesj
Date: 2010-12-20 08:47:32 -0500 (Mon, 20 Dec 2010)
New Revision: 110039
Modified:
projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java
projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java
projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java
projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/TestScenario.java
projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java
projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainTest.java
projects/jboss-classpool/trunk/pom.xml
projects/jboss-classpool/trunk/ucl/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java
Log:
Fix domain lookup issue.
Modified: projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java
===================================================================
--- projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java 2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassLoaderFactory.java 2010-12-20 13:47:32 UTC (rev 110039)
@@ -28,19 +28,27 @@
* Creates class loaders for {@link TestScenario}.
*
* @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
* @version $Revision$
*/
-
public interface ClassLoaderFactory<I extends ClassLoaderInfo>
{
/**
+ * A hack to make domain hierarchy work.
+ *
+ * @param name the domain name
+ * @throws Exception for any error
+ */
+ void createDomain(String name) throws Exception;
+
+ /**
* Creates a class loader.
*
* @param classLoaderInfo information necessary for the creation of the class loader
* @return the created class loader
* @throws Exception if an unexpected error occurs
*/
- public ClassLoader create(I classLoaderInfo) throws Exception;
+ ClassLoader create(I classLoaderInfo) throws Exception;
/**
* Destroys the created class loader.
@@ -48,12 +56,12 @@
* @param classLoaderInfo identifies the class loader to be destroyed
* @throws Exception if an unexpected error occurs
*/
- public void destroy(I classLoaderInfo) throws Exception;
+ void destroy(I classLoaderInfo) throws Exception;
/**
* Destroys all class loaders that have been created by this factory so far.
*/
- public void destroyAll();
+ void destroyAll();
/**
* Retrieves a class loader that has been previously created.
@@ -62,7 +70,7 @@
* @return the class loader corresponding to {@code classLoaderInfo}
* @throws Exception if an unexpected error occurs
*/
- public ClassLoader retrieve(I classLoaderInfo) throws Exception;
+ ClassLoader retrieve(I classLoaderInfo) throws Exception;
/**
* Retrieves all class loaders that have been created so far.
@@ -70,7 +78,7 @@
* @return a collection with all class loaders that have been created (excluding the ones
* that have been destroyed)
*/
- public Collection<ClassLoader> retrieveAll();
+ Collection<ClassLoader> retrieveAll();
/**
* Checks whether the class loader corresponding to {@code classLoaderInfo} is available
@@ -81,5 +89,5 @@
* and has not been destroyed
* @throws Exception if an unexpected error occurs
*/
- public boolean isAvailable(I classLoaderInfo) throws Exception;
+ boolean isAvailable(I classLoaderInfo) throws Exception;
}
\ No newline at end of file
Modified: projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java
===================================================================
--- projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java 2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/ClassPoolTestScenario.java 2010-12-20 13:47:32 UTC (rev 110039)
@@ -26,15 +26,14 @@
import java.util.List;
import java.util.Map;
-import junit.framework.Assert;
+import org.jboss.classpool.spi.AbstractClassPoolFactory;
+import org.jboss.classpool.spi.ClassPoolRepository;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.NotFoundException;
+import junit.framework.Assert;
-import org.jboss.classpool.spi.AbstractClassPoolFactory;
-import org.jboss.classpool.spi.ClassPoolRepository;
-
/**
* This scenario is used by class pool test cases. All the operations performed using this
* scenario are executed over CtClasses and ClassPools.
@@ -73,7 +72,7 @@
super(classLoaderFactory);
repository = classPoolRepository;
}
-
+
@Override
public ClassPool getLoader(CtClass clazz)
{
Modified: projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java
===================================================================
--- projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java 2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/SanityTestScenario.java 2010-12-20 13:47:32 UTC (rev 110039)
@@ -45,7 +45,7 @@
{
super(classLoaderFactory);
}
-
+
@Override
public ClassLoader getLoader(Class<?> clazz)
{
Modified: projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/TestScenario.java
===================================================================
--- projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/TestScenario.java 2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/classpool/src/test/java/org/jboss/test/classpool/support/TestScenario.java 2010-12-20 13:47:32 UTC (rev 110039)
@@ -35,6 +35,7 @@
* @param <I> the ClassLoaderInfo that will be used to create class loaders for this scenario
*
* @author <a href="mailto:flavia.rainone at jboss.com">Flavia Rainone</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
* @version $Revision$
* @see SanityTestScenario
* @see ClassPoolTestScenario
@@ -54,8 +55,19 @@
{
this.classLoaderFactory = classLoaderFactory;
}
-
+
/**
+ * A hack to make domain hierarchy work.
+ *
+ * @param name the domain name
+ * @throws Exception for any error
+ */
+ public void createDomain(String name) throws Exception
+ {
+ classLoaderFactory.createDomain(name);
+ }
+
+ /**
* Creates a loader.
*
* @param classLoaderBuilder contains all the info necessary for the creation of a loader
Modified: projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java
===================================================================
--- projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java 2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/support/JBossCLFactory.java 2010-12-20 13:47:32 UTC (rev 110039)
@@ -24,10 +24,9 @@
import java.util.Collection;
import java.util.Map;
-import junit.framework.Assert;
-
import org.jboss.classloader.spi.ClassLoaderDomain;
import org.jboss.classloader.spi.ClassLoaderSystem;
+import org.jboss.classloader.spi.ParentPolicy;
import org.jboss.classloader.spi.base.BaseClassLoader;
import org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory;
import org.jboss.classpool.plugins.jbosscl.VFSClassLoaderDomainRegistry;
@@ -36,10 +35,13 @@
import org.jboss.test.AbstractTestCase;
import org.jboss.test.classpool.support.ClassLoaderFactory;
+import junit.framework.Assert;
+
/**
* Creates JBoss Class Loaders (AS5 and newer).
*
* @author <a href="mailto:flavia.rainone at jboss.org">Flavia Rainone</a>
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
* @version $Revision$
*/
public class JBossCLFactory implements ClassLoaderFactory<CLDeploymentBuilder>
@@ -66,7 +68,16 @@
domainRegistry = (VFSClassLoaderDomainRegistry) mc.getBean("ClassLoaderScopingPolicy");
this.loaderRegistry = new LoaderRegistry(mc);
}
-
+
+ public void createDomain(String name) throws Exception
+ {
+ if (system.isRegistered(name) == false)
+ {
+ ClassLoaderDomain dd = system.getDefaultDomain();
+ system.createAndRegisterDomain(name, ParentPolicy.BEFORE, dd);
+ }
+ }
+
public synchronized ClassLoader create(CLDeploymentBuilder classLoaderBuilder) throws Exception
{
KernelDeployment deployment = classLoaderBuilder.createDeployment();
Modified: projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainTest.java
===================================================================
--- projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainTest.java 2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/jbosscl/src/test/java/org/jboss/test/classpool/jbosscl/test/HierarchicalDomainTest.java 2010-12-20 13:47:32 UTC (rev 110039)
@@ -21,16 +21,14 @@
*/
package org.jboss.test.classpool.jbosscl.test;
+import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
+import org.jboss.test.classpool.jbosscl.support.NoSuchClassLoaderException;
+
import static org.jboss.classloader.spi.ClassLoaderSystem.DEFAULT_DOMAIN_NAME;
import static org.jboss.test.classpool.jbosscl.support.SupportArchives.JAR_A_URL;
import static org.jboss.test.classpool.jbosscl.support.SupportArchives.JAR_B_URL;
-import static org.jboss.test.classpool.jbosscl.support.SupportClasses.CLASS_A;
-import static org.jboss.test.classpool.jbosscl.support.SupportClasses.CLASS_B;
-import static org.jboss.test.classpool.jbosscl.support.SupportClasses.PACKAGE_A;
+import static org.jboss.test.classpool.jbosscl.support.SupportClasses.*;
-import org.jboss.test.classpool.jbosscl.support.CLDeploymentBuilder;
-import org.jboss.test.classpool.jbosscl.support.NoSuchClassLoaderException;
-
/**
* Reproduces org.jboss.test.classloading.dependency.test.HierarchicalDomainUnitTestCase using
* our test framework.
@@ -136,6 +134,9 @@
testScenario.cannotGetLoader(childCLBuilder);
CLDeploymentBuilder parentCLBuilder = createParentCLBuilderWithDomain();
+
+ testScenario.createDomain(PARENT_DOMAIN);
+
L parentLoader = testScenario.createLoader(parentCLBuilder);
assertCanLoadAButNotB(parentLoader);
@@ -155,6 +156,9 @@
testScenario.cannotGetLoader(childCLBuilder);
CLDeploymentBuilder parentCLBuilder = createParentCLBuilderWithDomain();
+
+ testScenario.createDomain(PARENT_DOMAIN);
+
L parentLoader = testScenario.createLoader(parentCLBuilder);
assertCanLoadAButNotB(parentLoader);
@@ -164,8 +168,7 @@
assertRedeploy(childCLBuilder, parentCLBuilder);
}
- private void testParentTwoChildren(boolean parentFirst, boolean childImportAll)
- throws NoSuchClassLoaderException, Exception
+ private void testParentTwoChildren(boolean parentFirst, boolean childImportAll) throws Exception
{
CLDeploymentBuilder parentCLBuilder = createParentCLBuilder();
L parentLoader = testScenario.createLoader(parentCLBuilder);
@@ -228,7 +231,7 @@
private void assertRedeploy(CLDeploymentBuilder childCLBuilder,
CLDeploymentBuilder parentCLBuilder)
- throws NoSuchClassLoaderException, Exception
+ throws Exception
{
L parentLoader;
L childLoader;
Modified: projects/jboss-classpool/trunk/pom.xml
===================================================================
--- projects/jboss-classpool/trunk/pom.xml 2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/pom.xml 2010-12-20 13:47:32 UTC (rev 110039)
@@ -30,13 +30,13 @@
<version.javassist>3.12.0.GA</version.javassist>
<version.org.jboss.common>2.2.17.GA</version.org.jboss.common>
<version.org.jboss.logging>2.2.0.CR1</version.org.jboss.logging>
- <version.org.jboss.mdr>2.2.0.Alpha2</version.org.jboss.mdr>
+ <version.org.jboss.mdr>2.2.0.Alpha3</version.org.jboss.mdr>
<version.org.jboss.jmx>6.0.0.20100216-M2</version.org.jboss.jmx>
- <version.org.jboss.vfs>3.0.0.CR3</version.org.jboss.vfs>
+ <version.org.jboss.vfs>3.0.0.CR5</version.org.jboss.vfs>
<version.org.jboss.man>2.1.1.SP1</version.org.jboss.man>
- <version.org.jboss.cl>2.2.0.Alpha3</version.org.jboss.cl>
- <version.org.jboss.kernel>2.2.0.Alpha8</version.org.jboss.kernel>
- <version.org.jboss.deployers>2.2.0.Alpha3</version.org.jboss.deployers>
+ <version.org.jboss.cl>2.2.0.Alpha9</version.org.jboss.cl>
+ <version.org.jboss.kernel>2.2.0.Alpha10</version.org.jboss.kernel>
+ <version.org.jboss.deployers>2.2.0.Alpha8</version.org.jboss.deployers>
<version.org.jboss.test>1.1.5.GA</version.org.jboss.test>
<version.junit>4.8.1</version.junit>
<version.jaxb>2.1.9</version.jaxb>
Modified: projects/jboss-classpool/trunk/ucl/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java
===================================================================
--- projects/jboss-classpool/trunk/ucl/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java 2010-12-20 09:09:39 UTC (rev 110038)
+++ projects/jboss-classpool/trunk/ucl/src/test/java/org/jboss/test/classpool/ucl/support/UCLFactory.java 2010-12-20 13:47:32 UTC (rev 110039)
@@ -21,17 +21,15 @@
*/
package org.jboss.test.classpool.ucl.support;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+
import java.io.File;
import java.io.FilenameFilter;
import java.util.Collection;
import java.util.HashSet;
import java.util.Set;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-
-import junit.framework.Assert;
-
import org.jboss.classpool.spi.ClassPoolRepository;
import org.jboss.mx.loading.LoaderRepository;
import org.jboss.mx.loading.RepositoryClassLoader;
@@ -40,6 +38,8 @@
import org.jboss.test.classpool.support.ClassLoaderFactory;
import org.jboss.util.NotImplementedException;
+import junit.framework.Assert;
+
/**
* A factory of Unified Class Loaders.
*
@@ -83,6 +83,11 @@
}
}
+ public void createDomain(String name) throws Exception
+ {
+ // TODO?
+ }
+
public ClassLoader create(UCLInfo uclInfo) throws Exception
{
ClassLoader classLoader = uclInfo.create(globalRepository);
More information about the jboss-cvs-commits
mailing list