[jboss-cvs] JBossAS SVN: r63938 - in projects/microcontainer/trunk: dependency/src/tests/org/jboss/test/dependency/controller/test and 5 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 10 08:32:18 EDT 2007


Author: alesj
Date: 2007-07-10 08:32:17 -0400 (Tue, 10 Jul 2007)
New Revision: 63938

Added:
   projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/jmx-beans.xml
   projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/mbean-beans.xml
   projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/servicex-beans.xml
   projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/tomcat-beans.xml
   projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/AbstractDeployerUnitTestCase.java
   projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/jaxp/DeployerClientTestCase.java
Modified:
   projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractController.java
   projects/microcontainer/trunk/dependency/src/tests/org/jboss/test/dependency/controller/test/AliasUnitTestCase.java
   projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/AliasDeployerUnitTestCase.java
   projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/BeanDeployerUnitTestCase.java
   projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/KernelDeployerUnitTestCase.java
   projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/jaxp/test/JAXPDeployerUnitTestCase.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java
   projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java
Log:
More JMX alias tests.
Added JMX needsAlias to add/remove alias on Controller.
Grouped methods for Deployer tests.

Modified: projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractController.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractController.java	2007-07-10 11:20:22 UTC (rev 63937)
+++ projects/microcontainer/trunk/dependency/src/main/org/jboss/dependency/plugins/AbstractController.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -55,7 +55,7 @@
 
    /** Whether we are shutdown */
    private boolean shutdown = false;
-   
+
    /** The states in order List<ControllerState> */
    private List<ControllerState> states = new CopyOnWriteArrayList<ControllerState>();
 
@@ -152,7 +152,7 @@
                }
             }
          }
-         
+
          Set<ControllerContext> contexts = getAllContexts();
          if (contexts != null && contexts.isEmpty() == false)
          {
@@ -174,9 +174,9 @@
          shutdown = true;
          unlockWrite();
       }
-      
+
    }
