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

infinispan-commits at lists.jboss.org infinispan-commits at lists.jboss.org
Fri Apr 24 12:06:56 EDT 2009


Author: manik.surtani at jboss.com
Date: 2009-04-24 12:06:56 -0400 (Fri, 24 Apr 2009)
New Revision: 168

Added:
   trunk/core/src/main/java/org/infinispan/remoting/responses/ClusteredGetResponseValidityFilter.java
Modified:
   trunk/core/src/main/java/org/infinispan/loader/cluster/ClusterCacheLoader.java
Log:
Extracted filter to separate class

Modified: trunk/core/src/main/java/org/infinispan/loader/cluster/ClusterCacheLoader.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/loader/cluster/ClusterCacheLoader.java	2009-04-24 13:03:54 UTC (rev 167)
+++ trunk/core/src/main/java/org/infinispan/loader/cluster/ClusterCacheLoader.java	2009-04-24 16:06:56 UTC (rev 168)
@@ -15,11 +15,10 @@
 import org.infinispan.remoting.ResponseFilter;
 import org.infinispan.remoting.ResponseMode;
 import org.infinispan.remoting.RpcManager;
+import org.infinispan.remoting.responses.ClusteredGetResponseValidityFilter;
 import org.infinispan.remoting.responses.Response;
 import org.infinispan.remoting.responses.SuccessfulResponse;
-import org.infinispan.remoting.transport.Address;
 
-import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 import java.util.Set;
@@ -77,35 +76,8 @@
       throw new IllegalStateException("TODO - please implement me!!!");
    }
 
-   public static class ResponseValidityFilter implements ResponseFilter {
-
-      private int numValidResponses = 0;
-
-      private List<Address> pendingResponders;
-
-      public ResponseValidityFilter(List<Address> expected, Address localAddress) {
-         this.pendingResponders = new ArrayList<Address>(expected);
-         // We'll never get a response from ourself
-         this.pendingResponders.remove(localAddress);
-      }
-
-      public boolean isAcceptable(Response response, Address address) {
-         pendingResponders.remove(address);
-
-         if (response instanceof SuccessfulResponse) numValidResponses++;
-
-         // always return true to make sure a response is logged by the JGroups RpcDispatcher.
-         return true;
-      }
-
-      public boolean needMoreResponses() {
-         return numValidResponses < 1 && pendingResponders.size() > 0;
-      }
-
-   }
-
    private List<Response> doRemoteCall(ClusteredGetCommand clusteredGetCommand) throws CacheLoaderException {
-      ResponseValidityFilter filter = new ResponseValidityFilter(rpcManager.getTransport().getMembers(), rpcManager.getLocalAddress());
+      ResponseFilter filter = new ClusteredGetResponseValidityFilter(rpcManager.getTransport().getMembers(), rpcManager.getLocalAddress());
       try {
          return rpcManager.invokeRemotely(null, clusteredGetCommand, ResponseMode.WAIT_FOR_VALID_RESPONSE, config.getRemoteCallTimeout(), false, filter, false);
       } catch (Exception e) {

Added: trunk/core/src/main/java/org/infinispan/remoting/responses/ClusteredGetResponseValidityFilter.java
===================================================================
--- trunk/core/src/main/java/org/infinispan/remoting/responses/ClusteredGetResponseValidityFilter.java	                        (rev 0)
+++ trunk/core/src/main/java/org/infinispan/remoting/responses/ClusteredGetResponseValidityFilter.java	2009-04-24 16:06:56 UTC (rev 168)
@@ -0,0 +1,40 @@
+package org.infinispan.remoting.responses;
+
+import org.infinispan.remoting.ResponseFilter;
+import org.infinispan.remoting.transport.Address;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * A filter that tests the validity of {@link org.infinispan.commands.remote.ClusteredGetCommand}s.
+ *
+ * @author Manik Surtani
+ * @since 4.0
+ */
+public class ClusteredGetResponseValidityFilter implements ResponseFilter {
+
+   private int numValidResponses = 0;
+
+   private List<Address> pendingResponders;
+
+   public ClusteredGetResponseValidityFilter(List<Address> expected, Address localAddress) {
+      this.pendingResponders = new ArrayList<Address>(expected);
+      // We'll never get a response from ourself
+      this.pendingResponders.remove(localAddress);
+   }
+
+   public boolean isAcceptable(Response response, Address address) {
+      pendingResponders.remove(address);
+
+      if (response instanceof SuccessfulResponse) numValidResponses++;
+
+      // always return true to make sure a response is logged by the JGroups RpcDispatcher.
+      return true;
+   }
+
+   public boolean needMoreResponses() {
+      return numValidResponses < 1 && pendingResponders.size() > 0;
+   }
+
+}


Property changes on: trunk/core/src/main/java/org/infinispan/remoting/responses/ClusteredGetResponseValidityFilter.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision
Name: svn:eol-style
   + LF




More information about the infinispan-commits mailing list