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