[jboss-cvs] JBossAS SVN: r96176 - in projects/jboss-cl/branches/Branch_2_0: classloading/src/test/java/org/jboss/test/classloading/metadata/test and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Nov 9 09:29:37 EST 2009
Author: adrian at jboss.org
Date: 2009-11-09 09:29:36 -0500 (Mon, 09 Nov 2009)
New Revision: 96176
Added:
projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleTopLevelClassLoader.xml
Modified:
projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/resources/schema/jboss-classloading-1.0.xsd
projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java
projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java
projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java
projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingMetaDataXmlUnitTestCase.java
Log:
[JBCL-125] - Make subdeployment top level classloader construction explicit configuration
Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java 2009-11-09 14:27:41 UTC (rev 96175)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java 2009-11-09 14:29:36 UTC (rev 96176)
@@ -51,6 +51,9 @@
/** The parent domain */
private String parentDomain;
+ /** Whether to make a subdeployment classloader a top-level classloader */
+ private boolean topLevelClassLoader = false;
+
/** Whether to enforce j2se classloading compliance */
private boolean j2seClassLoadingCompliance = true;
@@ -135,6 +138,28 @@
}
/**
+ * Get the topLevelClassLoader.
+ *
+ * @return the topLevelClassLoader.
+ */
+ public boolean isTopLevelClassLoader()
+ {
+ return topLevelClassLoader;
+ }
+
+ /**
+ * Set the topLevelClassLoader.
+ *
+ * @param topLevelClassLoader the topLevelClassLoader.
+ */
+ @ManagementProperty
+ @XmlAttribute(name="top-level-classloader")
+ public void setTopLevelClassLoader(boolean topLevelClassLoader)
+ {
+ this.topLevelClassLoader = topLevelClassLoader;
+ }
+
+ /**
* Get the exportAll.
*
* @return the exportAll.
Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java 2009-11-09 14:27:41 UTC (rev 96175)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java 2009-11-09 14:29:36 UTC (rev 96176)
@@ -68,7 +68,7 @@
{
ManagedObject result = moFactory.initManagedObject(test, null, null);
assertNotNull(result);
- List<String> expectedProperties = Arrays.asList("name", "version", "domain", "parentDomain", "exportAll", "included", "excluded", "excludedExport", "importAll", "parentFirst", "cache", "blackList", "capabilities", "requirements");
+ List<String> expectedProperties = Arrays.asList("name", "version", "domain", "parentDomain", "topLevelClassLoader", "exportAll", "included", "excluded", "excludedExport", "importAll", "parentFirst", "cache", "blackList", "capabilities", "requirements");
Set<String> actualProperties = result.getPropertyNames();
for (String expected : expectedProperties)
{
@@ -110,6 +110,7 @@
assertManagedProperty(mo, "version", Version.class, Version.DEFAULT_VERSION);
assertManagedProperty(mo, "domain", String.class, null);
assertManagedProperty(mo, "parentDomain", String.class, null);
+ assertManagedProperty(mo, "topLevelClassLoader", boolean.class, false);
assertManagedProperty(mo, "exportAll", ExportAll.class, null);
assertManagedProperty(mo, "included", String.class, null);
assertManagedProperty(mo, "excluded", String.class, null);
@@ -152,6 +153,14 @@
assertManagedProperty(mo, "parentDomain", String.class, "parentDomain");
}
+ public void testSetTopLevelClassLoader() throws Exception
+ {
+ ClassLoadingMetaData test = new ClassLoadingMetaData();
+ test.setTopLevelClassLoader(true);
+ ManagedObject mo = assertManagedObject(test);
+ assertManagedProperty(mo, "topLevelClassLoader", boolean.class, true);
+ }
+
public void testSetExportAll() throws Exception
{
ClassLoadingMetaData test = new ClassLoadingMetaData();
Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingMetaDataXmlUnitTestCase.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingMetaDataXmlUnitTestCase.java 2009-11-09 14:27:41 UTC (rev 96175)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingMetaDataXmlUnitTestCase.java 2009-11-09 14:29:36 UTC (rev 96176)
@@ -63,6 +63,7 @@
assertEquals(Version.DEFAULT_VERSION, result.getVersion());
assertNull(result.getDomain());
assertNull(result.getParentDomain());
+ assertFalse(result.isTopLevelClassLoader());
assertNull(result.getExportAll());
assertNull(result.getIncludedPackages());
assertNull(result.getExcludedPackages());
@@ -93,6 +94,12 @@
assertEquals("testParentDomain", result.getParentDomain());
}
+ public void testModuleTopLevelClassLoader() throws Exception
+ {
+ ClassLoadingMetaData result = unmarshal();
+ assertTrue(result.isTopLevelClassLoader());
+ }
+
public void testModuleExportAll() throws Exception
{
ClassLoadingMetaData result = unmarshal();
Added: projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleTopLevelClassLoader.xml
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleTopLevelClassLoader.xml (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleTopLevelClassLoader.xml 2009-11-09 14:29:36 UTC (rev 96176)
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<classloading xmlns="urn:jboss:classloading:1.0"
+ name="test"
+ top-level-classloader="true">
+</classloading>
Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/resources/schema/jboss-classloading-1.0.xsd
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/resources/schema/jboss-classloading-1.0.xsd 2009-11-09 14:27:41 UTC (rev 96175)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/resources/schema/jboss-classloading-1.0.xsd 2009-11-09 14:29:36 UTC (rev 96176)
@@ -91,6 +91,17 @@
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
+ <xsd:attribute name="top-level-classloader" type="xsd:boolean" use="optional">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ Whether a subdeployment classloader should be a top level classloader,
+ the default is false. This value is ignored when not specified against
+ a subdeployment.
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
<xsd:attribute name="parent-first" type="xsd:boolean" use="optional">
<xsd:annotation>
<xsd:documentation>
Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java 2009-11-09 14:27:41 UTC (rev 96175)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java 2009-11-09 14:29:36 UTC (rev 96176)
@@ -70,7 +70,7 @@
{
ManagedObject result = moFactory.initManagedObject(test, null, null);
assertNotNull(result);
- List<String> expectedProperties = Arrays.asList("name", "version", "context", "domain", "parentDomain", "exportAll", "included", "excluded", "excludedExport", "importAll", "parentFirst", "cache", "blackList", "system", "roots", "capabilities", "requirements");
+ List<String> expectedProperties = Arrays.asList("name", "version", "context", "domain", "parentDomain", "topLevelClassLoader", "exportAll", "included", "excluded", "excludedExport", "importAll", "parentFirst", "cache", "blackList", "system", "roots", "capabilities", "requirements");
Set<String> actualProperties = result.getPropertyNames();
for (String expected : expectedProperties)
{
@@ -117,6 +117,7 @@
assertManagedProperty(mo, "version", Version.class, Version.DEFAULT_VERSION);
assertManagedProperty(mo, "domain", String.class, null);
assertManagedProperty(mo, "parentDomain", String.class, null);
+ assertManagedProperty(mo, "topLevelClassLoader", boolean.class, false);
assertManagedProperty(mo, "exportAll", ExportAll.class, null);
assertManagedProperty(mo, "included", String.class, null);
assertManagedProperty(mo, "excluded", String.class, null);
@@ -167,6 +168,14 @@
assertManagedProperty(mo, "parentDomain", String.class, "parentDomain");
}
+ public void testSetTopLevelClassLoader() throws Exception
+ {
+ VFSClassLoaderFactory test = new VFSClassLoaderFactory();
+ test.setTopLevelClassLoader(true);
+ ManagedObject mo = assertManagedObject(test);
+ assertManagedProperty(mo, "topLevelClassLoader", boolean.class, true);
+ }
+
public void testSetExportAll() throws Exception
{
VFSClassLoaderFactory test = new VFSClassLoaderFactory();
More information about the jboss-cvs-commits
mailing list