[jboss-cvs] JBossAS SVN: r99665 - in projects/reloaded/trunk/naming-deployers: src/main/java/org/jboss/reloaded/naming/deployers and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jan 20 10:37:40 EST 2010
Author: wolfc
Date: 2010-01-20 10:37:39 -0500 (Wed, 20 Jan 2010)
New Revision: 99665
Added:
projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/AbstractNamingDeployersTestCase.java
projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummiesSerializedMetaDataDeployer.java
projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/simple/NameReferencesTestCase.java
Modified:
projects/reloaded/trunk/naming-deployers/pom.xml
projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/AppNamingDeployer.java
projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/ComponentNamingDeployer.java
projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/ModuleNamingDeployer.java
projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/mc/MCJavaEEApplication.java
projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/mc/MCJavaEEModule.java
projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummiesDeployer.java
projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyContainer.java
projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyDeployer.java
projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyMetaData.java
projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/simple/SimpleTestCase.java
projects/reloaded/trunk/naming-deployers/src/test/resources/dummy-deployers-beans.xml
projects/reloaded/trunk/naming-deployers/src/test/resources/log4j.xml
Log:
RELOADED-12: implemented java:app/AppName & java:module/ModuleName and named the bean meta data attachements uniquely
Modified: projects/reloaded/trunk/naming-deployers/pom.xml
===================================================================
--- projects/reloaded/trunk/naming-deployers/pom.xml 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/pom.xml 2010-01-20 15:37:39 UTC (rev 99665)
@@ -31,6 +31,7 @@
<groupId>org.jboss.metadata</groupId>
<artifactId>jboss-metadata-ear</artifactId>
<version>2.0.0.Alpha</version>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.jboss.microcontainer</groupId>
@@ -40,7 +41,7 @@
<dependency>
<groupId>org.jboss.reloaded</groupId>
<artifactId>jboss-reloaded-naming</artifactId>
- <version>0.1.0-alpha-2</version>
+ <version>0.1.0-SNAPSHOT</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
Modified: projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/AppNamingDeployer.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/AppNamingDeployer.java 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/AppNamingDeployer.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -71,7 +71,7 @@
.addConstructorParameter(String.class.getName(), appName)
.addAlias("java:app");
builder.addPropertyMetaData("nameSpaces", builder.createInject("NameSpaces"));
- deploymentUnit.addAttachment("java:app:" + BeanMetaData.class, builder.getBeanMetaData());
+ deploymentUnit.addAttachment(BeanMetaData.class + "." + name, builder.getBeanMetaData());
}
protected boolean isJavaEEApplication(DeploymentUnit deploymentUnit)
Modified: projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/ComponentNamingDeployer.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/ComponentNamingDeployer.java 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/ComponentNamingDeployer.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -84,8 +84,10 @@
builder.addPropertyMetaData("nameSpaces", builder.createInject("NameSpaces"));
// VDF can't do component composition, so each BMD must be in a separate component
- DeploymentUnit component = unit.getParent().addComponent(componentName + ".java:comp");
- component.addAttachment(BeanMetaData.class, builder.getBeanMetaData());
+ //DeploymentUnit component = unit.getParent().addComponent(componentName + ".java:comp");
+ //component.addAttachment(BeanMetaData.class, builder.getBeanMetaData());
+ // putting this into a separate component will make uninstall throw a fit, so lets put it in the parent with an unique name
+ unit.getParent().addAttachment(BeanMetaData.class.getName() + "." + name, builder.getBeanMetaData());
}
@Override
Modified: projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/ModuleNamingDeployer.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/ModuleNamingDeployer.java 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/ModuleNamingDeployer.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -90,7 +90,7 @@
builder.addConstructorParameter(JavaEEApplication.class.getName(), (Object) null);
builder.addPropertyMetaData("nameSpaces", builder.createInject("NameSpaces"));
- unit.addAttachment("java:module:" + BeanMetaData.class, builder.getBeanMetaData());
+ unit.addAttachment(BeanMetaData.class + "." + name, builder.getBeanMetaData());
}
/**
Modified: projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/mc/MCJavaEEApplication.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/mc/MCJavaEEApplication.java 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/mc/MCJavaEEApplication.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -42,6 +42,8 @@
public void start() throws NamingException
{
context = nameSpaces.getGlobalContext().createSubcontext(name);
+ // JavaEE 6 5.15
+ context.bind("AppName", name);
log.debug("Installed context " + context + " for JavaEE application " + name);
}
Modified: projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/mc/MCJavaEEModule.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/mc/MCJavaEEModule.java 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/main/java/org/jboss/reloaded/naming/deployers/mc/MCJavaEEModule.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -54,6 +54,8 @@
{
parentContext = (application != null ? application.getContext() : nameSpaces.getGlobalContext());
context = Util.createSubcontext(parentContext, name);
+ // JavaEE 6 5.15
+ context.bind("ModuleName", name);
log.debug("Installed context " + context + " for JavaEE module " + name + ", application = " + application + ", parentContext = " + parentContext);
}
Copied: projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/AbstractNamingDeployersTestCase.java (from rev 99642, projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/simple/SimpleTestCase.java)
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/AbstractNamingDeployersTestCase.java (rev 0)
+++ projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/AbstractNamingDeployersTestCase.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -0,0 +1,139 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright (c) 2010, 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.reloaded.naming.deployers.test.common;
+
+import org.jboss.dependency.spi.ControllerContext;
+import org.jboss.dependency.spi.ControllerMode;
+import org.jboss.dependency.spi.ControllerState;
+import org.jboss.deployers.client.spi.main.MainDeployer;
+import org.jboss.kernel.Kernel;
+import org.jboss.kernel.plugins.bootstrap.AbstractBootstrap;
+import org.jboss.kernel.plugins.bootstrap.basic.BasicBootstrap;
+import org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer;
+import org.jboss.kernel.spi.deployment.KernelDeployment;
+import org.junit.BeforeClass;
+
+import javax.naming.InitialContext;
+import javax.naming.NameNotFoundException;
+import javax.naming.NamingException;
+import java.net.URL;
+
+import static org.junit.Assert.fail;
+
+/**
+ * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
+ */
+public abstract class AbstractNamingDeployersTestCase
+{
+ private static Kernel kernel;
+ private static BasicXMLDeployer deployer;
+ protected static MainDeployer mainDeployer;
+ protected static InitialContext ctx;
+
+ protected static final void assertNameNotFound(String name) throws NamingException
+ {
+ try
+ {
+ ctx.lookup(name);
+ fail("Expected NameNotFoundException for " + name);
+ }
+ catch(NameNotFoundException e)
+ {
+ // good
+ }
+ }
+
+ @BeforeClass
+ public static void beforeClass() throws Exception
+ {
+ AbstractBootstrap bootstrap = new BasicBootstrap();
+ bootstrap.run();
+ kernel = bootstrap.getKernel();
+ deployer = new BasicXMLDeployer(kernel, ControllerMode.AUTOMATIC);
+
+ ClassLoader cl = AbstractNamingDeployersTestCase.class.getClassLoader();
+ deploy(cl, "classloader.xml");
+ deploy(cl, "deployers.xml");
+
+ mainDeployer = getBean("MainDeployer", ControllerState.INSTALLED, MainDeployer.class);
+
+ deploy(cl, "jndi-beans.xml");
+ deploy(cl, "reloaded-naming-deployers-beans.xml");
+
+ deploy(cl, "dummy-deployers-beans.xml");
+
+ ctx = new InitialContext();
+ }
+
+ protected static <T> T getBean(String name, ControllerState state, Class<T> expectedType)
+ {
+ ControllerContext context = kernel.getController().getContext(name, state);
+ return expectedType.cast(context.getTarget());
+ }
+
+ protected static KernelDeployment deploy(URL url) throws Exception
+ {
+ try
+ {
+ return deployer.deploy(url);
+ }
+ catch(Throwable t)
+ {
+ if(t instanceof Error)
+ throw (Error) t;
+ if(t instanceof RuntimeException)
+ throw (RuntimeException) t;
+ throw (Exception) t;
+ }
+ }
+
+ public static KernelDeployment deploy(ClassLoader cl, String resource) throws Exception
+ {
+ URL url = cl.getResource(resource);
+ if(url == null)
+ throw new IllegalArgumentException("Can't find resource '" + resource + "'");
+ try
+ {
+ return deploy(url);
+ }
+ finally
+ {
+ validate();
+ }
+ }
+
+ protected static void validate() throws Exception
+ {
+ try
+ {
+ deployer.validate();
+ }
+ catch(Throwable t)
+ {
+ if(t instanceof Error)
+ throw (Error) t;
+ if(t instanceof RuntimeException)
+ throw (RuntimeException) t;
+ throw (Exception) t;
+ }
+ }
+}
Modified: projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummiesDeployer.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummiesDeployer.java 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummiesDeployer.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -60,7 +60,7 @@
@Override
protected String getComponentName(DummyMetaData attachment)
{
- return attachment.getName();
+ return DummyMetaData.class.getName() + "." + attachment.getName();
}
}
}
Added: projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummiesSerializedMetaDataDeployer.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummiesSerializedMetaDataDeployer.java (rev 0)
+++ projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummiesSerializedMetaDataDeployer.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright (c) 2010, 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.reloaded.naming.deployers.test.common;
+
+import org.jboss.deployers.vfs.spi.deployer.AbstractVFSParsingDeployer;
+import org.jboss.deployers.vfs.spi.structure.VFSDeploymentUnit;
+import org.jboss.virtual.VirtualFile;
+
+import java.io.InputStream;
+import java.io.ObjectInputStream;
+
+/**
+ * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
+ */
+public class DummiesSerializedMetaDataDeployer extends AbstractVFSParsingDeployer<DummiesMetaData>
+{
+ public DummiesSerializedMetaDataDeployer()
+ {
+ super(DummiesMetaData.class);
+ setSuffix("dummy-components.ser");
+ }
+
+ @Override
+ protected DummiesMetaData parse(VFSDeploymentUnit unit, VirtualFile file, DummiesMetaData root) throws Exception
+ {
+ InputStream in = openStreamAndValidate(file);
+ try
+ {
+ ObjectInputStream ois = new ObjectInputStream(in);
+ return (DummiesMetaData) ois.readObject();
+ }
+ finally
+ {
+ in.close();
+ }
+ }
+}
Property changes on: projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummiesSerializedMetaDataDeployer.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyContainer.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyContainer.java 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyContainer.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -102,5 +102,7 @@
if(ctx != null)
ctx.close();
ctx = null;
+
+ log.info("Stopped container " + this);
}
}
Modified: projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyDeployer.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyDeployer.java 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyDeployer.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -57,19 +57,25 @@
{
String appName = informer.getApplicationName(unit);
String moduleName = informer.getModulePath(unit);
- String name = informer.getComponentName(unit);
+ String componentName = informer.getComponentName(unit);
- // create JavaEEModule bean
+ // create dummy container bean
+ String name = "jboss.dummy:";
+ if(appName != null)
+ name += "application=" + appName + ",";
+ name += "module=" + moduleName + ",component=" + componentName;
BeanMetaDataBuilder builder = BeanMetaDataBuilderFactory.createBuilder(name, DummyContainer.class.getName())
.addAnnotation(annotation(DeploymentScope.class, moduleName))
- .addAnnotation(annotation(InstanceScope.class, name));
+ .addAnnotation(annotation(InstanceScope.class, componentName))
+ .addAlias(componentName);
if(appName != null)
builder.addAnnotation(annotation(ApplicationScope.class, appName));
AbstractInjectionValueMetaData javaComponent = new AbstractInjectionValueMetaData("java:comp");
javaComponent.setSearch(Search.LOCAL);
builder.addConstructorParameter(JavaEEComponent.class.getName(), javaComponent);
- unit.addAttachment(BeanMetaData.class, builder.getBeanMetaData());
+ unit.getParent().addAttachment(BeanMetaData.class.getName() + "." + name, builder.getBeanMetaData());
+ //unit.addAttachment(BeanMetaData.class, builder.getBeanMetaData());
}
public void setJavaEEComponentInformer(JavaEEComponentInformer informer)
Modified: projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyMetaData.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyMetaData.java 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/common/DummyMetaData.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -21,11 +21,15 @@
*/
package org.jboss.reloaded.naming.deployers.test.common;
+import java.io.Serializable;
+
/**
* @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
*/
-public class DummyMetaData
+public class DummyMetaData implements Serializable
{
+ private static final long serialVersionUID = 1L;
+
private String name;
public DummyMetaData(String s)
Added: projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/simple/NameReferencesTestCase.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/simple/NameReferencesTestCase.java (rev 0)
+++ projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/simple/NameReferencesTestCase.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -0,0 +1,106 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright (c) 2010, 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.reloaded.naming.deployers.test.simple;
+
+import org.jboss.deployers.spi.attachments.MutableAttachments;
+import org.jboss.deployers.vfs.spi.client.VFSDeployment;
+import org.jboss.deployers.vfs.spi.client.VFSDeploymentFactory;
+import org.jboss.metadata.ear.jboss.JBossAppMetaData;
+import org.jboss.reloaded.naming.deployers.test.common.AbstractNamingDeployersTestCase;
+import org.jboss.reloaded.naming.deployers.test.common.DummiesMetaData;
+import org.jboss.reloaded.naming.deployers.test.common.DummyContainer;
+import org.jboss.virtual.AssembledDirectory;
+import org.junit.Ignore;
+import org.junit.Test;
+
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.ObjectOutputStream;
+
+import static org.junit.Assert.assertEquals;
+
+/**
+ * JavaEE 6 FR 5.15:
+ * A component may access the name of the current application using the pre-defined
+ * JNDI name java:app/AppName. A component may access the name of the current
+ * module using the pre-defined JNDI name java:module/ModuleName. Both of these
+ * names are represented by String objects.
+ *
+ * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
+ */
+public class NameReferencesTestCase extends AbstractNamingDeployersTestCase
+{
+ protected static DummiesMetaData components(String... names)
+ {
+ return DummiesMetaData.create(names);
+ }
+
+ protected static byte[] serialized(Object obj) throws IOException
+ {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ ObjectOutputStream oos = new ObjectOutputStream(baos);
+ oos.writeObject(obj);
+ oos.flush();
+ return baos.toByteArray();
+ }
+
+ @Test
+ public void testAppName() throws Exception
+ {
+ AssembledDirectory root = AssembledDirectory.createAssembledDirectory("testApp", "testApp.ear");
+ AssembledDirectory moduleA = root.mkdir("moduleA.jar");
+ moduleA.mkdir("META-INF").addBytes(serialized(components("component1")), "dummy-components.ser");
+ VFSDeployment deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(root);
+ ((MutableAttachments) deployment.getPredeterminedManagedObjects()).addAttachment(JBossAppMetaData.class, new JBossAppMetaData());
+
+ mainDeployer.deploy(deployment);
+
+ DummyContainer containerA = (DummyContainer) ctx.lookup("java:global/testApp/moduleA/component1");
+
+ String appName = (String) containerA.getValue("java:app/AppName");
+
+ assertEquals("testApp", appName);
+
+ mainDeployer.undeploy(deployment);
+ }
+
+
+ @Test
+ public void testModuleName() throws Exception
+ {
+ AssembledDirectory root = AssembledDirectory.createAssembledDirectory("testApp", "testApp.ear");
+ AssembledDirectory moduleA = root.mkdir("moduleA.jar");
+ moduleA.mkdir("META-INF").addBytes(serialized(components("component1")), "dummy-components.ser");
+ VFSDeployment deployment = VFSDeploymentFactory.getInstance().createVFSDeployment(root);
+ ((MutableAttachments) deployment.getPredeterminedManagedObjects()).addAttachment(JBossAppMetaData.class, new JBossAppMetaData());
+
+ mainDeployer.deploy(deployment);
+
+ DummyContainer containerA = (DummyContainer) ctx.lookup("java:global/testApp/moduleA/component1");
+
+ String moduleName = (String) containerA.getValue("java:module/ModuleName");
+
+ assertEquals("moduleA", moduleName);
+
+ mainDeployer.undeploy(deployment);
+ }
+}
Property changes on: projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/simple/NameReferencesTestCase.java
___________________________________________________________________
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
Modified: projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/simple/SimpleTestCase.java
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/simple/SimpleTestCase.java 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/test/java/org/jboss/reloaded/naming/deployers/test/simple/SimpleTestCase.java 2010-01-20 15:37:39 UTC (rev 99665)
@@ -37,6 +37,7 @@
import org.jboss.kernel.plugins.deployment.xml.BasicXMLDeployer;
import org.jboss.kernel.spi.deployment.KernelDeployment;
import org.jboss.metadata.ear.jboss.JBossAppMetaData;
+import org.jboss.reloaded.naming.deployers.test.common.AbstractNamingDeployersTestCase;
import org.jboss.reloaded.naming.deployers.test.common.DummiesMetaData;
import org.jboss.reloaded.naming.deployers.test.common.DummyContainer;
import org.jboss.reloaded.naming.service.NameSpaces;
@@ -58,84 +59,8 @@
/**
* @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
*/
-public class SimpleTestCase
+public class SimpleTestCase extends AbstractNamingDeployersTestCase
{
- private static Kernel kernel;
- private static BasicXMLDeployer deployer;
- private static MainDeployer mainDeployer;
- private static InitialContext ctx;
-
- protected static final void assertNameNotFound(String name) throws NamingException
- {
- try
- {
- ctx.lookup(name);
- fail("Expected NameNotFoundException for " + name);
- }
- catch(NameNotFoundException e)
- {
- // good
- }
- }
-
- @BeforeClass
- public static void beforeClass() throws Exception
- {
- AbstractBootstrap bootstrap = new BasicBootstrap();
- bootstrap.run();
- kernel = bootstrap.getKernel();
- deployer = new BasicXMLDeployer(kernel, ControllerMode.AUTOMATIC);
-
- deploy(SimpleTestCase.class.getClassLoader(), "classloader.xml");
- deploy(SimpleTestCase.class.getClassLoader(), "deployers.xml");
-
- mainDeployer = getBean("MainDeployer", ControllerState.INSTALLED, MainDeployer.class);
-
- deploy(SimpleTestCase.class.getClassLoader(), "jndi-beans.xml");
- deploy(SimpleTestCase.class.getClassLoader(), "reloaded-naming-deployers-beans.xml");
-
- deploy(SimpleTestCase.class.getClassLoader(), "dummy-deployers-beans.xml");
-
- ctx = new InitialContext();
- }
-
- protected static <T> T getBean(String name, ControllerState state, Class<T> expectedType)
- {
- ControllerContext context = kernel.getController().getContext(name, state);
- return expectedType.cast(context.getTarget());
- }
-
- protected static KernelDeployment deploy(URL url) throws Exception
- {
- try
- {
- return deployer.deploy(url);
- }
- catch(Throwable t)
- {
- if(t instanceof Error)
- throw (Error) t;
- if(t instanceof RuntimeException)
- throw (RuntimeException) t;
- throw (Exception) t;
- }
- }
-
- public static KernelDeployment deploy(ClassLoader cl, String resource) throws Exception
- {
- URL url = cl.getResource(resource);
- if(url == null)
- throw new IllegalArgumentException("Can't find resource '" + resource + "'");
- try
- {
- return deploy(url);
- }
- finally
- {
- validate();
- }
- }
-
@Test
public void test1() throws Exception
{
@@ -273,20 +198,4 @@
mainDeployer.undeploy(deployment1);
mainDeployer.undeploy(deployment2);
}
-
- protected static void validate() throws Exception
- {
- try
- {
- deployer.validate();
- }
- catch(Throwable t)
- {
- if(t instanceof Error)
- throw (Error) t;
- if(t instanceof RuntimeException)
- throw (RuntimeException) t;
- throw (Exception) t;
- }
- }
}
Modified: projects/reloaded/trunk/naming-deployers/src/test/resources/dummy-deployers-beans.xml
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/test/resources/dummy-deployers-beans.xml 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/test/resources/dummy-deployers-beans.xml 2010-01-20 15:37:39 UTC (rev 99665)
@@ -1,5 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<deployment xmlns="urn:jboss:bean-deployer:2.0">
+ <bean name="DummiesSerializedMetaDataDeployer" class="org.jboss.reloaded.naming.deployers.test.common.DummiesSerializedMetaDataDeployer"/>
<bean name="DummiesDeployer" class="org.jboss.reloaded.naming.deployers.test.common.DummiesDeployer"/>
<bean name="DummyDeployer" class="org.jboss.reloaded.naming.deployers.test.common.DummyDeployer">
<property name="javaEEComponentInformer"><inject bean="JavaEEComponentInformer"/></property>
Modified: projects/reloaded/trunk/naming-deployers/src/test/resources/log4j.xml
===================================================================
--- projects/reloaded/trunk/naming-deployers/src/test/resources/log4j.xml 2010-01-20 15:36:47 UTC (rev 99664)
+++ projects/reloaded/trunk/naming-deployers/src/test/resources/log4j.xml 2010-01-20 15:37:39 UTC (rev 99665)
@@ -86,7 +86,8 @@
<layout class="org.apache.log4j.PatternLayout">
<!-- The default pattern: Date Priority [Category] Message\n -->
- <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/>
+ <!-- param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c{1}] %m%n"/ -->
+ <param name="ConversionPattern" value="%d{ABSOLUTE} %-5p [%c] %m%n"/>
</layout>
</appender>
More information about the jboss-cvs-commits
mailing list