[jboss-cvs] JBossAS SVN: r112274 - in branches/JBPAPP_5_1: testsuite/imports/sections and 7 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Sep 29 05:53:12 EDT 2011


Author: wolfc
Date: 2011-09-29 05:53:11 -0400 (Thu, 29 Sep 2011)
New Revision: 112274

Added:
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/Hello.java
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloBean.java
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloBean2.java
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloLocal.java
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloUtil.java
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/Param.java
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/unit/
   branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/unit/RedeployDependencyTestCase.java
   branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/
   branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ear/
   branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ear/jboss-app.xml
   branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ear/jboss-dependency.xml
   branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ejb/
   branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ejb/aliases.txt
Modified:
   branches/JBPAPP_5_1/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java
   branches/JBPAPP_5_1/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java
   branches/JBPAPP_5_1/testsuite/imports/sections/ejb3.xml
Log:
JBPAPP-6953: remove BMD on uninstall from the KernelDeployment, so we don't end up with duplicates

Modified: branches/JBPAPP_5_1/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java
===================================================================
--- branches/JBPAPP_5_1/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java	2011-09-28 21:17:09 UTC (rev 112273)
+++ branches/JBPAPP_5_1/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3JBoss5Deployment.java	2011-09-29 09:53:11 UTC (rev 112274)
@@ -21,12 +21,6 @@
 */
 package org.jboss.ejb3.deployers;
 
-import java.util.Map;
-
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.security.jacc.PolicyConfiguration;
-
 import org.jboss.beans.metadata.plugins.AbstractSupplyMetaData;
 import org.jboss.deployment.MappedReferenceMetaDataResolverDeployer;
 import org.jboss.deployment.dependency.ContainerDependencyMetaData;
@@ -46,6 +40,11 @@
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.EjbDeploymentSummary;
 
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.security.jacc.PolicyConfiguration;
+import java.util.Map;
+
 /**
  * JBoss 5.0 Microkernel specific implementation
  *
@@ -67,7 +66,7 @@
       super(jbossUnit, ejb3Unit, deploymentScope, metaData);
       
       this.jbossUnit = jbossUnit;
-      kernelAbstraction = new JBossASKernel(kernel, mbeanServer);
+      kernelAbstraction = new JBossASKernel(kernel, mbeanServer, ejb3Unit);
 
       // todo maybe mbeanServer should be injected?
       this.mbeanServer = mbeanServer;

Modified: branches/JBPAPP_5_1/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java
===================================================================
--- branches/JBPAPP_5_1/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java	2011-09-28 21:17:09 UTC (rev 112273)
+++ branches/JBPAPP_5_1/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java	2011-09-29 09:53:11 UTC (rev 112274)
@@ -21,20 +21,6 @@
  */
 package org.jboss.ejb3.deployers;
 
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Set;
-
-import javax.management.InstanceNotFoundException;
-import javax.management.MBeanException;
-import javax.management.MBeanInfo;
-import javax.management.MBeanOperationInfo;
-import javax.management.MBeanServer;
-import javax.management.ObjectName;
-import javax.management.ReflectionException;
-
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
 import org.jboss.beans.metadata.plugins.AbstractDemandMetaData;
@@ -52,8 +38,26 @@
 import org.jboss.kernel.spi.registry.KernelRegistryEntry;
 import org.jboss.logging.Logger;
 
