You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by we...@apache.org on 2009/09/23 13:10:37 UTC

svn commit: r818056 - in /myfaces/extensions/scripting/trunk: core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/ examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/

Author: werpu
Date: Wed Sep 23 11:10:37 2009
New Revision: 818056

URL: http://svn.apache.org/viewvc?rev=818056&view=rev
Log:
https://issues.apache.org/jira/browse/EXTSCRIPT-18
adding scope handling to the managed bean listener

Modified:
    myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java
    myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java

Modified: myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java?rev=818056&r1=818055&r2=818056&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java (original)
+++ myfaces/extensions/scripting/trunk/core/myfaces2-extensions/src/main/java/org/apache/myfaces/scripting/jsf2/annotation/BeanImplementationListener.java Wed Sep 23 11:10:37 2009
@@ -63,11 +63,29 @@
         mbean.setBeanClass(clazz.getName());
         mbean.setName(beanName);
         handleManagedpropertiesCompiled(mbean, fields(clazz));
+        resolveScope(clazz, mbean);
 
         _alreadyRegistered.put(beanName, mbean);
         config.addManagedBean(beanName, mbean);
     }
 
+    private void resolveScope(Class clazz, ManagedBean mbean) {
+        //now lets resolve the scope
+        String scope = "none";
+        if (clazz.isAnnotationPresent(RequestScoped.class)) {
+            scope = "request";
+        } else if (clazz.isAnnotationPresent(SessionScoped.class)) {
+            scope = "session";
+        } else if (clazz.isAnnotationPresent(ApplicationScoped.class)) {
+            scope = "application";
+        } else if (clazz.isAnnotationPresent(NoneScoped.class)) {
+            scope = "none";
+        } else if (clazz.isAnnotationPresent(CustomScoped.class)) {
+            scope = "custom";
+        }
+        mbean.setScope(scope);
+    }
+
 
     /**
      * reregistration strategy:
@@ -96,25 +114,33 @@
         handleManagedproperties(mbean, fields(clazz));
         _alreadyRegistered.put(beanName, mbean);
         //find the scope
+        resolveScope(clazz, mbean);
+
+        config.addManagedBean(beanName, mbean);
+    }
+
+    private void resolveScope(JavaClass clazz, ManagedBean mbean) {
         Annotation[] anns = clazz.getAnnotations();
 
         for (Annotation ann : anns) {
-            if (ann.getType().getValue().equals(RequestScoped.class.getName())) {
+            String scopeType = ann.getType().getValue();
+
+            if (scopeType.equals(RequestScoped.class.getName())) {
                 mbean.setScope("request");
                 break;
-            } else if (ann.getType().getValue().equals(SessionScoped.class.getName())) {
+            } else if (scopeType.equals(SessionScoped.class.getName())) {
                 mbean.setScope(SCOPE_SESSION);
                 break;
-            } else if (ann.getType().getValue().equals(ApplicationScoped.class.getName())) {
+            } else if (scopeType.equals(ApplicationScoped.class.getName())) {
                 mbean.setScope(SCOPE_APPLICATION);
                 break;
-            } else if (ann.getType().getValue().equals(ViewScoped.class.getName())) {
+            } else if (scopeType.equals(ViewScoped.class.getName())) {
                 mbean.setScope(SCOPE_VIEW);
                 break;
-            } else if (ann.getType().getValue().equals(NoneScoped.class.getName())) {
+            } else if (scopeType.equals(NoneScoped.class.getName())) {
                 mbean.setScope(SCOPE_NONE);
                 break;
-            } else if (ann.getType().getValue().equals(CustomScoped.class.getName())) {
+            } else if (scopeType.equals(CustomScoped.class.getName())) {
                 //TODO find out how to handle custom scope values
                 mbean.setScope(SCOPE_CUSTOM);
                 break;
@@ -124,8 +150,6 @@
         if (mbean.getManagedBeanScope() == null) {
             mbean.setScope(SCOPE_NONE);
         }
-
-        config.addManagedBean(beanName, mbean);
     }
 
 

Modified: myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java?rev=818056&r1=818055&r2=818056&view=diff
==============================================================================
--- myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java (original)
+++ myfaces/extensions/scripting/trunk/examples/myfaces20-example/src/main/webapp/WEB-INF/java/org/apache/myfaces/javaloader/test/TestBean2.java Wed Sep 23 11:10:37 2009
@@ -6,13 +6,14 @@
 
 
 @ManagedBean (name="javatestbean")
+@RequestScoped 
 public class TestBean2 {
     String sayHello = "hello worldgggg";
     String hello2 = "hello from added attribute";
     String hello3 = "hello from  added attribute 2";
  
     public String getSayHello() {
-        return "sss Java dynamic  bean - "+TestClass2.hello2 + hello3;
+        return "Java dynamic  bean - "+TestClass2.hello2 + hello3;
     }
 
     public String getSayHello2() {