Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-45 4b55cc3d2 -> 1108b4571


# IGNITE-45 Minor code changes: Create GridNodeOrderComparator.INSTANCE to 
avoid unnecessary static fields and unnecessary GridNodeOrderComparator 
instatiation.


Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/3a22db9d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/3a22db9d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/3a22db9d

Branch: refs/heads/ignite-45
Commit: 3a22db9db21c25e2ea421f4a411a06533e8cc9e5
Parents: 4b55cc3
Author: sevdokimov <sevdoki...@gridgain.com>
Authored: Tue Mar 17 16:40:59 2015 +0300
Committer: sevdokimov <sevdoki...@gridgain.com>
Committed: Tue Mar 17 16:40:59 2015 +0300

----------------------------------------------------------------------
 .../internal/GridNodeOrderComparator.java       | 10 +++++++++
 .../affinity/GridAffinityAssignmentCache.java   | 23 ++------------------
 .../dht/GridDhtAssignmentFetchFuture.java       |  5 +----
 3 files changed, 13 insertions(+), 25 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3a22db9d/modules/core/src/main/java/org/apache/ignite/internal/GridNodeOrderComparator.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/GridNodeOrderComparator.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/GridNodeOrderComparator.java
index 422abae..10f6ff1 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/GridNodeOrderComparator.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/GridNodeOrderComparator.java
@@ -29,6 +29,16 @@ public class GridNodeOrderComparator implements 
Comparator<ClusterNode>, Seriali
     /** */
     private static final long serialVersionUID = 0L;
 
+    /** */
+    public static final Comparator<ClusterNode> INSTANCE = new 
GridNodeOrderComparator();
+
+    /**
+     * Private constructor. Don't create this class, use {@link #INSTANCE}.
+     */
+    private GridNodeOrderComparator() {
+
+    }
+
     /** {@inheritDoc} */
     @Override public int compare(ClusterNode n1, ClusterNode n2) {
         return n1.order() < n2.order() ? -1 : n1.order() > n2.order() ? 1 : 
n1.id().compareTo(n2.id());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3a22db9d/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
index a008315..2ff00db 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/affinity/GridAffinityAssignmentCache.java
@@ -36,9 +36,6 @@ import java.util.concurrent.atomic.*;
  * Affinity cached function.
  */
 public class GridAffinityAssignmentCache {
-    /** Node order comparator. */
-    private static final Comparator<ClusterNode> nodeCmp = new 
GridNodeOrderComparator();
-
     /** Cache name. */
     private final String cacheName;
 
@@ -166,9 +163,9 @@ public class GridAffinityAssignmentCache {
             sorted = Collections.singletonList(ctx.localNode());
         else {
             // Resolve nodes snapshot for specified topology version.
-            Collection<ClusterNode> nodes = 
ctx.discovery().cacheAffinityNodes(cacheName, topVer);
+            sorted = new 
ArrayList<>(ctx.discovery().cacheAffinityNodes(cacheName, topVer));
 
-            sorted = sort(nodes);
+            Collections.sort(sorted, GridNodeOrderComparator.INSTANCE);
         }
 
         List<List<ClusterNode>> prevAssignment = prev == null ? null : 
prev.assignment();
@@ -409,22 +406,6 @@ public class GridAffinityAssignmentCache {
     }
 
     /**
-     * Sorts nodes according to order.
-     *
-     * @param nodes Nodes to sort.
-     * @return Sorted list of nodes.
-     */
-    private List<ClusterNode> sort(Collection<ClusterNode> nodes) {
-        List<ClusterNode> sorted = new ArrayList<>(nodes.size());
-
-        sorted.addAll(nodes);
-
-        Collections.sort(sorted, nodeCmp);
-
-        return sorted;
-    }
-
-    /**
      * Affinity ready future. Will remove itself from ready futures map.
      */
     private class AffinityReadyFuture extends 
GridFutureAdapter<AffinityTopologyVersion> {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/3a22db9d/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
----------------------------------------------------------------------
diff --git 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
index 645d590..79628cc 100644
--- 
a/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
+++ 
b/modules/core/src/main/java/org/apache/ignite/internal/processors/cache/distributed/dht/GridDhtAssignmentFetchFuture.java
@@ -40,9 +40,6 @@ public class GridDhtAssignmentFetchFuture extends 
GridFutureAdapter<List<List<Cl
     /** */
     private static final long serialVersionUID = 0L;
 
-    /** Nodes order comparator. */
-    private static final Comparator<ClusterNode> CMP = new 
GridNodeOrderComparator();
-
     /** Logger reference. */
     private static final AtomicReference<IgniteLogger> logRef = new 
AtomicReference<>();
 
@@ -75,7 +72,7 @@ public class GridDhtAssignmentFetchFuture extends 
GridFutureAdapter<List<List<Cl
 
         LinkedList<ClusterNode> tmp = new LinkedList<>();
         tmp.addAll(availableNodes);
-        Collections.sort(tmp, CMP);
+        Collections.sort(tmp, GridNodeOrderComparator.INSTANCE);
 
         this.availableNodes = tmp;
 

Reply via email to