[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