Author: rmannibucau
Date: Thu Nov  8 10:20:44 2012
New Revision: 1406996

URL: http://svn.apache.org/viewvc?rev=1406996&view=rev
Log:
using a property to bind old ejb names - better for future probably

Modified:
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
    
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java?rev=1406996&r1=1406995&r2=1406996&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/Assembler.java
 Thu Nov  8 10:20:44 2012
@@ -898,9 +898,7 @@ public class Assembler extends Assembler
             for (Map.Entry<String, Object> value : 
appContext.getBindings().entrySet()) {
                 String path = value.getKey();
                 // keep only global bindings
-                // the second part (path contains /) assume short name are 
openejb 3 ones (XXXLocal...)
-                if ((!path.startsWith("global") || 
path.equalsIgnoreCase("global/dummy"))
-                        && path.contains("/")) {
+                if (path.startsWith("module/") || path.startsWith("app/") || 
path.equalsIgnoreCase("global/dummy")) {
                     continue;
                 }
 

Modified: 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java?rev=1406996&r1=1406995&r2=1406996&view=diff
==============================================================================
--- 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
 (original)
+++ 
openejb/trunk/openejb/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiBuilder.java
 Thu Nov  8 10:20:44 2012
@@ -63,6 +63,7 @@ public class JndiBuilder {
     final boolean embeddedEjbContainerApi;
 
     public static final Logger logger = 
Logger.getInstance(LogCategory.OPENEJB_STARTUP, 
JndiBuilder.class.getPackage().getName());
+    private static boolean USE_OLD_JNDI_NAMES = 
SystemInstance.get().getOptions().get("openejb.use-old-jndi-names", false);
 
     private final Context openejbContext;
     private static final String JNDINAME_STRATEGY_CLASS = 
"openejb.jndiname.strategy.class";
@@ -419,6 +420,9 @@ public class JndiBuilder {
                 String name = strategy.getName(beanClass, DEFAULT_NAME_KEY, 
JndiNameStrategy.Interface.LOCALBEAN);
                 bind("openejb/local/" + name, ref, bindings, beanInfo, 
beanClass);
                 bindJava(bean, beanClass, ref, bindings, beanInfo);
+                if (USE_OLD_JNDI_NAMES) {
+                    
bean.getModuleContext().getAppContext().getBindings().put(name, ref);
+                }
 
                 simpleNameRef = ref;
             }
@@ -438,9 +442,13 @@ public class JndiBuilder {
                 String internalName = "openejb/Deployment/" + format(id, 
interfce.getName(), InterfaceType.BUSINESS_LOCAL);
                 bind(internalName, ref, bindings, beanInfo, interfce);
 
-                String externalName = "openejb/local/" + 
strategy.getName(interfce, DEFAULT_NAME_KEY, 
JndiNameStrategy.Interface.BUSINESS_LOCAL);
+                final String name = strategy.getName(interfce, 
DEFAULT_NAME_KEY, JndiNameStrategy.Interface.BUSINESS_LOCAL);
+                final String externalName = "openejb/local/" + name;
                 bind(externalName, ref, bindings, beanInfo, interfce);
                 bindJava(bean, interfce, ref, bindings, beanInfo);
+                if (USE_OLD_JNDI_NAMES) {
+                    
bean.getModuleContext().getAppContext().getBindings().put(name, ref);
+                }
                 
                 if (simpleNameRef == null) simpleNameRef = ref;
             }
@@ -464,6 +472,9 @@ public class JndiBuilder {
                 bind("openejb/local/" + name, ref, bindings, beanInfo, 
interfce);
                 bind("openejb/remote/" + name, ref, bindings, beanInfo, 
interfce);
                 bindJava(bean, interfce, ref, bindings, beanInfo);
+                if (USE_OLD_JNDI_NAMES) {
+                    
bean.getModuleContext().getAppContext().getBindings().put(name, ref);
+                }
                 
                 if (simpleNameRef == null) simpleNameRef = ref;
             }
@@ -479,7 +490,7 @@ public class JndiBuilder {
 
                 String name = strategy.getName(bean.getLocalHomeInterface(), 
DEFAULT_NAME_KEY, JndiNameStrategy.Interface.LOCAL_HOME);
                 bind("openejb/local/" + name, ref, bindings, beanInfo, 
localHomeInterface);
-                
+
                 optionalBind(bindings, ref, "openejb/Deployment/" + format(id, 
localHomeInterface.getName(), InterfaceType.EJB_LOCAL_HOME));
 
                 name = "openejb/Deployment/" + format(id, 
bean.getLocalInterface().getName());
@@ -504,7 +515,7 @@ public class JndiBuilder {
                 String name = strategy.getName(homeInterface, 
DEFAULT_NAME_KEY, JndiNameStrategy.Interface.REMOTE_HOME);
                 bind("openejb/local/" + name, ref, bindings, beanInfo, 
homeInterface);
                 bind("openejb/remote/" + name, ref, bindings, beanInfo, 
homeInterface);
-                
+
                 optionalBind(bindings, ref, "openejb/Deployment/" + format(id, 
homeInterface.getName(), InterfaceType.EJB_HOME));
                 
                 name = "openejb/Deployment/" + format(id, 
bean.getRemoteInterface().getName());


Reply via email to