diff --git a/benchmark-collector/src/it4i/fiji/benchmark_extractor/Extractor.java b/benchmark-collector/src/it4i/fiji/benchmark_extractor/Extractor.java index 9b9917692d3446e1bb74947a48629294981a455e..d11356ded99dd9bd09c87a1e918d275a4c690eb9 100644 --- a/benchmark-collector/src/it4i/fiji/benchmark_extractor/Extractor.java +++ b/benchmark-collector/src/it4i/fiji/benchmark_extractor/Extractor.java @@ -6,14 +6,12 @@ import java.io.OutputStream; import java.io.PrintWriter; import java.nio.file.Files; import java.nio.file.Path; -import java.text.NumberFormat; import java.time.Duration; import java.time.LocalTime; import java.time.format.DateTimeFormatter; import java.util.HashMap; import java.util.LinkedList; import java.util.List; -import java.util.Locale; import java.util.Map; import java.util.Set; import java.util.function.Function; @@ -110,11 +108,12 @@ public class Extractor { } private Function<String, String> getConversion(String format) { - Locale l =new Locale("cs"); - NumberFormat nf = NumberFormat.getNumberInstance(l); +// Locale l =new Locale("cs"); +// NumberFormat nf = NumberFormat.getNumberInstance(l); switch(format) { case "kb": - return str->nf.format(Double.parseDouble(str.replace("kb", ""))/1024.); + //return str->nf.format(Double.parseDouble(str.replace("kb", ""))/1024.); + return str -> "" + Double.parseDouble(str.replace("kb", ""))/1024.; case "tm": return str-> Duration.between(LocalTime.of(0, 0, 0), LocalTime.parse(str, DateTimeFormatter.ofPattern("H:m:s"))).getSeconds() + ""; } diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ProgressDialog.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ProgressDialog.java index 6b7b453d5c418640bf3c111a0b2a0e75f7ccb5e0..93ad84c8caeaf3a21849ad29d8b5a489ac80af6a 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ProgressDialog.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ProgressDialog.java @@ -49,10 +49,14 @@ public class ProgressDialog extends JDialog implements Progress { public ProgressDialog(final Window owner) { this(owner, null); } + + public ProgressDialog(Window owner, String title) { + this(owner, title, null); + } - public ProgressDialog(final Window owner, final String title) { + public ProgressDialog(final Window owner, final String title, Runnable cancelableAction) { super(owner, title); - + boolean canCancel = cancelableAction != null; final Container root = getContentPane(); root.setLayout(new BoxLayout(root, BoxLayout.Y_AXIS)); progress = new JProgressBar(); @@ -77,9 +81,12 @@ public class ProgressDialog extends JDialog implements Progress { public void actionPerformed(final ActionEvent e) { canceled = true; ProgressDialog.this.dispose(); + cancelableAction.run(); } }); - // buttons.add(cancel); + if(canCancel) { + buttons.add(cancel); + } buttons.setMaximumSize(buttons.getMinimumSize()); root.add(buttons); diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/ManageSPIMBenchmark.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/ManageSPIMBenchmark.java index 7dd54e7f9983829f82270d4bee2c4853bd25962c..9f4ee84015e440a668e12371e454a49405016087 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/ManageSPIMBenchmark.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/ManageSPIMBenchmark.java @@ -86,7 +86,7 @@ public class ManageSPIMBenchmark implements Command { final ImageJ ij = new ImageJ(); ij.launch(args); - ij.command().run(ManageSPIMBenchmark.class, true); + //ij.command().run(ManageSPIMBenchmark.class, true); } } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMController.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMController.java index 78a9ef0d075555987e34e8cbef73148e33d74650..d1b196b3d8d7145cfe10c3b97a0ba08acc209366 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMController.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMController.java @@ -91,9 +91,9 @@ public class BenchmarkSPIMController implements FXFrame.Controller { private void initMenu() { TableViewContextMenu<Job> menu = new TableViewContextMenu<>(jobs); - menu.addItem("Create job", x -> executeJobActionAsync("Creating job", p -> manager.createJob()), j -> true); + menu.addItem("Create job", x -> executeJobActionAsync("Creating job", false, p -> manager.createJob()), j -> true); menu.addItem("Start job", job -> executeJobActionAsync("Starting job", p -> job.startJob(p)), - job -> notNullValue(job, j -> j.getState() == JobState.Configuring)); + job -> notNullValue(job, j -> j.getState() == JobState.Configuring || j.getState() == JobState.Finished)); menu.addItem("Download result", job -> executeJobActionAsync("Downloading data", p -> job.downloadData(p)), job -> notNullValue(job, j -> EnumSet.of(JobState.Failed, JobState.Finished).contains(j.getState()) && !j.downloaded())); @@ -118,15 +118,21 @@ public class BenchmarkSPIMController implements FXFrame.Controller { log.error(e.getMessage(), e); }}); } - + private void executeJobActionAsync(String title, P_JobAction action) { + executeJobActionAsync(title, true, action); + } + + private void executeJobActionAsync(String title, boolean update, P_JobAction action) { executorService.execute(() -> { try { ProgressDialog dialog = ModalDialogs.doModal(new ProgressDialog(root, title), WindowConstants.DO_NOTHING_ON_CLOSE); action.doAction(dialog); dialog.done(); - updateJobs(); + if(update) { + updateJobs(); + } } catch (IOException e) { log.error(e.getMessage(), e); }