[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