tfcache

Details

diff --git a/src/main/java/br/ufrgs/inf/prosoft/tfcache/Pareto.java b/src/main/java/br/ufrgs/inf/prosoft/tfcache/Pareto.java
index 1e4e350..50e96cd 100755
--- a/src/main/java/br/ufrgs/inf/prosoft/tfcache/Pareto.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/tfcache/Pareto.java
@@ -45,9 +45,7 @@ public class Pareto {
   }
 
   public synchronized void addIfPareto(Metrics metrics) {
-    if (metrics.getSavedTime() == 0) {
-      return;
-    }
+    if (metrics.getSavedTime() == 0) return;
     savedTimeHasMetrics.merge(metrics.getSavedTime(), metrics, (existing, incoming) -> existing.getIdleTime() < incoming.getIdleTime() ? existing : incoming);
   }
 
@@ -60,6 +58,7 @@ public class Pareto {
   }
 
   public Pareto getNormalised() {
+    if (savedTimeHasMetrics.isEmpty()) return this;
     double minSavedTime = values().stream().mapToDouble(Metrics::getSavedTime).min().orElseThrow();
     double maxSavedTime = values().stream().mapToDouble(Metrics::getSavedTime).max().orElseThrow();
     double distanceSavedTime = maxSavedTime - minSavedTime;
@@ -87,15 +86,9 @@ public class Pareto {
   }
 
   private Metrics getBestMetrics(double percentageObjectiveSavedTime, double percentageObjectiveIdleTime) {
-    if (percentageObjectiveSavedTime < 0 || percentageObjectiveSavedTime > 1) {
-      throw new RuntimeException("invalid objective saved time");
-    }
-    if (percentageObjectiveIdleTime < 0 || percentageObjectiveIdleTime > 1) {
-      throw new RuntimeException("invalid objective idle time");
-    }
-    if (savedTimeHasMetrics.isEmpty()) {
-      return new Metrics();
-    }
+    if (percentageObjectiveSavedTime < 0 || percentageObjectiveSavedTime > 1) throw new RuntimeException("invalid objective saved time");
+    if (percentageObjectiveIdleTime < 0 || percentageObjectiveIdleTime > 1) throw new RuntimeException("invalid objective idle time");
+    if (savedTimeHasMetrics.isEmpty()) return new Metrics();
     double minIdleTime = values().stream().mapToDouble(Metrics::getIdleTime).min().orElseThrow() * percentageObjectiveIdleTime;
     double maxSavedTime = values().stream().mapToDouble(Metrics::getSavedTime).max().orElseThrow() * percentageObjectiveSavedTime;
     return values().stream().min(Comparator.comparingDouble(it -> it.calculateEuclideanDistance(maxSavedTime, minIdleTime))).orElseThrow();