aplcache

Details

diff --git a/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/decision/flowchart/stats/Stats.java b/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/decision/flowchart/stats/Stats.java
index 553e117..28d8b3d 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/decision/flowchart/stats/Stats.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/decision/flowchart/stats/Stats.java
@@ -104,4 +104,13 @@ public class Stats {
         return sameOccurrences - amountOfIdentifiedSameOccurences;
     }
 
+    @Override
+    public String toString() {
+        return "{"
+                + "\"hitRatio\":" + getHitRatio() + ","
+                + "\"missRatio\":" + getMissRatio() + ","
+                + "\"shareability\":" + getShareability()
+                + "}";
+    }
+
 }
diff --git a/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/GroupOfOccurrences.java b/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/GroupOfOccurrences.java
index c229a9a..dc6c93e 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/GroupOfOccurrences.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/GroupOfOccurrences.java
@@ -19,8 +19,10 @@ public class GroupOfOccurrences {
 
     private final Stats stats;
     private final List<Occurrence> occurrences;
+    private final String parameters;
 
-    public GroupOfOccurrences() {
+    public GroupOfOccurrences(String parameters) {
+        this.parameters = parameters;
         this.stats = new Stats();
         this.occurrences = new ArrayList<>();
     }
@@ -33,6 +35,10 @@ public class GroupOfOccurrences {
         this.occurrences.add(occurrence);
     }
 
+    public String getParameters() {
+        return parameters;
+    }
+
     public int getOccurrencesSize() {
         return this.occurrences.size();
     }
diff --git a/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/Method.java b/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/Method.java
index 6314862..2f174ba 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/Method.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/Method.java
@@ -71,7 +71,7 @@ public class Method {
                     try {
                         groupByParameter.get(parameters).addOccurrence(occurrence);
                     } catch (Exception e) {
-                        GroupOfOccurrences groupOfOccurrences = new GroupOfOccurrences();
+                        GroupOfOccurrences groupOfOccurrences = new GroupOfOccurrences(parameters);
                         groupOfOccurrences.addOccurrence(occurrence);
                         groupByParameter.put(parameters, groupOfOccurrences);
                     }
diff --git a/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/OccurrenceReference.java b/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/OccurrenceReference.java
index 2004623..be8eeb7 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/OccurrenceReference.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/OccurrenceReference.java
@@ -5,8 +5,10 @@
  */
 package br.ufrgs.inf.prosoft.adaptivecaching.monitoring.application.metadata;
 
-import br.ufrgs.inf.prosoft.trace.TraceConcrete;
+import br.ufrgs.inf.prosoft.trace.Parameter;
+import br.ufrgs.inf.prosoft.trace.Return;
 import br.ufrgs.inf.prosoft.trace.reader.Traces;
+import java.util.List;
 import java.util.stream.Collectors;
 
 /**
@@ -24,8 +26,8 @@ public class OccurrenceReference extends Occurrence {
 
     @Override
     public Object[] getParameters() {
-        TraceConcrete traceConcrete = Traces.getTraceConcrete(index);
-        return traceConcrete.getParameters().stream()
+        List<Parameter> parameters = Traces.getTraceParameter(this.index);
+        return parameters.stream()
                 .map(trace -> trace.getData())
                 .collect(Collectors.toList())
                 .toArray();
@@ -33,7 +35,7 @@ public class OccurrenceReference extends Occurrence {
 
     @Override
     public Object getReturnValue() {
-        TraceConcrete traceConcrete = Traces.getTraceConcrete(index);
-        return traceConcrete.getReturn().getData();
+        Return returnValue = Traces.getTraceReturn(this.index);
+        return returnValue == null ? null : returnValue.getData();
     }
 }
diff --git a/src/main/java/br/ufrgs/inf/prosoft/approachescomparison/adapter/Main.java b/src/main/java/br/ufrgs/inf/prosoft/approachescomparison/adapter/Main.java
index 13bfe64..2f29ee8 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/approachescomparison/adapter/Main.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/approachescomparison/adapter/Main.java
@@ -38,5 +38,14 @@ public class Main {
         flowchartWorkFlow.setMethods(methods);
         logger.log(Level.INFO, "Filtering cacheable methods");
         flowchartWorkFlow.filterCacheableInputs();
+        methods.forEach(method -> {
+            System.out.println(method);
+            method.getGroupsOfOccurrences().forEach(group -> {
+                System.out.println("parameters: " + group.getParameters());
+                System.out.println("stats: " + group.getStats());
+                System.out.println();
+            });
+            System.out.println();
+        });
     }
 }