[infinispan-commits] Infinispan SVN: r165 - trunk/core/src/test/java/org/infinispan/test.
infinispan-commits at lists.jboss.org
infinispan-commits at lists.jboss.org
Fri Apr 24 09:02:44 EDT 2009
Author: manik.surtani at jboss.com
Date: 2009-04-24 09:02:44 -0400 (Fri, 24 Apr 2009)
New Revision: 165
Modified:
trunk/core/src/test/java/org/infinispan/test/ReplListener.java
Log:
More enhancements to ReplListener
Modified: trunk/core/src/test/java/org/infinispan/test/ReplListener.java
===================================================================
--- trunk/core/src/test/java/org/infinispan/test/ReplListener.java 2009-04-23 18:06:06 UTC (rev 164)
+++ trunk/core/src/test/java/org/infinispan/test/ReplListener.java 2009-04-24 13:02:44 UTC (rev 165)
@@ -9,8 +9,8 @@
import org.infinispan.interceptors.base.CommandInterceptor;
import java.util.Arrays;
-import java.util.HashSet;
-import java.util.Set;
+import java.util.LinkedList;
+import java.util.List;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
import java.util.concurrent.locks.Lock;
@@ -22,11 +22,11 @@
*/
public class ReplListener {
Cache<?, ?> c;
- volatile Set<Class<? extends VisitableCommand>> expectedCommands;
- Set<Class<? extends VisitableCommand>> eagerCommands = new HashSet<Class<? extends VisitableCommand>>();
+ volatile List<Class<? extends VisitableCommand>> expectedCommands;
+ List<Class<? extends VisitableCommand>> eagerCommands = new LinkedList<Class<? extends VisitableCommand>>();
boolean recordCommandsEagerly;
boolean watchLocal;
- Lock eagerCommandsLock = new ReentrantLock();
+ final Lock expectationSetupLock = new ReentrantLock();
CountDownLatch latch = new CountDownLatch(1);
volatile boolean sawAtLeastOneInvocation = false;
boolean expectAny = false;
@@ -111,20 +111,20 @@
* @param expectedCommands commands to expect
*/
public void expect(Class<? extends VisitableCommand>... expectedCommands) {
- if (this.expectedCommands == null) {
- this.expectedCommands = new HashSet<Class<? extends VisitableCommand>>();
- }
- this.expectedCommands.addAll(Arrays.asList(expectedCommands));
+ expectationSetupLock.lock();
+ try {
+ if (this.expectedCommands == null) {
+ this.expectedCommands = new LinkedList<Class<? extends VisitableCommand>>();
+ }
+ this.expectedCommands.addAll(Arrays.asList(expectedCommands));
- if (recordCommandsEagerly) {
- eagerCommandsLock.lock();
- try {
+ if (recordCommandsEagerly) {
this.expectedCommands.removeAll(eagerCommands);
if (!eagerCommands.isEmpty()) sawAtLeastOneInvocation = true;
eagerCommands.clear();
- } finally {
- eagerCommandsLock.unlock();
}
+ } finally {
+ expectationSetupLock.unlock();
}
}
@@ -183,20 +183,18 @@
}
private void markAsVisited(VisitableCommand cmd) {
- System.out.println("Cache [" + c + "] saw command " + cmd);
- if (expectedCommands != null) {
- expectedCommands.remove(cmd.getClass());
- sawAtLeastOneInvocation = true;
- if (expectedCommands.isEmpty()) latch.countDown();
- } else {
- if (recordCommandsEagerly) {
- eagerCommandsLock.lock();
- try {
- eagerCommands.add(cmd.getClass());
- } finally {
- eagerCommandsLock.unlock();
- }
+ expectationSetupLock.lock();
+ try {
+ log.fatal("Cache [" + c + "] saw command " + cmd);
+ if (expectedCommands != null) {
+ expectedCommands.remove(cmd.getClass());
+ sawAtLeastOneInvocation = true;
+ if (expectedCommands.isEmpty()) latch.countDown();
+ } else {
+ if (recordCommandsEagerly) eagerCommands.add(cmd.getClass());
}
+ } finally {
+ expectationSetupLock.unlock();
}
}
}
More information about the infinispan-commits
mailing list