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 <f:viewParam>s.
*/
@RequestScoped
@@ -57,6 +57,9 @@ public class JsfRestParameters extends R
return facesContext != null && facesContext.isPostback();
}
+ /**
+ * {@inheritDoc}
+ */
public String getRestId()
{
if (restId == null)