You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by pm...@apache.org on 2007/04/19 20:56:49 UTC

svn commit: r530517 - /myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ManagedBeanResolver.java

Author: pmcmahan
Date: Thu Apr 19 11:56:48 2007
New Revision: 530517

URL: http://svn.apache.org/viewvc?view=rev&rev=530517
Log:
MYFACES-1588  reenable cycle reference check for managed beans with scope none

Modified:
    myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ManagedBeanResolver.java

Modified: myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ManagedBeanResolver.java
URL: http://svn.apache.org/viewvc/myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ManagedBeanResolver.java?view=diff&rev=530517&r1=530516&r2=530517
==============================================================================
--- myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ManagedBeanResolver.java (original)
+++ myfaces/core/branches/jsf12/impl/src/main/java/org/apache/myfaces/el/unified/resolver/ManagedBeanResolver.java Thu Apr 19 11:56:48 2007
@@ -146,21 +146,22 @@
         String strProperty = (String)property;
         
         ManagedBean managedBean = runtimeConfig(context).getManagedBean(strProperty);
+        Object beanInstance = null;
         if (managedBean != null) {
             FacesContext facesContext = facesContext(context);
             context.setPropertyResolved(true);
-            if ("none".equals(managedBean.getManagedBeanScope())) {
-                return beanBuilder.buildManagedBean(facesContext, managedBean);
-            } else {
-                storeManagedBean(managedBean, facesContext);
-            }
+            beanInstance = createManagedBean(managedBean, facesContext);
         }
         
-        return null;
+        return beanInstance;
     }
     
+    // Create a managed bean.  If the scope of the bean is "none" then
+    // return it right away.  Otherwise store the bean in the appropriate
+    // scope and return null.
+    //
     // adapted from Manfred's JSF 1.1 VariableResolverImpl
-    private void storeManagedBean(ManagedBean managedBean,
+    private Object createManagedBean(ManagedBean managedBean,
                                   FacesContext facesContext) 
         throws ELException {
         
@@ -188,7 +189,12 @@
             beansUnderConstruction.remove(managedBeanName);
         }
 
-       putInScope(managedBean, extContext, obj);
+        if ("none".equals(managedBean.getManagedBeanScope())) {
+            return obj;
+        } else {
+            putInScope(managedBean, extContext, obj);
+            return null;
+        }
     }
     
 	private void putInScope(ManagedBean managedBean, ExternalContext extContext, Object obj) {