From e6f8857b05b0b43dca5bf10b189aade91b87d8d1 Mon Sep 17 00:00:00 2001 From: Le Van Truong <le.truong@telecom-paris.fr> Date: Fri, 6 Dec 2019 11:30:17 +0100 Subject: [PATCH] Make interactive simulation trace dislaying according to transaction start time --- .../SimulationTransaction.java | 1 + src/main/java/ui/window/JDialogCPUNode.java | 17 ++++++++++++++++- 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/src/main/java/ui/interactivesimulation/SimulationTransaction.java b/src/main/java/ui/interactivesimulation/SimulationTransaction.java index 9ba656a07f..3c1e47cde3 100755 --- a/src/main/java/ui/interactivesimulation/SimulationTransaction.java +++ b/src/main/java/ui/interactivesimulation/SimulationTransaction.java @@ -64,6 +64,7 @@ public class SimulationTransaction { public String channelName; public String id; public long uniqueID = -1; + public int index = 0; public SimulationTransaction() { } diff --git a/src/main/java/ui/window/JDialogCPUNode.java b/src/main/java/ui/window/JDialogCPUNode.java index 264b7feb06..510c078cc1 100644 --- a/src/main/java/ui/window/JDialogCPUNode.java +++ b/src/main/java/ui/window/JDialogCPUNode.java @@ -630,6 +630,21 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { } } String commandName=""; + TreeSet<Integer> tree = new TreeSet<>(); + for(int j = 0; j < tranList.size(); j++) { + tree.add(Integer.valueOf(tranList.get(j).startTime)); + } + Integer[] arr = new Integer[tree.size()]; + tree.toArray(arr); + for (int t = 0; t < tranList.size(); t ++){ + for (int k = 0; k < arr.length; k++){ + if(tranList.get(t).startTime.equals(String.valueOf(arr[k]))){ + tranList.get(t).index = k; + break; + } + } + } + for (String s:tasks){ i++; g.drawString(s.split("__")[1],0, i*50+50); @@ -666,7 +681,7 @@ public class JDialogCPUNode extends JDialogBase implements ActionListener { else { continue; } - int start = 30*tranList.indexOf(tran)+70; + int start = 30*tran.index+70; g.fillRect(start, i*50+40, 30, 20); g.setColor(Color.black); g.drawRect(start, i*50+40, 30, 20); -- GitLab