[jboss-cvs] JBossAS SVN: r108523 - in projects/jboss-cl/trunk/classloading/src: test/java/org/jboss/test/classloading/metadata/xml/test and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Oct 12 12:35:56 EDT 2010


Author: alesj
Date: 2010-10-12 12:35:56 -0400 (Tue, 12 Oct 2010)
New Revision: 108523

Added:
   projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithFilters.xml
   projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithJavaBean.xml
   projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithName.xml
Modified:
   projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/FilterMetaData.java
   projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingMetaDataXmlUnitTestCase.java
Log:
[JBCL-176]; add tests.

Modified: 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	2010-10-12 16:26:12 UTC (rev 108522)
+++ projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/FilterMetaData.java	2010-10-12 16:35:56 UTC (rev 108523)
@@ -24,6 +24,7 @@
 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 java.io.Serializable;
 import java.lang.reflect.Constructor;
@@ -91,11 +92,22 @@
 
    @XmlAnyElement
    @ManagementProperty(ignored = true)
-   public void setValue(Object value)
+   public void setValueObject(Object value)
    {
-      this.value = value;
+      if (value instanceof String)
+         setValueString((String) value);
+      else
+         this.value = value;
    }
 
+   @XmlValue
+   @ManagementProperty(ignored = true)
+   public void setValueString(String value)
+   {
+      if (value != null)
+         this.value = value.split(",");
+   }
+
    public int hashCode()
    {
       return 3 * filterClassName.hashCode() + 7 * (value != null ? value.hashCode() : 0);

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 16:26:12 UTC (rev 108522)
+++ projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/xml/test/ClassLoadingMetaDataXmlUnitTestCase.java	2010-10-12 16:35:56 UTC (rev 108523)
@@ -24,14 +24,10 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.jboss.classloading.spi.metadata.Capability;
-import org.jboss.classloading.spi.metadata.ClassLoadingMetaData;
-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.Requirement;
+import org.jboss.classloading.spi.metadata.*;
 import org.jboss.classloading.spi.version.Version;
 import org.jboss.classloading.spi.version.VersionRange;
+import org.jboss.javabean.plugins.jaxb.JavaBean20;
 import org.jboss.test.classloading.metadata.xml.AbstractJBossXBTest;
 import org.jboss.test.classloading.metadata.xml.support.TestCapability;
 import org.jboss.test.classloading.metadata.xml.support.TestRequirement;
@@ -42,6 +38,7 @@
  * ClassLoadingMetaDataXmlUnitTestCase.
  * 
  * @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 ClassLoadingMetaDataXmlUnitTestCase extends AbstractJBossXBTest
@@ -318,6 +315,43 @@
       assertRequirements(result, factory.createUsesPackage("test1", new VersionRange("1.0.0"))); 
    }
    
+   public void testParentPolicyWithName() throws Exception
+   {
+      ClassLoadingMetaData result = unmarshal();
+      ParentPolicyMetaData ppmd = result.getParentPolicy();
+      assertNotNull(ppmd);
+      assertEquals("EVERYTHING", ppmd.getName());
+   }
+
+   public void testParentPolicyWithFilters() throws Exception
+   {
+      ClassLoadingMetaData result = unmarshal();
+      ParentPolicyMetaData ppmd = result.getParentPolicy();
+      assertNotNull(ppmd);
+      assertNull(ppmd.getName());
+      FilterMetaData before = ppmd.getBeforeFilter();
+      assertNotNull(before);
+      assertEqualStrings(new String[]{"org.jboss.acme", "com.redhat.acme"}, before.getValue());
+      FilterMetaData after = ppmd.getAfterFilter();
+      assertNotNull(after);
+      assertEqualStrings(new String[]{"org.jboss.foobar", "com.redhat.foobar"}, after.getValue());
+      assertEquals("Qwert", ppmd.getDescription());
+      // actual PP and CF instantiation
+      assertNotNull(ppmd.createParentPolicy());
+   }
+
+   public void testParentPolicyWithJavaBean() throws Exception
+   {
+      ClassLoadingMetaData result = unmarshal(JavaBean20.class);
+      ParentPolicyMetaData ppmd = result.getParentPolicy();
+      assertNotNull(ppmd);
+      assertNull(ppmd.getName());
+      FilterMetaData before = ppmd.getBeforeFilter();
+      assertNotNull(before);
+      // actual PP and CF instantiation
+      assertNotNull(ppmd.createParentPolicy());
+   }
+
    public void assertCapabilities(ClassLoadingMetaData metadata, Capability... expected)
    {
       List<Capability> temp = new ArrayList<Capability>();
@@ -333,7 +367,18 @@
          temp.add(requirement);
       assertEquals(temp, metadata.getRequirements().getRequirements());
    }
-   
+
+   public void assertEqualStrings(String[] expected, Object result)
+   {
+      assertNotNull(expected);
+      assertNotNull(result);
+      assertTrue(result instanceof String[]);
+      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);

Added: projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithFilters.xml
===================================================================
--- projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithFilters.xml	                        (rev 0)
+++ projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithFilters.xml	2010-10-12 16:35:56 UTC (rev 108523)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<classloading xmlns="urn:jboss:classloading:1.0" name="test">
+   <parent-policy>
+      <before-filter>org.jboss.acme,com.redhat.acme</before-filter>
+      <after-filter>org.jboss.foobar,com.redhat.foobar</after-filter>
+      <description>Qwert</description>
+   </parent-policy>
+</classloading>

Added: projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithJavaBean.xml
===================================================================
--- projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithJavaBean.xml	                        (rev 0)
+++ projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithJavaBean.xml	2010-10-12 16:35:56 UTC (rev 108523)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<classloading xmlns="urn:jboss:classloading:1.0" name="test">
+   <parent-policy>
+      <before-filter>
+         <javabean xmlns="urn:jboss:javabean:2.0" class="org.jboss.classloader.plugins.filter.EverythingClassFilter"/>
+      </before-filter>
+   </parent-policy>
+</classloading>

Copied: projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithName.xml (from rev 108068, projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/UsesRequirement.xml)
===================================================================
--- projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithName.xml	                        (rev 0)
+++ projects/jboss-cl/trunk/classloading/src/test/resources/org/jboss/test/classloading/metadata/xml/test/ParentPolicyWithName.xml	2010-10-12 16:35:56 UTC (rev 108523)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<classloading xmlns="urn:jboss:classloading:1.0" name="test">
+   <parent-policy name="EVERYTHING"/>
+</classloading>



More information about the jboss-cvs-commits mailing list