+import javax.management.InstanceNotFoundException;
+import javax.management.MBeanException;
+import javax.management.MBeanInfo;
+import javax.management.MBeanOperationInfo;
+import javax.management.MBeanServer;
+import javax.management.ObjectName;
+import javax.management.ReflectionException;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Set;
+
 /**
- * The JBossAS implementation of the ejb3 KernelAbstraction integration api
+ * The JBossAS implementation of the ejb3 KernelAbstraction integration api.
+ *
+ * For every DeploymentUnit a corresponding KernalAbstraction is created. This is because
+ * the uninstall method does not accept an unit parameter. (JBPAPP-6953)
+ * 
  * @author <a href="mailto:bill at jboss.org">Bill Burke</a>
  * @author Scott.Stark at jboss.org
  * @version $Revision$
@@ -64,15 +68,24 @@
    private static Logger log = Logger.getLogger(JBossASKernel.class);
    private MBeanServer mbeanServer;
    private Kernel kernel;
+   private final DeploymentUnit unit;
 
+   @Deprecated
    public JBossASKernel(Kernel kernel)
    {
       this(kernel, null);
    }
-   public JBossASKernel(Kernel kernel, MBeanServer mbeanServer)
+
+   private JBossASKernel(Kernel kernel, DeploymentUnit unit)
    {
+      this(kernel, null, unit);
+   }
+
+   public JBossASKernel(Kernel kernel, MBeanServer mbeanServer, DeploymentUnit unit)
+   {
       this.kernel = kernel;
       this.mbeanServer = mbeanServer;
+      this.unit = unit;
    }
 
    public MBeanServer getMbeanServer()
@@ -84,6 +97,7 @@
       this.mbeanServer = mbeanServer;
    }
 
+   // JBPAPP-6953: the unit parameter should actually be ignored, now it is used for sanity checks
    public void install(String name, DependencyPolicy dependencies,
          DeploymentUnit unit, Object service)
    {
@@ -91,6 +105,10 @@
       KernelDeployment deployment = null;
       if(unit != null)
       {
+         // JBPAPP-6953: sanity check
+         if (this.unit != null && this.unit != unit)
+            throw new IllegalStateException("JBPAPP-6953: internal error, got unit " + unit + " instead of " + this.unit);
+
          deployment = (KernelDeployment) unit.getAttachment(KernelDeployment.class.getName());
          if(deployment == null)
          {
@@ -184,8 +202,28 @@
 
    public void uninstall(String name)
    {
-      
-      
+      // To really mirror the install method, this should do a direct kernel uninstall
+      // however that was never done in the first place, so lets not touch this.
+      if (this.unit == null)
+         return;
+
+      final KernelDeployment deployment = (KernelDeployment) unit.getAttachment(KernelDeployment.class.getName());
+      if(deployment == null)
+         return;
+
+      for(Iterator<BeanMetaDataFactory> it = deployment.getBeanFactories().iterator(); it.hasNext();)
+      {
+         final BeanMetaDataFactory factory = it.next();
+         if (factory instanceof AbstractBeanMetaData)
+         {
+            final AbstractBeanMetaData bmd = AbstractBeanMetaData.class.cast(factory);
+            if (bmd.getName().equals(name))
+            {
+               it.remove();
+               return;
+            }
+         }
+      }
    }
 
    public Object getAttribute(ObjectName objectName, String attribute) throws Exception

Modified: branches/JBPAPP_5_1/testsuite/imports/sections/ejb3.xml
===================================================================
--- branches/JBPAPP_5_1/testsuite/imports/sections/ejb3.xml	2011-09-28 21:17:09 UTC (rev 112273)
+++ branches/JBPAPP_5_1/testsuite/imports/sections/ejb3.xml	2011-09-29 09:53:11 UTC (rev 112274)
@@ -233,7 +233,32 @@
       </jar>
    </target>
 
+   <target name="jbpapp6953" depends="compile">
+      <mkdir dir="${build.lib}"/>
 
+      <jar destfile="${build.lib}/jbpapp6953-ejb2.jar">
+         <fileset dir="${build.classes}">
+            <include name="org/jboss/test/ejb3/jbpapp6953/**"/>
+            <exclude name="org/jboss/test/ejb3/jbpapp6953/HelloBean.class"/>
+         </fileset>
+         <zipfileset prefix="META-INF" dir="${source.resources}/ejb3/jbpapp6953/ejb" includes="**"/>
+      </jar>
+
+      <jar destfile="${build.lib}/jbpapp6953-ejb.jar">
+         <fileset dir="${build.classes}">
+            <include name="org/jboss/test/ejb3/jbpapp6953/**"/>
+            <exclude name="org/jboss/test/ejb3/jbpapp6953/HelloBean2.class"/>
+         </fileset>
+      </jar>
+
+      <jar destfile="${build.lib}/jbpapp6953.ear">
+         <fileset dir="${build.lib}">
+            <include name="jbpapp6953-ejb.jar"/>
+         </fileset>
+         <zipfileset prefix="META-INF" dir="${source.resources}/ejb3/jbpapp6953/ear" includes="**"/>
+      </jar>
+   </target>
+
 	<target name="_jars-ejb3" depends="ejb3-servlet,jbas6161,jbas6239,ejbthree1597,jbas5713,
 		    jbas7883,
 			ejb3iiop,
@@ -242,6 +267,7 @@
 			jbpapp2473,
 			jbpapp3026,
 			jbpapp4681,
+			jbpapp6953,
 			jboss51xsd,
 			jbpapp-6855">
 		<mkdir dir="${build.lib}" />

Added: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/Hello.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/Hello.java	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/Hello.java	2011-09-29 09:53:11 UTC (rev 112274)
@@ -0,0 +1,41 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2011, Red Hat Middleware LLC, 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.ejb3.jbpapp6953;
+
+import javax.ejb.Remote;
+
+/**
+ * @author bmaxwell 
+ * Requires >= JBoss 4.2 for annotations
+ */
+public @Remote interface Hello {
+	
+	public String hello(String name) ;	
+
+	public String hello(String host, String name) ;	
+
+	public String echo(String name) ;	
+
+	public String hello(Param name) ;	
+	
+}
+

