Author: sergeyb
Date: Mon Dec 17 12:26:12 2012
New Revision: 1422898
URL: http://svn.apache.org/viewvc?rev=1422898&view=rev
Log:
[CXF-4702] Also adding an option to register all the providers in a list
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java
URL:
http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java?rev=1422898&r1=1422897&r2=1422898&view=diff
==============================================================================
---
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java
(original)
+++
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/provider/ProviderFactory.java
Mon Dec 17 12:26:12 2012
@@ -102,6 +102,7 @@ public final class ProviderFactory {
private static final String DEFAULT_FILTER_NAME_BINDING =
"org.apache.cxf.filter.binding";
private static final String JAXB_PROVIDER_NAME =
"org.apache.cxf.jaxrs.provider.JAXBElementProvider";
private static final String JSON_PROVIDER_NAME =
"org.apache.cxf.jaxrs.provider.json.JSONProvider";
+ private static final String BUS_PROVIDERS_ALL =
"org.apache.cxf.jaxrs.bus.providers";
static {
SHARED_FACTORY.setProviders(new BinaryDataProvider<Object>(),
@@ -683,13 +684,20 @@ public final class ProviderFactory {
}
}
+
private void addBusExtension(List<Object> extensions, Class<?>...
extClasses) {
for (Class<?> extClass : extClasses) {
Object ext = bus.getProperty(extClass.getName());
- if (ext != null && extClass.isInstance(ext)) {
+ if (extClass.isInstance(ext)) {
extensions.add(ext);
}
}
+ Object allProp = bus.getProperty(BUS_PROVIDERS_ALL);
+ if (allProp instanceof List) {
+ @SuppressWarnings("unchecked")
+ List<Object> all = (List<Object>)allProp;
+ extensions.addAll(all);
+ }
}
//CHECKSTYLE:OFF