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

Gavin King gavin.king at jboss.com
Wed Nov 8 12:32:43 EST 2006


  User: gavin   
  Date: 06/11/08 12:32:43

  Modified:    src/main/org/jboss/seam/util   EJB.java Transactions.java
  Log:
  fix JBSEAM-456, don't hit UT from a container txn
  
  Revision  Changes    Path
  1.3       +2 -1      jboss-seam/src/main/org/jboss/seam/util/EJB.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: EJB.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/util/EJB.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- EJB.java	1 Nov 2006 02:54:02 -0000	1.2
  +++ EJB.java	8 Nov 2006 17:32:43 -0000	1.3
  @@ -39,7 +39,8 @@
         }
      }
      
  -   static {
  +   static 
  +   {
         STATELESS = classForName("javax.ejb.Stateless");
         STATEFUL = classForName("javax.ejb.Stateful");
         MESSAGE_DRIVEN = classForName("javax.ejb.MessageDriven");
  
  
  
  1.20      +60 -26    jboss-seam/src/main/org/jboss/seam/util/Transactions.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Transactions.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/util/Transactions.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -b -r1.19 -r1.20
  --- Transactions.java	8 Nov 2006 16:11:17 -0000	1.19
  +++ Transactions.java	8 Nov 2006 17:32:43 -0000	1.20
  @@ -1,9 +1,8 @@
  -//$Id: Transactions.java,v 1.19 2006/11/08 16:11:17 gavin Exp $
  +//$Id: Transactions.java,v 1.20 2006/11/08 17:32:43 gavin Exp $
   package org.jboss.seam.util;
   
   import static javax.transaction.Status.STATUS_ACTIVE;
   import static javax.transaction.Status.STATUS_MARKED_ROLLBACK;
  -import static javax.transaction.Status.STATUS_NO_TRANSACTION;
   
   import javax.naming.NameNotFoundException;
   import javax.naming.NamingException;
  @@ -15,21 +14,76 @@
      private static String userTransactionName = "UserTransaction";
      private static final String STANDARD_USER_TRANSACTION_NAME = "java:comp/UserTransaction";
      
  +   public static void setTransactionRollbackOnly() throws SystemException, NamingException 
  +   {
  +      try
  +      {
  +         getUserTransaction().setRollbackOnly();
  +      }
  +      catch (NamingException ne)
  +      {
  +         EJB.getEJBContext().setRollbackOnly();
  +      }
  +   }
  +   
      public static boolean isTransactionActive() throws SystemException, NamingException
      {
  +      try
  +      {
         return getUserTransaction().getStatus()==STATUS_ACTIVE;
      }
  +      catch (NamingException ne)
  +      {
  +         try
  +         {
  +            return !EJB.getEJBContext().getRollbackOnly();
  +         }
  +         catch (IllegalStateException ise)
  +         {
  +            return false;
  +         }
  +      }
  +   }
   
      public static boolean isTransactionActiveOrMarkedRollback() throws SystemException, NamingException
      {
  +      try
  +      {
         int status = getUserTransaction().getStatus();
         return status==STATUS_ACTIVE || status == STATUS_MARKED_ROLLBACK;
      }
  +      catch (NamingException ne)
  +      {
  +         try
  +         {
  +            EJB.getEJBContext().getRollbackOnly();
  +            return true;
  +         }
  +         catch (IllegalStateException ise)
  +         {
  +            return false;
  +         }
  +      }
  +   }
      
      public static boolean isTransactionMarkedRollback() throws SystemException, NamingException
      {
  +      try
  +      {
         return getUserTransaction().getStatus() == STATUS_MARKED_ROLLBACK;
      }
  +      catch (NamingException ne)
  +      {
  +         try
  +         {
  +            return EJB.getEJBContext().getRollbackOnly();
  +         }
  +         catch (IllegalStateException ise)
  +         {
  +            return false;
  +         }
  +      }
  +   }
      
      public static UserTransaction getUserTransaction() throws NamingException
      {
  @@ -43,14 +97,6 @@
         }
      }
   
  -   public static void setUserTransactionRollbackOnly() throws SystemException, NamingException {
  -      UserTransaction userTransaction = getUserTransaction();
  -      if ( userTransaction.getStatus()!=STATUS_NO_TRANSACTION )
  -      {
  -         userTransaction.setRollbackOnly();         
  -      }
  -   }
  -   
      private Transactions() {}
   
      public static void setUserTransactionName(String userTransactionName)
  @@ -63,18 +109,6 @@
         return userTransactionName;
      }
      
  -   public static boolean isTransactionAvailableAndMarkedRollback() throws SystemException
  -   {
  -      try
  -      {
  -         return getUserTransaction().getStatus() == STATUS_MARKED_ROLLBACK;
  -      }
  -      catch (NamingException ne)
  -      {
  -         return false;
  -      }
  -   }
  -
      /*private static String transactionManagerName = "java:/TransactionManager";
      
      public static TransactionManager getTransactionManager() throws NamingException
  
  
  



More information about the jboss-cvs-commits mailing list