Added: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloBean.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloBean.java	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloBean.java	2011-09-29 09:53:11 UTC (rev 112274)
@@ -0,0 +1,71 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2011, Red Hat Middleware LLC, 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.ejb3.jbpapp6953;
+
+import javax.ejb.Stateless;
+import java.util.logging.Logger;
+
+/**
+ * 
+ * @author bmaxwell
+ * Requires >= JBoss 4.2 for annotations
+ */
+
+ at Stateless(name="HelloBean",description="hello world example")
+//@org.jboss.ejb3.annotation.LocalBinding(jndiBinding="com.jboss.examples.ejb3.helloBeanImpl")
+public class HelloBean implements Hello, HelloLocal {
+	
+	public static final String NAME = HelloBean.class.getSimpleName();
+
+	public static final String RemoteJNDIName =  NAME + "/remote";
+	public static final String LocalJNDIName =  NAME + "/local";
+	
+	private Logger log = Logger.getLogger(this.getClass().toString());
+	
+	public String hello(String name) {
+		log.info("hello("+name+") = Hello " + name);
+		return "Hello " + name;
+	}
+
+	public String hello(String host, String name) {
+		try { 
+			Hello bean = new HelloUtil().getBean(host);
+			String response = bean.hello(name);
+			log.info("hello("+host+","+name+") = " + response);
+			return response;
+		} catch(Exception e) {
+			e.printStackTrace();
+			if(e.getMessage() != null) return e.getMessage();
+			return "Error - check log";
+		}
+	}
+
+	public String echo(String name)
+	{
+		return "echo " + name;
+	}
+	public String hello(Param name)
+	{
+		return "Hello " + name.getName();
+	}
+
+}

Added: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloBean2.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloBean2.java	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloBean2.java	2011-09-29 09:53:11 UTC (rev 112274)
@@ -0,0 +1,70 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2011, Red Hat Middleware LLC, 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.ejb3.jbpapp6953;
+
+import javax.ejb.Stateless;
+import java.util.logging.Logger;
+
+/**
+ * 
+ * @author bmaxwell
+ * Requires >= JBoss 4.2 for annotations
+ */
+
+ at Stateless(name="HelloBean2",description="hello world 2 example")
+public class HelloBean2 implements Hello, HelloLocal {
+	
+	public static final String NAME = HelloBean2.class.getSimpleName();
+
+	public static final String RemoteJNDIName =  NAME + "/remote";
+	public static final String LocalJNDIName =  NAME + "/local";
+	
+	private Logger log = Logger.getLogger(this.getClass().toString());
+	
+	public String hello(String name) {
+		log.info("hello("+name+") = Hello " + name);
+		return "Hello " + name;
+	}
+
+	public String hello(String host, String name) {
+		try { 
+			Hello bean = new HelloUtil().getBean(host);
+			String response = bean.hello(name);
+			log.info("hello("+host+","+name+") = " + response);
+			return response;
+		} catch(Exception e) {
+			e.printStackTrace();
+			if(e.getMessage() != null) return e.getMessage();
+			return "Error - check log";
+		}
+	}
+
+	public String echo(String name)
+	{
+		return "echo " + name;
+	}
+	public String hello(Param name)
+	{
+		return "Hello " + name.getName();
+	}
+
+}

Added: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloLocal.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloLocal.java	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloLocal.java	2011-09-29 09:53:11 UTC (rev 112274)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2011, Red Hat Middleware LLC, 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.ejb3.jbpapp6953;
+
+import javax.ejb.Local;
+
+/**
+ * @author bmaxwell 
+ * Requires >= JBoss 4.2 for annotations
+ */
+public @Local interface HelloLocal {
+	
+	public String hello(String name) ;	
+
+	public String hello(String host, String name) ;	
+
+  public String hello(Param name) ;
+	
+}
+

