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

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Thu Oct 21 08:41:37 EDT 2010


Author: manik.surtani at jboss.com
Date: 2010-10-21 08:41:37 -0400 (Thu, 21 Oct 2010)
New Revision: 2542

Modified:
   trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java
   trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java
   trunk/core/src/main/java/org/infinispan/commands/write/InvalidateCommand.java
   trunk/core/src/main/java/org/infinispan/commands/write/InvalidateL1Command.java
Log:
Allow initializing of invalidate commands with a collection

Modified: trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java	2010-10-21 12:40:56 UTC (rev 2541)
+++ trunk/core/src/main/java/org/infinispan/commands/CommandsFactory.java	2010-10-21 12:41:37 UTC (rev 2542)
@@ -53,6 +53,7 @@
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 
 /**
  * A factory to build commands, initializing and injecting dependencies accordingly.  Commands built for a specific,
@@ -101,6 +102,14 @@
    InvalidateCommand buildInvalidateFromL1Command(boolean forRehash, Object... keys);
 
    /**
+    * Builds an InvalidateFromL1Command
+    * @param forRehash set to true if the invalidation is happening due to a new node taking ownership.  False if it is due to a write, changing the state of the entry.
+    * @param keys keys to invalidate
+    * @return an InvalidateFromL1Command
+    */
+   InvalidateCommand buildInvalidateFromL1Command(boolean forRehash, Collection<Object> keys);
+
+   /**
     * Builds a ReplaceCommand
     * @param key key to replace
     * @param oldValue existing value to check for if conditional, null if unconditional.

Modified: trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java	2010-10-21 12:40:56 UTC (rev 2541)
+++ trunk/core/src/main/java/org/infinispan/commands/CommandsFactoryImpl.java	2010-10-21 12:41:37 UTC (rev 2542)
@@ -134,6 +134,10 @@
       return new InvalidateL1Command(forRehash, dataContainer, configuration, distributionManager, notifier, keys);
    }
 
+   public InvalidateCommand buildInvalidateFromL1Command(boolean forRehash, Collection<Object> keys) {
+      return new InvalidateL1Command(forRehash, dataContainer, configuration, distributionManager, notifier, keys);
+   }
+
    public ReplaceCommand buildReplaceCommand(Object key, Object oldValue, Object newValue, long lifespan, long maxIdleTimeMillis) {
       return new ReplaceCommand(key, oldValue, newValue, lifespan, maxIdleTimeMillis);
    }

Modified: trunk/core/src/main/java/org/infinispan/commands/write/InvalidateCommand.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/write/InvalidateCommand.java	2010-10-21 12:40:56 UTC (rev 2541)
+++ trunk/core/src/main/java/org/infinispan/commands/write/InvalidateCommand.java	2010-10-21 12:41:37 UTC (rev 2542)
@@ -22,6 +22,7 @@
 package org.infinispan.commands.write;
 
 import java.util.Arrays;
+import java.util.Collection;
 
 import org.infinispan.commands.Visitor;
 import org.infinispan.context.InvocationContext;
@@ -54,6 +55,14 @@
       this.notifier = notifier;
    }
 
+   public InvalidateCommand(CacheNotifier notifier, Collection<Object> keys) {
+      if (keys == null || keys.isEmpty())
+         this.keys = new Object[]{};
+      else
+         this.keys = keys.toArray(new Object[keys.size()]);
+      this.notifier = notifier;
+   }
+
    /**
     * Performs an invalidation on a specified entry
     *

Modified: trunk/core/src/main/java/org/infinispan/commands/write/InvalidateL1Command.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/commands/write/InvalidateL1Command.java	2010-10-21 12:40:56 UTC (rev 2541)
+++ trunk/core/src/main/java/org/infinispan/commands/write/InvalidateL1Command.java	2010-10-21 12:41:37 UTC (rev 2542)
@@ -13,6 +13,7 @@
 import org.infinispan.util.logging.LogFactory;
 
 import java.util.Arrays;
+import java.util.Collection;
 
 /**
  * Invalidates an entry in a L1 cache (used with DIST mode)
@@ -41,6 +42,15 @@
       this.config = config;
    }
 
+   public InvalidateL1Command(boolean forRehash, DataContainer dc, Configuration config, DistributionManager dm,
+                              CacheNotifier notifier, Collection<Object> keys) {
+      super(notifier, keys);
+      this.dm = dm;
+      this.forRehash = forRehash;
+      this.dataContainer = dc;
+      this.config = config;
+   }
+
    @Override
    public byte getCommandId() {
       return COMMAND_ID;



More information about the infinispan-commits mailing list