-   
+
    public void addState(ControllerState state, ControllerState before)
    {
       lockWrite();
@@ -184,7 +184,7 @@
       {
          if (states.contains(state))
             return;
-         
+
          if (before == null)
          {
             states.add(state);
@@ -357,7 +357,7 @@
       Object name = context.getName();
       if (name == null)
          throw new IllegalArgumentException("Null name " + context.toShortString());
-      
+
       install(context, trace);
    }
 
@@ -391,6 +391,14 @@
 
    public void addAlias(Object alias, Object original)
    {
+      Object jmxAlias = JMXObjectNameFix.needsAnAlias(alias);
+      if (jmxAlias != null)
+         alias = jmxAlias;
+
+      Object jmxOriginal = JMXObjectNameFix.needsAnAlias(original);
+      if (jmxOriginal != null)
+         original = jmxOriginal;
+
       lockWrite();
       try
       {
@@ -413,6 +421,9 @@
       lockWrite();
       try
       {
+         Object jmxAlias = JMXObjectNameFix.needsAnAlias(alias);
+         if (jmxAlias != null)
+            alias = jmxAlias;
          unregisterControllerContext(alias);
          if (log.isTraceEnabled())
             log.trace("Removed alias " + alias);
@@ -1228,7 +1239,7 @@
          }
       }
    }
-   
+
    /**
     * Can we use this context for autowiring.
     *

Modified: projects/microcontainer/trunk/dependency/src/tests/org/jboss/test/dependency/controller/test/AliasUnitTestCase.java
===================================================================
--- projects/microcontainer/trunk/dependency/src/tests/org/jboss/test/dependency/controller/test/AliasUnitTestCase.java	2007-07-10 11:20:22 UTC (rev 63937)
+++ projects/microcontainer/trunk/dependency/src/tests/org/jboss/test/dependency/controller/test/AliasUnitTestCase.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -21,11 +21,14 @@
 */
 package org.jboss.test.dependency.controller.test;
 
+import javax.management.ObjectName;
+
+import junit.framework.Test;
 import org.jboss.dependency.spi.ControllerContext;
 import org.jboss.dependency.spi.ControllerState;
+import org.jboss.dependency.spi.DependencyInfo;
+import org.jboss.dependency.plugins.AbstractDependencyItem;
 
-import junit.framework.Test;
-
 /**
  * AliasUnitTestCase.
  * 
@@ -90,4 +93,88 @@
       }
       assertCreateInstall("Name1", "AlreadyDone");
    }
+
+   public void testJMXasName() throws Throwable
+   {
+      String name = "test:name=ZName,attrib=Foo";
+      ObjectName jmxName = ObjectName.getInstance(name);
+      String canonical = jmxName.getCanonicalName();
+      ControllerContext original = assertCreateInstall(name);
+      try
+      {
+         ControllerContext ctx = assertContext(canonical, ControllerState.INSTALLED);
+         assertEquals(name, ctx.getName());
+      }
+      finally
+      {
+         try
+         {
+            assertUninstall(original);
+         }
+         finally
+         {
+            assertNoContext(canonical);
+         }
+      }
+   }
+
+   public void testJMXasAlias() throws Throwable
+   {
+      String alias = "test:name=ZName,attrib=Foo";
+      ObjectName jmxName = ObjectName.getInstance(alias);
+      String canonical = jmxName.getCanonicalName();
+      ControllerContext original = assertCreateInstall("Test1", alias);
+      try
+      {
+         ControllerContext ctx = assertContext(canonical, ControllerState.INSTALLED);
+         assertEquals("Test1", ctx.getName());
+      }
+      finally
+      {
+         try
+         {
+            assertUninstall(original);
+         }
+         finally
+         {
+            assertNoContext(canonical);
+         }
+      }
+   }
+
+   public void testJMXasDependency() throws Throwable
+   {
+      String alias = "test:name=ZName,attrib=Foo";
+      ObjectName jmxName = ObjectName.getInstance(alias);
+      String canonical = jmxName.getCanonicalName();
+      // add original with dependency
+      ControllerContext original = createControllerContext("Test1");
+      DependencyInfo info = original.getDependencyInfo();
+      info.addIDependOn(new AbstractDependencyItem("Test1", alias, ControllerState.CONFIGURED, null));
+      assertInstall(original, ControllerState.INSTANTIATED);
+      try
+      {
+         // create dependency resolver
+         ControllerContext dependant = assertCreateInstall(canonical);
+         try
+         {
+            assertContext("Test1", ControllerState.INSTALLED);
+         }
+         finally
+         {
+            try
+            {
+               assertUninstall(dependant);
+            }
+            finally
+            {
+               assertNoContext(canonical);
+            }
+         }
+      }
+      finally
+      {
+         assertUninstall(original);
+      }
+   }
 }

Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/jmx-beans.xml
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/jmx-beans.xml	                        (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/jmx-beans.xml	2007-07-10 12:32:17 UTC (rev 63938)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+   <alias name="test:attrib=Foo,name=JMXTest">test:alias=Simple,mode=Bar</alias>
+
+   <bean name="Injectee" class="org.jboss.test.deployers.vfs.deployer.bean.support.SimpleInjectee">
+      <property name="simple"><inject bean="test:mode=Bar,alias=Simple" /></property>
+   </bean>
+</deployment>

Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/mbean-beans.xml
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/mbean-beans.xml	                        (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/mbean-beans.xml	2007-07-10 12:32:17 UTC (rev 63938)
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+   <bean name="test:name=JMXTest,attrib=Foo" class="org.jboss.test.deployers.vfs.deployer.bean.support.Simple">
+      <alias>Test</alias>
+   </bean>
+</deployment>

Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/servicex-beans.xml
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/servicex-beans.xml	                        (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/servicex-beans.xml	2007-07-10 12:32:17 UTC (rev 63938)
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+   <alias name="Tomcat">JBossWeb</alias>
+
+   <bean name="ServiceX" class="org.jboss.test.deployers.vfs.deployer.bean.support.SimpleInjectee">
+      <depends>JBossWeb</depends>
+   </bean>
+</deployment>

Added: projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/tomcat-beans.xml
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/tomcat-beans.xml	                        (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/resources/tests/alias/toplevel/tomcat-beans.xml	2007-07-10 12:32:17 UTC (rev 63938)
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<deployment xmlns="urn:jboss:bean-deployer:2.0">
+   <bean name="Tomcat" class="org.jboss.test.deployers.vfs.deployer.bean.support.Simple" />
+</deployment>

Added: projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/AbstractDeployerUnitTestCase.java
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/AbstractDeployerUnitTestCase.java	                        (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/AbstractDeployerUnitTestCase.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -0,0 +1,68 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, 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.test.deployers.vfs.deployer.bean.test;
+
+import org.jboss.deployers.vfs.plugins.structure.file.FileStructure;
+import org.jboss.deployers.vfs.plugins.structure.jar.JARStructure;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
+import org.jboss.kernel.spi.dependency.KernelController;
+import org.jboss.test.deployers.vfs.deployer.jaxp.DeployerClientTestCase;
+
+/**
+ * AbstractDeployerUnitTestCase.
+ *
+ * @author <a href="ales.justin at jboss.com">Ales Justin</a>
+ */
+public abstract class AbstractDeployerUnitTestCase extends DeployerClientTestCase
+{
+   protected KernelController controller;
+
+   public AbstractDeployerUnitTestCase(String name) throws Throwable
+   {
+      super(name);
+   }
+
+   protected void setUp() throws Exception
+   {
+      super.setUp();
+      try
+      {
+         BasicBootstrap bootstrap = new BasicBootstrap();
+         bootstrap.run();
+         Kernel kernel = bootstrap.getKernel();
+         controller = kernel.getController();
+
+         main = createMainDeployer();
+         addStructureDeployer(main, new JARStructure());
+         addStructureDeployer(main, new FileStructure());
+
+         addDeployers(kernel);
+      }
+      catch (Throwable t)
+      {
+         throw new RuntimeException(t);
+      }
+   }
+
+   protected abstract void addDeployers(Kernel kernel);
+}

Modified: projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/AliasDeployerUnitTestCase.java
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/AliasDeployerUnitTestCase.java	2007-07-10 11:20:22 UTC (rev 63937)
+++ projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/AliasDeployerUnitTestCase.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -21,73 +21,47 @@
 */
 package org.jboss.test.deployers.vfs.deployer.bean.test;
 
-import org.jboss.test.deployers.BaseDeployersVFSTest;
-import org.jboss.deployers.client.spi.DeployerClient;
-import org.jboss.deployers.vfs.plugins.structure.jar.JARStructure;
-import org.jboss.deployers.vfs.plugins.structure.file.FileStructure;
+import junit.framework.Test;
+import junit.framework.TestSuite;
+import org.jboss.deployers.vfs.deployer.kernel.AliasDeploymentDeployer;
 import org.jboss.deployers.vfs.deployer.kernel.BeanDeployer;
-import org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer;
 import org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer;
 import org.jboss.deployers.vfs.deployer.kernel.DeploymentAliasMetaDataDeployer;
-import org.jboss.deployers.vfs.deployer.kernel.AliasDeploymentDeployer;
+import org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer;
 import org.jboss.deployers.vfs.spi.client.VFSDeployment;
 import org.jboss.deployers.spi.DeploymentState;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
 import org.jboss.kernel.Kernel;
-import junit.framework.Test;
-import junit.framework.TestSuite;
+import org.jboss.dependency.spi.ControllerState;
 
 /**
  * AliasDeployerUnitTestCase.
  *
  * @author <a href="ales.justin at jboss.com">Ales Justin</a>
  */
-public class AliasDeployerUnitTestCase extends BaseDeployersVFSTest
+public class AliasDeployerUnitTestCase extends AbstractDeployerUnitTestCase
 {
    public static Test suite()
    {
       return new TestSuite(AliasDeployerUnitTestCase.class);
    }
 
-   private DeployerClient main;
-
-   private KernelController controller;
-
    public AliasDeployerUnitTestCase(String name) throws Throwable
    {
       super(name);
    }
 
-   protected void setUp() throws Exception
+   protected void addDeployers(Kernel kernel)
    {
-      super.setUp();
-      try
-      {
-         BasicBootstrap bootstrap = new BasicBootstrap();
-         bootstrap.run();
-         Kernel kernel = bootstrap.getKernel();
-         controller = kernel.getController();
-
-         main = createMainDeployer();
-         addStructureDeployer(main, new JARStructure());
-         addStructureDeployer(main, new FileStructure());
-
-         BeanDeployer beanDeployer = new BeanDeployer();
-         KernelDeploymentDeployer kernelDeploymentDeployer = new KernelDeploymentDeployer();
-         AliasDeploymentDeployer aliasDeploymentDeployer = new AliasDeploymentDeployer();
-         BeanMetaDataDeployer beanMetaDataDeployer = new BeanMetaDataDeployer(kernel);
-         DeploymentAliasMetaDataDeployer aliasMetaDataDeployer = new DeploymentAliasMetaDataDeployer(kernel);
-         addDeployer(main, beanDeployer);
-         addDeployer(main, kernelDeploymentDeployer);
-         addDeployer(main, aliasDeploymentDeployer);
-         addDeployer(main, beanMetaDataDeployer);
-         addDeployer(main, aliasMetaDataDeployer);
-      }
-      catch (Throwable t)
-      {
-         throw new RuntimeException(t);
-      }
+      BeanDeployer beanDeployer = new BeanDeployer();
+      KernelDeploymentDeployer kernelDeploymentDeployer = new KernelDeploymentDeployer();
+      AliasDeploymentDeployer aliasDeploymentDeployer = new AliasDeploymentDeployer();
+      BeanMetaDataDeployer beanMetaDataDeployer = new BeanMetaDataDeployer(kernel);
+      DeploymentAliasMetaDataDeployer aliasMetaDataDeployer = new DeploymentAliasMetaDataDeployer(kernel);
+      addDeployer(main, beanDeployer);
+      addDeployer(main, kernelDeploymentDeployer);
+      addDeployer(main, aliasDeploymentDeployer);
+      addDeployer(main, beanMetaDataDeployer);
+      addDeployer(main, aliasMetaDataDeployer);
    }
 
    public void testAliasSuccessful() throws Exception
@@ -103,10 +77,11 @@
       assertNotNull("Missing Injectee bean.", controller.getInstalledContext("Injectee"));
 
       assertUndeploy(alias);
-      assertNull(controller.getContext("MyAlias", null));
+      assertNull(controller.getContext("Injectee", null));
 
       assertUndeploy(context);
       assertNull(controller.getContext("Test", null));
+      assertNull(controller.getContext("MyAlias", null));
    }
 
    public void testJoinedSuccessful() throws Exception
@@ -130,27 +105,40 @@
       assertNull(controller.getContext("Test", null));
    }
 
-   protected void assertDeploy(VFSDeployment context) throws Exception
+   public void testJMXAlias() throws Exception
    {
-      assertDeploy(context, DeploymentState.DEPLOYED);
-   }
+      VFSDeployment context = createDeployment("/alias", "toplevel/mbean-beans.xml");
+      assertDeploy(context);
+      assertNotNull(controller.getInstalledContext("Test"));
 
-   protected void assertUndeploy(VFSDeployment context) throws Exception
-   {
-      assertUndeploy(context, DeploymentState.UNDEPLOYED);
-   }
+      VFSDeployment alias = createDeployment("/alias", "toplevel/jmx-beans.xml");
+      assertDeploy(alias);
+      assertNotNull("Missing Injectee bean.", controller.getInstalledContext("Injectee"));
 
-   protected void assertDeploy(VFSDeployment context, DeploymentState expectedState) throws Exception
-   {
-      main.addDeployment(context);
-      main.process();
-      assertEquals("Should be Deployed " + context, expectedState, main.getDeploymentState(context.getName()));
+      assertUndeploy(alias);
+      assertNull(controller.getContext("Injectee", null));
+
+      assertUndeploy(context);
+      assertNull(controller.getContext("Test", null));
    }
 
-   protected void assertUndeploy(VFSDeployment context, DeploymentState expectedState) throws Exception
+   public void testAliasDependency() throws Exception
    {
-      main.removeDeployment(context.getName());
-      main.process();
-      assertEquals("Should be Undeployed " + context, expectedState, main.getDeploymentState(context.getName()));
+      VFSDeployment context = createDeployment("/alias", "toplevel/tomcat-beans.xml");
+      assertDeploy(context);
+      assertNotNull(controller.getInstalledContext("Tomcat"));
+
+      VFSDeployment alias = createDeployment("/alias", "toplevel/servicex-beans.xml");
+      assertDeploy(alias);
+      assertNotNull(controller.getInstalledContext("ServiceX"));
+
+      assertUndeploy(context);
+      assertNull(controller.getContext("Tomcat", null));
+      assertNull(controller.getContext("ServiceX", ControllerState.CREATE));
+      assertNotNull(controller.getContext("ServiceX", ControllerState.CONFIGURED));
+
+      assertUndeploy(alias);
+      assertNull(controller.getContext("JBossWeb", null));
+      assertNull(controller.getContext("ServiceX", null));
    }
 }

