diff --git a/pdb-ui/src/main/java/org/lucares/pdbui/CsvToEntryTransformer.java b/pdb-ui/src/main/java/org/lucares/pdbui/CsvToEntryTransformer.java index 9b56476..c4cd1ff 100644 --- a/pdb-ui/src/main/java/org/lucares/pdbui/CsvToEntryTransformer.java +++ b/pdb-ui/src/main/java/org/lucares/pdbui/CsvToEntryTransformer.java @@ -26,9 +26,13 @@ public class CsvToEntryTransformer implements LineToEntryTransformer { public Optional toEntry(final String line) throws IOException { Optional result; try { - + // For future reference: + // Pattern.split is actually faster than StringUtils.splitPreserveAll when the + // test runs longer. + // It seems that the JIT is compiling StringUtils.splitPreserveAll earlier, but + // Pattern.split is ending up getting the faster code in the long run. final String[] columns = splitPattern.split(line); - if (columns.length == headers.length && !columns[0].startsWith("@")) { + if (columns.length == headers.length && columns[0].length() > 0 && columns[0].charAt(0) != '@') { result = createEntry(columns); @@ -52,7 +56,6 @@ public class CsvToEntryTransformer implements LineToEntryTransformer { switch (headers[i]) { case "@timestamp": epochMilli = fastISODateParser.parseAsEpochMilli(columns[i]); - ; break; case "duration": duration = Long.parseLong(columns[i]);