diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/ObservableTaskRegistry.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/ObservableTaskRegistry.java index ff8cf0baa03a1c45e74999acb7444293fb920c79..7625777ea5d25d96d4d2a093ebc121e249320b07 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/ObservableTaskRegistry.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/ObservableTaskRegistry.java @@ -1,22 +1,33 @@ package cz.it4i.fiji.haas_spim_benchmark.ui; import java.util.function.Consumer; +import java.util.function.Supplier; import java.util.stream.Collectors; import cz.it4i.fiji.haas.ui.ObservableValueRegistry; import cz.it4i.fiji.haas.ui.UpdatableObservableValue; import cz.it4i.fiji.haas.ui.UpdatableObservableValue.UpdateStatus; import cz.it4i.fiji.haas_java_client.JobState; +import cz.it4i.fiji.haas_spim_benchmark.core.BenchmarkJobManager.BenchmarkJob; import cz.it4i.fiji.haas_spim_benchmark.core.Task; import cz.it4i.fiji.haas_spim_benchmark.core.TaskComputation; public class ObservableTaskRegistry extends ObservableValueRegistry<Task, UpdatableObservableValue<Task>> { - public ObservableTaskRegistry(Consumer<Task> removeConsumer) { + private final Supplier<BenchmarkJob> jobSupplier; + + public ObservableTaskRegistry(Supplier<BenchmarkJob> jobSupplier,Consumer<Task> removeConsumer) { super(t -> update(t), t -> t.getComputations().stream().map(tc -> tc.getState()).collect(Collectors.toList()), removeConsumer); + this.jobSupplier = jobSupplier; } + @Override + public void update() { + jobSupplier.get().getTasks(); + super.update(); + } + @Override protected UpdatableObservableValue<Task> constructObservableValue(Task task) { return new UpdatableObservableValue<Task>(task, getUpdateFunction(), getStateProvider()); diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java index 1a74b7a85a29e83d29b4916d03ba7b2e205dad15..d98c6852f23dc2d80e2d7e0a0e5b322a02d53927 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java @@ -118,7 +118,7 @@ public class SPIMPipelineProgressViewController extends BorderPane implements Cl JavaFXRoutines.initRootAndController("SPIMPipelineProgressView.fxml", this); tasks.setPrefWidth(PREFERRED_WIDTH); timer = new Timer(); - registry = new ObservableTaskRegistry(task -> tasks.getItems().remove(registry.get(task))); + registry = new ObservableTaskRegistry(()-> job, task -> tasks.getItems().remove(registry.get(task))); TableViewContextMenu<ObservableValue<Task>> menu = new TableViewContextMenu<ObservableValue<Task>>(this.tasks); menu.addItem("Open view", (task, columnIndex) -> proof(task, columnIndex), (x, columnIndex) -> check(x, columnIndex));