Modified: projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/BeanDeployerUnitTestCase.java
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/BeanDeployerUnitTestCase.java	2007-07-10 11:20:22 UTC (rev 63937)
+++ projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/BeanDeployerUnitTestCase.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -23,19 +23,11 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-
-import org.jboss.deployers.client.spi.DeployerClient;
-import org.jboss.deployers.spi.DeploymentState;
 import org.jboss.deployers.vfs.deployer.kernel.BeanDeployer;
 import org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer;
 import org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer;
-import org.jboss.deployers.vfs.plugins.structure.file.FileStructure;
-import org.jboss.deployers.vfs.plugins.structure.jar.JARStructure;
 import org.jboss.deployers.vfs.spi.client.VFSDeployment;
 import org.jboss.kernel.Kernel;
-import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.test.deployers.BaseDeployersVFSTest;
 
 /**
  * BeanDeployerUnitTestCase.
@@ -43,47 +35,26 @@
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
  * @version $Revision: 1.1 $
  */
-public class BeanDeployerUnitTestCase extends BaseDeployersVFSTest
+public class BeanDeployerUnitTestCase extends AbstractDeployerUnitTestCase
 {
    public static Test suite()
    {
       return new TestSuite(BeanDeployerUnitTestCase.class);
    }
 
-   private DeployerClient main;
-   
-   private KernelController controller;
-   
    public BeanDeployerUnitTestCase(String name) throws Throwable
    {
       super(name);
    }
 
-   protected void setUp() throws Exception
+   protected void addDeployers(Kernel kernel)
    {
-      super.setUp();
-      try
-      {
-         BasicBootstrap bootstrap = new BasicBootstrap();
-         bootstrap.run();
-         Kernel kernel = bootstrap.getKernel();
-         controller = kernel.getController();
-         
-         main = createMainDeployer();
-         addStructureDeployer(main, new JARStructure());
-         addStructureDeployer(main, new FileStructure());
-         
-         BeanDeployer beanDeployer = new BeanDeployer();
-         KernelDeploymentDeployer kernelDeploymentDeployer = new KernelDeploymentDeployer();
-         BeanMetaDataDeployer beanMetaDataDeployer = new BeanMetaDataDeployer(kernel);
-         addDeployer(main, beanDeployer);
-         addDeployer(main, kernelDeploymentDeployer);
-         addDeployer(main, beanMetaDataDeployer);
-      }
-      catch (Throwable t)
-      {
-         throw new RuntimeException(t);
-      }
+      BeanDeployer beanDeployer = new BeanDeployer();
+      KernelDeploymentDeployer kernelDeploymentDeployer = new KernelDeploymentDeployer();
+      BeanMetaDataDeployer beanMetaDataDeployer = new BeanMetaDataDeployer(kernel);
+      addDeployer(main, beanDeployer);
+      addDeployer(main, kernelDeploymentDeployer);
+      addDeployer(main, beanMetaDataDeployer);
    }
 
    public void testTopLevelFile() throws Exception
@@ -106,17 +77,4 @@
       assertNull(controller.getContext("Test", null));
    }
 
