[jboss-cvs] JBossAS SVN: r108518 - in projects/jboss-cl/trunk: classloading/src/main/java/org/jboss/classloading/spi/helpers and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Oct 12 08:16:19 EDT 2010
Author: alesj
Date: 2010-10-12 08:16:19 -0400 (Tue, 12 Oct 2010)
New Revision: 108518
Added:
projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/FilterMetaData.java
projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ParentPolicyMetaData.java
Modified:
projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java
projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/dependency/helpers/ClassLoadingMetaDataModule.java
projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/helpers/NameAndVersionSupport.java
projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java
projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.java
projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java
projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingMetaDataXmlUnitTestCase.java
Log:
[JBCL-176]; initial work on declarative domain config.
Modified: projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/dependency/helpers/ClassLoadingMetaDataModule.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/dependency/helpers/ClassLoadingMetaDataModule.java 2010-10-12 12:00:30 UTC (rev 108517)
+++ projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/dependency/helpers/ClassLoadingMetaDataModule.java 2010-10-12 12:16:19 UTC (rev 108518)
@@ -23,18 +23,21 @@
import java.util.List;
+import org.jboss.classloader.spi.ParentPolicy;
import org.jboss.classloader.spi.ShutdownPolicy;
import org.jboss.classloader.spi.filter.ClassFilter;
import org.jboss.classloading.spi.dependency.Module;
import org.jboss.classloading.spi.metadata.Capability;
import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.metadata.ParentPolicyMetaData;
import org.jboss.classloading.spi.metadata.Requirement;
/**
* ClassLoadingMetaDataModule.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision: 1.1 $
*/
public abstract class ClassLoadingMetaDataModule extends Module
@@ -157,6 +160,15 @@
return classLoadingMetaData.isJ2seClassLoadingCompliance();
}
+ public ParentPolicy getDeterminedParentPolicy()
+ {
+ ParentPolicyMetaData ppmd = classLoadingMetaData.getParentPolicy();
+ if (ppmd != null)
+ return ppmd.createParentPolicy();
+ else
+ return super.getDeterminedParentPolicy();
+ }
+
@Override
public boolean isCacheable()
{
Modified: projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/helpers/NameAndVersionSupport.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/helpers/NameAndVersionSupport.java 2010-10-12 12:00:30 UTC (rev 108517)
+++ projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/helpers/NameAndVersionSupport.java 2010-10-12 12:16:19 UTC (rev 108518)
@@ -21,11 +21,11 @@
*/
package org.jboss.classloading.spi.helpers;
-import java.io.Serializable;
-
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlTransient;
+import java.io.Serializable;
+
import org.jboss.classloading.spi.version.Version;
import org.jboss.classloading.spi.version.VersionComparatorRegistry;
import org.jboss.managed.api.annotation.ManagementProperty;
@@ -192,8 +192,7 @@
{
try
{
- NameAndVersionSupport clone = (NameAndVersionSupport) super.clone();
- return clone;
+ return (NameAndVersionSupport) super.clone();
}
catch (CloneNotSupportedException e)
{
Modified: projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java 2010-10-12 12:00:30 UTC (rev 108517)
+++ projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java 2010-10-12 12:16:19 UTC (rev 108518)
@@ -21,11 +21,11 @@
*/
package org.jboss.classloading.spi.metadata;
-import java.util.List;
-
import javax.xml.bind.annotation.XmlAttribute;
import javax.xml.bind.annotation.XmlTransient;
+import java.util.List;
+
import org.jboss.classloader.plugins.filter.CombiningClassFilter;
import org.jboss.classloader.spi.ShutdownPolicy;
import org.jboss.classloader.spi.filter.ClassFilter;
@@ -38,9 +38,8 @@
/**
* ClassLoadingMetaData.
*
- * [TODO] Add meaningful javadoc
- *
* @author <a href="adrian at jboss.org">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision: 1.1 $
*/
@ManagementObject(properties=ManagementProperties.EXPLICIT, name="org.jboss.classloading.spi.metadata.ClassLoadingMetaData")
@@ -99,7 +98,10 @@
/** The capabilities */
private CapabilitiesMetaData capabilities = new CapabilitiesMetaData();
-
+
+ /** The parent policy */
+ private ParentPolicyMetaData parentPolicy;
+
/**
* Get the domain.
*
@@ -523,7 +525,28 @@
this.requirements.setRequirements(requirements);
}
- @Override
+ /**
+ * Get parent policy.
+ *
+ * @return the parent policy
+ */
+ public ParentPolicyMetaData getParentPolicy()
+ {
+ return parentPolicy;
+ }
+
+ /**
+ * Set parent policy.
+ *
+ * @param parentPolicy the parent policy
+ */
+ @ManagementProperty
+ public void setParentPolicy(ParentPolicyMetaData parentPolicy)
+ {
+ this.parentPolicy = parentPolicy;
+ }
+
+ @Override
public String toString()
{
StringBuilder builder = new StringBuilder();
@@ -569,6 +592,8 @@
List<Requirement> requirements = getRequirements().getRequirements();
if (requirements != null)
builder.append(" requirements=").append(requirements);
+ if (parentPolicy != null)
+ builder.append(" parent-policy=").append(parentPolicy);
}
@Override
@@ -601,6 +626,8 @@
return false;
if (equals(this.getRequirements().getRequirements(), other.getRequirements().getRequirements()) == false)
return false;
+ if (equals(this.getParentPolicy(), other.getParentPolicy()) == false)
+ return false;
return true;
}
@@ -611,7 +638,7 @@
return super.hashCode();
}
- private static boolean equals(Object one, Object two)
+ static boolean equals(Object one, Object two)
{
if (one == null)
return two == null;
@@ -622,8 +649,10 @@
public ClassLoadingMetaData clone()
{
ClassLoadingMetaData clone = (ClassLoadingMetaData) super.clone();
- requirements = clone.requirements.clone();
- capabilities = clone.capabilities.clone();
+ clone.requirements = requirements.clone();
+ clone.capabilities = capabilities.clone();
+ if (parentPolicy != null)
+ clone.parentPolicy = parentPolicy.clone();
return clone;
}
}
Modified: projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.java 2010-10-12 12:00:30 UTC (rev 108517)
+++ projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.java 2010-10-12 12:16:19 UTC (rev 108518)
@@ -31,11 +31,12 @@
* ClassLoadingMetaData version 1.0.
*
* @author <a href="adrian at jboss.org">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision: 1.1 $
*/
@JBossXmlSchema(namespace="urn:jboss:classloading:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
@XmlRootElement(name="classloading")
- at XmlType(propOrder = {"requirements", "capabilities"})
+ at XmlType(propOrder = {"requirements", "capabilities", "parentPolicy"})
public class ClassLoadingMetaData10 extends ClassLoadingMetaData
{
/** The serialVersionUID */
Added: projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/FilterMetaData.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/FilterMetaData.java (rev 0)
+++ projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/FilterMetaData.java 2010-10-12 12:16:19 UTC (rev 108518)
@@ -0,0 +1,125 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* 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.classloading.spi.metadata;
+
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+
+import java.io.Serializable;
+import java.lang.reflect.Constructor;
+
+import org.jboss.classloader.spi.filter.ClassFilter;
+import org.jboss.classloader.spi.filter.PackageClassFilter;
+import org.jboss.managed.api.annotation.ManagementProperty;
+
+/**
+ * FilterMetaData.
+ *
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
+ */
+ at XmlType(name="filter", propOrder= {"value"})
+public class FilterMetaData implements Serializable, Cloneable
+{
+ /** The serialVersionUID */
+ private static final long serialVersionUID = 1L;
+
+ private String filterClassName = PackageClassFilter.class.getName();
+ private Object value;
+
+ /**
+ * Create filter.
+ *
+ * @return the filter
+ */
+ public ClassFilter createFilter()
+ {
+ // perhaps it's JavaBean
+ if (value instanceof ClassFilter)
+ {
+ return (ClassFilter) value;
+ }
+ else
+ {
+ try
+ {
+ Class<?> clazz = getClass().getClassLoader().loadClass(filterClassName);
+ Constructor<?> ctor = (value != null) ? clazz.getDeclaredConstructor(value.getClass()) : clazz.getDeclaredConstructor();
+ return (ClassFilter) ctor.newInstance(value);
+ }
+ catch (Throwable t)
+ {
+ throw new RuntimeException("Cannot instantiate filter: " + filterClassName + " / " + value, t);
+ }
+ }
+ }
+
+ public String getFilterClassName()
+ {
+ return filterClassName;
+ }
+
+ @XmlAttribute(name = "filter-classname")
+ public void setFilterClassName(String filterClassName)
+ {
+ this.filterClassName = filterClassName;
+ }
+
+ public Object getValue()
+ {
+ return value;
+ }
+
+ @XmlAnyElement
+ @ManagementProperty(ignored = true)
+ public void setValue(Object value)
+ {
+ this.value = value;
+ }
+
+ public int hashCode()
+ {
+ return 3 * filterClassName.hashCode() + 7 * (value != null ? value.hashCode() : 0);
+ }
+
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof FilterMetaData == false)
+ return false;
+
+ FilterMetaData other = (FilterMetaData) obj;
+ return filterClassName.equals(other.filterClassName) && ClassLoadingMetaData.equals(value, other.value);
+ }
+
+ @Override
+ public FilterMetaData clone()
+ {
+ try
+ {
+ return (FilterMetaData) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new RuntimeException("Unexpected", e);
+ }
+ }
+}
Copied: projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ParentPolicyMetaData.java (from rev 108068, projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/CapabilitiesMetaData.java)
===================================================================
--- projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ParentPolicyMetaData.java (rev 0)
+++ projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ParentPolicyMetaData.java 2010-10-12 12:16:19 UTC (rev 108518)
@@ -0,0 +1,172 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2008, JBoss Inc., and individual contributors as indicated
+* by the @authors tag. See the copyright.txt in the distribution for a
+* full listing of individual contributors.
+*
+* This is free software; you can redistribute it and/or modify it
+* under the terms of the GNU Lesser General Public License as
+* published by the Free Software Foundation; either version 2.1 of
+* the License, or (at your option) any later version.
+*
+* This software is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+* Lesser General Public License for more details.
+*
+* You should have received a copy of the GNU Lesser General Public
+* License along with this software; if not, write to the Free
+* 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.classloading.spi.metadata;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import javax.xml.bind.annotation.XmlType;
+
+import java.io.Serializable;
+import java.lang.reflect.Field;
+
+import org.jboss.classloader.spi.ParentPolicy;
+import org.jboss.classloader.spi.filter.ClassFilter;
+import org.jboss.classloader.spi.filter.ClassFilterUtils;
+
+/**
+ * ParentPolicyMetaData.
+ *
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
+ */
+ at XmlType(name="parentPolicy", propOrder= {"beforeFilter", "afterFilter", "description"})
+ at XmlRootElement(name="parent-policy", namespace="urn:jboss:classloading:1.0")
+public class ParentPolicyMetaData implements Serializable, Cloneable
+{
+ /** The serialVersionUID */
+ private static final long serialVersionUID = 1L;
+
+ private String name;
+ private FilterMetaData beforeFilter;
+ private FilterMetaData afterFilter;
+ private String description;
+
+ private transient ParentPolicy parentPolicy;
+
+ /**
+ * Create parent policy.
+ *
+ * @return the parent policy
+ */
+ public ParentPolicy createParentPolicy()
+ {
+ if (parentPolicy == null)
+ {
+ if (name != null)
+ {
+ String upper = name.toUpperCase();
+ try
+ {
+ Field instance = ParentPolicy.class.getField(upper);
+ parentPolicy = (ParentPolicy) instance.get(null);
+ }
+ catch (Throwable t)
+ {
+ throw new RuntimeException("Cannot create parent-policy, wrong name perhaps? - " + name, t);
+ }
+ }
+ else
+ {
+ ClassFilter before = (beforeFilter != null) ? beforeFilter.createFilter() : ClassFilterUtils.EVERYTHING;
+ ClassFilter after = (afterFilter != null) ? afterFilter.createFilter() : ClassFilterUtils.NOTHING;
+ parentPolicy = new ParentPolicy(before, after, description);
+ }
+ }
+ return parentPolicy;
+ }
+
+ public String getName()
+ {
+ return name;
+ }
+
+ @XmlAttribute
+ public void setName(String name)
+ {
+ this.name = name;
+ }
+
+ public FilterMetaData getBeforeFilter()
+ {
+ return beforeFilter;
+ }
+
+ @XmlElement(name = "before-filter")
+ public void setBeforeFilter(FilterMetaData beforeFilter)
+ {
+ this.beforeFilter = beforeFilter;
+ }
+
+ public FilterMetaData getAfterFilter()
+ {
+ return afterFilter;
+ }
+
+ @XmlElement(name = "after-filter")
+ public void setAfterFilter(FilterMetaData afterFilter)
+ {
+ this.afterFilter = afterFilter;
+ }
+
+ public String getDescription()
+ {
+ return description;
+ }
+
+ public void setDescription(String description)
+ {
+ this.description = description;
+ }
+
+ public int hashCode()
+ {
+ return hash(name) + 3 * hash(beforeFilter) + 7 * hash(afterFilter) + 11 * hash(description);
+ }
+
+ private static int hash(Object obj)
+ {
+ return (obj != null) ? obj.hashCode() : 0;
+ }
+
+ public boolean equals(Object obj)
+ {
+ if (obj instanceof ParentPolicyMetaData == false)
+ return false;
+
+ ParentPolicyMetaData other = (ParentPolicyMetaData) obj;
+ if (ClassLoadingMetaData.equals(name, other.name) == false)
+ return false;
+ if (ClassLoadingMetaData.equals(beforeFilter, other.beforeFilter) == false)
+ return false;
+ if (ClassLoadingMetaData.equals(afterFilter, other.afterFilter) == false)
+ return false;
+ if (ClassLoadingMetaData.equals(description, other.description) == false)
+ return false;
+ return true;
+ }
+
+ @Override
+ public ParentPolicyMetaData clone()
+ {
+ try
+ {
+ ParentPolicyMetaData clone = (ParentPolicyMetaData) super.clone();
+ clone.beforeFilter = beforeFilter.clone();
+ clone.afterFilter = afterFilter.clone();
+ return clone;
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new RuntimeException("Unexpected", e);
+ }
+ }
+}
Modified: projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java 2010-10-12 12:00:30 UTC (rev 108517)
+++ projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java 2010-10-12 12:16:19 UTC (rev 108518)
@@ -25,13 +25,12 @@
import java.util.List;
import java.util.Set;
-import junit.framework.Test;
-
import org.jboss.classloader.spi.ShutdownPolicy;
import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
import org.jboss.classloading.spi.metadata.ClassLoadingMetaDataFactory;
import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.metadata.ParentPolicyMetaData;
import org.jboss.classloading.spi.metadata.RequirementsMetaData;
import org.jboss.classloading.spi.version.Version;
import org.jboss.managed.api.ManagedObject;
@@ -43,10 +42,13 @@
import org.jboss.metatype.api.values.MetaValueFactory;
import org.jboss.test.BaseTestCase;
+import junit.framework.Test;
+
/**
* ManagedObjectClassLoadingMetaDataUnitTestCase.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision: 1.1 $
*/
public class ManagedObjectClassLoadingMetaDataUnitTestCase extends BaseTestCase
@@ -69,7 +71,7 @@
{
ManagedObject result = moFactory.initManagedObject(test, null, null);
assertNotNull(result);
- List<String> expectedProperties = Arrays.asList("name", "version", "domain", "parentDomain", "topLevelClassLoader", "exportAll", "shutdown", "included", "excluded", "excludedExport", "importAll", "parentFirst", "cache", "blackList", "capabilities", "requirements");
+ List<String> expectedProperties = Arrays.asList("name", "version", "domain", "parentDomain", "topLevelClassLoader", "exportAll", "shutdown", "included", "excluded", "excludedExport", "importAll", "parentFirst", "cache", "blackList", "capabilities", "requirements", "parentPolicy");
Set<String> actualProperties = result.getPropertyNames();
for (String expected : expectedProperties)
{
@@ -106,6 +108,7 @@
public void testConstructor() throws Exception
{
ClassLoadingMetaData test = new ClassLoadingMetaData();
+ test.setParentPolicy(new ParentPolicyMetaData());
ManagedObject mo = assertManagedObject(test);
assertManagedProperty(mo, "name", String.class, "<unknown>");
assertManagedProperty(mo, "version", Version.class, Version.DEFAULT_VERSION);
@@ -121,6 +124,7 @@
assertManagedProperty(mo, "parentFirst", boolean.class, true);
assertManagedProperty(mo, "capabilities", CapabilitiesMetaData.class, new CapabilitiesMetaData());
assertManagedProperty(mo, "requirements", RequirementsMetaData.class, new RequirementsMetaData());
+ assertManagedProperty(mo, "parentPolicy", ParentPolicyMetaData.class, new ParentPolicyMetaData());
}
public void testSetName() throws Exception
@@ -254,4 +258,12 @@
ManagedObject mo = assertManagedObject(test);
assertManagedProperty(mo, "requirements", RequirementsMetaData.class, test.getRequirements());
}
+
+ public void testParentPolicy() throws Exception
+ {
+ ClassLoadingMetaData test = new ClassLoadingMetaData();
+ test.setParentPolicy(new ParentPolicyMetaData());
+ ManagedObject mo = assertManagedObject(test);
+ assertManagedProperty(mo, "parentPolicy", ParentPolicyMetaData.class, test.getParentPolicy());
+ }
}
Modified: projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingMetaDataXmlUnitTestCase.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingMetaDataXmlUnitTestCase.java 2010-10-12 12:00:30 UTC (rev 108517)
+++ projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingMetaDataXmlUnitTestCase.java 2010-10-12 12:16:19 UTC (rev 108518)
@@ -24,8 +24,6 @@
import java.util.ArrayList;
import java.util.List;
-import junit.framework.Test;
-
import org.jboss.classloading.spi.metadata.Capability;
import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
import org.jboss.classloading.spi.metadata.ClassLoadingMetaData10;
@@ -38,6 +36,8 @@
import org.jboss.test.classloading.metadata.xml.support.TestCapability;
import org.jboss.test.classloading.metadata.xml.support.TestRequirement;
+import junit.framework.Test;
+
/**
* ClassLoadingMetaDataXmlUnitTestCase.
*
@@ -74,6 +74,7 @@
assertTrue(result.isBlackListable());
assertNull(result.getCapabilities().getCapabilities());
assertNull(result.getRequirements().getRequirements());
+ assertNull(result.getParentPolicy());
}
public void testModuleVersion() throws Exception
Modified: projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java
===================================================================
--- projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java 2010-10-12 12:00:30 UTC (rev 108517)
+++ projects/jboss-cl/trunk/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java 2010-10-12 12:16:19 UTC (rev 108518)
@@ -27,12 +27,11 @@
import java.util.List;
import java.util.Set;
-import junit.framework.Test;
-
import org.jboss.classloader.spi.ShutdownPolicy;
import org.jboss.classloading.spi.metadata.CapabilitiesMetaData;
import org.jboss.classloading.spi.metadata.ClassLoadingMetaDataFactory;
import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.metadata.ParentPolicyMetaData;
import org.jboss.classloading.spi.metadata.RequirementsMetaData;
import org.jboss.classloading.spi.version.Version;
import org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory;
@@ -45,10 +44,13 @@
import org.jboss.metatype.api.values.MetaValueFactory;
import org.jboss.test.BaseTestCase;
+import junit.framework.Test;
+
/**
* ManagedObjectVFSClassLoaderFactoryUnitTestCase.
*
* @author <a href="adrian at jboss.com">Adrian Brock</a>
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
* @version $Revision: 1.1 $
*/
public class ManagedObjectVFSClassLoaderFactoryUnitTestCase extends BaseTestCase
@@ -71,7 +73,7 @@
{
ManagedObject result = moFactory.initManagedObject(test, null, null);
assertNotNull(result);
- List<String> expectedProperties = Arrays.asList("name", "version", "context", "domain", "parentDomain", "topLevelClassLoader", "exportAll", "shutdown", "included", "excluded", "excludedExport", "importAll", "parentFirst", "cache", "blackList", "system", "roots", "capabilities", "requirements");
+ List<String> expectedProperties = Arrays.asList("name", "version", "context", "domain", "parentDomain", "topLevelClassLoader", "exportAll", "shutdown", "included", "excluded", "excludedExport", "importAll", "parentFirst", "cache", "blackList", "system", "roots", "capabilities", "requirements", "parentPolicy");
Set<String> actualProperties = result.getPropertyNames();
for (String expected : expectedProperties)
{
@@ -113,6 +115,7 @@
public void testConstructor() throws Exception
{
VFSClassLoaderFactory test = new VFSClassLoaderFactory();
+ test.setParentPolicy(new ParentPolicyMetaData());
ManagedObject mo = assertManagedObject(test);
assertManagedProperty(mo, "name", String.class, "<unknown>");
assertManagedProperty(mo, "version", Version.class, Version.DEFAULT_VERSION);
@@ -128,6 +131,7 @@
assertManagedProperty(mo, "parentFirst", boolean.class, true);
assertManagedProperty(mo, "capabilities", CapabilitiesMetaData.class, new CapabilitiesMetaData());
assertManagedProperty(mo, "requirements", RequirementsMetaData.class, new RequirementsMetaData());
+ assertManagedProperty(mo, "parentPolicy", ParentPolicyMetaData.class, new ParentPolicyMetaData());
}
public void testSetName() throws Exception
@@ -289,4 +293,12 @@
ManagedObject mo = assertManagedObject(test);
assertManagedProperty(mo, "requirements", RequirementsMetaData.class, test.getRequirements());
}
+
+ public void testParentPolicy() throws Exception
+ {
+ VFSClassLoaderFactory test = new VFSClassLoaderFactory();
+ test.setParentPolicy(new ParentPolicyMetaData());
+ ManagedObject mo = assertManagedObject(test);
+ assertManagedProperty(mo, "parentPolicy", ParentPolicyMetaData.class, test.getParentPolicy());
+ }
}
More information about the jboss-cvs-commits
mailing list