Repository: cxf Updated Branches: refs/heads/3.1.x-fixes 5e4a0c99b -> dd8eba763
[CXF-7343] Updating AbstractSpringComponentScanServer to pick up out fault interceptors, slightly modified patch from Hugo Trippaers applied, This closes #265 Project: http://git-wip-us.apache.org/repos/asf/cxf/repo Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/dd8eba76 Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/dd8eba76 Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/dd8eba76 Branch: refs/heads/3.1.x-fixes Commit: dd8eba76334889e2ebb54bae8e455bb80a966b2c Parents: 5e4a0c9 Author: Sergey Beryozkin <sberyoz...@gmail.com> Authored: Fri Apr 21 13:25:36 2017 +0100 Committer: Sergey Beryozkin <sberyoz...@gmail.com> Committed: Fri Apr 21 13:28:57 2017 +0100 ---------------------------------------------------------------------- .../cxf/jaxrs/spring/AbstractSpringComponentScanServer.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cxf/blob/dd8eba76/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/AbstractSpringComponentScanServer.java ---------------------------------------------------------------------- diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/AbstractSpringComponentScanServer.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/AbstractSpringComponentScanServer.java index 33cef1e..840c1fd 100644 --- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/AbstractSpringComponentScanServer.java +++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/AbstractSpringComponentScanServer.java @@ -74,6 +74,7 @@ public abstract class AbstractSpringComponentScanServer extends AbstractSpringCo private List<Feature> cxfFeatures = new LinkedList<Feature>(); private List<Interceptor<? extends Message>> cxfInInterceptors = new LinkedList<Interceptor<?>>(); private List<Interceptor<? extends Message>> cxfOutInterceptors = new LinkedList<Interceptor<?>>(); + private List<Interceptor<? extends Message>> cxfOutFaultInterceptors = new LinkedList<Interceptor<?>>(); private Class<? extends Annotation> serviceAnnotation; protected AbstractSpringComponentScanServer() { @@ -178,8 +179,9 @@ public abstract class AbstractSpringComponentScanServer extends AbstractSpringCo factory.setFeatures(getFeatures()); factory.setInInterceptors(getInInterceptors()); factory.setOutInterceptors(getOutInterceptors()); + factory.setOutFaultInterceptors(getOutFaultInterceptors()); } - + protected void addCxfProvidersFromClasses(Collection<Class<?>> classes) { List<Object> cxfProviders = JAXRSServerFactoryBeanDefinitionParser .createBeansFromDiscoveredClasses(applicationContext, classes, null); @@ -253,9 +255,11 @@ public abstract class AbstractSpringComponentScanServer extends AbstractSpringCo cxfInInterceptors.add((Interceptor<?>)bean); } else if (ann.value() == org.apache.cxf.annotations.Provider.Type.OutInterceptor) { cxfOutInterceptors.add((Interceptor<?>)bean); + } else if (ann.value() == org.apache.cxf.annotations.Provider.Type.OutFaultInterceptor) { + cxfOutFaultInterceptors.add((Interceptor<?>)bean); } - } + protected boolean matchesServiceAnnotation(String beanName) { return serviceAnnotation == null || isAnnotationAvailable(beanName, serviceAnnotation); }