-   protected void assertDeploy(VFSDeployment context) throws Exception
-   {
-      main.addDeployment(context);
-      main.process();
-      assertEquals("Should be Deployed " + context, DeploymentState.DEPLOYED, main.getDeploymentState(context.getName()));
-   }
-
-   protected void assertUndeploy(VFSDeployment context) throws Exception
-   {
-      main.removeDeployment(context.getName());
-      main.process();
-      assertEquals("Should be Undeployed " + context, DeploymentState.UNDEPLOYED, main.getDeploymentState(context.getName()));
-   }
 }

Modified: projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/KernelDeployerUnitTestCase.java
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/KernelDeployerUnitTestCase.java	2007-07-10 11:20:22 UTC (rev 63937)
+++ projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/bean/test/KernelDeployerUnitTestCase.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -25,20 +25,14 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
-import org.jboss.deployers.client.spi.DeployerClient;
 import org.jboss.deployers.client.spi.Deployment;
-import org.jboss.deployers.spi.DeploymentState;
 import org.jboss.deployers.spi.attachments.MutableAttachments;
 import org.jboss.deployers.vfs.deployer.kernel.BeanMetaDataDeployer;
 import org.jboss.deployers.vfs.deployer.kernel.KernelDeploymentDeployer;
 import org.jboss.kernel.Kernel;
