[jboss-cvs] jboss-seam/src/main/org/jboss/seam/jsf ...

Gavin King gavin.king at jboss.com
Wed May 30 14:53:47 EDT 2007


  User: gavin   
  Date: 07/05/30 14:53:47

  Modified:    src/main/org/jboss/seam/jsf   
                        AbstractSeamPhaseListener.java
                        SeamPhaseListener.java
                        SeamPortletPhaseListener.java
  Log:
  apply JBSEAM-1144
  make Transaction management be a component that implements UserTransaction
  no longer need to roll back txns at end of request, due to JBAS-3242 being fixed
  
  Revision  Changes    Path
  1.47      +28 -25    jboss-seam/src/main/org/jboss/seam/jsf/AbstractSeamPhaseListener.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: AbstractSeamPhaseListener.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/jsf/AbstractSeamPhaseListener.java,v
  retrieving revision 1.46
  retrieving revision 1.47
  diff -u -b -r1.46 -r1.47
  --- AbstractSeamPhaseListener.java	19 May 2007 16:44:53 -0000	1.46
  +++ AbstractSeamPhaseListener.java	30 May 2007 18:53:46 -0000	1.47
  @@ -29,10 +29,10 @@
   import org.jboss.seam.core.Pages;
   import org.jboss.seam.core.PersistenceContexts;
   import org.jboss.seam.core.Switcher;
  +import org.jboss.seam.core.Transaction;
   import org.jboss.seam.core.Validation;
   import org.jboss.seam.log.LogProvider;
   import org.jboss.seam.log.Logging;
  -import org.jboss.seam.util.Transactions;
   
   public abstract class AbstractSeamPhaseListener implements PhaseListener
   {
  @@ -43,10 +43,25 @@
      {
         return ANY_PHASE;
      }
  +   
  +   protected void afterProcessValidations(FacesContext facesContext)
  +   {
  +      Validation.instance().afterProcessValidations(facesContext);
  +   }
  +   
  +   /**
  +    * Set up the Seam contexts, except for the conversation
  +    * context
  +    */
  +   protected void beforeRestoreView(FacesContext facesContext)
  +   {
  +      Lifecycle.beginRequest( facesContext.getExternalContext() );
  +   }
  +   
      /**
       * Restore the page and conversation contexts during a JSF request
       */
  -   public void afterRestoreView(FacesContext facesContext)
  +   protected void afterRestoreView(FacesContext facesContext)
      {
         Lifecycle.resumePage();
         Map parameters = facesContext.getExternalContext().getRequestParameterMap();
  @@ -108,7 +123,7 @@
         }
      }
      
  -   public void beforePhase(PhaseEvent event)
  +   public void raiseEventsBeforePhase(PhaseEvent event)
      {
         if ( Contexts.isApplicationContextActive() )
         {
  @@ -143,7 +158,7 @@
         }
      }
      
  -   public void afterPhase(PhaseEvent event)
  +   public void raiseEventsAfterPhase(PhaseEvent event)
      {
         if ( Contexts.isApplicationContextActive() )
         {
  @@ -151,12 +166,6 @@
         }
      }
      
  -   /*protected void beforeUpdateModelValues(PhaseEvent event)
  -   {
  -      Pages.instance().applyViewRootValues( event.getFacesContext() );
  -      Manager.instance().setUpdateModelValuesCalled(true);
  -   }*/
  -   
      /**
       * Give the subclasses an opportunity to do stuff
       */
  @@ -169,7 +178,7 @@
      {
         try
         {
  -         if ( Transactions.isTransactionMarkedRollback() )
  +         if ( Transaction.instance().isMarkedRollback() )
            {
               FacesMessages.instance().addFromResourceBundleOrDefault(
                        FacesMessage.SEVERITY_WARN, 
  @@ -185,10 +194,6 @@
      {  
         
         FacesContext facesContext = event.getFacesContext();
  -      /*if ( !Manager.instance().isUpdateModelValuesCalled() )
  -      {
  -         Pages.instance().applyRequestParameterValues(facesContext);
  -      }*/
         
         if ( Contexts.isPageContextActive() )
         {
  @@ -289,16 +294,18 @@
         if (exists) log.warn("There should only be one Seam phase listener per application");
         exists=true;
      }
  +   
  +   
      /////////Do not really belong here:
      
      void begin(PhaseId phaseId) 
      {
         try 
         {
  -         if ( !Transactions.isTransactionActiveOrMarkedRollback() )
  +         if ( !Transaction.instance().isActiveOrMarkedRollback() )
            {
               log.debug("beginning transaction prior to phase: " + phaseId);
  -            Transactions.getUserTransaction().begin();
  +            Transaction.instance().begin();
            }
         }
         catch (Exception e)
  @@ -311,15 +318,15 @@
      {
         try 
         {
  -         if ( Transactions.isTransactionActive() )
  +         if ( Transaction.instance().isActive() )
            {
               log.debug("committing transaction after phase: " + phaseId);
  -            Transactions.getUserTransaction().commit();
  +            Transaction.instance().commit();
            }
  -         else if ( Transactions.isTransactionMarkedRollback() )
  +         else if ( Transaction.instance().isMarkedRollback() )
            {
               log.debug("rolling back transaction after phase: " + phaseId);
  -            Transactions.getUserTransaction().rollback();
  +            Transaction.instance().rollback();
            }
         }
         catch (Exception e)
  @@ -328,8 +335,4 @@
         }
      }
      
  -   protected void afterProcessValidations(FacesContext facesContext)
  -   {
  -      Validation.instance().afterProcessValidations(facesContext);
  -   }
   }
  
  
  
  1.100     +11 -16    jboss-seam/src/main/org/jboss/seam/jsf/SeamPhaseListener.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: SeamPhaseListener.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/jsf/SeamPhaseListener.java,v
  retrieving revision 1.99
  retrieving revision 1.100
  diff -u -b -r1.99 -r1.100
  --- SeamPhaseListener.java	27 Mar 2007 02:24:20 -0000	1.99
  +++ SeamPhaseListener.java	30 May 2007 18:53:46 -0000	1.100
  @@ -23,7 +23,7 @@
   /**
    * Manages the Seam contexts associated with a JSF request.
    * 
  - * Manages the thread/context associations throughoutt the
  + * Manages the thread/context associations throughout the
    * lifecycle of the JSF request.
    *
    * @author Gavin King
  @@ -34,7 +34,6 @@
      
      private static final LogProvider log = Logging.getLogProvider(SeamPhaseListener.class);
      
  -   @Override
      public void beforePhase(PhaseEvent event)
      {
         log.trace( "before phase: " + event.getPhaseId() );
  @@ -44,23 +43,20 @@
         try
         {
            
  -         //delegate to subclass:
  -         handleTransactionsBeforePhase(event);
  -         
            if ( event.getPhaseId() == RESTORE_VIEW )
            {
  -            Lifecycle.beginRequest( event.getFacesContext().getExternalContext() );
  +            beforeRestoreView( event.getFacesContext() );
            }
  -         else if ( event.getPhaseId() == RENDER_RESPONSE )
  +         
  +         //delegate tx management to subclass:
  +         handleTransactionsBeforePhase(event);         
  +         
  +         if ( event.getPhaseId() == RENDER_RESPONSE )
            {
               beforeRender(event);
            }
  -         /*else if ( event.getPhaseId() == UPDATE_MODEL_VALUE )
  -         {
  -            beforeUpdateModelValues(event);
  -         }*/
            
  -         super.beforePhase(event);
  +         raiseEventsBeforePhase(event);
            
         }
         catch (Exception e)
  @@ -78,7 +74,6 @@
   
      }
      
  -   @Override
      public void afterPhase(PhaseEvent event)
      {
         log.trace( "after phase: " + event.getPhaseId() );
  @@ -86,7 +81,7 @@
         try
         {
            
  -         super.afterPhase(event);
  +         raiseEventsAfterPhase(event);
      
            FacesContext facesContext = event.getFacesContext();
            
  @@ -107,7 +102,7 @@
            //can add messages
            FacesMessages.afterPhase();
            
  -         //delegate to subclass:
  +         //delegate tx management to subclass:
            handleTransactionsAfterPhase(event);
                  
            if ( event.getPhaseId() == RENDER_RESPONSE )
  
  
  
  1.22      +6 -20     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.21
  retrieving revision 1.22
  diff -u -b -r1.21 -r1.22
  --- SeamPortletPhaseListener.java	27 Mar 2007 02:24:20 -0000	1.21
  +++ SeamPortletPhaseListener.java	30 May 2007 18:53:46 -0000	1.22
  @@ -36,43 +36,37 @@
      
      private static final LogProvider log = Logging.getLogProvider( SeamPortletPhaseListener.class );
   
  -   @Override
      public void beforePhase(PhaseEvent event)
      {
         log.trace( "before phase: " + event.getPhaseId() );
         
         Lifecycle.setPhaseId( event.getPhaseId() );
   
  -      //delegate to subclass:
  -      handleTransactionsBeforePhase(event);
  -      
         FacesContext facesContext = event.getFacesContext();
         
         if ( event.getPhaseId() == RESTORE_VIEW || event.getPhaseId() == RENDER_RESPONSE )
         {
  -         Lifecycle.beginRequest( facesContext.getExternalContext() );
  +         beforeRestoreView(facesContext);
         }
         
  +      //delegate to subclass:
  +      handleTransactionsBeforePhase(event);
  +      
         if ( event.getPhaseId() == RENDER_RESPONSE )
         {
            afterRestoreView( facesContext );         
            beforeRender(event);
         }
  -      /*else if ( event.getPhaseId()== UPDATE_MODEL_VALUE )
  -      {
  -         beforeUpdateModelValues(event);
  -      }*/
         
  -      super.beforePhase(event);
  +      raiseEventsBeforePhase(event);
   
      }
   
  -   @Override
      public void afterPhase(PhaseEvent event)
      {
         log.trace( "after phase: " + event.getPhaseId() );
         
  -      super.afterPhase(event);
  +      raiseEventsAfterPhase(event);
         
         FacesContext facesContext = event.getFacesContext();
         
  @@ -140,14 +134,6 @@
         }
      }
   
  -   /*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