Repository: cxf
Updated Branches:
  refs/heads/master 01d06cee0 -> 61765fce3


CXF-6896: CDI integration: duplicate service / feature / provider beans are 
registered when Application class has singletons


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

Branch: refs/heads/master
Commit: e14d803ff84be7c59dd7c2321f1090231967d45c
Parents: 01d06ce
Author: reta <[email protected]>
Authored: Tue May 10 19:53:39 2016 -0400
Committer: reta <[email protected]>
Committed: Tue May 10 19:53:39 2016 -0400

----------------------------------------------------------------------
 .../cxf/cdi/JAXRSCdiResourceExtension.java      | 36 --------------------
 1 file changed, 36 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cxf/blob/e14d803f/integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java
----------------------------------------------------------------------
diff --git 
a/integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java
 
b/integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java
index b5d88c6..85b63f0 100644
--- 
a/integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java
+++ 
b/integration/cdi/src/main/java/org/apache/cxf/cdi/JAXRSCdiResourceExtension.java
@@ -19,10 +19,7 @@
 package org.apache.cxf.cdi;
 
 import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.ServiceLoader;
 
 import javax.enterprise.event.Observes;
@@ -44,7 +41,6 @@ import javax.ws.rs.ext.Provider;
 import org.apache.cxf.Bus;
 import org.apache.cxf.bus.extension.ExtensionManagerBus;
 import org.apache.cxf.feature.Feature;
-import org.apache.cxf.helpers.CastUtils;
 import org.apache.cxf.jaxrs.JAXRSServerFactoryBean;
 import org.apache.cxf.jaxrs.utils.ResourceUtils;
 
@@ -146,44 +142,12 @@ public class JAXRSCdiResourceExtension implements 
Extension {
     private JAXRSServerFactoryBean createFactoryInstance(final Application 
application) {
         
         final JAXRSServerFactoryBean instance = 
ResourceUtils.createApplication(application, false, false);
-        final Map< Class< ? >, List< Object > > classified = 
classifySingletons(application.getSingletons());
-        instance.setServiceBeans(classified.get(Path.class));
-        instance.setProviders(classified.get(Provider.class));
-        instance.setFeatures(CastUtils.cast(classified.get(Feature.class), 
Feature.class));
         instance.setBus(bus);
 
         return instance; 
     }
     
     /**
-     * JAX-RS application has defined singletons as being instances of any 
providers, resources and features.
-     * In the JAXRSServerFactoryBean, those should be split around several 
method calls depending on instance
-     * type. At the moment, only the Feature is CXF-specific and should be 
replaced by JAX-RS Feature implementation.
-     * @param singletons application singletons
-     * @return classified singletons by instance types
-     */
-    private Map< Class< ? >, List< Object > > classifySingletons(final 
Collection< Object > singletons) {
-        final Map< Class< ? >, List< Object > > classified = 
-            new HashMap< Class< ? >, List< Object > >();
-        
-        classified.put(Feature.class, new ArrayList< Object >());
-        classified.put(Provider.class, new ArrayList< Object >());
-        classified.put(Path.class, new ArrayList< Object >());
-        
-        for (final Object singleton: singletons) {
-            if (singleton instanceof Feature) {
-                classified.get(Feature.class).add(singleton);
-            } else if 
(singleton.getClass().isAnnotationPresent(Provider.class)) {
-                classified.get(Provider.class).add(singleton);
-            } else if (singleton.getClass().isAnnotationPresent(Path.class)) {
-                classified.get(Path.class).add(singleton);
-            }
-        }
-        
-        return classified;
-    }
-
-    /**
      * Load external providers from service loader
      * @return loaded external providers
      */

Reply via email to