From b8c7207a7819eb7f3162cd3748868a6230d21ba3 Mon Sep 17 00:00:00 2001
From: Unknown <petr.bainar@hotmail.com>
Date: Wed, 24 Jan 2018 14:26:07 +0100
Subject: [PATCH] formatStatistics: moving constants into a special file;
 refactoring

---
 .../core/BenchmarkJobManager.java             |  2 +-
 .../haas_spim_benchmark/core/Constants.java   |  4 ++++
 .../core/ResultFileJob.java                   |  1 -
 .../core/ResultFileTask.java                  | 19 +++++++------------
 4 files changed, 12 insertions(+), 14 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 ac88a8b9..f6b5f029 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
@@ -261,7 +261,7 @@ public class BenchmarkJobManager {
 					for (int i = 1; i < columns.length; i++) {
 						values.add(new ResultFileJob(columns[i]));
 					}
-				} else if (!columns[0].equals("jobs #")){
+				} else if (!columns[0].equals("jobs #")) {
 					for (int i = 1; i < columns.length; i++) {
 						ResultFileJob resultFileJob;
 						resultFileJob = values.get(i - 1);
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 0c722e14..65124a7c 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
@@ -11,4 +11,8 @@ public interface Constants {
 	String SPIM_OUTPUT_FILENAME_PATTERN = "spim.outputFilenamePattern";
 	String CONFIG_YAML = "config.yaml";
 	String BENCHMARK_RESULT_FILE = "benchmark_result.csv";
+	
+	String STATISTICS_RESOURCES_MEMORY_USAGE = "resources_used.mem";
+	String STATISTICS_RESOURCES_WALL_TIME = "resources_used.walltime";
+	String STATISTICS_RESOURCES_CPU_PERCENTAGE = "resources_used.cpupercent";
 }
diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileJob.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileJob.java
index eb6f5c4e..f67fee23 100644
--- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileJob.java
+++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileJob.java
@@ -9,7 +9,6 @@ public class ResultFileJob {
 
 	public ResultFileJob(String id) {
 		this.id = id;
-
 	}
 
 	public String getValue(String key) {
diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileTask.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileTask.java
index 8ec16a0d..88767ed9 100644
--- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileTask.java
+++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileTask.java
@@ -1,8 +1,6 @@
 package cz.it4i.fiji.haas_spim_benchmark.core;
 
 import java.util.LinkedList;
-import java.util.function.Function;
-import java.util.stream.Collector;
 import java.util.stream.Collectors;
 
 public class ResultFileTask {
@@ -19,23 +17,20 @@ public class ResultFileTask {
 	}
 
 	public double getAverageMemoryUsage() {
-		return getAverage(str->Double.parseDouble(str), Collectors.averagingDouble(d->d),"resources_used.mem").doubleValue();
+		return getAverage(Constants.STATISTICS_RESOURCES_MEMORY_USAGE);
 	}
 
 	public double getAverageWallTime() {
-		return getAverage("resources_used.walltime");
+		return getAverage(Constants.STATISTICS_RESOURCES_WALL_TIME);
 	}
 
 	public double getAverageCpuPercentage() {
-		return getAverage("resources_used.cpupercent");
-	}
-
-	private double getAverage(String propertyName) {
-		return getAverage(str->Integer.parseInt(str), Collectors.averagingInt(i->i),propertyName).doubleValue();
+		return getAverage(Constants.STATISTICS_RESOURCES_CPU_PERCENTAGE);
 	}
 	
-	private<T> Double getAverage(Function<String, T> valueProvider,Collector<T,?,Double> collector,String propertyName) {
-		return jobs.stream().map(job -> job.getValue(propertyName)).map(memStr -> valueProvider.apply(memStr))
-				.collect(collector);
+	private Double getAverage(String propertyName) {
+		return jobs.stream().map(job -> job.getValue(propertyName))
+				.map(memStr -> Double.parseDouble(memStr))
+				.collect(Collectors.averagingDouble(d->d)).doubleValue();
 	}
 }
\ No newline at end of file
-- 
GitLab