[jboss-cvs] JBossAS SVN: r111486 - in projects/jboss-cl/branches/Branch_2_0: classloading/src/main/java/org/jboss/classloading/spi/metadata and 8 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue May 31 11:01:30 EDT 2011
Author: alesj
Date: 2011-05-31 11:01:30 -0400 (Tue, 31 May 2011)
New Revision: 111486
Added:
projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleExcludedExportFilter.xml
projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleExcludedFilter.xml
projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleIncludedFilter.xml
projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/FilterMetaData.java
projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleExcludedExportFilter.xml
projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleExcludedFilter.xml
projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleIncludedFilter.xml
Modified:
projects/jboss-cl/branches/Branch_2_0/
projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/metadata/VFSClassLoaderFactory10.java
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/xml/support/NoopClassLoaderFactory.java
projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/test/NoopClassLoaderFactoryXMLUnitTestCase.java
projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/test/VFSClassLoaderFactoryXMLUnitTestCase.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/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.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:
Port JBCL-84; better filter xml config.
Property changes on: projects/jboss-cl/branches/Branch_2_0
___________________________________________________________________
Added: svn:mergeinfo
+ /projects/jboss-cl/trunk:111484
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 2011-05-31 14:18:50 UTC (rev 111485)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData.java 2011-05-31 15:01:30 UTC (rev 111486)
@@ -23,6 +23,7 @@
import java.util.List;
import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlTransient;
import org.jboss.classloader.plugins.filter.CombiningClassFilter;
@@ -79,6 +80,15 @@
private String excludedExportPackages;
/** The included packages */
+ private FilterMetaData includedMetaData;
+
+ /** The excluded packages */
+ private FilterMetaData excludedMetaData;
+
+ /** The excluded export packages */
+ private FilterMetaData excludedExportMetaData;
+
+ /** The included packages */
private ClassFilter included;
/** The excluded packages */
@@ -204,6 +214,28 @@
}
/**
+ * Get included metadata.
+ *
+ * @return the included filter metadata
+ */
+ public FilterMetaData getIncludedMetaData()
+ {
+ return includedMetaData;
+ }
+
+ /**
+ * The included filter metadata.
+ *
+ * @param includedMetaData the included metadata
+ */
+ @ManagementProperty(name="includedMetaData")
+ @XmlElement(name="included-filter")
+ public void setIncludedMetaData(FilterMetaData includedMetaData)
+ {
+ this.includedMetaData = includedMetaData;
+ }
+
+ /**
* Get a filter for the included packages
*
* @return the included packages
@@ -213,7 +245,9 @@
ClassFilter packageFilter = null;
if (includedPackages != null)
packageFilter = PackageClassFilter.createPackageClassFilterFromString(includedPackages);
-
+ else if (includedMetaData != null)
+ packageFilter = includedMetaData.createFilter();
+
if (packageFilter == null)
return included;
if (included == null)
@@ -255,6 +289,28 @@
}
/**
+ * Get excluded metadata.
+ *
+ * @return the included filter metadata
+ */
+ public FilterMetaData getExcludedMetaData()
+ {
+ return excludedMetaData;
+ }
+
+ /**
+ * The excluded filter metadata.
+ *
+ * @param excludedMetaData the excluded metadata
+ */
+ @ManagementProperty(name="excludedMetaData")
+ @XmlElement(name="excluded-filter")
+ public void setExcludedMetaData(FilterMetaData excludedMetaData)
+ {
+ this.excludedMetaData = excludedMetaData;
+ }
+
+ /**
* Get a filter for the excluded packages
*
* @return the excluded packages
@@ -264,6 +320,8 @@
ClassFilter packageFilter = null;
if (excludedPackages != null)
packageFilter = PackageClassFilter.createPackageClassFilterFromString(excludedPackages);
+ else if (excludedMetaData != null)
+ packageFilter = excludedMetaData.createFilter();
if (packageFilter == null)
return excluded;
@@ -305,7 +363,24 @@
this.excludedExportPackages = excludedExportPackages;
}
+ public FilterMetaData getExcludedExportMetaData()
+ {
+ return excludedExportMetaData;
+ }
+
/**
+ * The excluded export filter metadata.
+ *
+ * @param excludedExportMetaData the excluded export metadata
+ */
+ @ManagementProperty(name="excludedExportMetaData")
+ @XmlElement(name="excluded-export-filter")
+ public void setExcludedExportMetaData(FilterMetaData excludedExportMetaData)
+ {
+ this.excludedExportMetaData = excludedExportMetaData;
+ }
+
+ /**
* Get a filter for the excluded export packages
*
* @return the excluded export packages
@@ -315,6 +390,8 @@
ClassFilter packageFilter = null;
if (excludedExportPackages != null)
packageFilter = PackageClassFilter.createPackageClassFilterFromString(excludedExportPackages);
+ else if (excludedExportMetaData != null)
+ packageFilter = excludedExportMetaData.createFilter();
if (packageFilter == null)
return excludedExport;
@@ -578,7 +655,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;
Modified: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.java 2011-05-31 14:18:50 UTC (rev 111485)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingMetaData10.java 2011-05-31 15:01:30 UTC (rev 111486)
@@ -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 = {"includedMetaData", "excludedMetaData", "excludedExportMetaData", "requirements", "capabilities"})
public class ClassLoadingMetaData10 extends ClassLoadingMetaData
{
/** The serialVersionUID */
Added: projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/FilterMetaData.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/FilterMetaData.java (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/main/java/org/jboss/classloading/spi/metadata/FilterMetaData.java 2011-05-31 15:01:30 UTC (rev 111486)
@@ -0,0 +1,153 @@
+/*
+* 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 java.io.Serializable;
+import java.lang.reflect.Constructor;
+import javax.xml.bind.annotation.XmlAnyElement;
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlType;
+import javax.xml.bind.annotation.XmlValue;
+
+import org.jboss.classloader.spi.filter.ClassFilter;
+import org.jboss.classloader.spi.filter.PackageClassFilter;
+import org.jboss.managed.api.annotation.ManagementProperty;
+
+/**
+ * FilterMetaData.
+ * If the value is string, it's split with ',' and turned into String array.
+ * You can ignore this by setting the ignore-split attribute.
+ *
+ * @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;
+ private boolean ignoreSplit;
+
+ /**
+ * Create filter.
+ *
+ * @return the filter
+ */
+ public ClassFilter createFilter()
+ {
+ // perhaps it's JavaBean
+ if (value instanceof ClassFilter)
+ {
+ return (ClassFilter) value;
+ }
+ else
+ {
+ Object arg;
+ if (value instanceof String && ignoreSplit == false)
+ arg = ((String) value).split(",");
+ else
+ arg = value;
+
+ try
+ {
+ Class<?> clazz = getClass().getClassLoader().loadClass(filterClassName);
+ Constructor<?> ctor = (arg != null) ? clazz.getDeclaredConstructor(arg.getClass()) : clazz.getDeclaredConstructor();
+ return (ClassFilter) ((arg != null) ? ctor.newInstance(arg) : ctor.newInstance());
+ }
+ 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 setValueObject(Object value)
+ {
+ this.value = value;
+ }
+
+ @XmlValue
+ @ManagementProperty(ignored = true)
+ public void setValueString(String value)
+ {
+ this.value = value;
+ }
+
+ public boolean isIgnoreSplit()
+ {
+ return ignoreSplit;
+ }
+
+ @XmlAttribute(name = "ignore-split", required = false)
+ public void setIgnoreSplit(boolean ignoreSplit)
+ {
+ this.ignoreSplit = ignoreSplit;
+ }
+
+ public int hashCode()
+ {
+ return 3 * filterClassName.hashCode() + 7 * (value != null ? value.hashCode() : 0) + 11 * Boolean.valueOf(ignoreSplit).hashCode();
+ }
+
+ 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) && ignoreSplit == other.ignoreSplit;
+
+ }
+
+ @Override
+ public FilterMetaData clone()
+ {
+ try
+ {
+ return (FilterMetaData) super.clone();
+ }
+ catch (CloneNotSupportedException e)
+ {
+ throw new RuntimeException("Unexpected", e);
+ }
+ }
+}
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 2011-05-31 14:18:50 UTC (rev 111485)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingMetaDataUnitTestCase.java 2011-05-31 15:01:30 UTC (rev 111486)
@@ -31,6 +31,7 @@
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.FilterMetaData;
import org.jboss.classloading.spi.metadata.RequirementsMetaData;
import org.jboss.classloading.spi.version.Version;
import org.jboss.managed.api.ManagedObject;
@@ -46,6 +47,7 @@
* 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
@@ -68,7 +70,7 @@
{
ManagedObject result = moFactory.initManagedObject(test, null, null);
assertNotNull(result);
- List<String> expectedProperties = Arrays.asList("name", "version", "domain", "parentDomain", "topLevelClassLoader", "exportAll", "included", "excluded", "excludedExport", "importAll", "parentFirst", "cache", "blackList", "capabilities", "requirements");
+ List<String> expectedProperties = Arrays.asList("name", "version", "domain", "parentDomain", "topLevelClassLoader", "exportAll", "included", "includedMetaData", "excluded", "excludedMetaData", "excludedExport", "excludedExportMetaData", "importAll", "parentFirst", "cache", "blackList", "capabilities", "requirements");
Set<String> actualProperties = result.getPropertyNames();
for (String expected : expectedProperties)
{
@@ -113,8 +115,11 @@
assertManagedProperty(mo, "topLevelClassLoader", boolean.class, false);
assertManagedProperty(mo, "exportAll", ExportAll.class, null);
assertManagedProperty(mo, "included", String.class, null);
+ assertManagedProperty(mo, "includedMetaData", FilterMetaData.class, null);
assertManagedProperty(mo, "excluded", String.class, null);
+ assertManagedProperty(mo, "excludedMetaData", FilterMetaData.class, null);
assertManagedProperty(mo, "excludedExport", String.class, null);
+ assertManagedProperty(mo, "excludedExportMetaData", FilterMetaData.class, null);
assertManagedProperty(mo, "importAll", boolean.class, false);
assertManagedProperty(mo, "parentFirst", boolean.class, true);
assertManagedProperty(mo, "capabilities", CapabilitiesMetaData.class, new CapabilitiesMetaData());
@@ -177,6 +182,15 @@
assertManagedProperty(mo, "included", String.class, "Included");
}
+ public void testSetIncludedMetaData() throws Exception
+ {
+ ClassLoadingMetaData test = new ClassLoadingMetaData();
+ FilterMetaData fmd = new FilterMetaData();
+ test.setIncludedMetaData(fmd);
+ ManagedObject mo = assertManagedObject(test);
+ assertManagedProperty(mo, "includedMetaData", FilterMetaData.class, fmd);
+ }
+
public void testSetExcludedPackages() throws Exception
{
ClassLoadingMetaData test = new ClassLoadingMetaData();
@@ -185,6 +199,15 @@
assertManagedProperty(mo, "excluded", String.class, "Excluded");
}
+ public void testSetExcludedMetaData() throws Exception
+ {
+ ClassLoadingMetaData test = new ClassLoadingMetaData();
+ FilterMetaData fmd = new FilterMetaData();
+ test.setExcludedMetaData(fmd);
+ ManagedObject mo = assertManagedObject(test);
+ assertManagedProperty(mo, "excludedMetaData", FilterMetaData.class, fmd);
+ }
+
public void testSetExcludedExportPackages() throws Exception
{
ClassLoadingMetaData test = new ClassLoadingMetaData();
@@ -193,6 +216,15 @@
assertManagedProperty(mo, "excludedExport", String.class, "ExcludedExport");
}
+ public void testSetExcludedExportMetaData() throws Exception
+ {
+ ClassLoadingMetaData test = new ClassLoadingMetaData();
+ FilterMetaData fmd = new FilterMetaData();
+ test.setExcludedExportMetaData(fmd);
+ ManagedObject mo = assertManagedObject(test);
+ assertManagedProperty(mo, "excludedExportMetaData", FilterMetaData.class, fmd);
+ }
+
public void testSetImportAll() 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 2011-05-31 14:18:50 UTC (rev 111485)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingMetaDataXmlUnitTestCase.java 2011-05-31 15:01:30 UTC (rev 111486)
@@ -31,6 +31,7 @@
import org.jboss.classloading.spi.metadata.ClassLoadingMetaData10;
import org.jboss.classloading.spi.metadata.ClassLoadingMetaDataFactory;
import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.metadata.FilterMetaData;
import org.jboss.classloading.spi.metadata.Requirement;
import org.jboss.classloading.spi.version.Version;
import org.jboss.classloading.spi.version.VersionRange;
@@ -66,8 +67,11 @@
assertFalse(result.isTopLevelClassLoader());
assertNull(result.getExportAll());
assertNull(result.getIncludedPackages());
+ assertNull(result.getIncludedMetaData());
assertNull(result.getExcludedPackages());
+ assertNull(result.getExcludedMetaData());
assertNull(result.getExcludedExportPackages());
+ assertNull(result.getExcludedExportMetaData());
assertFalse(result.isImportAll());
assertTrue(result.isJ2seClassLoadingCompliance());
assertTrue(result.isCacheable());
@@ -112,18 +116,54 @@
assertEquals("Included", result.getIncludedPackages());
}
+ public void testModuleIncludedFilter() throws Exception
+ {
+ FilterMetaData expected = new FilterMetaData();
+ expected.setValueString("org.jboss.acme");
+
+ ClassLoadingMetaData result = unmarshal();
+ FilterMetaData filter = result.getIncludedMetaData();
+ assertEquals(expected, filter);
+
+ assertNotNull(result.getIncluded());
+ }
+
public void testModuleExcluded() throws Exception
{
ClassLoadingMetaData result = unmarshal();
assertEquals("Excluded", result.getExcludedPackages());
}
+ public void testModuleExcludedFilter() throws Exception
+ {
+ FilterMetaData expected = new FilterMetaData();
+ expected.setValueString("com.redhat.foobar");
+
+ ClassLoadingMetaData result = unmarshal();
+ FilterMetaData filter = result.getExcludedMetaData();
+ assertEquals(expected, filter);
+
+ assertNotNull(result.getExcluded());
+ }
+
public void testModuleExcludedExport() throws Exception
{
ClassLoadingMetaData result = unmarshal();
assertEquals("ExcludedExport", result.getExcludedExportPackages());
}
+ public void testModuleExcludedExportFilter() throws Exception
+ {
+ FilterMetaData expected = new FilterMetaData();
+ expected.setValueString("org.ceylon.modules");
+
+ ClassLoadingMetaData result = unmarshal();
+ FilterMetaData filter = result.getExcludedExportMetaData();
+ assertEquals(expected, filter);
+
+ assertNotNull(result.getExcludedExport());
+ }
+
public void testModuleImportAll() throws Exception
{
ClassLoadingMetaData result = unmarshal();
@@ -332,7 +372,19 @@
temp.add(requirement);
assertEquals(temp, metadata.getRequirements().getRequirements());
}
-
+
+ public void assertEqualStrings(String[] expected, Object result)
+ {
+ assertNotNull(expected);
+ assertNotNull(result);
+ if (result instanceof String[] == false)
+ result = assertInstanceOf(result, String.class).split(",");
+ String[] strings = (String[]) result;
+ assertEquals(expected.length, strings.length);
+ for (int i = 0; i < expected.length; i++)
+ assertEquals(expected[i], strings[i]);
+ }
+
protected ClassLoadingMetaData unmarshal(Class<?>... extra) throws Exception
{
return unmarshalObject(ClassLoadingMetaData10.class, ClassLoadingMetaData10.class, extra);
Copied: projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleExcludedExportFilter.xml (from rev 111484, projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleExcludedExportFilter.xml)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleExcludedExportFilter.xml (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleExcludedExportFilter.xml 2011-05-31 15:01:30 UTC (rev 111486)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<classloading xmlns="urn:jboss:classloading:1.0" name="test">
+ <excluded-export-filter>org.ceylon.modules</excluded-export-filter>
+</classloading>
Copied: projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleExcludedFilter.xml (from rev 111484, projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleExcludedFilter.xml)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleExcludedFilter.xml (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleExcludedFilter.xml 2011-05-31 15:01:30 UTC (rev 111486)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<classloading xmlns="urn:jboss:classloading:1.0" name="test">
+ <excluded-filter>com.redhat.foobar</excluded-filter>
+</classloading>
Copied: projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleIncludedFilter.xml (from rev 111484, projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleIncludedFilter.xml)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleIncludedFilter.xml (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ModuleIncludedFilter.xml 2011-05-31 15:01:30 UTC (rev 111486)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<classloading xmlns="urn:jboss:classloading:1.0" name="test">
+ <included-filter>org.jboss.acme</included-filter>
+</classloading>
Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/metadata/VFSClassLoaderFactory10.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/metadata/VFSClassLoaderFactory10.java 2011-05-31 14:18:50 UTC (rev 111485)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/main/java/org/jboss/classloading/spi/vfs/metadata/VFSClassLoaderFactory10.java 2011-05-31 15:01:30 UTC (rev 111486)
@@ -31,11 +31,12 @@
* VFSClassLoaderFactory.
*
* @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 $
*/
@JBossXmlSchema(namespace="urn:jboss:classloader:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
@XmlRootElement(name="classloader")
- at XmlType(propOrder = {"requirements", "capabilities", "roots"})
+ at XmlType(propOrder = {"includedMetaData", "excludedMetaData", "excludedExportMetaData", "requirements", "capabilities", "roots"})
public class VFSClassLoaderFactory10 extends VFSClassLoaderFactory
{
/** The serialVersionUID */
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 2011-05-31 14:18:50 UTC (rev 111485)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/test/ManagedObjectVFSClassLoaderFactoryUnitTestCase.java 2011-05-31 15:01:30 UTC (rev 111486)
@@ -32,6 +32,7 @@
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.FilterMetaData;
import org.jboss.classloading.spi.metadata.RequirementsMetaData;
import org.jboss.classloading.spi.version.Version;
import org.jboss.classloading.spi.vfs.metadata.VFSClassLoaderFactory;
@@ -48,6 +49,7 @@
* 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
@@ -70,7 +72,7 @@
{
ManagedObject result = moFactory.initManagedObject(test, null, null);
assertNotNull(result);
- List<String> expectedProperties = Arrays.asList("name", "version", "context", "domain", "parentDomain", "topLevelClassLoader", "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", "includedMetaData", "excluded", "excludedMetaData", "excludedExport", "excludedExportMetaData", "importAll", "parentFirst", "cache", "blackList", "system", "roots", "capabilities", "requirements");
Set<String> actualProperties = result.getPropertyNames();
for (String expected : expectedProperties)
{
@@ -120,8 +122,11 @@
assertManagedProperty(mo, "topLevelClassLoader", boolean.class, false);
assertManagedProperty(mo, "exportAll", ExportAll.class, null);
assertManagedProperty(mo, "included", String.class, null);
+ assertManagedProperty(mo, "includedMetaData", FilterMetaData.class, null);
assertManagedProperty(mo, "excluded", String.class, null);
+ assertManagedProperty(mo, "excludedMetaData", FilterMetaData.class, null);
assertManagedProperty(mo, "excludedExport", String.class, null);
+ assertManagedProperty(mo, "excludedExportMetaData", FilterMetaData.class, null);
assertManagedProperty(mo, "importAll", boolean.class, false);
assertManagedProperty(mo, "parentFirst", boolean.class, true);
assertManagedProperty(mo, "capabilities", CapabilitiesMetaData.class, new CapabilitiesMetaData());
@@ -192,6 +197,15 @@
assertManagedProperty(mo, "included", String.class, "Included");
}
+ public void testSetIncludedMetaData() throws Exception
+ {
+ VFSClassLoaderFactory test = new VFSClassLoaderFactory();
+ FilterMetaData fmd = new FilterMetaData();
+ test.setIncludedMetaData(fmd);
+ ManagedObject mo = assertManagedObject(test);
+ assertManagedProperty(mo, "includedMetaData", FilterMetaData.class, fmd);
+ }
+
public void testSetExcludedPackages() throws Exception
{
VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -200,6 +214,15 @@
assertManagedProperty(mo, "excluded", String.class, "Excluded");
}
+ public void testSetExcludedMetaData() throws Exception
+ {
+ VFSClassLoaderFactory test = new VFSClassLoaderFactory();
+ FilterMetaData fmd = new FilterMetaData();
+ test.setExcludedMetaData(fmd);
+ ManagedObject mo = assertManagedObject(test);
+ assertManagedProperty(mo, "excludedMetaData", FilterMetaData.class, fmd);
+ }
+
public void testSetExcludedExportPackages() throws Exception
{
VFSClassLoaderFactory test = new VFSClassLoaderFactory();
@@ -208,6 +231,15 @@
assertManagedProperty(mo, "excludedExport", String.class, "ExcludedExport");
}
+ public void testSetExcludedExportMetaData() throws Exception
+ {
+ VFSClassLoaderFactory test = new VFSClassLoaderFactory();
+ FilterMetaData fmd = new FilterMetaData();
+ test.setExcludedExportMetaData(fmd);
+ ManagedObject mo = assertManagedObject(test);
+ assertManagedProperty(mo, "excludedExportMetaData", FilterMetaData.class, fmd);
+ }
+
public void testSetImportAll() throws Exception
{
VFSClassLoaderFactory test = new VFSClassLoaderFactory();
Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/support/NoopClassLoaderFactory.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/support/NoopClassLoaderFactory.java 2011-05-31 14:18:50 UTC (rev 111485)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/support/NoopClassLoaderFactory.java 2011-05-31 15:01:30 UTC (rev 111486)
@@ -39,7 +39,7 @@
*/
@JBossXmlSchema(namespace="urn:jboss:classloader:1.0", elementFormDefault=XmlNsForm.QUALIFIED)
@XmlRootElement(name="classloader")
- at XmlType(propOrder = {"requirements", "capabilities", "roots"})
+ at XmlType(propOrder = {"includedMetaData", "excludedMetaData", "excludedExportMetaData", "requirements", "capabilities", "roots"})
public class NoopClassLoaderFactory extends VFSClassLoaderFactory
{
private static final long serialVersionUID = 1l;
Property changes on: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/test/NoopClassLoaderFactoryXMLUnitTestCase.java
___________________________________________________________________
Deleted: svn:mergeinfo
-
Modified: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/test/VFSClassLoaderFactoryXMLUnitTestCase.java
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/test/VFSClassLoaderFactoryXMLUnitTestCase.java 2011-05-31 14:18:50 UTC (rev 111485)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/java/org/jboss/test/classloading/vfs/metadata/xml/test/VFSClassLoaderFactoryXMLUnitTestCase.java 2011-05-31 15:01:30 UTC (rev 111486)
@@ -30,6 +30,7 @@
import org.jboss.classloading.spi.metadata.Capability;
import org.jboss.classloading.spi.metadata.ClassLoadingMetaDataFactory;
import org.jboss.classloading.spi.metadata.ExportAll;
+import org.jboss.classloading.spi.metadata.FilterMetaData;
import org.jboss.classloading.spi.metadata.Requirement;
import org.jboss.classloading.spi.version.Version;
import org.jboss.classloading.spi.version.VersionRange;
@@ -43,6 +44,7 @@
* VFSClassLoaderFactoryXMLUnitTestCase.
*
* @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 VFSClassLoaderFactoryXMLUnitTestCase extends AbstractJBossXBTest
@@ -67,8 +69,11 @@
assertNull(result.getParentDomain());
assertNull(result.getExportAll());
assertNull(result.getIncludedPackages());
+ assertNull(result.getIncludedMetaData());
assertNull(result.getExcludedPackages());
+ assertNull(result.getExcludedMetaData());
assertNull(result.getExcludedExportPackages());
+ assertNull(result.getExcludedExportMetaData());
assertFalse(result.isImportAll());
assertTrue(result.isJ2seClassLoadingCompliance());
assertTrue(result.isCacheable());
@@ -115,18 +120,54 @@
assertEquals("Included", result.getIncludedPackages());
}
+ public void testModuleIncludedFilter() throws Exception
+ {
+ FilterMetaData expected = new FilterMetaData();
+ expected.setValueString("org.jboss.acme");
+
+ VFSClassLoaderFactory result = unmarshal();
+ FilterMetaData filter = result.getIncludedMetaData();
+ assertEquals(expected, filter);
+
+ assertNotNull(result.getIncluded());
+ }
+
public void testModuleExcluded() throws Exception
{
VFSClassLoaderFactory result = unmarshal();
assertEquals("Excluded", result.getExcludedPackages());
}
+ public void testModuleExcludedFilter() throws Exception
+ {
+ FilterMetaData expected = new FilterMetaData();
+ expected.setValueString("com.redhat.foobar");
+
+ VFSClassLoaderFactory result = unmarshal();
+ FilterMetaData filter = result.getExcludedMetaData();
+ assertEquals(expected, filter);
+
+ assertNotNull(result.getExcluded());
+ }
+
public void testModuleExcludedExport() throws Exception
{
VFSClassLoaderFactory result = unmarshal();
assertEquals("ExcludedExport", result.getExcludedExportPackages());
}
+ public void testModuleExcludedExportFilter() throws Exception
+ {
+ FilterMetaData expected = new FilterMetaData();
+ expected.setValueString("org.ceylon.modules");
+
+ VFSClassLoaderFactory result = unmarshal();
+ FilterMetaData filter = result.getExcludedExportMetaData();
+ assertEquals(expected, filter);
+
+ assertNotNull(result.getExcludedExport());
+ }
+
public void testModuleImportAll() throws Exception
{
VFSClassLoaderFactory result = unmarshal();
Copied: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleExcludedExportFilter.xml (from rev 111484, projects/jboss-cl/trunk/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleExcludedExportFilter.xml)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleExcludedExportFilter.xml (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleExcludedExportFilter.xml 2011-05-31 15:01:30 UTC (rev 111486)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<classloader xmlns="urn:jboss:classloader:1.0" name="test">
+ <excluded-export-filter>org.ceylon.modules</excluded-export-filter>
+</classloader>
Copied: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleExcludedFilter.xml (from rev 111484, projects/jboss-cl/trunk/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleExcludedFilter.xml)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleExcludedFilter.xml (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleExcludedFilter.xml 2011-05-31 15:01:30 UTC (rev 111486)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<classloader xmlns="urn:jboss:classloader:1.0" name="test">
+ <excluded-filter>com.redhat.foobar</excluded-filter>
+</classloader>
Copied: projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleIncludedFilter.xml (from rev 111484, projects/jboss-cl/trunk/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleIncludedFilter.xml)
===================================================================
--- projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleIncludedFilter.xml (rev 0)
+++ projects/jboss-cl/branches/Branch_2_0/classloading-vfs/src/test/resources/org/jboss/test/classloading/vfs/metadata/xml/test/ModuleIncludedFilter.xml 2011-05-31 15:01:30 UTC (rev 111486)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<classloader xmlns="urn:jboss:classloader:1.0" name="test">
+ <included-filter>org.jboss.acme</included-filter>
+</classloader>
More information about the jboss-cvs-commits
mailing list