Added: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloUtil.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloUtil.java	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/HelloUtil.java	2011-09-29 09:53:11 UTC (rev 112274)
@@ -0,0 +1,56 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2011, Red Hat Middleware LLC, 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.ejb3.jbpapp6953;
+
+import javax.naming.*;
+import java.util.*;
+
+public class HelloUtil {
+
+	public HelloUtil() {
+
+	}
+
+	public Hello getBean(String host) throws Exception {
+		String providerJndi = "HelloBean/remote";
+		return getBean(host, providerJndi);
+	}
+	public Hello getBean(String host, String jndi) throws Exception {
+
+		// ------ This code sets up to call JNDI on a different server --------
+		Properties properties = new Properties();
+    properties.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
+    properties.put(Context.URL_PKG_PREFIXES, "org.jboss.naming:org.jnp.interfaces");
+		//properties.put("java.naming.factory.url.pkgs","=org.jboss.naming:org.jnp.interfaces");
+    properties.put("jnp.socket.Factory", "org.jnp.interfaces.TimedSocketFactory");
+		properties.setProperty("java.naming.provider.url", "jnp://"+ host +":1099");
+
+		// ------- This is all the code required to get the EJB Remote interface from JNDI ------
+		// ------- If you want to use the JNDI on localhost, you can just do new InitialContext() --
+
+		Context context = new InitialContext(properties);
+
+		return (Hello) context.lookup(jndi);
+	}
+
+
+}

Added: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/Param.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/Param.java	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/Param.java	2011-09-29 09:53:11 UTC (rev 112274)
@@ -0,0 +1,39 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2011, Red Hat Middleware LLC, 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.ejb3.jbpapp6953;
+
+public class Param  implements java.io.Serializable
+{
+	private String name = "param";
+	public Param()
+	{
+	}
+	public String getName()
+	{
+		return name;
+	}	
+	public void setName(String name)
+	{
+		this.name = name;
+	}
+}
+

Added: branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/unit/RedeployDependencyTestCase.java
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/unit/RedeployDependencyTestCase.java	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/main/org/jboss/test/ejb3/jbpapp6953/unit/RedeployDependencyTestCase.java	2011-09-29 09:53:11 UTC (rev 112274)
@@ -0,0 +1,63 @@
+/*
+ * JBoss, Home of Professional Open Source
+ * Copyright (c) 2011, Red Hat Middleware LLC, 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.ejb3.jbpapp6953.unit;
+
+import junit.framework.Test;
+import org.jboss.test.ejb3.common.EJB3TestCase;
+import org.jboss.test.ejb3.jbpapp6953.Hello;
+
+import javax.naming.NameNotFoundException;
+
+/**
+ * @author <a href="cdewolf at redhat.com">Carlo de Wolf</a>
+ */
+public class RedeployDependencyTestCase extends EJB3TestCase
+{
+   public RedeployDependencyTestCase(String name)
+   {
+      super(name);
+   }
+
+   public void testRedeploy() throws Exception
+   {
+      // sanity check
+      lookup("jbpapp6953/HelloBean/remote", Hello.class);
+
+      redeploy("jbpapp6953-ejb2.jar");
+
+      // if the lookup works, we're good to go
+      try
+      {
+         lookup("jbpapp6953/HelloBean/remote", Hello.class);
+      }
+      catch (NameNotFoundException e)
+      {
+         fail("Failed to find jbpapp6953/HelloBean/remote after redeploy");
+      }
+   }
+
+
+   public static Test suite() throws Exception
+   {
+      return getDeploySetup(RedeployDependencyTestCase.class, "jbpapp6953-ejb2.jar,jbpapp6953.ear");
+   }
+}

Added: branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ear/jboss-app.xml
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ear/jboss-app.xml	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ear/jboss-app.xml	2011-09-29 09:53:11 UTC (rev 112274)
@@ -0,0 +1,7 @@
+<?xml version="1.0"?>
+<jboss-app>
+   <loader-repository>
+      jbpapp6953:loader=helloWorld.ear
+      <loader-repository-config>java2ParentDelegation=false</loader-repository-config>
+   </loader-repository>
+</jboss-app>

Added: branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ear/jboss-dependency.xml
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ear/jboss-dependency.xml	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ear/jboss-dependency.xml	2011-09-29 09:53:11 UTC (rev 112274)
@@ -0,0 +1,3 @@
+<dependency xmlns="urn:jboss:dependency:1.0">
+   <item whenRequired="Real" dependentState="Create">jbpapp6953-ejb2.jar</item>
+</dependency>

Added: branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ejb/aliases.txt
===================================================================
--- branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ejb/aliases.txt	                        (rev 0)
+++ branches/JBPAPP_5_1/testsuite/src/resources/ejb3/jbpapp6953/ejb/aliases.txt	2011-09-29 09:53:11 UTC (rev 112274)
@@ -0,0 +1 @@
+jbpapp6953-ejb2.jar
\ No newline at end of file



More information about the jboss-cvs-commits mailing list