trace

fixed arguments and added truncate

5/19/2019 5:39:18 AM

Details

diff --git a/src/main/java/br/ufrgs/inf/prosoft/trace/reader/TraceReader.java b/src/main/java/br/ufrgs/inf/prosoft/trace/reader/TraceReader.java
index 8830306..689e32a 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/trace/reader/TraceReader.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/trace/reader/TraceReader.java
@@ -33,7 +33,8 @@ import java.util.stream.Stream;
  */
 public class TraceReader {
 
-    private static final Logger logger = Logger.getLogger(TraceReader.class.getName());
+    private static final boolean TRACER_VERBOSE = System.getenv("TRACER_VERBOSE") != null && System.getenv("TRACER_VERBOSE").equals("true");
+    private static final Logger LOGGER = Logger.getLogger(TraceReader.class.getName());
 
     public static List<Trace> partiallyParseFile(String path) {
         Traces.PATH = path;
@@ -74,7 +75,7 @@ public class TraceReader {
     private static List<Trace> parseFile(String path, Mode mode) {
         List<Trace> traces = new ArrayList<>();
         try {
-            logger.log(Level.INFO, "Parsing {0} traces", getLineCount(path));
+            LOGGER.log(Level.INFO, "Parsing {0} traces", getLineCount(path));
             try (Stream<String> lines = Files.lines(Paths.get(path))) {
                 Gson gson = new GsonBuilder().setLenient().create();
                 lines.forEach(new Consumer<String>() {
@@ -116,11 +117,7 @@ public class TraceReader {
                                     break;
                             }
                             traces.add(trace);
-                            String verbose = System.getenv("TRACER_VERBOSE");
-                            if (verbose == null) {
-                                verbose = "false";
-                            }
-                            if (verbose.equals("true")) {
+                            if (TRACER_VERBOSE) {
                                 System.out.print(".");
                                 System.out.flush();
                                 if (index != 0 && index % 100 == 0) {
@@ -131,7 +128,7 @@ public class TraceReader {
                             if (line.length() > 200) {
                                 line = line.substring(0, 200);
                             }
-                            logger.log(Level.INFO, "Malformed Trace {0}: {1}", new java.lang.Object[]{index, line});
+                            LOGGER.log(Level.INFO, "Malformed Trace {0}: {1}", new java.lang.Object[]{index, line});
                         } finally {
                             index++;
                         }
@@ -140,9 +137,8 @@ public class TraceReader {
                 System.out.println();
             }
         } catch (IOException ex) {
-            logger.log(Level.SEVERE, null, ex);
+            LOGGER.log(Level.SEVERE, null, ex);
         }
         return traces;
     }
-
 }
diff --git a/src/main/java/br/ufrgs/inf/prosoft/trace/tools/DiffTraces.java b/src/main/java/br/ufrgs/inf/prosoft/trace/tools/DiffTraces.java
index ae14eac..6815f4b 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/trace/tools/DiffTraces.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/trace/tools/DiffTraces.java
@@ -33,28 +33,25 @@ public class DiffTraces {
             Iterator<String> iteratorSecond = linesSecond.iterator();
             int index = 0;
             Gson gson = new Gson();
-            while (true) {
+            while (iteratorFirst.hasNext() && iteratorSecond.hasNext()) {
                 String lineFirst = iteratorFirst.next();
                 String lineSecond = iteratorSecond.next();
-                if (lineFirst == null || lineSecond == null) {
-                    break;
-                }
                 try {
                     Trace traceFirst = gson.fromJson(lineFirst, TraceConcrete.class);
                     Trace traceSecond = gson.fromJson(lineSecond, TraceConcrete.class);
                     if (!traceFirst.getName().equals(traceSecond.getName())) {
-                        System.out.println(index + " < " + traceFirst.getName());
-                        System.out.println(index + " > " + traceSecond.getName());
+                        System.out.println(index + " n < " + traceFirst.getName());
+                        System.out.println(index + " n > " + traceSecond.getName());
                         continue;
                     }
                     if (!traceFirst.getParameters().toString().equals(traceSecond.getParameters().toString())) {
-                        System.out.println(index + " < " + traceFirst.getParameters().toString());
-                        System.out.println(index + " > " + traceSecond.getParameters().toString());
+                        System.out.println(index + " p < " + truncate(traceFirst.getParameters().toString()));
+                        System.out.println(index + " p > " + truncate(traceSecond.getParameters().toString()));
                         continue;
                     }
                     if (!traceFirst.getReturn().toString().equals(traceSecond.getReturn().toString())) {
-                        System.out.println(index + " < " + traceFirst.getReturn().toString());
-                        System.out.println(index + " > " + traceSecond.getReturn().toString());
+                        System.out.println(index + " r < " + truncate(traceFirst.getReturn().toString()));
+                        System.out.println(index + " r > " + truncate(traceSecond.getReturn().toString()));
                         continue;
                     }
                     System.out.print(".");
@@ -63,9 +60,7 @@ public class DiffTraces {
                         System.out.println();
                     }
                 } catch (JsonSyntaxException e) {
-                    if (lineFirst.length() > 2000) {
-                        lineFirst = lineFirst.substring(0, 2000);
-                    }
+                    truncate(lineFirst);
                     logger.log(Level.INFO, "Malformed Trace {0}: {1}", new java.lang.Object[]{index, lineFirst});
                 } finally {
                     index++;
@@ -75,4 +70,8 @@ public class DiffTraces {
             logger.log(Level.SEVERE, null, ex);
         }
     }
+
+    private static String truncate(String string) {
+        return string.length() > 2000 ? string.substring(0, 2000) : string;
+    }
 }
diff --git a/src/main/java/br/ufrgs/inf/prosoft/trace/tools/Main.java b/src/main/java/br/ufrgs/inf/prosoft/trace/tools/Main.java
index 2616ed0..337257d 100644
--- a/src/main/java/br/ufrgs/inf/prosoft/trace/tools/Main.java
+++ b/src/main/java/br/ufrgs/inf/prosoft/trace/tools/Main.java
@@ -27,8 +27,8 @@ public class Main {
             System.exit(1);
         }
         tool = args[0];
+        firstPath = args[1];
         if (tool.equals("check")) {
-            firstPath = args[1];
             CheckTraces.check(firstPath);
         } else {
             if (args.length < 3) {