[jboss-cvs] JBossAS SVN: r97181 - in projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers: test and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Nov 30 12:51:30 EST 2009
Author: alesj
Date: 2009-11-30 12:51:29 -0500 (Mon, 30 Nov 2009)
New Revision: 97181
Added:
projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/support/SMDParsingDeployer.java
projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/AbstractServiceTest.java
projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceDeploymentRegistryTestCase.java
Modified:
projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/DeployersTestSuite.java
projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceUnitNameTestCase.java
Log:
[JBDEPLOY-65]; tests for service/context 2 deployment mapping.
Added: projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/support/SMDParsingDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/support/SMDParsingDeployer.java (rev 0)
+++ projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/support/SMDParsingDeployer.java 2009-11-30 17:51:29 UTC (rev 97181)
@@ -0,0 +1,73 @@
+/*
+ * 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.system.deployers.support;
+
+import java.util.Collections;
+import java.util.Set;
+
+import org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.system.metadata.ServiceDeployment;
+import org.jboss.system.metadata.ServiceMetaData;
+
+/**
+ * @author <a href="mailto:ales.justin at jboss.org">Ales Justin</a>
+ */
+public class SMDParsingDeployer extends AbstractParsingDeployerWithOutput<ServiceDeployment>
+{
+ private ServiceMetaData smd;
+
+ public SMDParsingDeployer(ServiceMetaData smd)
+ {
+ super(ServiceDeployment.class);
+ this.smd = smd;
+ }
+
+ protected ServiceDeployment getServiceDeployment() throws Exception
+ {
+ ServiceDeployment serviceDeployment = new ServiceDeployment();
+ serviceDeployment.setServices(Collections.singletonList(smd));
+ return serviceDeployment;
+ }
+
+ @Override
+ protected ServiceDeployment parse(DeploymentUnit arg0, Set<String> arg1, ServiceDeployment arg2) throws Exception
+ {
+ return getServiceDeployment();
+ }
+
+ @Override
+ protected ServiceDeployment parse(DeploymentUnit arg0, Set<String> arg1, String arg2, ServiceDeployment arg3) throws Exception
+ {
+ return getServiceDeployment();
+ }
+
+ protected ServiceDeployment parse(DeploymentUnit deploymentUnit, String s, ServiceDeployment deployment) throws Exception
+ {
+ return getServiceDeployment();
+ }
+
+ protected ServiceDeployment parse(DeploymentUnit deploymentUnit, String s, String s1, ServiceDeployment deployment) throws Exception
+ {
+ return getServiceDeployment();
+ }
+}
Copied: projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/AbstractServiceTest.java (from rev 96678, projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceUnitNameTestCase.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/AbstractServiceTest.java (rev 0)
+++ projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/AbstractServiceTest.java 2009-11-30 17:51:29 UTC (rev 97181)
@@ -0,0 +1,225 @@
+/*
+ * 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.system.deployers.test;
+
+import java.lang.reflect.Method;
+
+import javax.management.MBeanServer;
+import javax.management.MBeanServerFactory;
+import javax.management.ObjectName;
+
+import org.jboss.dependency.spi.Controller;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.plugins.deployers.DeployersImpl;
+import org.jboss.deployers.plugins.main.MainDeployerImpl;
+import org.jboss.deployers.spi.deployer.Deployer;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.structure.spi.StructuralDeployers;
+import org.jboss.deployers.structure.spi.DeploymentRegistry;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
+import org.jboss.mx.server.ServerConstants;
+import org.jboss.mx.util.MBeanServerLocator;
+import org.jboss.system.ServiceController;
+import org.jboss.system.deployers.ServiceDeployer;
+import org.jboss.system.deployers.ServiceDeploymentDeployer;
+import org.jboss.system.metadata.ServiceMetaData;
+import org.jboss.test.AbstractSystemTest;
+import org.jboss.test.AbstractTestDelegate;
+import org.jboss.test.system.deployers.support.CLDeployer;
+import org.jboss.test.system.deployers.support.JmxCL;
+import org.jboss.test.system.deployers.support.SMDParsingDeployer;
+
+/**
+ * Abstract service/jmx test.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public abstract class AbstractServiceTest extends AbstractSystemTest
+{
+ protected Controller controller;
+ protected ServiceController serviceController;
+ protected MainDeployerImpl main;
+
+ protected AbstractServiceTest(String name)
+ {
+ super(name);
+ }
+
+ @Override
+ protected void setUp() throws Exception
+ {
+ super.setUp();
+
+ MBeanServer mbeanServer = createMBeanServer();
+ try
+ {
+ BasicBootstrap bootstrap = new BasicBootstrap();
+ bootstrap.run();
+ Kernel kernel = bootstrap.getKernel();
+ controller = kernel.getController();
+
+ serviceController = new ServiceController();
+ ObjectName objectName = new ObjectName("jboss.system:service=ServiceController");
+ serviceController.setKernel(kernel);
+ serviceController.setMBeanServer(mbeanServer);
+ mbeanServer.registerMBean(serviceController, objectName);
+
+ ClassLoader loader = Thread.currentThread().getContextClassLoader();
+ ObjectName clON = new ObjectName("jboss:service=defaultClassLoader");
+ mbeanServer.registerMBean(new JmxCL(loader), clON);
+
+ MainDeployerImpl mainDeployer = new MainDeployerImpl();
+ DeployersImpl deployersImpl = new DeployersImpl(controller);
+ mainDeployer.setDeployers(deployersImpl);
+
+ // default deployers
+ ServiceDeployer serviceDeployer = new ServiceDeployer(serviceController);
+ serviceDeployer.setDeploymentRegistry(getRegistry());
+ deployersImpl.addDeployer(serviceDeployer);
+ deployersImpl.addDeployer(new ServiceDeploymentDeployer());
+ deployersImpl.addDeployer(new CLDeployer());
+
+ main = mainDeployer;
+ }
+ catch (Exception e)
+ {
+ cleanup(mbeanServer);
+
+ super.tearDown();
+
+ throw e;
+ }
+ }
+
+ protected DeploymentRegistry getRegistry()
+ {
+ return null;
+ }
+
+ private void cleanup(MBeanServer mbeanServer)
+ {
+ try
+ {
+ ObjectName objectName = new ObjectName("jboss.system:service=ServiceController");
+ mbeanServer.unregisterMBean(objectName);
+
+ ObjectName clON = new ObjectName("jboss:service=defaultClassLoader");
+ mbeanServer.unregisterMBean(clON);
+ }
+ catch (Exception ignored)
+ {
+ }
+ finally
+ {
+ controller = null;
+ serviceController = null;
+ main = null;
+
+ MBeanServerLocator.setJBoss(null);
+ if (MBeanServerFactory.findMBeanServer("JBoss").isEmpty() == false)
+ MBeanServerFactory.releaseMBeanServer(mbeanServer);
+ }
+ }
+
+ @Override
+ protected void tearDown() throws Exception
+ {
+ try
+ {
+ MBeanServer mbeanServer = MBeanServerLocator.locateJBoss();
+
+ cleanup(mbeanServer);
+ }
+ finally
+ {
+ super.tearDown();
+ }
+ }
+
+ protected void setStructureDeployer(StructuralDeployers deployers)
+ {
+ main.setStructuralDeployers(deployers);
+ }
+
+ protected void addDeployers(Deployer... deployers)
+ {
+ if (deployers != null)
+ {
+ DeployersImpl dc = (DeployersImpl)main.getDeployers();
+ for (Deployer deployer : deployers)
+ dc.addDeployer(deployer);
+ }
+ }
+
+ protected DeploymentUnit deploy(Deployment deployment) throws Exception
+ {
+ main.addDeployment(deployment);
+ main.process();
+ main.checkComplete();
+ return main.getDeploymentUnit(deployment.getName());
+ }
+
+ protected void undeploy(Deployment deployment) throws Exception
+ {
+ main.removeDeployment(deployment);
+ main.process();
+ main.checkComplete();
+ }
+
+ protected void addServiceMetaData(ServiceMetaData smd)
+ {
+ SMDParsingDeployer deployer = new SMDParsingDeployer(smd);
+ addDeployers(deployer);
+ }
+
+ private MBeanServer createMBeanServer() throws Exception
+ {
+ MBeanServer server;
+
+ String builder = System.getProperty(ServerConstants.MBEAN_SERVER_BUILDER_CLASS_PROPERTY, ServerConstants.DEFAULT_MBEAN_SERVER_BUILDER_CLASS);
+ System.setProperty(ServerConstants.MBEAN_SERVER_BUILDER_CLASS_PROPERTY, builder);
+
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ Class<?> clazz = cl.loadClass("java.lang.management.ManagementFactory");
+ Method method = clazz.getMethod("getPlatformMBeanServer");
+ Object[] args = null;
+ server = (MBeanServer)method.invoke(null, args);
+ // Tell the MBeanServerLocator to point to this mbeanServer
+ MBeanServerLocator.setJBoss(server);
+ return server;
+ }
+
+ /**
+ * Default setup with security manager enabled
+ *
+ * @param clazz the class
+ * @return the delegate
+ * @throws Exception for any error
+ */
+ public static AbstractTestDelegate getDelegate(Class<?> clazz) throws Exception
+ {
+ AbstractTestDelegate delegate = new AbstractTestDelegate(clazz);
+ delegate.enableSecurity = false; // security
+ return delegate;
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/DeployersTestSuite.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/DeployersTestSuite.java 2009-11-30 17:19:21 UTC (rev 97180)
+++ projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/DeployersTestSuite.java 2009-11-30 17:51:29 UTC (rev 97181)
@@ -42,6 +42,7 @@
TestSuite suite = new TestSuite("Deployers Tests");
suite.addTest(ServiceUnitNameTestCase.suite());
+ suite.addTest(ServiceDeploymentRegistryTestCase.suite());
return suite;
}
Copied: projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceDeploymentRegistryTestCase.java (from rev 96678, projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceUnitNameTestCase.java)
===================================================================
--- projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceDeploymentRegistryTestCase.java (rev 0)
+++ projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceDeploymentRegistryTestCase.java 2009-11-30 17:51:29 UTC (rev 97181)
@@ -0,0 +1,104 @@
+/*
+ * 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.system.deployers.test;
+
+import java.util.Collections;
+
+import javax.management.ObjectName;
+
+import junit.framework.Test;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.deployers.client.plugins.deployment.AbstractDeployment;
+import org.jboss.deployers.client.spi.Deployment;
+import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.structure.spi.DeploymentContext;
+import org.jboss.deployers.structure.spi.DeploymentRegistry;
+import org.jboss.deployers.structure.spi.DeploymentUnit;
+import org.jboss.deployers.structure.spi.StructuralDeployers;
+import org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext;
+import org.jboss.deployers.structure.spi.helpers.AbstractDeploymentRegistry;
+import org.jboss.system.metadata.ServiceConstructorMetaData;
+import org.jboss.system.metadata.ServiceMetaData;
+import org.jboss.test.system.deployers.support.Tester;
+
+/**
+ * Test component name usage.
+ *
+ * @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
+ */
+public class ServiceDeploymentRegistryTestCase extends AbstractServiceTest
+{
+ private DeploymentRegistry registry = new AbstractDeploymentRegistry();
+
+ public ServiceDeploymentRegistryTestCase(String name)
+ {
+ super(name);
+ }
+
+ public static Test suite()
+ {
+ return suite(ServiceDeploymentRegistryTestCase.class);
+ }
+
+ @Override
+ protected DeploymentRegistry getRegistry()
+ {
+ return registry;
+ }
+
+ public void testDeploymentRegistry() throws Exception
+ {
+ ServiceMetaData metaData = new ServiceMetaData();
+ ObjectName objectName = new ObjectName("jboss.system:service=Tester");
+ metaData.setObjectName(objectName);
+ metaData.setCode(Tester.class.getName());
+ metaData.setConstructor(new ServiceConstructorMetaData());
+ addServiceMetaData(metaData);
+
+ setStructureDeployer(new StructuralDeployers()
+ {
+ public DeploymentContext determineStructure(Deployment deployment) throws DeploymentException
+ {
+ return new AbstractDeploymentContext("SMD", "");
+ }
+ });
+
+ ControllerContext context = null;
+ Deployment deployment = new AbstractDeployment("SMD");
+ DeploymentUnit unit = deploy(deployment);
+ try
+ {
+ context = controller.getInstalledContext(objectName.getCanonicalName());
+ assertNotNull(context);
+ assertSame(unit, registry.getDeployment(context));
+ assertEquals(Collections.singleton(context), registry.getContexts(unit));
+ }
+ finally
+ {
+ undeploy(deployment);
+
+ assertNull(registry.getDeployment(context));
+ assertEmpty(registry.getContexts(unit));
+ }
+ }
+}
\ No newline at end of file
Modified: projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceUnitNameTestCase.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceUnitNameTestCase.java 2009-11-30 17:19:21 UTC (rev 97180)
+++ projects/jboss-deployers/trunk/deployers-jmx/src/test/java/org/jboss/test/system/deployers/test/ServiceUnitNameTestCase.java 2009-11-30 17:51:29 UTC (rev 97181)
@@ -21,42 +21,22 @@
*/
package org.jboss.test.system.deployers.test;
-import java.lang.reflect.Method;
import java.util.Collections;
-import java.util.Set;
-import javax.management.MBeanServer;
-import javax.management.MBeanServerFactory;
import javax.management.ObjectName;
import junit.framework.Test;
-import org.jboss.dependency.plugins.AbstractController;
import org.jboss.deployers.client.plugins.deployment.AbstractDeployment;
import org.jboss.deployers.client.spi.Deployment;
import org.jboss.deployers.client.spi.IncompleteDeploymentException;
-import org.jboss.deployers.plugins.deployers.DeployersImpl;
-import org.jboss.deployers.plugins.main.MainDeployerImpl;
import org.jboss.deployers.spi.DeploymentException;
-import org.jboss.deployers.spi.deployer.helpers.AbstractParsingDeployerWithOutput;
import org.jboss.deployers.structure.spi.DeploymentContext;
-import org.jboss.deployers.structure.spi.DeploymentUnit;
import org.jboss.deployers.structure.spi.StructuralDeployers;
import org.jboss.deployers.structure.spi.helpers.AbstractDeploymentContext;
-import org.jboss.kernel.Kernel;
-import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
-import org.jboss.mx.server.ServerConstants;
-import org.jboss.mx.util.MBeanServerLocator;
-import org.jboss.system.ServiceController;
-import org.jboss.system.deployers.ServiceDeployer;
-import org.jboss.system.deployers.ServiceDeploymentDeployer;
import org.jboss.system.metadata.ServiceConstructorMetaData;
import org.jboss.system.metadata.ServiceDependencyMetaData;
-import org.jboss.system.metadata.ServiceDeployment;
import org.jboss.system.metadata.ServiceMetaData;
-import org.jboss.test.AbstractSystemTest;
-import org.jboss.test.system.deployers.support.CLDeployer;
-import org.jboss.test.system.deployers.support.JmxCL;
import org.jboss.test.system.deployers.support.Tester;
/**
@@ -64,7 +44,7 @@
*
* @author <a href="mailto:ales.justin at jboss.com">Ales Justin</a>
*/
-public class ServiceUnitNameTestCase extends AbstractSystemTest
+public class ServiceUnitNameTestCase extends AbstractServiceTest
{
public ServiceUnitNameTestCase(String name)
{
@@ -78,129 +58,36 @@
public void testServiceDeployerComponentName() throws Exception
{
- SecurityManager sm = suspendSecurity();
- try
+ ServiceMetaData metaData = new ServiceMetaData();
+ metaData.setObjectName(new ObjectName("jboss.system:service=Tester"));
+ metaData.setCode(Tester.class.getName());
+ metaData.setConstructor(new ServiceConstructorMetaData());
+ ServiceDependencyMetaData o = new ServiceDependencyMetaData();
+ o.setIDependOn("somenonexistant");
+ metaData.setDependencies(Collections.singletonList(o));
+ addServiceMetaData(metaData);
+
+ setStructureDeployer(new StructuralDeployers()
{
- MBeanServer mbeanServer = createMBeanServer("jboss");
- try
+ public DeploymentContext determineStructure(Deployment deployment) throws DeploymentException
{
- ServiceController serviceController = new ServiceController();
- ObjectName objectName = new ObjectName("jboss.system:service=ServiceController");
- mbeanServer.registerMBean(serviceController, objectName);
- try
- {
- ClassLoader loader = Thread.currentThread().getContextClassLoader();
- mbeanServer.registerMBean(new JmxCL(loader), new ObjectName("jboss:service=defaultClassLoader"));
-
- BasicBootstrap bootstrap = new BasicBootstrap();
- bootstrap.run();
- Kernel kernel = bootstrap.getKernel();
- AbstractController controller = (AbstractController)kernel.getController();
-
- serviceController.setMBeanServer(mbeanServer);
- serviceController.setKernel(kernel);
-
- MainDeployerImpl mainDeployer = new MainDeployerImpl();
- mainDeployer.setStructuralDeployers(new StructuralDeployers()
- {
- public DeploymentContext determineStructure(Deployment deployment) throws DeploymentException
- {
- return new AbstractDeploymentContext("SMD", "");
- }
- });
- DeployersImpl deployersImpl = new DeployersImpl(controller);
- deployersImpl.addDeployer(new ServiceDeployer(serviceController));
- deployersImpl.addDeployer(new ServiceDeploymentDeployer());
- deployersImpl.addDeployer(new CLDeployer());
- deployersImpl.addDeployer(new SMDParsingDeployer());
- mainDeployer.setDeployers(deployersImpl);
-
- Deployment deployment = new AbstractDeployment("SMD");
- mainDeployer.addDeployment(deployment);
- mainDeployer.process();
-
- mainDeployer.checkComplete(deployment);
- fail("Should not be here");
- }
- catch (Exception e)
- {
- assertInstanceOf(e, IncompleteDeploymentException.class);
- }
- finally
- {
- mbeanServer.unregisterMBean(objectName);
- }
+ return new AbstractDeploymentContext("SMD", "");
}
- finally
- {
- MBeanServerFactory.releaseMBeanServer(mbeanServer);
- }
- }
- finally
- {
- resumeSecurity(sm);
- }
- }
+ });
- private class SMDParsingDeployer extends AbstractParsingDeployerWithOutput<ServiceDeployment>
- {
- public SMDParsingDeployer()
+ Deployment deployment = new AbstractDeployment("SMD");
+ try
{
- super(ServiceDeployment.class);
+ deploy(deployment);
+ fail("Should not be here");
}
-
- protected ServiceDeployment getServiceDeployment() throws Exception
+ catch (Exception e)
{
- ServiceMetaData metaData = new ServiceMetaData();
- metaData.setObjectName(new ObjectName("jboss.system:service=Tester"));
- metaData.setCode(Tester.class.getName());
- metaData.setConstructor(new ServiceConstructorMetaData());
- ServiceDependencyMetaData o = new ServiceDependencyMetaData();
- o.setIDependOn("somenonexistant");
- metaData.setDependencies(Collections.singletonList(o));
-
- ServiceDeployment serviceDeployment = new ServiceDeployment();
- serviceDeployment.setServices(Collections.singletonList(metaData));
- return serviceDeployment;
+ assertInstanceOf(e, IncompleteDeploymentException.class);
}
-
- @Override
- protected ServiceDeployment parse(DeploymentUnit arg0, Set<String> arg1, ServiceDeployment arg2) throws Exception
+ finally
{
- return getServiceDeployment();
+ undeploy(deployment);
}
-
- @Override
- protected ServiceDeployment parse(DeploymentUnit arg0, Set<String> arg1, String arg2, ServiceDeployment arg3) throws Exception
- {
- return getServiceDeployment();
- }
-
- protected ServiceDeployment parse(DeploymentUnit deploymentUnit, String s, ServiceDeployment deployment) throws Exception
- {
- return getServiceDeployment();
- }
-
- protected ServiceDeployment parse(DeploymentUnit deploymentUnit, String s, String s1, ServiceDeployment deployment) throws Exception
- {
- return getServiceDeployment();
- }
}
-
- private MBeanServer createMBeanServer(String domain) throws Exception
- {
- MBeanServer server;
-
- String builder = System.getProperty(ServerConstants.MBEAN_SERVER_BUILDER_CLASS_PROPERTY, ServerConstants.DEFAULT_MBEAN_SERVER_BUILDER_CLASS);
- System.setProperty(ServerConstants.MBEAN_SERVER_BUILDER_CLASS_PROPERTY, builder);
-
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- Class<?> clazz = cl.loadClass("java.lang.management.ManagementFactory");
- Method method = clazz.getMethod("getPlatformMBeanServer");
- Object[] args = null;
- server = (MBeanServer)method.invoke(null, args);
- // Tell the MBeanServerLocator to point to this mbeanServer
- MBeanServerLocator.setJBoss(server);
- return server;
- }
}
More information about the jboss-cvs-commits
mailing list