summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Shumaker <lukeshu@lukeshu.com>2017-03-12 22:54:33 -0400
committerLuke Shumaker <lukeshu@lukeshu.com>2017-03-12 22:54:33 -0400
commit172d8718805400151a76b8d0f862eab4f8d29a58 (patch)
treed05621d94f034fbfb86c54cada5f53df38fe6cfc
parent8deda5a91ff3de167e80d805e8856a74d661fb9c (diff)
stuff
-rw-r--r--dslog/DseventsReader.java3
-rw-r--r--dslog/DslogReader.java3
-rw-r--r--dslog/Main.java37
-rw-r--r--dslog/PdplogReader.java3
4 files changed, 35 insertions, 11 deletions
diff --git a/dslog/DseventsReader.java b/dslog/DseventsReader.java
index cd77148..1f7afa7 100644
--- a/dslog/DseventsReader.java
+++ b/dslog/DseventsReader.java
@@ -1,11 +1,12 @@
package dslog;
+import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.lang.UnsupportedOperationException;
import java.time.Instant;
-class DseventsReader {
+class DseventsReader implements Closeable {
private final InputStream reader;
public final int version;
diff --git a/dslog/DslogReader.java b/dslog/DslogReader.java
index 0b43682..73d7dc5 100644
--- a/dslog/DslogReader.java
+++ b/dslog/DslogReader.java
@@ -1,5 +1,6 @@
package dslog;
+import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.lang.UnsupportedOperationException;
@@ -7,7 +8,7 @@ import java.time.Duration;
import java.time.Instant;
import java.util.stream.IntStream;
-class DslogReader {
+class DslogReader implements Closeable {
private final InputStream reader;
public final int version;
diff --git a/dslog/Main.java b/dslog/Main.java
index 40851bc..f8a2196 100644
--- a/dslog/Main.java
+++ b/dslog/Main.java
@@ -4,9 +4,10 @@ import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
-import java.util.HashMap;
import java.util.List;
+import java.util.SortedMap;
import java.util.Map;
+import java.util.TreeMap;
class Main {
public static void dslog2csv(String[] args) throws IOException {
@@ -20,9 +21,17 @@ class Main {
}
public static class LogSet {
+ public String name;
public DslogReader dslog;
public DseventsReader dsevents;
public PdplogReader pdplog;
+
+ public String toString() {
+ return name
+ +" "+(dslog == null ? "␕" : dslog.version)
+ +"/"+(dsevents == null ? "␕" : dsevents.version)
+ +"/"+(pdplog == null ? "␕" : pdplog.version);
+ }
}
private static LogSet getSet(Map<String, LogSet> sets, String name) {
@@ -31,6 +40,7 @@ class Main {
set = sets.get(name);
if (set == null) {
set = new LogSet();
+ set.name = name;
sets.put(name, set);
}
}
@@ -39,27 +49,38 @@ class Main {
public static void main(String[] args) throws IOException {
for (String dirname : args) {
- Map<String, LogSet> logsets = new HashMap<String, LogSet>();
+ SortedMap<String, LogSet> logsets = new TreeMap<String, LogSet>();
List<Exception> errs = new ArrayList<Exception>();
Files.list(Paths.get(dirname)).parallel().forEach(filepath->{
try {
String filename = filepath.getFileName().toString();
if (filename.endsWith(".dslog")) {
- String setname = filename.substring(0, filename.lastIndexOf('.'));
- getSet(logsets, setname).dslog = new DslogReader(Files.newInputStream(filepath));
+ try (DslogReader dslog = new DslogReader(Files.newInputStream(filepath))) {
+ String setname = filename.substring(0, filename.lastIndexOf('.'));
+ getSet(logsets, setname).dslog = dslog;
+ }
} else if (filename.endsWith(".dsevents")) {
+ try (DseventsReader dsevents = new DseventsReader(Files.newInputStream(filepath))) {
String setname = filename.substring(0, filename.lastIndexOf('.'));
- getSet(logsets, setname).dsevents = new DseventsReader(Files.newInputStream(filepath));
+ getSet(logsets, setname).dsevents = dsevents;
+ }
} else if (filename.endsWith(".pdplog")) {
- String setname = filename.substring(0, filename.lastIndexOf('.'));
- getSet(logsets, setname).pdplog = new PdplogReader(Files.newInputStream(filepath));
+ try (PdplogReader pdplog = new PdplogReader(Files.newInputStream(filepath))) {
+ String setname = filename.substring(0, filename.lastIndexOf('.'));
+ getSet(logsets, setname).pdplog = pdplog;
+ }
}
} catch (Exception e) {
synchronized (errs) {
- errs.add(new IOException("Could not read file: "+filepath.toString(), e));
+ e = new IOException("Could not read file: "+filepath.toString(), e);
+ errs.add(e);
+ e.printStackTrace();
}
}
});
+ logsets.forEach((k,v)->{
+ System.out.println(v);
+ });
}
}
}
diff --git a/dslog/PdplogReader.java b/dslog/PdplogReader.java
index 0766fe0..3df9c2b 100644
--- a/dslog/PdplogReader.java
+++ b/dslog/PdplogReader.java
@@ -1,10 +1,11 @@
package dslog;
+import java.io.Closeable;
import java.io.IOException;
import java.io.InputStream;
import java.lang.UnsupportedOperationException;
-class PdplogReader {
+class PdplogReader implements Closeable {
private final InputStream reader;
public final int version;