Author: rmannibucau
Date: Fri Jan 11 12:56:05 2013
New Revision: 1432024

URL: http://svn.apache.org/viewvc?rev=1432024&view=rev
Log:
TOMEE-725 jaxb-impl in lib instead of endorsed to be able to load class 
correctly + minor fix on the rest application name used for the config

Modified:
    
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
    
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/InternalApplication.java
    
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
    
openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java

Modified: 
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java?rev=1432024&r1=1432023&r2=1432024&view=diff
==============================================================================
--- 
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 (original)
+++ 
openejb/trunk/openejb/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
 Fri Jan 11 12:56:05 2013
@@ -219,7 +219,12 @@ public class CxfRsHttpListener implement
                                   final ServiceConfiguration 
serviceConfiguration) {
         final JAXRSServerFactoryBean factory = newFactory(prefix);
         if (InternalApplication.class.equals(application.getClass())) { // 
todo: check it is the good choice
-            configureFactory("jaxrs-application", additionalProviders, 
serviceConfiguration, factory);
+            final Application original = 
InternalApplication.class.cast(application).getOriginal();
+            if (original == null) {
+                configureFactory("jaxrs-application", additionalProviders, 
serviceConfiguration, factory);
+            } else {
+                configureFactory(original.getClass().getName(), 
additionalProviders, serviceConfiguration, factory);
+            }
         } else {
             configureFactory(application.getClass().getName(), 
additionalProviders, serviceConfiguration, factory);
         }
@@ -379,7 +384,7 @@ public class CxfRsHttpListener implement
 
         final Collection<ServiceInfo> services = 
serviceConfiguration.getAvailableServices();
 
-        final String staticSubresourceResolution = 
serviceConfiguration.getProperties().getProperty(STATIC_SUB_RESOURCE_RESOLUTION_KEY);
+        final String staticSubresourceResolution = 
serviceConfiguration.getProperties().getProperty(CXF_JAXRS_PREFIX + 
STATIC_SUB_RESOURCE_RESOLUTION_KEY);
         if (staticSubresourceResolution != null) {
             
factory.setStaticSubresourceResolution("true".equalsIgnoreCase(staticSubresourceResolution));
         }

Modified: 
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/InternalApplication.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/InternalApplication.java?rev=1432024&r1=1432023&r2=1432024&view=diff
==============================================================================
--- 
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/InternalApplication.java
 (original)
+++ 
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/InternalApplication.java
 Fri Jan 11 12:56:05 2013
@@ -23,6 +23,11 @@ import java.util.Set;
 public class InternalApplication extends Application {
     private final Set<Class<?>> classes = new HashSet<Class<?>>();
     private final Set<Object> singletons = new HashSet<Object>();
+    private final Application original;
+
+    public InternalApplication(final Application original) {
+        this.original = original;
+    }
 
     @Override
     public Set<Class<?>> getClasses() {
@@ -33,4 +38,8 @@ public class InternalApplication extends
     public Set<Object> getSingletons() {
         return singletons;
     }
+
+    public Application getOriginal() {
+        return original;
+    }
 }

Modified: 
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java?rev=1432024&r1=1432023&r2=1432024&view=diff
==============================================================================
--- 
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
 (original)
+++ 
openejb/trunk/openejb/server/openejb-rest/src/main/java/org/apache/openejb/server/rest/RESTService.java
 Fri Jan 11 12:56:05 2013
@@ -205,7 +205,7 @@ public abstract class RESTService implem
 
                 if (deploymentWithApplication) { // don't do it if we detected 
we should use old deployment
                     if (application == null) {
-                        application = new InternalApplication();
+                        application = new InternalApplication(application);
 
                         for (final String clazz : webApp.restClass) {
                             try {
@@ -497,7 +497,7 @@ public abstract class RESTService implem
                 }
 
                 if 
("true".equalsIgnoreCase(appInfo.properties.getProperty(OPENEJB_USE_APPLICATION_PROPERTY,
 APPLICATION_DEPLOYMENT))) {
-                    final Application application = new InternalApplication();
+                    final Application application = new 
InternalApplication(null);
                     for (final Map.Entry<String, EJBRestServiceInfo> ejb : 
restEjbs.entrySet()) {
                         
application.getClasses().add(ejb.getValue().context.getBeanClass());
                     }

Modified: 
openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
URL: 
http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java?rev=1432024&r1=1432023&r2=1432024&view=diff
==============================================================================
--- 
openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
 (original)
+++ 
openejb/trunk/openejb/tomee/tomee-common/src/main/java/org/apache/tomee/installer/Installer.java
 Fri Jan 11 12:56:05 2013
@@ -249,7 +249,8 @@ public class Installer {
         copyClasses(paths.getJavaEEAPIJar(), jaxbApi, new File(endorsed, 
"jaxb-api.jar"), "javax/xml/bind/.*", 
Arrays.asList("javax/xml/bind/ContextFinder.class", 
"javax/xml/bind/DatatypeConverter.class"));
         removeJar(jaxbApi);
 
-        final File jaxbImpl = new File(endorsed, "jaxb-impl.jar");
+        // don't put jaxb-impl in endorsed since it relies on the jvm itself
+        final File jaxbImpl = new File(paths.getCatalinaLibDir(), 
"jaxb-impl.jar");
         if (!jaxbImpl.exists()) {
             try {
                 Installers.copyFile(paths.getJAXBImpl(), jaxbImpl);


Reply via email to