Author: rmannibucau
Date: Wed Nov 21 14:16:44 2012
New Revision: 1412118

URL: http://svn.apache.org/viewvc?rev=1412118&view=rev
Log:
when adjusting jndi name of a datasource from tomcat to tomee using our own 
resource factory too

Modified:
    
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
    
openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/common/ResourceFactory.java
    
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java

Modified: 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java?rev=1412118&r1=1412117&r2=1412118&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/OpenEJBContextConfig.java
 Wed Nov 21 14:16:44 2012
@@ -22,6 +22,7 @@ import org.apache.catalina.deploy.Contex
 import org.apache.catalina.deploy.NamingResources;
 import org.apache.catalina.deploy.WebXml;
 import org.apache.catalina.startup.ContextConfig;
+import org.apache.naming.factory.Constants;
 import org.apache.openejb.assembler.classic.ClassListInfo;
 import org.apache.openejb.assembler.classic.OpenEjbConfiguration;
 import org.apache.openejb.assembler.classic.ResourceInfo;
@@ -34,6 +35,8 @@ import org.apache.openejb.loader.SystemI
 import org.apache.openejb.util.LogCategory;
 import org.apache.openejb.util.Logger;
 import org.apache.openejb.util.URLs;
+import org.apache.tomee.common.NamingUtil;
+import org.apache.tomee.common.ResourceFactory;
 
 import javax.servlet.ServletContainerInitializer;
 import java.io.File;
@@ -50,7 +53,6 @@ import java.util.Properties;
 import java.util.Set;
 
 public class OpenEJBContextConfig extends ContextConfig {
-
     private static Logger logger = Logger.getInstance(LogCategory.OPENEJB, 
OpenEJBContextConfig.class);
 
     private static final String MYFACES_TOMEEM_CONTAINER_INITIALIZER = 
"org.apache.tomee.myfaces.TomEEMyFacesContainerInitializer";
@@ -131,6 +133,8 @@ public class OpenEJBContextConfig extend
 
                     if (mostMatchingId != null) {
                         resource.setProperty("mappedName", "java:" + 
mostMatchingId);
+                        resource.setProperty(NamingUtil.RESOURCE_ID, "java:" + 
mostMatchingId);
+                        resource.setProperty(Constants.FACTORY, 
ResourceFactory.class.getName());
                     }
                 }
             }

Modified: 
openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/common/ResourceFactory.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/common/ResourceFactory.java?rev=1412118&r1=1412117&r2=1412118&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/common/ResourceFactory.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/common/ResourceFactory.java
 Wed Nov 21 14:16:44 2012
@@ -17,10 +17,6 @@
  */
 package org.apache.tomee.common;
 
-import static org.apache.tomee.common.NamingUtil.NAME;
-import static org.apache.tomee.common.NamingUtil.RESOURCE_ID;
-import static org.apache.tomee.common.NamingUtil.getProperty;
-
 import javax.naming.Context;
 import javax.naming.Name;
 import javax.naming.NamingException;
@@ -28,6 +24,10 @@ import javax.naming.Reference;
 import java.net.URL;
 import java.util.Hashtable;
 
+import static org.apache.tomee.common.NamingUtil.NAME;
+import static org.apache.tomee.common.NamingUtil.RESOURCE_ID;
+import static org.apache.tomee.common.NamingUtil.getProperty;
+
 public class ResourceFactory extends AbstractObjectFactory {
     public Object getObjectInstance(Object object, Name name, Context context, 
Hashtable environment) throws Exception {
 
@@ -58,8 +58,10 @@ public class ResourceFactory extends Abs
         if (resourceId == null) throw new NamingException("Resource reference 
id is null");
 
         // build jndi name using the deploymentId and interface type
-        String jndiName = "java:openejb/Resource/" + resourceId;
-        return jndiName;
+        if (resourceId.startsWith("java:")) {
+            return resourceId;
+        }
+        return "java:openejb/Resource/" + resourceId;
     }
 
 }

Modified: 
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java?rev=1412118&r1=1412117&r2=1412118&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-jdbc/src/main/java/org/apache/tomee/jdbc/TomEEDataSourceCreator.java
 Wed Nov 21 14:16:44 2012
@@ -153,7 +153,7 @@ public class TomEEDataSourceCreator exte
             converted.setProperty("password", "");
         }
 
-        final String currentUrl = properties.getProperty("url");
+        final String currentUrl = converted.getProperty("url");
         if (currentUrl != null) {
             try {
                 final DataSourcePlugin helper = 
BasicDataSourceUtil.getDataSourcePlugin(currentUrl);


Reply via email to