You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by db...@apache.org on 2007/08/29 05:23:13 UTC

svn commit: r570627 - /openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/InitEjbDeployments.java

Author: dblevins
Date: Tue Aug 28 20:23:13 2007
New Revision: 570627

URL: http://svn.apache.org/viewvc?rev=570627&view=rev
Log:
Allow deployment-id to be optional in an openejb-jar.xml.  Fill in a default value just as we would when they have no <ejb-deployment> declaration at all.

Modified:
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/InitEjbDeployments.java

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/InitEjbDeployments.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/InitEjbDeployments.java?rev=570627&r1=570626&r2=570627&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/InitEjbDeployments.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/InitEjbDeployments.java Tue Aug 28 20:23:13 2007
@@ -34,9 +34,10 @@
     public static Logger logger = Logger.getInstance(LogCategory.OPENEJB, "org.apache.openejb.util.resources");
 
     private final StringTemplate deploymentIdTemplate;
+    private static final String DEPLOYMENT_ID_FORMAT = "openejb.deploymentId.format";
 
     public InitEjbDeployments() {
-        String format = SystemInstance.get().getProperty("openejb.deploymentId.format", "{ejbName}");
+        String format = SystemInstance.get().getProperty(DEPLOYMENT_ID_FORMAT, "{ejbName}");
         this.deploymentIdTemplate = new StringTemplate(format);
     }
 
@@ -69,21 +70,26 @@
                 ejbDeployment = new EjbDeployment();
 
                 ejbDeployment.setEjbName(bean.getEjbName());
-                ejbDeployment.setDeploymentId(autoAssignDeploymentId(bean, contextData));
+                ejbDeployment.setDeploymentId(autoAssignDeploymentId(bean, contextData, deploymentIdTemplate));
 
-                logger.info("Auto-deploying ejb " + bean.getEjbName() + ": EjbDeployment(deployment-id=" + ejbDeployment.getDeploymentId() + ", container-id=" + ejbDeployment.getContainerId() + ")");
+                logger.info("Auto-deploying ejb " + bean.getEjbName() + ": EjbDeployment(deployment-id=" + ejbDeployment.getDeploymentId() + ")");
                 openejbJar.getEjbDeployment().add(ejbDeployment);
+            } else {
+                if (ejbDeployment.getDeploymentId() == null) {
+                    ejbDeployment.setDeploymentId(autoAssignDeploymentId(bean, contextData, deploymentIdTemplate));
+                    logger.info("Auto-assigning deployment-id for ejb " + bean.getEjbName() + ": EjbDeployment(deployment-id=" + ejbDeployment.getDeploymentId() + ")");
+                }
             }
         }
 
         return ejbModule;
     }
 
-    private String autoAssignDeploymentId(EnterpriseBean bean, Map<String, String> contextData) {
+    private String autoAssignDeploymentId(EnterpriseBean bean, Map<String, String> contextData, StringTemplate template) {
         contextData.put("ejbType", bean.getClass().getSimpleName());
         contextData.put("ejbClass", bean.getClass().getName());
         contextData.put("ejbClass.simpleName", bean.getClass().getSimpleName());
         contextData.put("ejbName", bean.getEjbName());
-        return deploymentIdTemplate.apply(contextData);
+        return template.apply(contextData);
     }
 }