From deff6f185df476066e35715f7254b4f52d0cd19f Mon Sep 17 00:00:00 2001
From: Reiner Jung <reiner.jung@email.uni-kiel.de>
Date: Wed, 14 Sep 2022 09:59:42 +0200
Subject: [PATCH] Added sorting to log appender.

---
 .../tools/results/data/ExperimentLog.java      | 18 ++++++++++++++++++
 .../tools/results/stages/LogAppenderStage.java |  1 +
 2 files changed, 19 insertions(+)

diff --git a/tools/compile-results/src/main/java/moobench/tools/results/data/ExperimentLog.java b/tools/compile-results/src/main/java/moobench/tools/results/data/ExperimentLog.java
index f8f3b90..1aa2bc0 100644
--- a/tools/compile-results/src/main/java/moobench/tools/results/data/ExperimentLog.java
+++ b/tools/compile-results/src/main/java/moobench/tools/results/data/ExperimentLog.java
@@ -17,6 +17,8 @@
 package moobench.tools.results.data;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 public class ExperimentLog {
@@ -39,4 +41,20 @@ public class ExperimentLog {
     public void setExperiments(final List<Experiment> experiments) {
         this.experiments = experiments;
     }
+
+    public void sort() {
+	    Collections.sort(this.experiments, new Comparator<Experiment>() {
+	
+	        @Override
+	        public int compare(final Experiment left, final Experiment 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/stages/LogAppenderStage.java b/tools/compile-results/src/main/java/moobench/tools/results/stages/LogAppenderStage.java
index e1c4e9e..9ecfee9 100644
--- a/tools/compile-results/src/main/java/moobench/tools/results/stages/LogAppenderStage.java
+++ b/tools/compile-results/src/main/java/moobench/tools/results/stages/LogAppenderStage.java
@@ -40,6 +40,7 @@ public class LogAppenderStage extends AbstractConsumerStage<ExperimentLog> {
 	@Override
 	protected void onTerminating() {
 		for (ExperimentLog experimentLog : logs.values()) {
+			experimentLog.sort();
 			this.outputPort.send(experimentLog);
 		}
 		super.onTerminating();
-- 
GitLab