From 172d8718805400151a76b8d0f862eab4f8d29a58 Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Sun, 12 Mar 2017 22:54:33 -0400 Subject: stuff --- dslog/DseventsReader.java | 3 ++- dslog/DslogReader.java | 3 ++- dslog/Main.java | 37 +++++++++++++++++++++++++++++-------- dslog/PdplogReader.java | 3 ++- 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 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 logsets = new HashMap(); + SortedMap logsets = new TreeMap(); List errs = new ArrayList(); 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; -- cgit v1.2.3