You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2011/10/28 21:55:39 UTC

svn commit: r1190527 - in /openejb/trunk/openejb: assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/ container/openejb-core/src/main/java/org/apache/openejb/ container/openejb-core/src/main/java/org/apache/openejb/config/

Author: rmannibucau
Date: Fri Oct 28 19:55:39 2011
New Revision: 1190527

URL: http://svn.apache.org/viewvc?rev=1190527&view=rev
Log:
managing app_name in EJBContainer (tomee embedded)

Modified:
    openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
    openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/EmbeddedTomEEContainer.java
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
    openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java

Modified: openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java?rev=1190527&r1=1190526&r2=1190527&view=diff
==============================================================================
--- openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java (original)
+++ openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java Fri Oct 28 19:55:39 2011
@@ -27,11 +27,16 @@ import org.apache.catalina.startup.Catal
 import org.apache.catalina.startup.Tomcat;
 import org.apache.coyote.http11.Http11Protocol;
 import org.apache.openejb.AppContext;
+import org.apache.openejb.BeanContext;
 import org.apache.openejb.NoSuchApplicationException;
 import org.apache.openejb.OpenEJBException;
 import org.apache.openejb.UndeployException;
 import org.apache.openejb.assembler.classic.AppInfo;
 import org.apache.openejb.assembler.classic.Assembler;
+import org.apache.openejb.assembler.classic.BeansInfo;
+import org.apache.openejb.assembler.classic.EjbJarInfo;
+import org.apache.openejb.assembler.classic.EnterpriseBeanInfo;
+import org.apache.openejb.assembler.classic.WebAppInfo;
 import org.apache.openejb.config.ConfigurationFactory;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.tomee.catalina.TomcatLoader;
@@ -208,7 +213,30 @@ public class Container {
     }
 
     public AppContext deploy(String name, File file) throws OpenEJBException, IOException, NamingException {
+        return deploy(name, file, false);
+    }
+
+    public AppContext deploy(String name, File file, boolean overrideName) throws OpenEJBException, IOException, NamingException {
         AppInfo appInfo = configurationFactory.configureApplication(file);
+        if (overrideName) {
+            appInfo.appId = name;
+            for (EjbJarInfo ejbJar : appInfo.ejbJars) {
+                if (file.getName().equals(ejbJar.moduleName)) {
+                    ejbJar.moduleName = name;
+                }
+                for (EnterpriseBeanInfo ejb : ejbJar.enterpriseBeans) {
+                    if (BeanContext.Comp.openejbCompName(file.getName()).equals(ejb.ejbName)) {
+                        ejb.ejbName = BeanContext.Comp.openejbCompName(name);
+                    }
+                }
+            }
+            for (WebAppInfo webApp : appInfo.webApps) {
+                if (file.getName().equals(webApp.moduleId)) {
+                    webApp.moduleId = name;
+                }
+            }
+        }
+
         AppContext context = assembler.createApplication(appInfo);
         appContexts.put(name, context);
         moduleIds.put(name, appInfo.path);

Modified: openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/EmbeddedTomEEContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/EmbeddedTomEEContainer.java?rev=1190527&r1=1190526&r2=1190527&view=diff
==============================================================================
--- openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/EmbeddedTomEEContainer.java (original)
+++ openejb/trunk/openejb/assembly/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/EmbeddedTomEEContainer.java Fri Oct 28 19:55:39 2011
@@ -93,16 +93,16 @@ public class EmbeddedTomEEContainer exte
                 tomEEContainer.container.start();
 
                 if (modules instanceof File) {
-                    tomEEContainer.container.deploy(appId, ((File) modules));
+                    tomEEContainer.container.deploy(appId, ((File) modules), true);
                 } else if (modules instanceof String) {
-                    tomEEContainer.container.deploy(appId, new File((String) modules));
+                    tomEEContainer.container.deploy(appId, new File((String) modules), true);
                 } else if (modules instanceof String[]) {
                     for (String path : (String[]) modules) {
-                        tomEEContainer.container.deploy(appId, new File(path));
+                        tomEEContainer.container.deploy(appId, new File(path), true);
                     }
                 } else if (modules instanceof File[]) {
                     for (File file : (File[]) modules) {
-                        tomEEContainer.container.deploy(appId, file);
+                        tomEEContainer.container.deploy(appId, file, true);
                     }
                 } else {
                     try {

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java?rev=1190527&r1=1190526&r2=1190527&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/BeanContext.java Fri Oct 28 19:55:39 2011
@@ -117,7 +117,9 @@ public class BeanContext extends Deploym
      * for components with undefined namespace such as CDI
      */
     public static class Comp {
-
+        public static String openejbCompName(String module) {
+            return module + "." + Comp.class.getSimpleName();
+        }
     }
     
     private final ModuleContext moduleContext;

Modified: openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1190527&r1=1190526&r2=1190527&view=diff
==============================================================================
--- openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original)
+++ openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Fri Oct 28 19:55:39 2011
@@ -1076,7 +1076,7 @@ public class AnnotationDeployer implemen
                         }
                     }
 
-                    final String name = ejbModule.getModuleId() + "." + BeanContext.Comp.class.getSimpleName();
+                    final String name = BeanContext.Comp.openejbCompName(ejbModule.getModuleId());
                     final org.apache.openejb.jee.ManagedBean managedBean = new org.apache.openejb.jee.ManagedBean(name, BeanContext.Comp.class);
                     managedBean.setTransactionType(TransactionType.BEAN);
                     ejbModule.getEjbJar().addEnterpriseBean(managedBean);