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 2011/03/13 16:24:16 UTC

svn commit: r1081137 - /myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/ConversationUtils.java

Author: gpetracek
Date: Sun Mar 13 15:24:16 2011
New Revision: 1081137

URL: http://svn.apache.org/viewvc?rev=1081137&view=rev
Log:
EXTCDI-156 improvement for the view-access-scope

Modified:
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/ConversationUtils.java

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/ConversationUtils.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/ConversationUtils.java?rev=1081137&r1=1081136&r2=1081137&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/ConversationUtils.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/util/ConversationUtils.java Sun Mar 13 15:24:16 2011
@@ -19,9 +19,10 @@
 package org.apache.myfaces.extensions.cdi.jsf.impl.util;
 
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationGroup;
+import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationScoped;
+import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ViewAccessScoped;
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.WindowContext;
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.WindowScoped;
-import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationScoped;
 import org.apache.myfaces.extensions.cdi.core.api.scope.conversation.config.WindowContextConfig;
 import org.apache.myfaces.extensions.cdi.core.api.provider.BeanManagerProvider;
 import org.apache.myfaces.extensions.cdi.core.impl.scope.conversation.spi.WindowContextManager;
@@ -78,21 +79,27 @@ public abstract class ConversationUtils
     }
 
     /**
-     * Calculates the conversation-group for a given {@link Bean}
+     * Calculates the conversation-group for a given {@link Bean}.
+     * Conversation-groups are only supported in combination with
+     * {@link org.apache.myfaces.extensions.cdi.core.api.scope.conversation.ConversationScoped}
      * @param bean current bean
      * @return class which represents the conversation-group
      */
-    //don't cache it to support different producers
     public static Class getConversationGroup(Bean<?> bean)
     {
         Class<? extends Annotation> scopeType = bean.getScope();
 
-        //TODO check if we should support conversation groups for @WindowScoped
+        if(ViewAccessScoped.class.isAssignableFrom(scopeType))
+        {
+            return bean.getBeanClass();
+        }
+
         if(WindowScoped.class.isAssignableFrom(scopeType))
         {
             return WindowScoped.class;
         }
 
+        //don't cache it (due to the support of different producers)
         ConversationGroup conversationGroupAnnotation = findConversationGroupAnnotation(bean);
 
         if(conversationGroupAnnotation == null)