[infinispan-commits] Infinispan SVN: r266 - in trunk/core/src/main/java/org/infinispan: interceptors and 1 other directory.

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Tue May 12 16:30:27 EDT 2009


Author: vblagojevic at jboss.com
Date: 2009-05-12 16:30:27 -0400 (Tue, 12 May 2009)
New Revision: 266

Modified:
   trunk/core/src/main/java/org/infinispan/commands/LockControlCommand.java
   trunk/core/src/main/java/org/infinispan/commands/RemoteCommandFactory.java
   trunk/core/src/main/java/org/infinispan/interceptors/CallInterceptor.java
   trunk/core/src/main/java/org/infinispan/interceptors/TxInterceptor.java
Log:
[ISPN-48] -  Introduce lock() and unlock() API methods
first working version of SyncReplLockingTest

Modified: trunk/core/src/main/java/org/infinispan/commands/LockControlCommand.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/LockControlCommand.java	2009-05-12 14:51:58 UTC (rev 265)
+++ trunk/core/src/main/java/org/infinispan/commands/LockControlCommand.java	2009-05-12 20:30:27 UTC (rev 266)
@@ -39,6 +39,10 @@
    private Collection keys;
    private boolean lock;
 
+   
+   public LockControlCommand() {
+   }
+
    public LockControlCommand(Collection keys, boolean lock) {
       this.keys = keys;
       this.lock = lock;
@@ -69,10 +73,12 @@
    }
 
    public void setParameters(int commandId, Object[] args) {
+      if (commandId != COMMAND_ID)
+         throw new IllegalStateException("Unusupported command id:" + commandId);
       globalTx = (GlobalTransaction) args[0];
       cacheName = (String) args[1];
-      keys = (Collection) args [2];
-      lock = (Boolean)args[3];
+      keys = (Collection) args[2];
+      lock = (Boolean) args[3];
    }
    
    public boolean equals(Object o) {

Modified: trunk/core/src/main/java/org/infinispan/commands/RemoteCommandFactory.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/RemoteCommandFactory.java	2009-05-12 14:51:58 UTC (rev 265)
+++ trunk/core/src/main/java/org/infinispan/commands/RemoteCommandFactory.java	2009-05-12 20:30:27 UTC (rev 266)
@@ -53,6 +53,9 @@
          case PutKeyValueCommand.COMMAND_ID:
             command = new PutKeyValueCommand();
             break;
+         case LockControlCommand.COMMAND_ID:
+            command = new LockControlCommand();
+            break;   
          case PutMapCommand.COMMAND_ID:
             command = new PutMapCommand();
             break;

Modified: trunk/core/src/main/java/org/infinispan/interceptors/CallInterceptor.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/interceptors/CallInterceptor.java	2009-05-12 14:51:58 UTC (rev 265)
+++ trunk/core/src/main/java/org/infinispan/interceptors/CallInterceptor.java	2009-05-12 20:30:27 UTC (rev 266)
@@ -22,6 +22,7 @@
 package org.infinispan.interceptors;
 
 
+import org.infinispan.commands.LockControlCommand;
 import org.infinispan.commands.ReplicableCommand;
 import org.infinispan.commands.VisitableCommand;
 import org.infinispan.commands.tx.CommitCommand;
@@ -60,6 +61,12 @@
       if (trace) log.trace("Suppressing invocation of method handleRollbackCommand.");
       return null;
    }
+   
+   @Override
+   public Object visitLockControlCommand(InvocationContext ctx, LockControlCommand c) throws Throwable {
+      if (trace) log.trace("Suppressing invocation of method handleLockControlCommand.");
+      return null;
+   }
 
    @Override
    public Object handleDefault(InvocationContext ctx, VisitableCommand command) throws Throwable {

Modified: trunk/core/src/main/java/org/infinispan/interceptors/TxInterceptor.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/interceptors/TxInterceptor.java	2009-05-12 14:51:58 UTC (rev 265)
+++ trunk/core/src/main/java/org/infinispan/interceptors/TxInterceptor.java	2009-05-12 20:30:27 UTC (rev 266)
@@ -1,5 +1,6 @@
 package org.infinispan.interceptors;
 
+import org.infinispan.commands.LockControlCommand;
 import org.infinispan.commands.VisitableCommand;
 import org.infinispan.commands.read.GetKeyValueCommand;
 import org.infinispan.commands.read.SizeCommand;
@@ -87,7 +88,12 @@
       transactionLog.rollback(command.getGlobalTransaction());
       return invokeNextInterceptor(ctx, command);
    }
-
+   
+   @Override
+   public Object visitLockControlCommand(InvocationContext ctx, LockControlCommand command) throws Throwable{
+      return enlistReadAndInvokeNext(ctx, command);
+   }
+   
    /**
     * Designed to be overridden.  Returns a VisitableCommand fit for replaying locally, based on the modification passed
     * in.  If a null value is returned, this means that the command should not be replayed.




More information about the infinispan-commits mailing list