-import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
 import org.jboss.kernel.plugins.deployment.AbstractKernelDeployment;
-import org.jboss.kernel.spi.dependency.KernelController;
-import org.jboss.test.deployers.BaseDeployersVFSTest;
 import org.jboss.test.deployers.vfs.deployer.bean.support.Simple;
 import org.jboss.test.deployers.vfs.deployer.bean.support.TestBeanDeployer;
 
@@ -48,45 +42,26 @@
  * @author <a href="adrian at jboss.com">Adrian Brock</a>
  * @version $Revision: 1.1 $
  */
-public class KernelDeployerUnitTestCase extends BaseDeployersVFSTest
+public class KernelDeployerUnitTestCase extends AbstractDeployerUnitTestCase
 {
    public static Test suite()
    {
       return new TestSuite(KernelDeployerUnitTestCase.class);
    }
 
-   private DeployerClient main;
-   
-   private KernelController controller;
-   
    public KernelDeployerUnitTestCase(String name) throws Throwable
    {
       super(name);
    }
 
-   protected void setUp() throws Exception
+   protected void addDeployers(Kernel kernel)
    {
-      super.setUp();
-      try
-      {
-         BasicBootstrap bootstrap = new BasicBootstrap();
-         bootstrap.run();
-         Kernel kernel = bootstrap.getKernel();
-         controller = kernel.getController();
-         
-         main = createMainDeployer();
-         
-         TestBeanDeployer testDeployer = new TestBeanDeployer();
-         KernelDeploymentDeployer kernelDeploymentDeployer = new KernelDeploymentDeployer();
-         BeanMetaDataDeployer beanMetaDataDeployer = new BeanMetaDataDeployer(kernel);
-         addDeployer(main, testDeployer);
-         addDeployer(main, kernelDeploymentDeployer);
-         addDeployer(main, beanMetaDataDeployer);
-      }
-      catch (Throwable t)
-      {
-         throw new RuntimeException(t);
-      }
+      TestBeanDeployer testDeployer = new TestBeanDeployer();
+      KernelDeploymentDeployer kernelDeploymentDeployer = new KernelDeploymentDeployer();
+      BeanMetaDataDeployer beanMetaDataDeployer = new BeanMetaDataDeployer(kernel);
+      addDeployer(main, testDeployer);
+      addDeployer(main, kernelDeploymentDeployer);
+      addDeployer(main, beanMetaDataDeployer);
    }
 
    public void testKernelDeployerPredetermined() throws Exception
@@ -120,17 +95,4 @@
       assertNull(controller.getContext("Test", null));
    }
 
