aplcache
Changes
src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/analysis/decision/flowchart/stats/Stats.java 9(+9 -0)
src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/GroupOfOccurrences.java 8(+7 -1)
src/main/java/br/ufrgs/inf/prosoft/adaptivecaching/monitoring/application/metadata/Method.java 2(+1 -1)
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();
+ });
}
}