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);