From 17365c1bf397423e4973f5b431bea44bf199076a Mon Sep 17 00:00:00 2001 From: Luke Shumaker Date: Tue, 14 Mar 2017 00:46:04 -0400 Subject: match identification --- dslog/LogDir.java | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 dslog/LogDir.java (limited to 'dslog/LogDir.java') diff --git a/dslog/LogDir.java b/dslog/LogDir.java new file mode 100644 index 0000000..d31d3a8 --- /dev/null +++ b/dslog/LogDir.java @@ -0,0 +1,39 @@ +package dslog; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.SortedMap; +import java.util.TreeMap; + +public class LogDir { + private static LogSet getSet(Map sets, String filename) { + String setname = filename.substring(0, filename.lastIndexOf('.')); + LogSet set; + set = sets.get(setname); + if (set == null) { + set = new LogSet(setname); + sets.put(set.name, set); + } + return set; + } + public static SortedMap opendir(String dirname) throws IOException { + SortedMap logsets = new TreeMap(); + List errs = new ArrayList(); + Files.list(Paths.get(dirname)).forEach(filepath->{ + String filename = filepath.getFileName().toString(); + if (filename.endsWith(".dslog")) { + getSet(logsets, filename).dslogPath = filepath; + } else if (filename.endsWith(".dsevents")) { + getSet(logsets, filename).dseventsPath = filepath; + } else if (filename.endsWith(".pdplog")) { + getSet(logsets, filename).pdplogPath = filepath; + } + }); + return logsets; + } +} -- cgit v1.2.3