-   protected void assertDeploy(Deployment context) throws Exception
-   {
-      main.addDeployment(context);
-      main.process();
-      assertEquals("Should be Deployed " + context, DeploymentState.DEPLOYED, main.getDeploymentState(context.getName()));
-   }
-
-   protected void assertUndeploy(Deployment context) throws Exception
-   {
-      main.removeDeployment(context.getName());
-      main.process();
-      assertEquals("Should be Undeployed " + context, DeploymentState.UNDEPLOYED, main.getDeploymentState(context.getName()));
-   }
 }

Added: projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/jaxp/DeployerClientTestCase.java
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/jaxp/DeployerClientTestCase.java	                        (rev 0)
+++ projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/jaxp/DeployerClientTestCase.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -0,0 +1,67 @@
+/*
+* JBoss, Home of Professional Open Source
+* Copyright 2006, 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.test.deployers.vfs.deployer.jaxp;
+
+import org.jboss.deployers.client.spi.DeployerClient;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.spi.DeploymentState;
+import org.jboss.test.deployers.BaseDeployersVFSTest;
+
+/**
+ * DeployerClientTestCase.
+ * DeployerClient instance holder.
+ *
+ * @author <a href="ales.justin at jboss.org">Ales Justin</a>
+ */
+public abstract class DeployerClientTestCase extends BaseDeployersVFSTest
+{
+   protected DeployerClient main;
+
+   public DeployerClientTestCase(String name)
+   {
+      super(name);
+   }
+
+   protected void assertDeploy(Deployment context) throws Exception
+   {
+      assertDeploy(context, DeploymentState.DEPLOYED);
+   }
+
+   protected void assertUndeploy(Deployment context) throws Exception
+   {
+      assertUndeploy(context, DeploymentState.UNDEPLOYED);
+   }
+
+   protected void assertDeploy(Deployment context, DeploymentState expectedState) throws Exception
+   {
+      main.addDeployment(context);
+      main.process();
+      assertEquals("Should be Deployed " + context, expectedState, main.getDeploymentState(context.getName()));
+   }
+
+   protected void assertUndeploy(Deployment context, DeploymentState expectedState) throws Exception
+   {
+      main.removeDeployment(context.getName());
+      main.process();
+      assertEquals("Should be Undeployed " + context, expectedState, main.getDeploymentState(context.getName()));
+   }
+}

