[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