[jboss-cvs] JBossAS SVN: r108556 - in projects/jboss-cl/trunk: classloading/src/main/java/org/jboss/classloading/spi/metadata and 3 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Oct 13 13:21:07 EDT 2010
Author: alesj
Date: 2010-10-13 13:21:06 -0400 (Wed, 13 Oct 2010)
New Revision: 108556
Added:
projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/DomainUseLoadClassForParent.xml
Modified:
projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java
projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingDomainMetaData.java
projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingDomainMetaDataUnitTestCase.java
projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingDomainMetaDataXmlUnitTestCase.java
Log:
[JBCL-176]; useLoadClassForParent tests.
Overload methods on CLSystem.
Modified: projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java 2010-10-13 16:07:26 UTC (rev 108555)
+++ projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/ClassLoaderSystem.java 2010-10-13 17:21:06 UTC (rev 108556)
@@ -21,23 +21,15 @@
*/
package org.jboss.classloader.spi;
-import java.security.ProtectionDomain;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CopyOnWriteArrayList;
-
import javax.management.MBeanRegistration;
import javax.management.MBeanServer;
import javax.management.MalformedObjectNameException;
import javax.management.ObjectName;
+import java.security.ProtectionDomain;
+import java.util.*;
+import java.util.concurrent.CopyOnWriteArrayList;
+
import org.jboss.classloader.plugins.system.ClassLoaderSystemBuilder;
import org.jboss.classloader.spi.base.BaseClassLoaderSystem;
import org.jboss.classloader.spi.translator.TranslatorUtils;
@@ -211,12 +203,49 @@
*/
public ClassLoaderDomain createAndRegisterDomain(String name, ParentPolicy parentPolicy, Loader parent)
{
+ return createAndRegisterDomain(name, parentPolicy, parent, null);
+ }
+
+ /**
+ * Create and register a domain with the given parent classloading policy
+ *
+ * @param name the name of the domain
+ * @param parentPolicy the parent classloading policy
+ * @param parent the parent
+ * @param shutdownPolicy the shutdown policy
+ * @return the domain
+ * @throws IllegalArgumentException for a null argument
+ * @throws IllegalStateException if there already is a domain with that name
+ */
+ public ClassLoaderDomain createAndRegisterDomain(String name, ParentPolicy parentPolicy, Loader parent, ShutdownPolicy shutdownPolicy)
+ {
+ return createAndRegisterDomain(name, parentPolicy, parent, shutdownPolicy, null);
+ }
+
+ /**
+ * Create and register a domain with the given parent classloading policy
+ *
+ * @param name the name of the domain
+ * @param parentPolicy the parent classloading policy
+ * @param parent the parent
+ * @param shutdownPolicy the shutdown policy
+ * @param useLoadClassForParent the use classloader for parent flag
+ * @return the domain
+ * @throws IllegalArgumentException for a null argument
+ * @throws IllegalStateException if there already is a domain with that name
+ */
+ public ClassLoaderDomain createAndRegisterDomain(String name, ParentPolicy parentPolicy, Loader parent, ShutdownPolicy shutdownPolicy, Boolean useLoadClassForParent)
+ {
ClassLoaderDomain result = createDomain(name);
if (result == null)
throw new IllegalArgumentException("Created null domain: " + name);
+ if (useLoadClassForParent != null)
+ result.setUseLoadClassForParent(useLoadClassForParent);
result.setParentPolicy(parentPolicy);
result.setParent(parent);
+ if (shutdownPolicy != null)
+ result.setShutdownPolicy(shutdownPolicy);
registerDomain(result);
return result;
}
Modified: projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingDomainMetaData.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingDomainMetaData.java 2010-10-13 16:07:26 UTC (rev 108555)
+++ projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingDomainMetaData.java 2010-10-13 17:21:06 UTC (rev 108556)
@@ -54,6 +54,9 @@
/** The shutdown policy */
private ShutdownPolicy shutdownPolicy;
+ /** The use load class for parent */
+ private Boolean useLoadClassForParent;
+
// ignore the version property
public void setTheVersion(Version version)
{
@@ -147,6 +150,18 @@
this.shutdownPolicy = shutdownPolicy;
}
+ public Boolean getUseLoadClassForParent()
+ {
+ return useLoadClassForParent;
+ }
+
+ @XmlAttribute
+ @ManagementProperty
+ public void setUseLoadClassForParent(Boolean useLoadClassForParent)
+ {
+ this.useLoadClassForParent = useLoadClassForParent;
+ }
+
@Override
public String toString()
{
@@ -177,6 +192,7 @@
builder.append(" parent-policy=").append(parentPolicy);
if (shutdownPolicy != null)
builder.append(" ").append(shutdownPolicy);
+ builder.append(" use-load-class-for-parent=").append(useLoadClassForParent);
}
@Override
@@ -197,6 +213,8 @@
return false;
if (equals(this.getShutdownPolicy(), other.getShutdownPolicy()) == false)
return false;
+ if (equals(this.getUseLoadClassForParent(), other.getUseLoadClassForParent()) == false)
+ return false;
return true;
}
Modified: projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingDomainMetaDataUnitTestCase.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingDomainMetaDataUnitTestCase.java 2010-10-13 16:07:26 UTC (rev 108555)
+++ projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingDomainMetaDataUnitTestCase.java 2010-10-13 17:21:06 UTC (rev 108556)
@@ -64,7 +64,7 @@
{
ManagedObject result = moFactory.initManagedObject(test, null, null);
assertNotNull(result);
- List<String> expectedProperties = Arrays.asList("name", "parentDomain", "parentPolicy", "shutdown");
+ List<String> expectedProperties = Arrays.asList("name", "parentDomain", "parentPolicy", "shutdown", "useLoadClassForParent");
Set<String> actualProperties = result.getPropertyNames();
for (String expected : expectedProperties)
{
@@ -107,6 +107,7 @@
assertManagedProperty(mo, "parentDomain", String.class, null);
assertManagedProperty(mo, "parentPolicy", ParentPolicyMetaData.class, new ParentPolicyMetaData());
assertManagedProperty(mo, "shutdown", ShutdownPolicy.class, null);
+ assertManagedProperty(mo, "useLoadClassForParent", Boolean.class, null);
}
public void testSetName() throws Exception
@@ -140,4 +141,12 @@
ManagedObject mo = assertManagedObject(test);
assertManagedProperty(mo, "shutdown", ShutdownPolicy.class, ShutdownPolicy.GARBAGE_COLLECTION);
}
+
+ public void testSetUseLoadClassForParent() throws Exception
+ {
+ ClassLoadingDomainMetaData test = new ClassLoadingDomainMetaData();
+ test.setUseLoadClassForParent(true);
+ ManagedObject mo = assertManagedObject(test);
+ assertManagedProperty(mo, "useLoadClassForParent", Boolean.class, true);
+ }
}
Modified: projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingDomainMetaDataXmlUnitTestCase.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingDomainMetaDataXmlUnitTestCase.java 2010-10-13 16:07:26 UTC (rev 108555)
+++ projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingDomainMetaDataXmlUnitTestCase.java 2010-10-13 17:21:06 UTC (rev 108556)
@@ -114,6 +114,12 @@
assertEquals(ShutdownPolicy.GARBAGE_COLLECTION, result.getShutdownPolicy());
}
+ public void testDomainUseLoadClassForParent() throws Exception
+ {
+ ClassLoadingDomainMetaData result = unmarshal();
+ assertTrue(result.getUseLoadClassForParent());
+ }
+
public void assertEqualStrings(String[] expected, Object result)
{
assertNotNull(expected);
Copied: projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/DomainUseLoadClassForParent.xml (from rev 108545, projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/DomainShutdown.xml)
===================================================================
--- projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/DomainUseLoadClassForParent.xml (rev 0)
+++ projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/DomainUseLoadClassForParent.xml 2010-10-13 17:21:06 UTC (rev 108556)
@@ -0,0 +1,3 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<classloading-domain xmlns="urn:jboss:classloading:1.0" name="test" use-load-class-for-parent="true"/>
More information about the jboss-cvs-commits
mailing list