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

Gavin King gavin.king at jboss.com
Fri Jun 22 11:28:56 EDT 2007


  User: gavin   
  Date: 07/06/22 11:28:56

  Modified:    src/main/org/jboss/seam/jsf  SeamPhaseListener.java
  Log:
  a basic TransactionListener that works all the time
  javadoc
  
  Revision  Changes    Path
  1.109     +10 -0     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.108
  retrieving revision 1.109
  diff -u -b -r1.108 -r1.109
  --- SeamPhaseListener.java	21 Jun 2007 05:27:29 -0000	1.108
  +++ SeamPhaseListener.java	22 Jun 2007 15:28:56 -0000	1.109
  @@ -26,12 +26,14 @@
   import org.jboss.seam.contexts.Context;
   import org.jboss.seam.contexts.Contexts;
   import org.jboss.seam.contexts.FacesLifecycle;
  +import org.jboss.seam.core.BasicTransactionListener;
   import org.jboss.seam.core.ConversationList;
   import org.jboss.seam.core.ConversationPropagation;
   import org.jboss.seam.core.ConversationStack;
   import org.jboss.seam.core.Events;
   import org.jboss.seam.core.Init;
   import org.jboss.seam.core.Manager;
  +import org.jboss.seam.core.TransactionListener;
   import org.jboss.seam.exceptions.Exceptions;
   import org.jboss.seam.faces.FacesManager;
   import org.jboss.seam.faces.FacesMessages;
  @@ -572,12 +574,16 @@
      
      void commitOrRollback(PhaseId phaseId) 
      {
  +      boolean success=false;
  +      TransactionListener transactionListener = BasicTransactionListener.instance();
         try 
         {
            if ( Transaction.instance().isActive() )
            {
               log.debug("committing transaction after phase: " + phaseId);
  +            transactionListener.beforeSeamManagedTransactionCompletion();
               Transaction.instance().commit();
  +            success=true;
            }
            else if ( Transaction.instance().isRolledBackOrMarkedRollback() )
            {
  @@ -589,6 +595,10 @@
         {
            throw new IllegalStateException("Could not commit transaction", e);
         }
  +      finally
  +      {
  +         transactionListener.afterSeamManagedTransactionCompletion(success);
  +      }
      }
      
   }
  
  
  



More information about the jboss-cvs-commits mailing list