From ad9ace9eeb100c1617387ccbd4696bdf0d63c1bf Mon Sep 17 00:00:00 2001 From: Unknown <petr.bainar@hotmail.com> Date: Mon, 22 Jan 2018 16:08:25 +0100 Subject: [PATCH] formatStatistics: adding a try/catch block --- .../core/BenchmarkJobManager.java | 38 ++++++++++++++----- 1 file changed, 28 insertions(+), 10 deletions(-) diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java index 10183f09..dbadb50e 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java @@ -2,6 +2,7 @@ package cz.it4i.fiji.haas_spim_benchmark.core; import java.io.IOException; import java.io.InputStream; +import java.nio.file.InvalidPathException; import java.nio.file.Path; import java.nio.file.Paths; import java.util.Arrays; @@ -185,30 +186,47 @@ public class BenchmarkJobManager { } - private Predicate<String> downloadFinishedData(String filePattern) { + private static Predicate<String> downloadFinishedData(String filePattern) { return name -> { - Path p = Paths.get(name); - String fileName = p.getFileName().toString(); + Path path = getPathSafely(name); + if (path == null) + return false; + + String fileName = path.getFileName().toString(); return fileName.startsWith(filePattern) && fileName.endsWith("h5") || fileName.equals(filePattern + ".xml") || fileName.equals("benchmark_result.csv"); }; } - static private Predicate<String> downloadStatistics() { + private static Predicate<String> downloadStatistics() { return name -> { - Path p = Paths.get(name); - String fileName = p.getFileName().toString(); + Path path = getPathSafely(name); + if (path == null) + return false; + + String fileName = path.getFileName().toString(); return fileName.equals("benchmark_result.csv"); }; } - private Predicate<String> downloadFailedData() { + private static Predicate<String> downloadFailedData() { return name -> { - Path p = Paths.get(name); - return p.getFileName().toString().startsWith("snakejob.") - || p.getParent().getFileName().toString().equals("logs"); + Path path = getPathSafely(name); + if (path == null) + return false; + + return path.getFileName().toString().startsWith("snakejob.") + || path.getParent().getFileName().toString().equals("logs"); }; } + + private static Path getPathSafely(String name) { + try { + return Paths.get(name); + } catch(InvalidPathException ex) { + return null; + } + } private static Settings constructSettingsFromParams(BenchmarkSPIMParameters params) { // TODO Auto-generated method stub -- GitLab