[jboss-cvs] jboss-seam/src/main/org/jboss/seam/jsf ...
Gavin King
gavin.king at jboss.com
Thu Nov 9 11:18:07 EST 2006
User: gavin
Date: 06/11/09 11:18:07
Modified: src/main/org/jboss/seam/jsf SeamPortletPhaseListener.java
Log:
fix JBSEAM-482
Revision Changes Path
1.14 +68 -1 jboss-seam/src/main/org/jboss/seam/jsf/SeamPortletPhaseListener.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SeamPortletPhaseListener.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/jsf/SeamPortletPhaseListener.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -b -r1.13 -r1.14
--- SeamPortletPhaseListener.java 3 Nov 2006 22:47:24 -0000 1.13
+++ SeamPortletPhaseListener.java 9 Nov 2006 16:18:07 -0000 1.14
@@ -6,13 +6,14 @@
*/
package org.jboss.seam.jsf;
+import static javax.faces.event.PhaseId.APPLY_REQUEST_VALUES;
import static javax.faces.event.PhaseId.INVOKE_APPLICATION;
import static javax.faces.event.PhaseId.RENDER_RESPONSE;
import static javax.faces.event.PhaseId.RESTORE_VIEW;
-import static javax.faces.event.PhaseId.APPLY_REQUEST_VALUES;
import javax.faces.context.FacesContext;
import javax.faces.event.PhaseEvent;
+import javax.portlet.ActionResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -84,11 +85,13 @@
if ( event.getPhaseId() == RENDER_RESPONSE )
{
+ //writeConversationIdToResponse( facesContext.getExternalContext().getResponse() );
afterRender(facesContext);
}
else if ( event.getPhaseId() == INVOKE_APPLICATION || facesContext.getResponseComplete() )
{
Manager.instance().beforeRedirect();
+ writeConversationIdToResponse( facesContext.getExternalContext().getResponse() );
afterResponseComplete(facesContext);
}
@@ -96,6 +99,70 @@
}
+ /**
+ * Write out the conversation id as a servlet response header or portlet
+ * render parameter.
+ */
+ /*private static void writeConversationIdToResponse(Object response)
+ {
+ Manager manager = Manager.instance();
+ String conversationIdParameter = manager.getConversationIdParameter();
+ String conversationId;
+ if ( manager.isLongRunningConversation() )
+ {
+ conversationId = manager.getCurrentConversationId();
+ }
+ else if ( manager.isNestedConversation() )
+ {
+ conversationId = manager.getParentConversationId();
+ }
+ else
+ {
+ //nothing to set
+ return;
+ }
+ //setResponseHeader(response, conversationIdParameter, conversationId);
+ setPortletRenderParameter(response, conversationIdParameter, conversationId);
+ }*/
+
+ /**
+ * Write out the conversation id as a servlet response header or portlet
+ * render parameter.
+ */
+ private static void writeConversationIdToResponse(Object response)
+ {
+ Manager manager = Manager.instance();
+ if ( manager.isLongRunningConversation() )
+ {
+ setPortletRenderParameter(
+ response,
+ manager.getConversationIdParameter(),
+ manager.getCurrentConversationId()
+ );
+ setPortletRenderParameter(
+ response,
+ manager.getConversationIsLongRunningParameter(),
+ Boolean.toString(manager.isReallyLongRunningConversation())
+ );
+ }
+ }
+
+ private static void setPortletRenderParameter(Object response, String conversationIdParameter, String conversationId)
+ {
+ if (response instanceof ActionResponse)
+ {
+ ( (ActionResponse) response ).setRenderParameter(conversationIdParameter, conversationId);
+ }
+ }
+
+ /*private static void setResponseHeader(Object response, String conversationIdParameter, String conversationId)
+ {
+ if (response instanceof HttpServletResponse)
+ {
+ ( (HttpServletResponse) response ).setHeader(conversationIdParameter, conversationId);
+ }
+ }*/
+
protected void handleTransactionsAfterPhase(PhaseEvent event) {}
protected void handleTransactionsBeforePhase(PhaseEvent event) {}
More information about the jboss-cvs-commits
mailing list