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


Reply via email to