You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by st...@apache.org on 2011/11/30 22:04:47 UTC

svn commit: r1208777 - in /myfaces/extensions/cdi/trunk: core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/ jee-...

Author: struberg
Date: Wed Nov 30 21:04:47 2011
New Revision: 1208777

URL: http://svn.apache.org/viewvc?rev=1208777&view=rev
Log:
improve our JavaDoc

Modified:
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/RestScoped.java
    myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ViewAccessScoped.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/RestConversationExpirationEvaluator.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/RestParameters.java
    myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/JsfRestParameters.java

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/RestScoped.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/RestScoped.java?rev=1208777&r1=1208776&r2=1208777&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/RestScoped.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/RestScoped.java Wed Nov 30 21:04:47 2011
@@ -35,6 +35,12 @@ import static java.lang.annotation.Reten
  * viewParams are different than on the previous invoke.
  * The conversation will also get resetted when you hit a different
  * View via a GET request.
+ *
+ * Be aware that PostRedirectGet (faces-redirect=true) might cause
+ * the conversation to end. If you use PRG only to display a result-page
+ * then it should not have immediate effect because all the information
+ * will also get transported via GET parameters. But be aware that
+ * the target page might again execute any bean initialization.
  */
 @Target({METHOD,TYPE,FIELD})
 @Retention(RUNTIME)

Modified: myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ViewAccessScoped.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ViewAccessScoped.java?rev=1208777&r1=1208776&r2=1208777&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ViewAccessScoped.java (original)
+++ myfaces/extensions/cdi/trunk/core/api/src/main/java/org/apache/myfaces/extensions/cdi/core/api/scope/conversation/ViewAccessScoped.java Wed Nov 30 21:04:47 2011
@@ -29,19 +29,23 @@ import static java.lang.annotation.Eleme
 import static java.lang.annotation.ElementType.FIELD;
 
 /**
- * The scope is active as long as it's accessed by a view.
+ * The scope is active as long as it's bean is accessed by a view.
+ * Basically @ViewAccessScoped is a CODI Conversation which
+ * automatically gets ended when the next view tree gets restored
+ * without hitting the bean.
+ *
+ * @ViewAccessScoped currently doesn't support Conversation-groups,
+ * thus the {@link Conversation} always only contains the bean itself.
  */
-@Target({METHOD,TYPE,FIELD})
-@Retention(RUNTIME)
-@Inherited
-@Documented
-
 //internal hint:
 //this scope doesn't support conversation-groups.
 //if such a support is requested, we lose one of the caches.
-
 //cdi annotations
+@Target({METHOD,TYPE,FIELD})
+@Retention(RUNTIME)
+@Inherited
+@Documented
 @NormalScope(passivating=true)
 public @interface ViewAccessScoped
 {
-}
\ No newline at end of file
+}

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/RestConversationExpirationEvaluator.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/scope/conversation/RestConversationExpirationEvaluator.java?rev=1208777&r1=1208776&r2=1208777&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/RestConversationExpirationEvaluator.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/RestConversationExpirationEvaluator.java Wed Nov 30 21:04:47 2011
@@ -105,6 +105,7 @@ class RestConversationExpirationEvaluato
     }
 
     /**
+     * On the first usage of a bean, we store the {@link #oldRestId}.
      * {@inheritDoc}
      */
     public void touch()

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/RestParameters.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/scope/conversation/RestParameters.java?rev=1208777&r1=1208776&r2=1208777&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/RestParameters.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/scope/conversation/RestParameters.java Wed Nov 30 21:04:47 2011
@@ -18,22 +18,27 @@
  */
 package org.apache.myfaces.extensions.cdi.jsf.impl.scope.conversation;
 
+import javax.enterprise.context.Dependent;
+
 /**
  * This class holds information about the last used RestParameters for a given window.
  */
-// this could be @WindowScoped, but due to a bug in OpenWebBeans 1.1.1 and below, we get passivation errors
+@Dependent // the final implementation might be RequestScoped
 public abstract class RestParameters
 {
     /**
-     * Check and update the view parameters of the given viewId.
-     * The restId must also contain the viewId!
-     *
+     * Check the view parameters of the given viewId.
+     * The restId must also contain the viewId itself!
+     * The restId must be different if either the view or
+     * any of it's parameters get changed.
      *
-     * @return <code>true</code> if the viewParameters are now different than at the last invocation.
-     *         In this default implementation it always returns false!
+     * @return a key which uniquely identifies the view and all it's GET parameters
      */
     public abstract String getRestId();
 
+    /**
+     * @return <code>true</code> if the current request is a POST request.
+     */
     public abstract boolean isPostback();
 
 }

Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/JsfRestParameters.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/JsfRestParameters.java?rev=1208777&r1=1208776&r2=1208777&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/JsfRestParameters.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/scope/conversation/JsfRestParameters.java Wed Nov 30 21:04:47 2011
@@ -32,7 +32,7 @@ import java.util.TreeSet;
 /**
  * This class holds information about the last used RestParameters for a given JSF view.
  *
- * It will expire the conversation when any of those Views get accessed via GET with
+ * It will expire the conversation when the View get accessed via GET with
  * a different set of &lt;f:viewParam&gt;s.
  */
 @RequestScoped
@@ -57,6 +57,9 @@ public class JsfRestParameters extends R
         return facesContext != null && facesContext.isPostback();
     }
 
+    /**
+     * {@inheritDoc}
+     */
     public String getRestId()
     {
         if (restId == null)