You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by ga...@apache.org on 2010/08/17 23:17:05 UTC
svn commit: r986487 - in
/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb:
assembler/classic/JndiEncBuilder.java config/AutoConfig.java
Author: gawor
Date: Tue Aug 17 21:17:04 2010
New Revision: 986487
URL: http://svn.apache.org/viewvc?rev=986487&view=rev
Log:
1) more lookupName updates and 2) infer types for resource-env-refs
Modified:
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java
openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java?rev=986487&r1=986486&r2=986487&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/assembler/classic/JndiEncBuilder.java Tue Aug 17 21:17:04 2010
@@ -262,33 +262,27 @@ public class JndiEncBuilder {
}
for (ResourceEnvReferenceInfo referenceInfo : jndiEnc.resourceEnvRefs) {
- LinkRef linkRef = null;
- try {
- Class<?> type = Class.forName(referenceInfo.resourceEnvRefType, true, EJBContext.class.getClassLoader());
- if (EJBContext.class.isAssignableFrom(type)) {
- String jndiName = "comp/EJBContext";
- linkRef = new LinkRef(jndiName);
- bindings.put(normalize(referenceInfo.referenceName), linkRef);
- continue;
- } else if (WebServiceContext.class.equals(type)) {
- String jndiName = "comp/WebServiceContext";
- linkRef = new LinkRef(jndiName);
- bindings.put(normalize(referenceInfo.referenceName), linkRef);
- continue;
- } else if (TimerService.class.equals(type)) {
- String jndiName = "comp/TimerService";
- linkRef = new LinkRef(jndiName);
- bindings.put(normalize(referenceInfo.referenceName), linkRef);
- continue;
- }
- } catch (ClassNotFoundException e) {
+
+ if (referenceInfo.location != null) {
+ Reference reference = buildReferenceLocation(referenceInfo.location);
+ bindings.put(normalize(referenceInfo.referenceName), reference);
+ continue;
}
-
+
+ Class<?> type = getType(referenceInfo.resourceEnvRefType, referenceInfo);
+
Object reference = null;
- if (UserTransaction.class.getName().equals(referenceInfo.resourceEnvRefType)) {
+ if (EJBContext.class.isAssignableFrom(type)) {
+ String jndiName = "comp/EJBContext";
+ reference = new LinkRef(jndiName);
+ } else if (WebServiceContext.class.equals(type)) {
+ String jndiName = "comp/WebServiceContext";
+ reference = new LinkRef(jndiName);
+ } else if (TimerService.class.equals(type)) {
+ String jndiName = "comp/TimerService";
+ reference = new LinkRef(jndiName);
+ } else if (UserTransaction.class.equals(type)) {
reference = new IntraVmJndiReference("comp/UserTransaction");
- } else if (referenceInfo.location != null){
- reference = buildReferenceLocation(referenceInfo.location);
} else if (referenceInfo.resourceID != null) {
String jndiName = "openejb/Resource/" + referenceInfo.resourceID;
reference = new IntraVmJndiReference(jndiName);
@@ -296,9 +290,7 @@ public class JndiEncBuilder {
String jndiName = "openejb/Resource/" + referenceInfo.referenceName;
reference = new IntraVmJndiReference(jndiName);
}
- if (reference != null) {
- bindings.put(normalize(referenceInfo.referenceName), reference);
- }
+ bindings.put(normalize(referenceInfo.referenceName), reference);
}
for (PersistenceUnitReferenceInfo referenceInfo : jndiEnc.persistenceUnitRefs) {
Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java?rev=986487&r1=986486&r2=986487&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AutoConfig.java Tue Aug 17 21:17:04 2010
@@ -799,10 +799,13 @@ public class AutoConfig implements Dynam
}
private void processResourceRef(ResourceRef ref, EjbDeployment ejbDeployment, AppResources appResources) throws OpenEJBException {
+ // skip destinations with lookup name
+ if (ref.getLookupName() != null) {
+ return;
+ }
// skip destinations with a global jndi name
- String mappedName = ref.getMappedName();
- if (mappedName == null) mappedName = "";
- if ((mappedName).startsWith("jndi:")){
+ String mappedName = (ref.getMappedName() == null) ? "": ref.getMappedName();
+ if (mappedName.startsWith("jndi:")) {
return;
}
@@ -832,9 +835,13 @@ public class AutoConfig implements Dynam
}
private void processResourceEnvRef(JndiReference ref, EjbDeployment ejbDeployment, AppResources appResources) throws OpenEJBException {
+ // skip destinations with lookup name
+ if (ref.getLookupName() != null) {
+ return;
+ }
// skip destinations with a global jndi name
- String mappedName = (ref.getMappedName() == null)? "": ref.getMappedName();
- if (mappedName.startsWith("jndi:")){
+ String mappedName = (ref.getMappedName() == null) ? "": ref.getMappedName();
+ if (mappedName.startsWith("jndi:")) {
return;
}