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 2014/12/03 16:17:45 UTC

cxf git commit: [CXF-6121] Minor refactoring

Repository: cxf
Updated Branches:
  refs/heads/master 83205e07b -> b0ba2d1d4


[CXF-6121] Minor refactoring


Project: http://git-wip-us.apache.org/repos/asf/cxf/repo
Commit: http://git-wip-us.apache.org/repos/asf/cxf/commit/b0ba2d1d
Tree: http://git-wip-us.apache.org/repos/asf/cxf/tree/b0ba2d1d
Diff: http://git-wip-us.apache.org/repos/asf/cxf/diff/b0ba2d1d

Branch: refs/heads/master
Commit: b0ba2d1d425056b091946050333bb783a002c3e1
Parents: 83205e0
Author: Sergey Beryozkin <sb...@talend.com>
Authored: Wed Dec 3 15:17:28 2014 +0000
Committer: Sergey Beryozkin <sb...@talend.com>
Committed: Wed Dec 3 15:17:28 2014 +0000

----------------------------------------------------------------------
 .../JAXRSServerFactoryBeanDefinitionParser.java | 27 +++++++-------------
 1 file changed, 9 insertions(+), 18 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/b0ba2d1d/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java
----------------------------------------------------------------------
diff --git a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java
index 672d709..ffdbf45 100644
--- a/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java
+++ b/rt/frontend/jaxrs/src/main/java/org/apache/cxf/jaxrs/spring/JAXRSServerFactoryBeanDefinitionParser.java
@@ -22,7 +22,6 @@ import java.io.IOException;
 import java.lang.annotation.Annotation;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
 
@@ -230,28 +229,20 @@ public class JAXRSServerFactoryBeanDefinitionParser extends AbstractBeanDefiniti
                 } catch (ClassNotFoundException ex) {
                     throw new BeanCreationException("Failed to create bean from classfile", ex);
                 }
-            } else if (serviceAnnotationClass != null) {
-                List<Object> services = new LinkedList<Object>();
-                List<Object> providers = new LinkedList<Object>();
-                for (Object obj : ctx.getBeansWithAnnotation(serviceAnnotationClass).values()) {
-                    Class<?> cls = obj.getClass();
-                    if (cls.getAnnotation(Path.class) != null) {
-                        services.add(obj);
-                    } else if (cls.getAnnotation(Provider.class) != null) {
-                        providers.add(obj);
-                    } 
-                }
-                this.setServiceBeans(services);
-                this.setProviders(providers);
-            } else if (!serviceBeansAvailable && !providerBeansAvailable && !resourceProvidersAvailable) {
-                AbstractSpringComponentScanServer scanServer = new AbstractSpringComponentScanServer() { };
-                scanServer.setApplicationContext(context);
-                scanServer.setJaxrsResources(this);
+            } else if (serviceAnnotationClass != null
+                || !serviceBeansAvailable && !providerBeansAvailable && !resourceProvidersAvailable) {
+                discoverContextResources(serviceAnnotationClass);
             }
             if (bus == null) {
                 setBus(BusWiringBeanFactoryPostProcessor.addDefaultBus(ctx));
             }
         }        
+        private void discoverContextResources(Class<? extends Annotation> serviceAnnotationClass) {
+            AbstractSpringComponentScanServer scanServer = 
+                new AbstractSpringComponentScanServer(serviceAnnotationClass) { };
+            scanServer.setApplicationContext(context);
+            scanServer.setJaxrsResources(this);
+        }
         @SuppressWarnings("unchecked")
         private Class<? extends Annotation> loadServiceAnnotationClass() {
             if (serviceAnnotation != null) {