[jbosscache-commits] JBoss Cache SVN: r5563 - in core/trunk/src/main/java/org/jboss/cache: commands/tx and 2 other directories.

jbosscache-commits at lists.jboss.org jbosscache-commits at lists.jboss.org
Mon Apr 14 17:07:26 EDT 2008


Author: manik.surtani at jboss.com
Date: 2008-04-14 17:07:25 -0400 (Mon, 14 Apr 2008)
New Revision: 5563

Added:
   core/trunk/src/main/java/org/jboss/cache/commands/tx/BaseGlobalTransactionCommand.java
Removed:
   core/trunk/src/main/java/org/jboss/cache/commands/cachedata/UpdateDataCommand.java
   core/trunk/src/main/java/org/jboss/cache/interceptors/UnlockInterceptor.java
Modified:
   core/trunk/src/main/java/org/jboss/cache/commands/cachedata/MoveCommand.java
   core/trunk/src/main/java/org/jboss/cache/commands/cachedata/PutDataMapCommand.java
   core/trunk/src/main/java/org/jboss/cache/commands/cachedata/PutKeyValueCommand.java
   core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveDataCommand.java
   core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveKeyCommand.java
   core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveNodeCommand.java
   core/trunk/src/main/java/org/jboss/cache/commands/tx/CommitCommand.java
   core/trunk/src/main/java/org/jboss/cache/commands/tx/OptimisticPrepareCommand.java
   core/trunk/src/main/java/org/jboss/cache/commands/tx/PrepareCommand.java
   core/trunk/src/main/java/org/jboss/cache/commands/tx/RollbackCommand.java
   core/trunk/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java
Log:
Removed unused interface
Added abstract class for tx commands

Modified: core/trunk/src/main/java/org/jboss/cache/commands/cachedata/MoveCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/cachedata/MoveCommand.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/commands/cachedata/MoveCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -16,7 +16,7 @@
  * @author Mircea.Markus at jboss.com
  * @since 2.2
  */
