From d594d98635327c0020b42deded4cfd6ba3585478 Mon Sep 17 00:00:00 2001 From: Letitia Li <letitia.li@telecom-paristech.fr> Date: Mon, 12 Feb 2018 17:16:10 +0100 Subject: [PATCH] Updated simulation trace bug --- .../JFrameInteractiveSimulation.java | 35 +++++++++++++------ 1 file changed, 25 insertions(+), 10 deletions(-) diff --git a/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java b/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java index 25e4013d6c..066ba2483b 100755 --- a/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java +++ b/src/main/java/ui/interactivesimulation/JFrameInteractiveSimulation.java @@ -64,6 +64,7 @@ import javax.xml.parsers.ParserConfigurationException; import java.awt.*; import java.awt.event.*; import java.io.*; +import java.math.BigInteger; import java.io.ByteArrayInputStream; import java.io.File; import java.io.IOException; @@ -1382,6 +1383,7 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene msgTimes.clear(); channelIDMap.clear(); simtraces.clear(); + simIndex=0; } public void writeSimTrace(){ @@ -1420,17 +1422,30 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene Collections.sort(simtraces, new Comparator<String>() { @Override public int compare(String o1, String o2) { - int i = Integer.valueOf((o1.split(" ")[0]).split("=")[1]); - int j = Integer.valueOf((o2.split(" ")[0]).split("=")[1]); - return i-j; + BigInteger i = new BigInteger((o1.split(" ")[0]).split("=")[1]); + BigInteger j = new BigInteger((o2.split(" ")[0]).split("=")[1]); + return i.compareTo(j); } }); //System.out.println(simtraces); - for (String s: simtraces){ - bw.write("#"+simIndex+ " "+s); - bw.newLine(); - bw.flush(); - simIndex++; + //System.out.println(simtraces.size()); + if (simtraces.size()>2000){ + //Only write last 2000 simulations + int numTraces = simtraces.size(); + for (int i=0; i<2000; i++){ + bw.write("#" + simIndex+ " " +simtraces.get(numTraces-2000+i)); + bw.newLine(); + bw.flush(); + simIndex++; + } + } + else { + for (String s: simtraces){ + bw.write("#"+simIndex+ " "+s); + bw.newLine(); + bw.flush(); + simIndex++; + } } bw.close(); pos.close(); @@ -1438,7 +1453,7 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene } catch (Exception e){ - System.out.println("Could not write sim trace " + e + " " + simtraces + " " +simIndex); + System.out.println("Could not write sim trace " + e + " " + simtraces.get(simIndex) + " " +simIndex); } } @@ -2680,7 +2695,7 @@ public class JFrameInteractiveSimulation extends JFrame implements ActionListene private void processLatency(){ - TraceManager.addDev(transTimes.toString()); +// TraceManager.addDev(transTimes.toString()); //System.out.println(transTimes.toString()); //System.out.println(checkTable.toString()); for (Object o: latencies){ -- GitLab