From 51f09239717b5a91a1b15bf6f7c31210ca4e3059 Mon Sep 17 00:00:00 2001
From: Petr Bainar <petr.bainar@hotmail.com>
Date: Wed, 31 Jan 2018 14:13:07 +0100
Subject: [PATCH] iss1011: implementing Task sorting

---
 .../fiji/haas_spim_benchmark/core/BenchmarkJobManager.java  | 6 ++++++
 .../cz/it4i/fiji/haas_spim_benchmark/core/Constants.java    | 5 +++--
 2 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java
index 3f636d93..0d186a57 100644
--- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java
+++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java
@@ -14,6 +14,8 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Calendar;
 import java.util.Collection;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.LinkedList;
 import java.util.List;
 import java.util.Map;
@@ -206,6 +208,10 @@ public class BenchmarkJobManager {
 				break;
 			}
 			scanner.close();
+			
+			// Order tasks chronologically
+			List<String> chronologicList = Constants.STATISTICS_TASK_NAME_MAP.keySet().stream().collect(Collectors.toList());
+			Collections.sort(tasks, Comparator.comparingInt(task -> chronologicList.indexOf(task.getDescription())));
 		}
 		
 		private void setDownloaded(boolean b) {
diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Constants.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Constants.java
index 2dcdc852..9ecfeb47 100644
--- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Constants.java
+++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Constants.java
@@ -1,6 +1,6 @@
 package cz.it4i.fiji.haas_spim_benchmark.core;
 
-import java.util.HashMap;
+import java.util.LinkedHashMap;
 import java.util.Map;
 
 public interface Constants {
@@ -22,7 +22,7 @@ public interface Constants {
 	String STATISTICS_RESOURCES_WALL_TIME = "resources_used.walltime";
 	String STATISTICS_RESOURCES_CPU_PERCENTAGE = "resources_used.cpupercent";
 	
-	Map<String, String> STATISTICS_TASK_NAME_MAP = new HashMap<String, String>() {
+	Map<String, String> STATISTICS_TASK_NAME_MAP = new LinkedHashMap<String, String>() {
 		private static final long serialVersionUID = 1L;
 	{
 		put("define_xml_tif", "Define dataset");
@@ -36,6 +36,7 @@ public interface Constants {
 		put("define_output", "Define output");
 		put("hdf5_xml_output", "Define hdf5 output");
 		put("resave_hdf5_output", "Resave output to hdf5");
+		put("done", "Done");
 	}};
 	String STATISTICS_SUMMARY_FILENAME = "summary.csv";
 }
-- 
GitLab