You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2011/07/13 09:33:08 UTC

svn commit: r1145894 - in /openejb/trunk/openejb3: assembly/openejb-tomcat/openejb-tomcat-webapp/pom.xml container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java

Author: rmannibucau
Date: Wed Jul 13 07:33:08 2011
New Revision: 1145894

URL: http://svn.apache.org/viewvc?rev=1145894&view=rev
Log:
OPENEJB-1237 looking into context params to find the Application class if it exists otherwise use the scanned one

Modified:
    openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/pom.xml
    openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java

Modified: openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/pom.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/pom.xml?rev=1145894&r1=1145893&r2=1145894&view=diff
==============================================================================
--- openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/pom.xml (original)
+++ openejb/trunk/openejb3/assembly/openejb-tomcat/openejb-tomcat-webapp/pom.xml Wed Jul 13 07:33:08 2011
@@ -151,11 +151,29 @@
     </dependency>
     <dependency>
       <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-rest</artifactId>
+      <version>${project.version}</version>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-cxf-transport</artifactId>
+      <version>${project.version}</version>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.apache.openejb</groupId>
       <artifactId>openejb-cxf</artifactId>
       <version>${project.version}</version>
       <scope>runtime</scope>
     </dependency>
     <dependency>
+      <groupId>org.apache.openejb</groupId>
+      <artifactId>openejb-cxf-rs</artifactId>
+      <version>${project.version}</version>
+      <scope>runtime</scope>
+    </dependency>
+    <dependency>
       <groupId>org.apache.geronimo.javamail</groupId>
       <artifactId>geronimo-javamail_1.4_mail</artifactId>
       <scope>runtime</scope>

Modified: openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java?rev=1145894&r1=1145893&r2=1145894&view=diff
==============================================================================
--- openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java (original)
+++ openejb/trunk/openejb3/container/openejb-core/src/main/java/org/apache/openejb/config/AnnotationDeployer.java Wed Jul 13 07:33:08 2011
@@ -177,6 +177,7 @@ import org.apache.openejb.jee.MethodPara
 import org.apache.openejb.jee.MethodPermission;
 import org.apache.openejb.jee.NamedMethod;
 import org.apache.openejb.jee.OutboundResourceAdapter;
+import org.apache.openejb.jee.ParamValue;
 import org.apache.openejb.jee.PersistenceContextRef;
 import org.apache.openejb.jee.PersistenceContextType;
 import org.apache.openejb.jee.PersistenceUnitRef;
@@ -1437,9 +1438,15 @@ public class AnnotationDeployer implemen
 
             ClassLoader classLoader = webModule.getClassLoader();
 
+            final String webXmlApplication = webApp.contextParamsAsMap().get("javax.ws.rs.Application");
+            if (webXmlApplication != null) {
+                webModule.getRestApplications().clear();
+                webModule.getRestApplications().add(webXmlApplication);
+            }
+
             for (String application : webModule.getRestApplications()) {
                 if (application != null) {
-                    Class<?> clazz = null;
+                    Class<?> clazz;
                     try {
                         clazz = classLoader.loadClass(application);
                         classes.add(clazz);
@@ -1447,15 +1454,13 @@ public class AnnotationDeployer implemen
                         throw new OpenEJBException("Unable to load Application class: " + application, e);
                     }
 
-                    if (clazz != null) {
-                        try {
-                            Application app = Application.class.cast(clazz.newInstance());
-                            classes.addAll(app.getClasses());
-                        } catch (InstantiationException e) {
-                            throw new OpenEJBException("Unable to instantiate Application class: " + application, e);
-                        } catch (IllegalAccessException e) {
-                            throw new OpenEJBException("Unable to access Application class: " + application, e);
-                        }
+                    try {
+                        Application app = Application.class.cast(clazz.newInstance());
+                        classes.addAll(app.getClasses());
+                    } catch (InstantiationException e) {
+                        throw new OpenEJBException("Unable to instantiate Application class: " + application, e);
+                    } catch (IllegalAccessException e) {
+                        throw new OpenEJBException("Unable to access Application class: " + application, e);
                     }
                 }
             }