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 2014/10/07 14:50:23 UTC
svn commit: r1629874 -
/tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
Author: rmannibucau
Date: Tue Oct 7 12:50:23 2014
New Revision: 1629874
URL: http://svn.apache.org/r1629874
Log:
TOMEE-1386 skipping wink providers to not conflict with CXF
Modified:
tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
Modified: tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java
URL: http://svn.apache.org/viewvc/tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java?rev=1629874&r1=1629873&r2=1629874&view=diff
==============================================================================
--- tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java (original)
+++ tomee/tomee/trunk/server/openejb-cxf-rs/src/main/java/org/apache/openejb/server/cxf/rs/CxfRsHttpListener.java Tue Oct 7 12:50:23 2014
@@ -351,7 +351,8 @@ public class CxfRsHttpListener implement
for (final Object o : additionalProviders) {
if (o instanceof Class<?>) {
final Class<?> clazz = (Class<?>) o;
- if ("false".equalsIgnoreCase(SystemInstance.get().getProperty(clazz.getName() + ".activated", "true"))) {
+ final String name = clazz.getName();
+ if (shouldSkipProvider(name)) {
continue;
}
@@ -366,22 +367,23 @@ public class CxfRsHttpListener implement
continue;
}
} catch (final Throwable th) {
- LOGGER.info("Can't use CDI to create provider " + clazz.getName());
+ LOGGER.info("Can't use CDI to create provider " + name);
}
}
- final Collection<Object> instance = ServiceInfos.resolve(services, new String[]{clazz.getName()}, OpenEJBProviderFactory.INSTANCE);
+ final Collection<Object> instance = ServiceInfos.resolve(services, new String[]{name}, OpenEJBProviderFactory.INSTANCE);
if (instance != null && !instance.isEmpty()) {
instances.add(instance.iterator().next());
} else {
try {
instances.add(newProvider(clazz));
} catch (final Exception e) {
- LOGGER.error("can't instantiate " + clazz.getName(), e);
+ LOGGER.error("can't instantiate " + name, e);
}
}
} else {
- if ("false".equalsIgnoreCase(SystemInstance.get().getProperty(o.getClass().getName() + ".activated", "true"))) {
+ final String name = o.getClass().getName();
+ if (shouldSkipProvider(name)) {
continue;
}
instances.add(o);
@@ -391,6 +393,11 @@ public class CxfRsHttpListener implement
return instances;
}
+ private static boolean shouldSkipProvider(final String name) {
+ return "false".equalsIgnoreCase(SystemInstance.get().getProperty(name + ".activated", "true"))
+ || name.startsWith("org.apache.wink.common.internal.");
+ }
+
private static void addMandatoryProviders(final Collection<Object> instances) {
instances.add(new JsrProvider()); // is this one really mandatory?
instances.add(new WadlDocumentMessageBodyWriter());