memoizeittf

added suggestion of implementation

9/25/2020 8:09:35 AM

Details

diff --git a/src/main/java/br/ufrgs/inf/prosoft/memoizeittf/MemoizeItTF.java b/src/main/java/br/ufrgs/inf/prosoft/memoizeittf/MemoizeItTF.java
index ab4c44f..ad9a454 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/memoizeittf/MemoizeItTF.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/memoizeittf/MemoizeItTF.java
@@ -6,8 +6,10 @@ import br.ufrgs.inf.prosoft.memoizeittf.adapter.Thresholds;
 import br.ufrgs.inf.prosoft.memoizeittf.facade.Method;
 import br.ufrgs.inf.prosoft.memoizeittf.utils.Methods;
 import java.util.List;
+import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import java.util.stream.Collectors;
 
 public class MemoizeItTF extends MemoizeIt {
 
@@ -48,7 +50,12 @@ public class MemoizeItTF extends MemoizeIt {
 
         LOGGER.log(Level.INFO, "Ranking {0} methods according STpTiC", tfcacheMethods.size());
         tfcacheMethods.sort((method1, method2) -> method2.getBestMetrics().getSavedTimePerTimeInCache().compareTo(method1.getBestMetrics().getSavedTimePerTimeInCache()));
+
         LOGGER.log(Level.INFO, "Printing recommendations for {0} methods", tfcacheMethods.size());
+        this.methods.synchronize();
+        Map<String, br.ufrgs.inf.prosoft.memoizeit.Method> memoizeItMethods = this.methods.getMemoizeitMethods().stream()
+                .collect(Collectors.toMap(key -> key.getName(), value -> value));
+
         tfcacheMethods.forEach(method -> {
             System.out.println(method.getName()
                     + " Occurrences " + method.getOccurrencesSize()
@@ -58,6 +65,7 @@ public class MemoizeItTF extends MemoizeIt {
                     + " Saves " + method.getBestMetrics().getSavedTime()
                     + " Hits " + method.getBestMetrics().getHits()
                     + " Stales " + method.getBestMetrics().getStales());
+            suggestImplementation(memoizeItMethods.get(method.getName()));
         });
     }