diff --git a/src/main/java/br/ufrgs/inf/prosoft/memoizeit/Main.java b/src/main/java/br/ufrgs/inf/prosoft/memoizeit/Main.java
index 2147a6e..810b54d 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/memoizeit/Main.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/memoizeit/Main.java
@@ -29,8 +29,7 @@ public class Main {
System.setProperty("java.util.logging.SimpleFormatter.format", "[%1$tF %1$tT+%1$tL] [%4$-7s] [MemoizeIt] %5$s %n");
if (args.length < 2) {
- System.err.println("--trace=<TracePath> --callgraph=<CallGraphPath>");
- System.err.println("--trace=<TracePath> --callgraph=<CallGraphPath> [--mode=<complete|hashed|partial>] [--kernel=<iterative|exhaustive>]");
+ System.err.println("--trace=<TracePath> --callgraph=<CallGraphPath> [--mode=<complete|hashed|partial>] [--kernel=<iterative|exhaustive>] [--window=<windowSize>] [--shift=<shiftTime>]");
System.exit(1);
}
@@ -68,12 +67,24 @@ public class Main {
LOGGER.log(Level.INFO, "Using default kernel: {0}", kernel);
}
+ Long window = null;
+ try {
+ window = Long.valueOf(arguments.get("window"));
+ } catch (NumberFormatException ex) {
+ }
+ Long shift = null;
+ try {
+ shift = Long.valueOf(arguments.get("shift"));
+ } catch (NumberFormatException ex) {
+ }
+
LOGGER.log(Level.INFO, "Reading callgraph");
Graph<String> graph = CallGraphReader.parseFile(callGraphPath);
LOGGER.log(Level.INFO, "Reading traces");
- List<Trace> traces = TraceReader.parseFile(tracePath, Mode.valueOf(mode.toUpperCase()));
- LOGGER.log(Level.INFO, "Grouping methods");
+ List<Trace> traces = TraceReader.parseFile(tracePath, Mode.valueOf(mode.toUpperCase()), window, shift);
+ LOGGER.log(Level.INFO, "Grouping {0} traces by methods", traces.size());
List<Method> methods = TraceReader.groupByMethods(traces);
+ LOGGER.log(Level.INFO, "grouped traces into {1} methods", methods.size());
MemoizeIt memoizeIt = new MemoizeIt();
memoizeIt.setCallGraph(graph);
memoizeIt.setMethods(methods);