Modified: projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/jaxp/test/JAXPDeployerUnitTestCase.java
===================================================================
--- projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/jaxp/test/JAXPDeployerUnitTestCase.java	2007-07-10 11:20:22 UTC (rev 63937)
+++ projects/microcontainer/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/deployer/jaxp/test/JAXPDeployerUnitTestCase.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -26,14 +26,12 @@
 
 import junit.framework.Test;
 import junit.framework.TestSuite;
-
-import org.jboss.deployers.client.spi.DeployerClient;
 import org.jboss.deployers.spi.DeploymentState;
 import org.jboss.deployers.spi.attachments.MutableAttachments;
 import org.jboss.deployers.vfs.plugins.structure.file.FileStructure;
 import org.jboss.deployers.vfs.plugins.structure.jar.JARStructure;
 import org.jboss.deployers.vfs.spi.client.VFSDeployment;
-import org.jboss.test.deployers.BaseDeployersVFSTest;
+import org.jboss.test.deployers.vfs.deployer.jaxp.DeployerClientTestCase;
 import org.jboss.test.deployers.vfs.deployer.jaxp.support.SomeBean;
 import org.jboss.test.deployers.vfs.deployer.jaxp.support.TestXmlDeployer;
 import org.w3c.dom.DOMImplementation;
@@ -46,14 +44,13 @@
  * @author Scott.Stark at jboss.org
  * @version $Revision: 60707 $
  */
-public class JAXPDeployerUnitTestCase extends BaseDeployersVFSTest
+public class JAXPDeployerUnitTestCase extends DeployerClientTestCase
 {
    public static Test suite()
    {
       return new TestSuite(JAXPDeployerUnitTestCase.class);
    }
 
-   private DeployerClient main;
    private TestXmlDeployer deployer;
 
    public JAXPDeployerUnitTestCase(String name) throws Throwable
@@ -122,11 +119,4 @@
       assertEquals("Should be Deployed " + context, DeploymentState.DEPLOYED, main.getDeploymentState(context.getName()));
    }
 
-   protected void assertUndeploy(VFSDeployment context)
-      throws Exception
-   {
-      main.removeDeployment(context);
-      main.process();
-      assertEquals("Should be Undeployed " + context, DeploymentState.UNDEPLOYED, main.getDeploymentState(context.getName()));
-   }
 }

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java	2007-07-10 11:20:22 UTC (rev 63937)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractDependencyValueMetaData.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -154,7 +154,7 @@
       if (state == null)
          state = ControllerState.INSTALLED;
       Controller controller = context.getController();
-      ControllerContext lookup = controller.getContext(value, state);
+      ControllerContext lookup = controller.getContext(getUnderlyingValue(), state);
 
       if (isLookupValid(lookup) == false)
          throw new Error("Should not be here - dependency failed - " + this);

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java	2007-07-10 11:20:22 UTC (rev 63937)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractInjectionValueMetaData.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -122,7 +122,7 @@
       boolean isCallback = InjectionOption.CALLBACK.equals(injectionOption);
       if (lookupExists == false && isCallback)
       {
-         addInstallItem(value);
+         addInstallItem(getUnderlyingValue());
       }
       return lookupExists || isCallback;
    }
