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

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Oct 13 10:58:55 EDT 2010


Author: alesj
Date: 2010-10-13 10:58:54 -0400 (Wed, 13 Oct 2010)
New Revision: 108546

Added:
   projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingDomainMetaDataUnitTestCase.java
Modified:
   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/MetaDataTestSuite.java
Log:
[JBCL-176]; MO tests.

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 14:48:04 UTC (rev 108545)
+++ projects/jboss-cl/trunk/classloading/src/main/java/org/jboss/classloading/spi/metadata/ClassLoadingDomainMetaData.java	2010-10-13 14:58:54 UTC (rev 108546)
@@ -26,6 +26,7 @@
 
 import org.jboss.classloader.spi.ShutdownPolicy;
 import org.jboss.classloading.spi.helpers.NameAndVersionSupport;
+import org.jboss.classloading.spi.version.Version;
 import org.jboss.managed.api.annotation.ManagementObject;
 import org.jboss.managed.api.annotation.ManagementProperties;
 import org.jboss.managed.api.annotation.ManagementProperty;
@@ -53,6 +54,12 @@
    /** The shutdown policy */
    private ShutdownPolicy shutdownPolicy;
 
+   // ignore the version property
+   public void setTheVersion(Version version)
+   {
+      // ignored
+   }
+
    /**
     * Get the parentDomain.
     * 

Modified: projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/MetaDataTestSuite.java
===================================================================
--- projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/MetaDataTestSuite.java	2010-10-13 14:48:04 UTC (rev 108545)
+++ projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/MetaDataTestSuite.java	2010-10-13 14:58:54 UTC (rev 108546)
@@ -67,6 +67,7 @@
       suite.addTest(ClassLoadingMetaDataFactoryUnitTestCase.suite());
       suite.addTest(ClassLoadingMetaDataUnitTestCase.suite());
       suite.addTest(ManagedObjectClassLoadingMetaDataUnitTestCase.suite());
+      suite.addTest(ManagedObjectClassLoadingDomainMetaDataUnitTestCase.suite());
       suite.addTest(ClassLoadingMetaDataXmlUnitTestCase.suite());
       suite.addTest(ClassLoadingDomainMetaDataXmlUnitTestCase.suite());
 

Copied: projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingDomainMetaDataUnitTestCase.java (from rev 108518, 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/ManagedObjectClassLoadingDomainMetaDataUnitTestCase.java	                        (rev 0)
+++ projects/jboss-cl/trunk/classloading/src/test/java/org/jboss/test/classloading/metadata/test/ManagedObjectClassLoadingDomainMetaDataUnitTestCase.java	2010-10-13 14:58:54 UTC (rev 108546)
@@ -0,0 +1,143 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2008, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file 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.test.classloading.metadata.test;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
+import org.jboss.classloader.spi.ShutdownPolicy;
+import org.jboss.classloading.spi.metadata.ClassLoadingDomainMetaData;
+import org.jboss.classloading.spi.metadata.ParentPolicyMetaData;
+import org.jboss.managed.api.ManagedObject;
+import org.jboss.managed.api.ManagedProperty;
+import org.jboss.managed.api.factory.ManagedObjectFactory;
+import org.jboss.metatype.api.types.MetaType;
+import org.jboss.metatype.api.types.MetaTypeFactory;
+import org.jboss.metatype.api.values.MetaValue;
+import org.jboss.metatype.api.values.MetaValueFactory;
+import org.jboss.test.BaseTestCase;
+
+import junit.framework.Test;
+
+/**
+ * ManagedObjectClassLoadingDomainMetaDataUnitTestCase.
+ *
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
+ */
+public class ManagedObjectClassLoadingDomainMetaDataUnitTestCase extends BaseTestCase
+{
+   private ManagedObjectFactory moFactory = ManagedObjectFactory.getInstance();
+   private MetaTypeFactory mtFactory = MetaTypeFactory.getInstance();
+   private MetaValueFactory mvFactory = MetaValueFactory.getInstance();
+
+   public static Test suite()
+   {
+      return suite(ManagedObjectClassLoadingDomainMetaDataUnitTestCase.class);
+   }
+
+   public ManagedObjectClassLoadingDomainMetaDataUnitTestCase(String name)
+   {
+      super(name);
+   }
+
+   protected ManagedObject assertManagedObject(ClassLoadingDomainMetaData test)
+   {
+      ManagedObject result = moFactory.initManagedObject(test, null, null);
+      assertNotNull(result);
+      List<String> expectedProperties = Arrays.asList("name", "parentDomain", "parentPolicy", "shutdown");
+      Set<String> actualProperties = result.getPropertyNames();
+      for (String expected : expectedProperties)
+      {
+         if (actualProperties.contains(expected) == false)
+            fail("Expected property: " + expected);
+      }
+      for (String actual : actualProperties)
+      {
+         if (expectedProperties.contains(actual) == false)
+            fail("Did not expect property: " + actual);
+      }
+      return result;
+   }
+
+   protected ManagedProperty assertManagedProperty(ManagedObject mo, String name, MetaType metaType, MetaValue metaValue)
+   {
+      ManagedProperty property = mo.getProperty(name);
+      assertNotNull("No property " + name, property);
+      assertEquals(metaType, property.getMetaType());
+      assertEquals(metaValue, property.getValue());
+      return property;
+   }
+
+   protected <T> ManagedProperty assertManagedProperty(ManagedObject mo, String name, Class<T> type, T value)
+   {
+      MetaType metaType = mtFactory.resolve(type);
+
+      MetaValue metaValue = null;
+      if (value != null)
+         metaValue = mvFactory.create(value);
+      return assertManagedProperty(mo, name, metaType, metaValue);
+   }
+
+   public void testConstructor() throws Exception
+   {
+      ClassLoadingDomainMetaData test = new ClassLoadingDomainMetaData();
+      test.setParentPolicy(new ParentPolicyMetaData());
+      ManagedObject mo = assertManagedObject(test);
+      assertManagedProperty(mo, "name", String.class, "<unknown>");
+      assertManagedProperty(mo, "parentDomain", String.class, null);
+      assertManagedProperty(mo, "parentPolicy", ParentPolicyMetaData.class, new ParentPolicyMetaData());
+      assertManagedProperty(mo, "shutdown", ShutdownPolicy.class, null);
+   }
+
+   public void testSetName() throws Exception
+   {
+      ClassLoadingDomainMetaData test = new ClassLoadingDomainMetaData();
+      test.setName("test");
+      ManagedObject mo = assertManagedObject(test);
+      assertManagedProperty(mo, "name", String.class, "test");
+   }
+
+   public void testSetParentDomain() throws Exception
+   {
+      ClassLoadingDomainMetaData test = new ClassLoadingDomainMetaData();
+      test.setParentDomain("parentDomain");
+      ManagedObject mo = assertManagedObject(test);
+      assertManagedProperty(mo, "parentDomain", String.class, "parentDomain");
+   }
+
+   public void testParentPolicy() throws Exception
+   {
+      ClassLoadingDomainMetaData test = new ClassLoadingDomainMetaData();
+      test.setParentPolicy(new ParentPolicyMetaData());
+      ManagedObject mo = assertManagedObject(test);
+      assertManagedProperty(mo, "parentPolicy", ParentPolicyMetaData.class, test.getParentPolicy());
+   }
+
+   public void testSetShutdownPolicy() throws Exception
+   {
+      ClassLoadingDomainMetaData test = new ClassLoadingDomainMetaData();
+      test.setShutdownPolicy(ShutdownPolicy.GARBAGE_COLLECTION);
+      ManagedObject mo = assertManagedObject(test);
+      assertManagedProperty(mo, "shutdown", ShutdownPolicy.class, ShutdownPolicy.GARBAGE_COLLECTION);
+   }
+}



More information about the jboss-cvs-commits mailing list