tmf : extract duplicate code into sortNodes() in GraphNode
authorJean-Christian Kouame <jean-christian.kouame@ericsson.com>
Wed, 30 Sep 2015 21:11:55 +0000 (17:11 -0400)
committerMatthew Khouzam <matthew.khouzam@ericsson.com>
Tue, 27 Oct 2015 18:29:52 +0000 (14:29 -0400)
Change-Id: I6309676ab960c0791bb8b0ce39d44951a8ed3075
Signed-off-by: Jean-Christian Kouame <jean-christian.kouame@ericsson.com>
Reviewed-on: https://git.eclipse.org/r/57246
Reviewed-by: Matthew Khouzam <matthew.khouzam@ericsson.com>
Reviewed-by: Hudson CI
Reviewed-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
Tested-by: Bernd Hufmann <bernd.hufmann@ericsson.com>
tmf/org.eclipse.tracecompass.tmf.ui/src/org/eclipse/tracecompass/tmf/ui/views/uml2sd/core/GraphNode.java

index 965da7e142373a0ab67605d9df0e23c700f211ed..1a77048dbe8261e5aa3943e01fcf431ad1df7b5c 100755 (executable)
@@ -18,7 +18,6 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -104,10 +103,8 @@ public abstract class GraphNode {
             return;
         }
 
-        Iterator<String> it = fIndexes.keySet().iterator();
-        while (it.hasNext()) {
-            String nodeType = it.next();
-            fIndexes.put(nodeType, Integer.valueOf(0));
+        for (Map.Entry<String, Integer> entry : fIndexes.entrySet()) {
+            entry.setValue(Integer.valueOf(0));
         }
     }
 
@@ -634,35 +631,16 @@ public abstract class GraphNode {
         }
         // If the nodes have not been added ordered, the array is ordered
         for (Map.Entry<String, Boolean> entry : fForwardSort.entrySet()) {
-            String nodeType = entry.getKey();
             boolean sort = entry.getValue().booleanValue();
             if (sort) {
-                List<GraphNode> forwardNodes = checkNotNull(fForwardNodes.get(nodeType));
-                GraphNode[] temp = forwardNodes.toArray(new GraphNode[forwardNodes.size()]);
-                GraphNode node = checkNotNull(fNodes.get(nodeType)).get(0);
-                Arrays.sort(temp, node.getComparator());
-                entry.setValue(Boolean.FALSE);
-                fNodes.put(nodeType, Arrays.asList(temp));
-                fForwardNodes.put(nodeType, Arrays.asList(temp));
-                if (TmfUiTracer.isSortingTraced()) {
-                    TmfUiTracer.traceSorting(nodeType + " array sorted\n"); //$NON-NLS-1$
-                }
+                sortNodes(fForwardNodes, entry, true);
             }
         }
 
         for (Map.Entry<String, Boolean> entry : fBackwardSort.entrySet()) {
-            String nodeType = entry.getKey();
             boolean sort = entry.getValue().booleanValue();
             if (sort) {
-                List<GraphNode> backwardNodes = checkNotNull(fBackwardNodes.get(nodeType));
-                GraphNode[] temp = backwardNodes.toArray(new GraphNode[backwardNodes.size()]);
-                GraphNode node = checkNotNull(fNodes.get(nodeType)).get(0);
-                Arrays.sort(temp, node.getBackComparator());
-                entry.setValue(Boolean.FALSE);
-                fBackwardNodes.put(nodeType, Arrays.asList(temp));
-                if (TmfUiTracer.isSortingTraced()) {
-                    TmfUiTracer.traceSorting(nodeType + " back array sorted\n"); //$NON-NLS-1$
-                }
+                sortNodes(fBackwardNodes, entry, false);
             }
         }
 
@@ -676,10 +654,9 @@ public abstract class GraphNode {
         }
 
         int count = 0;
-        Iterator<String> it3 = fForwardSort.keySet().iterator();
-        while (it3.hasNext()) {
+        for (Map.Entry<String, Boolean> entry : fForwardSort.entrySet()) {
             count = 0;
-            Object nodeType = it3.next();
+            String nodeType = entry.getKey();
             GraphNode node = checkNotNull(fNodes.get(nodeType)).get(0);
             context.setFont(SDViewPref.getInstance().getFont(node.fPrefId));
             int index = checkNotNull(fIndexes.get(nodeType)).intValue();
@@ -694,6 +671,23 @@ public abstract class GraphNode {
 
     }
 
+    private void sortNodes(Map<String, List<GraphNode>> nodesToSort, Map.Entry<String, Boolean> sortMapEntry, boolean forward) {
+        String nodeType = sortMapEntry.getKey();
+        GraphNode[] temp = nodesToSort.get(nodeType).toArray(new GraphNode[nodesToSort.get(nodeType).size()]);
+        GraphNode node = fNodes.get(nodeType).get(0);
+        if (forward) {
+            Arrays.sort(temp, node.getComparator());
+            fNodes.put(nodeType, Arrays.asList(temp));
+        } else {
+            Arrays.sort(temp, node.getBackComparator());
+        }
+        nodesToSort.put(nodeType, Arrays.asList(temp));
+        sortMapEntry.setValue(Boolean.FALSE);
+        if (TmfUiTracer.isSortingTraced()) {
+            TmfUiTracer.traceSorting(nodeType + " array sorted\n"); //$NON-NLS-1$
+        }
+    }
+
     /**
      * Draw the GraphNode stored in the given list, starting at index startIndex with the given step
      *
This page took 0.029955 seconds and 5 git commands to generate.