You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cxf.apache.org by se...@apache.org on 2013/09/06 17:24:38 UTC
svn commit: r1520599 - in
/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl:
ConfigurableImpl.java ConfigurationImpl.java
Author: sergeyb
Date: Fri Sep 6 15:24:38 2013
New Revision: 1520599
URL: http://svn.apache.org/r1520599
Log:
[CXF-5135] Adding Feature instances to the list of configuration instances
Modified:
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurableImpl.java
cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurationImpl.java
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurableImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurableImpl.java?rev=1520599&r1=1520598&r2=1520599&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurableImpl.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurableImpl.java Fri Sep 6 15:24:38 2013
@@ -83,8 +83,9 @@ public class ConfigurableImpl<C extends
public C register(Object provider, Map<Class<?>, Integer> contracts) {
if (provider instanceof Feature) {
Feature feature = (Feature)provider;
- config.setFeature(feature);
- feature.configure(new FeatureContextImpl(this));
+ if (feature.configure(new FeatureContextImpl(this))) {
+ config.setFeature(feature);
+ }
return configurable;
}
config.register(provider, contracts);
Modified: cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurationImpl.java
URL: http://svn.apache.org/viewvc/cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurationImpl.java?rev=1520599&r1=1520598&r2=1520599&view=diff
==============================================================================
--- cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurationImpl.java (original)
+++ cxf/trunk/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/impl/ConfigurationImpl.java Fri Sep 6 15:24:38 2013
@@ -49,7 +49,11 @@ public class ConfigurationImpl implement
Set<Class<?>> providerClasses = new HashSet<Class<?>>(parent.getClasses());
for (Object o : parent.getInstances()) {
- registerParentProvider(o, parent, defaultContracts);
+ if (!(o instanceof Feature)) {
+ registerParentProvider(o, parent, defaultContracts);
+ } else {
+ features.add((Feature)o);
+ }
providerClasses.remove(o.getClass());
}
for (Class<?> cls : providerClasses) {
@@ -89,7 +93,10 @@ public class ConfigurationImpl implement
@Override
public Set<Object> getInstances() {
- return providers.keySet();
+ Set<Object> allInstances = new HashSet<Object>();
+ allInstances.addAll(providers.keySet());
+ allInstances.addAll(features);
+ return Collections.unmodifiableSet(allInstances);
}
@Override