[jboss-cvs] JBossCache/src/org/jboss/cache/pojo/interceptors ...

Jason Thomas Greene jgreene at jboss.com
Wed May 30 02:08:02 EDT 2007


  User: jgreene 
  Date: 07/05/30 02:08:02

  Modified:    src/org/jboss/cache/pojo/interceptors      
                        PojoFailedTxMockupInterceptor.java
                        PojoTxLockInterceptor.java
                        PojoTxUndoInterceptor.java
                        PojoTxUndoSynchronizationInterceptor.java
                        StaticFieldInterceptor.java
  Added:       src/org/jboss/cache/pojo/interceptors      
                        PojoTxSynchronizationHandler.java
  Log:
  Switch to new notification system
  Resolve jmx test failure
  ensure that the pojo package is api only
  
  Revision  Changes    Path
  1.2       +2 -2      JBossCache/src/org/jboss/cache/pojo/interceptors/PojoFailedTxMockupInterceptor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PojoFailedTxMockupInterceptor.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/pojo/interceptors/PojoFailedTxMockupInterceptor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- PojoFailedTxMockupInterceptor.java	13 Jan 2007 15:55:06 -0000	1.1
  +++ PojoFailedTxMockupInterceptor.java	30 May 2007 06:08:02 -0000	1.2
  @@ -10,7 +10,7 @@
   import org.jboss.aop.joinpoint.Invocation;
   import org.jboss.aop.joinpoint.MethodInvocation;
   import org.jboss.cache.Fqn;
  -import org.jboss.cache.pojo.InternalConstant;
  +import org.jboss.cache.pojo.impl.InternalConstant;
   
   import javax.transaction.Transaction;
   
  @@ -21,7 +21,7 @@
    * has been performed.
    *
    * @author Ben Wang
  - * @version $Id: PojoFailedTxMockupInterceptor.java,v 1.1 2007/01/13 15:55:06 bwang Exp $
  + * @version $Id: PojoFailedTxMockupInterceptor.java,v 1.2 2007/05/30 06:08:02 jgreene Exp $
    */
   public class PojoFailedTxMockupInterceptor extends AbstractInterceptor
   {
  
  
  
  1.3       +4 -4      JBossCache/src/org/jboss/cache/pojo/interceptors/PojoTxLockInterceptor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PojoTxLockInterceptor.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/pojo/interceptors/PojoTxLockInterceptor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- PojoTxLockInterceptor.java	23 May 2007 10:28:56 -0000	1.2
  +++ PojoTxLockInterceptor.java	30 May 2007 06:08:02 -0000	1.3
  @@ -13,18 +13,18 @@
   import org.jboss.cache.CacheSPI;
   import org.jboss.cache.Fqn;
   import org.jboss.cache.lock.UpgradeException;
  -import org.jboss.cache.pojo.InternalConstant;
   import org.jboss.cache.pojo.PojoCacheException;
  +import org.jboss.cache.pojo.impl.InternalConstant;
   
   /**
    * Interceptor that handles the parent node lock associated with transaction.
    *
    * @author Ben Wang
  - * @version $Id: PojoTxLockInterceptor.java,v 1.2 2007/05/23 10:28:56 msurtani Exp $
  + * @version $Id: PojoTxLockInterceptor.java,v 1.3 2007/05/30 06:08:02 jgreene Exp $
    */
   public class PojoTxLockInterceptor extends AbstractInterceptor
   {
  -   private final String LOCK = "_lock_";
  +   public static final String LOCK_KEY = InternalConstant.POJOCACHE_KEY_PREFIX + "LOCK";
      // retry times for lockPojo just in case there is upgrade exception during concurrent access.
      private final int RETRY = 5;
   
  @@ -80,7 +80,7 @@
         {
            try
            {
  -            cache.put(realId, LOCK, "LOCK");
  +            cache.put(realId, LOCK_KEY, "LOCK");
               isNeeded = false;
            }
            catch (UpgradeException upe)
  
  
  
  1.3       +2 -3      JBossCache/src/org/jboss/cache/pojo/interceptors/PojoTxUndoInterceptor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PojoTxUndoInterceptor.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/pojo/interceptors/PojoTxUndoInterceptor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- PojoTxUndoInterceptor.java	23 May 2007 10:28:56 -0000	1.2
  +++ PojoTxUndoInterceptor.java	30 May 2007 06:08:02 -0000	1.3
  @@ -10,9 +10,8 @@
   import org.jboss.aop.joinpoint.Invocation;
   import org.jboss.aop.joinpoint.MethodInvocation;
   import org.jboss.cache.Fqn;
  -import org.jboss.cache.pojo.MethodDeclarations;
   import org.jboss.cache.pojo.PojoCacheException;
  -import org.jboss.cache.pojo.PojoTxSynchronizationHandler;
  +import org.jboss.cache.pojo.impl.MethodDeclarations;
   import org.jboss.cache.pojo.util.MethodCall;
   
   import java.lang.reflect.Field;
  @@ -24,7 +23,7 @@
    * operation that needs a corresponding rollback, e.g., attachInterceptor.
    *
    * @author Ben Wang
  - * @version $Id: PojoTxUndoInterceptor.java,v 1.2 2007/05/23 10:28:56 msurtani Exp $
  + * @version $Id: PojoTxUndoInterceptor.java,v 1.3 2007/05/30 06:08:02 jgreene Exp $
    */
   public class PojoTxUndoInterceptor extends AbstractInterceptor
   {
  
  
  
  1.3       +1 -2      JBossCache/src/org/jboss/cache/pojo/interceptors/PojoTxUndoSynchronizationInterceptor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PojoTxUndoSynchronizationInterceptor.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/pojo/interceptors/PojoTxUndoSynchronizationInterceptor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- PojoTxUndoSynchronizationInterceptor.java	23 May 2007 10:28:56 -0000	1.2
  +++ PojoTxUndoSynchronizationInterceptor.java	30 May 2007 06:08:02 -0000	1.3
  @@ -10,7 +10,6 @@
   import org.jboss.aop.joinpoint.Invocation;
   import org.jboss.aop.joinpoint.MethodInvocation;
   import org.jboss.cache.pojo.PojoCacheException;
  -import org.jboss.cache.pojo.PojoTxSynchronizationHandler;
   
   import javax.transaction.RollbackException;
   import javax.transaction.SystemException;
  @@ -21,7 +20,7 @@
    * operations.
    *
    * @author Ben Wang
  - * @version $Id: PojoTxUndoSynchronizationInterceptor.java,v 1.2 2007/05/23 10:28:56 msurtani Exp $
  + * @version $Id: PojoTxUndoSynchronizationInterceptor.java,v 1.3 2007/05/30 06:08:02 jgreene Exp $
    */
   public class PojoTxUndoSynchronizationInterceptor extends AbstractInterceptor
   {
  
  
  
  1.3       +1 -1      JBossCache/src/org/jboss/cache/pojo/interceptors/StaticFieldInterceptor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: StaticFieldInterceptor.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/pojo/interceptors/StaticFieldInterceptor.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- StaticFieldInterceptor.java	23 May 2007 10:28:56 -0000	1.2
  +++ StaticFieldInterceptor.java	30 May 2007 06:08:02 -0000	1.3
  @@ -12,7 +12,7 @@
   import org.jboss.aop.joinpoint.Invocation;
   import org.jboss.cache.CacheSPI;
   import org.jboss.cache.Fqn;
  -import org.jboss.cache.pojo.InternalConstant;
  +import org.jboss.cache.pojo.impl.InternalConstant;
   import org.jboss.cache.pojo.impl.PojoCacheImpl;
   
   import java.lang.reflect.Field;
  
  
  
  1.1      date: 2007/05/30 06:08:02;  author: jgreene;  state: Exp;JBossCache/src/org/jboss/cache/pojo/interceptors/PojoTxSynchronizationHandler.java
  
  Index: PojoTxSynchronizationHandler.java
  ===================================================================
  /*
   * JBoss, Home of Professional Open Source
   *
   * Distributable under LGPL license.
   * See terms of license at gnu.org.
   */
  
  package org.jboss.cache.pojo.interceptors;
  
  import org.apache.commons.logging.Log;
  import org.apache.commons.logging.LogFactory;
  import org.jboss.cache.pojo.PojoCacheException;
  import org.jboss.cache.pojo.util.MethodCall;
  
  import javax.transaction.Status;
  import javax.transaction.Synchronization;
  import java.util.ArrayList;
  import java.util.List;
  
  /**
   * Handling the rollback operation for PojoCache level, specifically interceptor add/remove, etc.
   *
   * @author Ben Wang
   * @version $Id: PojoTxSynchronizationHandler.java,v 1.1 2007/05/30 06:08:02 jgreene Exp $
   */
  
  class PojoTxSynchronizationHandler implements Synchronization
  {
     private static Log log = LogFactory.getLog(PojoTxSynchronizationHandler.class.getName());
     private List undoList_ = new ArrayList();
  
     PojoTxSynchronizationHandler()
     {
     }
  
     public void beforeCompletion()
     {
        // Not interested
     }
  
     public void afterCompletion(int status)
     {
        try
        {
           switch (status)
           {
              case Status.STATUS_COMMITTED:
                 break;
              case Status.STATUS_MARKED_ROLLBACK:
              case Status.STATUS_ROLLEDBACK:
                 log.debug("Running Pojo rollback phase");
                 runRollbackPhase();
                 log.debug("Finished rollback phase");
                 break;
  
              default:
                 throw new IllegalStateException("illegal status: " + status);
           }
        }
        finally
        {
           resetUndoOp();
        }
     }
  
     private void runRollbackPhase()
     {
        // Rollback the pojo interceptor add/remove
        for (int i = (undoList_.size() - 1); i >= 0; i--)
        {
           MethodCall mc = (MethodCall) undoList_.get(i);
           try
           {
              mc.invoke();
           }
           catch (Throwable t)
           {
              throw new PojoCacheException(
                    "PojoTxSynchronizationHandler.runRollbackPhase(): error: " + t, t);
           }
        }
     }
  
     public void addToList(MethodCall mc)
     {
        undoList_.add(mc);
     }
  
     public void resetUndoOp()
     {
        undoList_.clear();
        PojoTxUndoSynchronizationInterceptor.reset();
     }
  }
  
  
  
  



More information about the jboss-cvs-commits mailing list