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 2011/09/15 01:12:18 UTC

svn commit: r1170895 - /openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBNamingResource.java

Author: dblevins
Date: Wed Sep 14 23:12:17 2011
New Revision: 1170895

URL: http://svn.apache.org/viewvc?rev=1170895&view=rev
Log:
null check on all env types that might be affected by null type from 'lookup' refs

Added:
    openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBNamingResource.java

Added: openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBNamingResource.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBNamingResource.java?rev=1170895&view=auto
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBNamingResource.java (added)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-catalina/src/main/java/org/apache/openejb/tomcat/catalina/OpenEJBNamingResource.java Wed Sep 14 23:12:17 2011
@@ -0,0 +1,76 @@
+package org.apache.openejb.tomcat.catalina;
+
+import org.apache.catalina.deploy.ContextEjb;
+import org.apache.catalina.deploy.ContextEnvironment;
+import org.apache.catalina.deploy.ContextLocalEjb;
+import org.apache.catalina.deploy.ContextResource;
+import org.apache.catalina.deploy.ContextResourceEnvRef;
+import org.apache.catalina.deploy.ContextResourceLink;
+import org.apache.catalina.deploy.ContextService;
+import org.apache.catalina.deploy.MessageDestinationRef;
+import org.apache.catalina.deploy.NamingResources;
+import org.apache.catalina.deploy.ResourceBase;
+
+public class OpenEJBNamingResource extends NamingResources {
+
+    @Override
+    public void addEnvironment(ContextEnvironment environment) {
+        normalize(environment);
+        super.addEnvironment(environment);
+    }
+
+    @Override
+    public void addResourceEnvRef(ContextResourceEnvRef ref) {
+        normalize(ref);
+        super.addResourceEnvRef(ref);
+    }
+
+    @Override
+    public void addEjb(ContextEjb ref) {
+        normalize(ref);
+        super.addEjb(ref);
+    }
+
+    @Override
+    public void addLocalEjb(ContextLocalEjb ref) {
+        normalize(ref);
+        super.addLocalEjb(ref);
+    }
+
+    @Override
+    public void addResource(ContextResource ref) {
+        normalize(ref);
+        super.addResource(ref);
+    }
+
+    @Override
+    public void addMessageDestinationRef(MessageDestinationRef ref) {
+        normalize(ref);
+        super.addMessageDestinationRef(ref);
+    }
+
+    @Override
+    public void addService(ContextService ref) {
+        normalize(ref);
+        super.addService(ref);
+    }
+
+    @Override
+    public void addResourceLink(ContextResourceLink ref) {
+        normalize(ref);
+        super.addResourceLink(ref);
+    }
+
+    /**
+     * tomcat uses a hastable to store entry type, null values are not allowed
+     * <p/>
+     * These occur when the reference is decalred using a 'lookup' attribute These do not have a type associated
+     *
+     * @param ref
+     */
+    private void normalize(ResourceBase ref) {
+        if (ref.getType() == null) {
+            ref.setType("");
+        }
+    }
+}
\ No newline at end of file