You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2010/07/16 10:41:13 UTC

svn commit: r964713 - /myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/ConfigProducer.java

Author: gpetracek
Date: Fri Jul 16 08:41:13 2010
New Revision: 964713

URL: http://svn.apache.org/viewvc?rev=964713&view=rev
Log:
EXTCDI-6 support for custom config implementations

Modified:
    myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/ConfigProducer.java

Modified: myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/ConfigProducer.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/ConfigProducer.java?rev=964713&r1=964712&r2=964713&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/ConfigProducer.java (original)
+++ myfaces/extensions/cdi/trunk/core/impl/src/main/java/org/apache/myfaces/extensions/cdi/core/impl/config/ConfigProducer.java Fri Jul 16 08:41:13 2010
@@ -28,7 +28,6 @@ import javax.enterprise.inject.spi.BeanM
 import javax.enterprise.inject.spi.Bean;
 import javax.enterprise.context.spi.CreationalContext;
 import javax.enterprise.context.ApplicationScoped;
-import javax.inject.Singleton;
 import java.util.Set;
 import java.util.HashSet;
 import java.util.Collections;
@@ -46,7 +45,7 @@ public class ConfigProducer
     private static Set<Class<? extends CodiConfig>> configFilter;
 
     @Produces
-    @Singleton
+    @ApplicationScoped
     public Set<CodiConfig> createCodiConfig()
     {
         if(configInitialized == null)
@@ -82,15 +81,24 @@ public class ConfigProducer
             {
                 Set<CodiConfig> configs = createCodiConfig();
 
+                CodiConfig defaultConfig = null;
                 for(CodiConfig config : configs)
                 {
                     if(targetType.isAssignableFrom(config.getClass()))
                     {
-                        //noinspection unchecked
-                        return (T)config;
+                        if(!config.getClass().getName().startsWith("org.apache.myfaces.extensions.cdi."))
+                        {
+                            //noinspection unchecked
+                            return (T)config;
+                        }
+                        else
+                        {
+                            defaultConfig = config;
+                        }
                     }
                 }
-                return null;
+                //noinspection unchecked
+                return (T)defaultConfig;
             }
         };
     }