@@ -130,7 +130,7 @@
    public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable
    {
       // by class type
-      if (value == null)
+      if (getUnderlyingValue() == null)
       {
          Controller controller = context.getController();
          ControllerContext lookup = controller.getInstalledContext(info.getType());

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueMetaData.java	2007-07-10 11:20:22 UTC (rev 63937)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/AbstractValueMetaData.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -32,6 +32,7 @@
 import org.jboss.reflect.spi.TypeInfo;
 import org.jboss.util.JBossObject;
 import org.jboss.util.JBossStringBuilder;
+import org.jboss.dependency.plugins.JMXObjectNameFix;
 
 /**
  * Plain value.
@@ -47,7 +48,7 @@
    /**
     * The value
     */
-   protected Object value;
+   private Object value;
 
    /**
     * Create a new plain value
@@ -63,7 +64,7 @@
     */
    public AbstractValueMetaData(Object value)
    {
-      this.value = value;
+      setValue(value);
    }
 
    public Object getValue()
@@ -73,7 +74,11 @@
 
    public void setValue(Object value)
    {
-      this.value = value;
+      Object jmxHack = JMXObjectNameFix.needsAnAlias(value);
+      if (jmxHack != null)
+         this.value = jmxHack;
+      else
+         this.value = value;
       flushJBossObjectCache();
    }
 

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java	2007-07-10 11:20:22 UTC (rev 63937)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/StringValueMetaData.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -83,22 +83,22 @@
    {
       boolean trace = log.isTraceEnabled();
       if (trace)
-         log.trace("getValue value=" + value + " type=" + type + " info=" + info);
+         log.trace("getValue value=" + getUnderlyingValue() + " type=" + type + " info=" + info);
 
       TypeInfo typeInfo = getClassInfo(cl);
       if (typeInfo == null)
          typeInfo = info;
       if (typeInfo == null)
-         throw new IllegalArgumentException("Unable to determine type for value: " + value);
+         throw new IllegalArgumentException("Unable to determine type for value: " + getUnderlyingValue());
 
       // we convert it with more precise type
       // and then check for progression, ...
       if (typeInfo != info && info != null)
       {
-         Object typeValue = typeInfo.convertValue(value);
+         Object typeValue = typeInfo.convertValue(getUnderlyingValue());
          return info.convertValue(typeValue, replace);
       }
-      return typeInfo.convertValue(value, replace);
+      return typeInfo.convertValue(getUnderlyingValue(), replace);
    }
 
    protected Object getDefaultInstance()

Modified: projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java
===================================================================
--- projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java	2007-07-10 11:20:22 UTC (rev 63937)
+++ projects/microcontainer/trunk/kernel/src/main/org/jboss/beans/metadata/plugins/ThisValueMetaData.java	2007-07-10 12:32:17 UTC (rev 63938)
@@ -52,7 +52,7 @@
    public Object getValue(TypeInfo info, ClassLoader cl) throws Throwable
    {
       Controller controller = context.getController();
-      ControllerContext context = controller.getContext(value, ControllerState.INSTANTIATED);
+      ControllerContext context = controller.getContext(getUnderlyingValue(), ControllerState.INSTANTIATED);
       if (context == null)
          throw new Error("Could not deference this " + this);
       // TODO - add progression, see BeanMetaData, InjectionMetaData
@@ -62,10 +62,10 @@
    public void initialVisit(MetaDataVisitor visitor)
    {
       context = visitor.getControllerContext();
-      value = context.getName();
+      setValue(context.getName());
       ControllerState whenRequired = visitor.getContextState();
 
-      DependencyItem item = new AbstractDependencyItem(value, value, whenRequired, ControllerState.INSTANTIATED);
+      DependencyItem item = new AbstractDependencyItem(getUnderlyingValue(), getUnderlyingValue(), whenRequired, ControllerState.INSTANTIATED);
       visitor.addDependency(item);
 
       super.initialVisit(visitor);




More information about the jboss-cvs-commits mailing list