[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