From 77ba04e77a93c24cf2d5703532c502c78c49c0d0 Mon Sep 17 00:00:00 2001 From: Reiner Jung <reiner.jung@email.uni-kiel.de> Date: Tue, 13 Sep 2022 13:51:24 +0200 Subject: [PATCH] Updated sort order in json files. --- .../moobench/tools/results/data/Chart.java | 58 ++++++++++++------- .../tools/results/data/ValueTuple.java | 32 +++++----- .../tools/results/stages/JsonChartSink.java | 3 + 3 files changed, 57 insertions(+), 36 deletions(-) diff --git a/tools/compile-results/src/main/java/moobench/tools/results/data/Chart.java b/tools/compile-results/src/main/java/moobench/tools/results/data/Chart.java index 0c6ca85..a25fde8 100644 --- a/tools/compile-results/src/main/java/moobench/tools/results/data/Chart.java +++ b/tools/compile-results/src/main/java/moobench/tools/results/data/Chart.java @@ -1,27 +1,45 @@ package moobench.tools.results.data; import java.util.ArrayList; +import java.util.Collections; +import java.util.Comparator; import java.util.List; public class Chart { - - final String name; - final List<String> headers = new ArrayList<>(); - final List<ValueTuple> values = new ArrayList<ValueTuple>(); - - public Chart(String name) { - this.name = name; - } - - public String getName() { - return name; - } - - public List<String> getHeaders() { - return headers; - } - - public List<ValueTuple> getValues() { - return values; - } + + final String name; + final List<String> headers = new ArrayList<>(); + final List<ValueTuple> values = new ArrayList<ValueTuple>(); + + public Chart(final String name) { + this.name = name; + } + + public String getName() { + return this.name; + } + + public List<String> getHeaders() { + return this.headers; + } + + public List<ValueTuple> getValues() { + return this.values; + } + + public void sort() { + Collections.sort(this.values, new Comparator<ValueTuple>() { + + @Override + public int compare(final ValueTuple left, final ValueTuple right) { + if (left.getTimestamp() < right.getTimestamp()) { + return -1; + } else if (left.getTimestamp() > right.getTimestamp()) { + return 1; + } else { + return 0; + } + } + }); + } } diff --git a/tools/compile-results/src/main/java/moobench/tools/results/data/ValueTuple.java b/tools/compile-results/src/main/java/moobench/tools/results/data/ValueTuple.java index 905a075..26db567 100644 --- a/tools/compile-results/src/main/java/moobench/tools/results/data/ValueTuple.java +++ b/tools/compile-results/src/main/java/moobench/tools/results/data/ValueTuple.java @@ -4,20 +4,20 @@ import java.util.ArrayList; import java.util.List; public class ValueTuple { - - long timestamp; - - List<Double> values = new ArrayList<>(); - - public ValueTuple(long timestamp) { - this.timestamp = timestamp; - } - - public long getTimestamp() { - return timestamp; - } - - public List<Double> getValues() { - return values; - } + + private final long timestamp; + + List<Double> values = new ArrayList<>(); + + public ValueTuple(final long timestamp) { + this.timestamp = timestamp; + } + + public long getTimestamp() { + return this.timestamp; + } + + public List<Double> getValues() { + return this.values; + } } diff --git a/tools/compile-results/src/main/java/moobench/tools/results/stages/JsonChartSink.java b/tools/compile-results/src/main/java/moobench/tools/results/stages/JsonChartSink.java index 6a9fd5e..296635d 100644 --- a/tools/compile-results/src/main/java/moobench/tools/results/stages/JsonChartSink.java +++ b/tools/compile-results/src/main/java/moobench/tools/results/stages/JsonChartSink.java @@ -28,7 +28,10 @@ public class JsonChartSink extends AbstractConsumerStage<Chart> { final ObjectNode node = mapper.createObjectNode(); final ArrayNode arrayNode = node.putArray("results"); + chart.sort(); + for(final ValueTuple value : chart.getValues()) { + System.err.printf("time %d\n", value.getTimestamp()); final ObjectNode objectNode = mapper.createObjectNode(); for (int i = 0;i < chart.getHeaders().size();i++) { final String name = chart.getHeaders().get(i); -- GitLab