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; } }