-public class MoveCommand extends BaseCacheDataCommand implements TxCacheCommand, UpdateDataCommand
+public class MoveCommand extends BaseCacheDataCommand implements TxCacheCommand
 {
    public static final int METHOD_ID = 36;
 

Modified: core/trunk/src/main/java/org/jboss/cache/commands/cachedata/PutDataMapCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/cachedata/PutDataMapCommand.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/commands/cachedata/PutDataMapCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -21,7 +21,7 @@
  * @author Mircea.Markus at jboss.com
  * @since 2.2
  */
-public class PutDataMapCommand extends BaseDataVersionCommand implements TxCacheCommand, GlobalTransactionCommand, UpdateDataCommand
+public class PutDataMapCommand extends BaseDataVersionCommand implements TxCacheCommand, GlobalTransactionCommand
 {
    public static final int METHOD_ID = 1;
    public static final int ERASE_METHOD_ID = 2;

Modified: core/trunk/src/main/java/org/jboss/cache/commands/cachedata/PutKeyValueCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/cachedata/PutKeyValueCommand.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/commands/cachedata/PutKeyValueCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -22,7 +22,7 @@
  * @author Mircea.Markus at jboss.com
  * @since 2.2
  */
-public class PutKeyValueCommand extends BaseDataVersionCommand implements TxCacheCommand, GlobalTransactionCommand, UpdateDataCommand
+public class PutKeyValueCommand extends BaseDataVersionCommand implements TxCacheCommand, GlobalTransactionCommand
 {
    public static final int METHOD_ID = 3;
    public static final int VERSIONED_METHOD_ID = 39;

Modified: core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveDataCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveDataCommand.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveDataCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -22,7 +22,7 @@
  * @author Mircea.Markus at jboss.com
  * @since 2.2
  */
-public class RemoveDataCommand extends BaseDataVersionCommand implements TxCacheCommand, GlobalTransactionCommand, UpdateDataCommand
+public class RemoveDataCommand extends BaseDataVersionCommand implements TxCacheCommand, GlobalTransactionCommand
 {
    public static final int METHOD_ID = 7;
    public static final int VERSIONED_METHOD_ID = 42;

Modified: core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveKeyCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveKeyCommand.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveKeyCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -22,7 +22,7 @@
  * @author Mircea.Markus at jboss.com
  * @since 2.2
  */
-public class RemoveKeyCommand extends BaseDataVersionCommand implements TxCacheCommand, GlobalTransactionCommand, UpdateDataCommand
+public class RemoveKeyCommand extends BaseDataVersionCommand implements TxCacheCommand, GlobalTransactionCommand
 {
    public static final int METHOD_ID = 6;
    public static final int VERSIONED_METHOD_ID = 41;

Modified: core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveNodeCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveNodeCommand.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/commands/cachedata/RemoveNodeCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -19,7 +19,7 @@
  * @author Mircea.Markus at jboss.com
  * @since 2.2
  */
-public class RemoveNodeCommand extends BaseDataVersionCommand implements TxCacheCommand, GlobalTransactionCommand, UpdateDataCommand
+public class RemoveNodeCommand extends BaseDataVersionCommand implements TxCacheCommand, GlobalTransactionCommand
 {
    public static final int METHOD_ID = 5;
    public static final int VERSIONED_METHOD_ID = 40;

Deleted: core/trunk/src/main/java/org/jboss/cache/commands/cachedata/UpdateDataCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/cachedata/UpdateDataCommand.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/commands/cachedata/UpdateDataCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -1,17 +0,0 @@
-package org.jboss.cache.commands.cachedata;
-
-import org.jboss.cache.Fqn;
-
-/**
- * Interface that depicts that this command somehow updates data
- *
- * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
- * @since 2.2.0
- */
-public interface UpdateDataCommand
-{
-   /**
-    * @return Fqn of the node being updated
-    */
-   Fqn getFqn();
-}

Added: core/trunk/src/main/java/org/jboss/cache/commands/tx/BaseGlobalTransactionCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/tx/BaseGlobalTransactionCommand.java	                        (rev 0)
+++ core/trunk/src/main/java/org/jboss/cache/commands/tx/BaseGlobalTransactionCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -0,0 +1,67 @@
+package org.jboss.cache.commands.tx;
+
+import org.jboss.cache.InvocationContext;
+import org.jboss.cache.commands.BaseCommand;
+import org.jboss.cache.commands.state.GlobalTransactionCommand;
+import org.jboss.cache.transaction.GlobalTransaction;
+
+/**
+ * Base class for transaction boundary commands that deal with global transactions
+ *
+ * @author Manik Surtani (<a href="mailto:manik at jboss.org">manik at jboss.org</a>)
+ * @since 2.2.0
+ */
+public abstract class BaseGlobalTransactionCommand extends BaseCommand implements GlobalTransactionCommand
+{
+   protected GlobalTransaction globalTransaction;
+
+   /**
+    * Default implementation which is a no-op.
+    *
+    * @return null
+    */
+   public Object perform(InvocationContext ctx)
+   {
+      return null;
+   }
+
+   public GlobalTransaction getGlobalTransaction()
+   {
+      return globalTransaction;
+   }
+
+   public void setGlobalTransaction(GlobalTransaction gtx)
+   {
+      this.globalTransaction = gtx;
+   }
+
+   public Object[] getParameters()
+   {
+      return new Object[]{globalTransaction};
+   }
+
+   public void setState(int commandId, Object[] args)
+   {
+      globalTransaction = (GlobalTransaction) args[0];
+   }
+
+   @Override
+   public boolean equals(Object o)
+   {
+      if (this == o) return true;
+      if (o == null || getClass() != o.getClass()) return false;
+
+      BaseGlobalTransactionCommand that = (BaseGlobalTransactionCommand) o;
+
+      if (globalTransaction != null ? !globalTransaction.equals(that.globalTransaction) : that.globalTransaction != null)
+         return false;
+
+      return true;
+   }
+
+   @Override
+   public int hashCode()
+   {
+      return (globalTransaction != null ? globalTransaction.hashCode() : 0);
+   }
+}

Modified: core/trunk/src/main/java/org/jboss/cache/commands/tx/CommitCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/tx/CommitCommand.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/commands/tx/CommitCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -1,21 +1,17 @@
 package org.jboss.cache.commands.tx;
 
 import org.jboss.cache.InvocationContext;
-import org.jboss.cache.commands.BaseCommand;
 import org.jboss.cache.commands.CommandsVisitor;
-import org.jboss.cache.commands.state.GlobalTransactionCommand;
 import org.jboss.cache.transaction.GlobalTransaction;
 
 /**
  * @author Mircea.Markus at jboss.com
  * @since 2.2
  */
-public class CommitCommand extends BaseCommand implements GlobalTransactionCommand
+public class CommitCommand extends BaseGlobalTransactionCommand
 {
    public static final int METHOD_ID = 11;
 
-   private GlobalTransaction globalTransaction;
-
    public CommitCommand()
    {
    }
@@ -25,39 +21,13 @@
       this.globalTransaction = globalTransaction;
    }
 
-   public Object perform(InvocationContext ctx)
-   {
-      //no op
-      return null;
-   }
-
    public Object accept(InvocationContext ctx, CommandsVisitor handler) throws Throwable
    {
       return handler.handleCommitCommand(ctx, this);
    }
 
-   public GlobalTransaction getGlobalTransaction()
-   {
-      return globalTransaction;
-   }
-
-   public void setGlobalTransaction(GlobalTransaction gtx)
-   {
-      this.globalTransaction = gtx;
-   }
-
    public int getCommandId()
    {
       return METHOD_ID;
    }
-
-   public Object[] getParameters()
-   {
-      return new Object[]{globalTransaction};
-   }
-
-   public void setState(int commandId, Object[] args)
-   {
-      globalTransaction = (GlobalTransaction) args[0];
-   }
 }

Modified: core/trunk/src/main/java/org/jboss/cache/commands/tx/OptimisticPrepareCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/tx/OptimisticPrepareCommand.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/commands/tx/OptimisticPrepareCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -28,11 +28,6 @@
       this.data = data;
    }
 
-   public Object perform(InvocationContext ctx)
-   {
-      return null;
-   }
-
    public Object accept(InvocationContext ctx, CommandsVisitor handler) throws Throwable
    {
       return handler.handleOptimisticPrepareCommand(ctx, this);
@@ -56,6 +51,7 @@
    }
 
    @Override
+   @SuppressWarnings("unchecked")
    public void setState(int commandId, Object[] args)
    {
       globalTransaction = (GlobalTransaction) args[0];
@@ -65,4 +61,25 @@
       onePhaseCommit = (Boolean) args[4];
    }
 
+   @Override
+   public boolean equals(Object o)
+   {
+      if (this == o) return true;
+      if (o == null || getClass() != o.getClass()) return false;
+      if (!super.equals(o)) return false;
+
+      OptimisticPrepareCommand that = (OptimisticPrepareCommand) o;
+
+      if (data != null ? !data.equals(that.data) : that.data != null) return false;
+
+      return true;
+   }
+
+   @Override
+   public int hashCode()
+   {
+      int result = super.hashCode();
+      result = 31 * result + (data != null ? data.hashCode() : 0);
+      return result;
+   }
 }

Modified: core/trunk/src/main/java/org/jboss/cache/commands/tx/PrepareCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/tx/PrepareCommand.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/commands/tx/PrepareCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -1,10 +1,8 @@
 package org.jboss.cache.commands.tx;
 
 import org.jboss.cache.InvocationContext;
-import org.jboss.cache.commands.BaseCommand;
 import org.jboss.cache.commands.CacheCommand;
 import org.jboss.cache.commands.CommandsVisitor;
-import org.jboss.cache.commands.state.GlobalTransactionCommand;
 import org.jboss.cache.transaction.GlobalTransaction;
 import org.jgroups.Address;
 
@@ -16,11 +14,10 @@
  * @author Mircea.Markus at jboss.com
  * @since 2.2
  */
-public class PrepareCommand extends BaseCommand implements CacheCommand, GlobalTransactionCommand
+public class PrepareCommand extends BaseGlobalTransactionCommand
 {
    public static final int METHOD_ID = 10;
 
-   protected GlobalTransaction globalTransaction;
    protected List<? extends CacheCommand> modifications;
    protected Address localAddress;
    protected boolean onePhaseCommit;
@@ -42,21 +39,6 @@
       return handler.handlePrepareCommand(ctx, this);
    }
 
-   public Object perform(InvocationContext ctx)
-   {
-      return null;
-   }
-
-   public GlobalTransaction getGlobalTransaction()
-   {
-      return globalTransaction;
-   }
-
-   public void setGlobalTransaction(GlobalTransaction gtx)
-   {
-      this.globalTransaction = gtx;
-   }
-
    public List<? extends CacheCommand> getModifications()
    {
       return modifications;
@@ -87,11 +69,14 @@
       return METHOD_ID;
    }
 
+   @Override
    public Object[] getParameters()
    {
       return new Object[]{globalTransaction, modifications, localAddress, onePhaseCommit};
    }
 
+   @Override
+   @SuppressWarnings("unchecked")
    public void setState(int commandId, Object[] args)
    {
       globalTransaction = (GlobalTransaction) args[0];
@@ -99,4 +84,30 @@
       localAddress = (Address) args[2];
       onePhaseCommit = (Boolean) args[3];
    }
+
+   @Override
+   public boolean equals(Object o)
+   {
+      if (this == o) return true;
+      if (o == null || getClass() != o.getClass()) return false;
+      if (!super.equals(o)) return false;
+
+      PrepareCommand that = (PrepareCommand) o;
+
+      if (onePhaseCommit != that.onePhaseCommit) return false;
+      if (localAddress != null ? !localAddress.equals(that.localAddress) : that.localAddress != null) return false;
+      if (modifications != null ? !modifications.equals(that.modifications) : that.modifications != null) return false;
+
+      return true;
+   }
+
+   @Override
+   public int hashCode()
+   {
+      int result = super.hashCode();
+      result = 31 * result + (modifications != null ? modifications.hashCode() : 0);
+      result = 31 * result + (localAddress != null ? localAddress.hashCode() : 0);
+      result = 31 * result + (onePhaseCommit ? 1 : 0);
+      return result;
+   }
 }

Modified: core/trunk/src/main/java/org/jboss/cache/commands/tx/RollbackCommand.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/commands/tx/RollbackCommand.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/commands/tx/RollbackCommand.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -1,22 +1,17 @@
 package org.jboss.cache.commands.tx;
 
 import org.jboss.cache.InvocationContext;
-import org.jboss.cache.commands.BaseCommand;
-import org.jboss.cache.commands.CacheCommand;
 import org.jboss.cache.commands.CommandsVisitor;
-import org.jboss.cache.commands.state.GlobalTransactionCommand;
 import org.jboss.cache.transaction.GlobalTransaction;
 
 /**
  * @author Mircea.Markus at jboss.com
  * @since 2.2
  */
-public class RollbackCommand extends BaseCommand implements CacheCommand, GlobalTransactionCommand
+public class RollbackCommand extends BaseGlobalTransactionCommand
 {
    public static final int METHOD_ID = 12;
 
-   private GlobalTransaction globalTransaction;
-
    public RollbackCommand()
    {
    }
@@ -26,38 +21,13 @@
       this.globalTransaction = globalTransaction;
    }
 
-   public Object perform(InvocationContext ctx)
-   {
-      return null;
-   }
-
    public Object accept(InvocationContext ctx, CommandsVisitor handler) throws Throwable
    {
       return handler.handleRollbackCommand(ctx, this);
    }
 
-   public GlobalTransaction getGlobalTransaction()
-   {
-      return globalTransaction;
-   }
-
-   public void setGlobalTransaction(GlobalTransaction gtx)
-   {
-      this.globalTransaction = gtx;
-   }
-
    public int getCommandId()
    {
       return METHOD_ID;
    }
-
-   public Object[] getParameters()
-   {
-      return new Object[]{globalTransaction};
-   }
-
-   public void setState(int commandId, Object[] args)
-   {
-      globalTransaction = (GlobalTransaction) args[0];
-   }
 }

Deleted: core/trunk/src/main/java/org/jboss/cache/interceptors/UnlockInterceptor.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/interceptors/UnlockInterceptor.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/interceptors/UnlockInterceptor.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -1,78 +0,0 @@
-package org.jboss.cache.interceptors;
-
-import org.jboss.cache.InvocationContext;
-import org.jboss.cache.transaction.TxUtil;
-import org.jboss.cache.factories.annotations.ComponentName;
-import org.jboss.cache.factories.annotations.Inject;
-import org.jboss.cache.lock.NodeLock;
-
-import javax.transaction.Transaction;
-import java.util.List;
-import java.util.Map;
-
-/**
- * When a call returns, unlocks all locks held by the current thread in the
- * LockTable. This is a no-op if a transaction is used.
- *
- * @author Bela Ban
- * @version $Id$
- */
- at Deprecated
-public class UnlockInterceptor extends Interceptor
-{
-   Map<Thread, List<NodeLock>> lockTable = null;
-
-   @Inject
-   private void injectDependencies(@ComponentName("LockTable")Map<Thread, List<NodeLock>> lockTable)
-//         private void init(@ComponentName("LockTable")ThreadLocal<List<NodeLock>> lockTable)
-   {
-      this.lockTable = lockTable;
-   }
-
-   public Object invoke(InvocationContext ctx) throws Throwable
-   {
-      try
-      {
-         return nextInterceptor(ctx);
-      }
-      catch (Throwable th)
-      {
-         throw th;
-      }
-      finally
-      {
-         if (ctx.getOptionOverrides() == null || !ctx.getOptionOverrides().isSuppressLocking())
-         {
-            Transaction tx = ctx.getTransaction();
-            if (tx != null && TxUtil.isValid(tx))
-            {
-               // if (trace) log.trace("Do not do anything; we have a transaction running or node locking is optimistic.");
-            }
-            else
-            { // no TX
-               Thread currentThread = Thread.currentThread();
-               List<NodeLock> locks = lockTable.get(currentThread);
-               if (trace) log.trace("Attempting to release locks on current thread.  Lock table is " + lockTable);
-
-               if (locks != null && locks.size() > 0)
-               {
-                  releaseLocks(locks, currentThread);
-                  lockTable.remove(currentThread);
-               }
-            }
-         }
-      }
-   }
-
-   private void releaseLocks(List<NodeLock> locks, Thread currentThread)
-   {
-      NodeLock[] locksArray = locks.toArray(new NodeLock[]{});
-      for (int i = locksArray.length - 1; i > -1; i--)
-      {
-         if (trace) log.trace("releasing lock for " + locksArray[i].getFqn() + ": " + locksArray[i]);
-         locksArray[i].release(currentThread);
-      }
-   }
-
-
-}

Modified: core/trunk/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java
===================================================================
--- core/trunk/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java	2008-04-14 20:55:04 UTC (rev 5562)
+++ core/trunk/src/main/java/org/jboss/cache/marshall/AbstractMarshaller.java	2008-04-14 21:07:25 UTC (rev 5563)
@@ -20,7 +20,6 @@
 import org.jboss.cache.commands.cachedata.GetKeyValueCommand;
 import org.jboss.cache.commands.cachedata.GetKeysCommand;
 import org.jboss.cache.commands.cachedata.InvalidateCommand;
-import org.jboss.cache.commands.cachedata.UpdateDataCommand;
 import org.jboss.cache.commands.functional.MarshallableCommand;
 import org.jboss.cache.commands.remote.AnnounceBuddyPoolNameCommand;
 import org.jboss.cache.commands.remote.AssignToBuddyGroupCommand;
@@ -179,9 +178,9 @@
             fqn = ((ClusteredGetCommand) cmd).getCacheDataComand().getFqn();
             break;
          default:
-            if (cmd instanceof UpdateDataCommand)
+            if (cmd instanceof CacheDataCommand)
             {
-               fqn = ((UpdateDataCommand) cmd).getFqn();
+               fqn = ((CacheDataCommand) cmd).getFqn();
             }
             else
             {




More information about the jbosscache-commits mailing list