From 84afddea8f5e98b3b4e176597c946f3ce8fe5f84 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20Ko=C5=BEusznik?= <jan@kozusznik.cz>
Date: Tue, 19 Jun 2018 12:46:09 +0200
Subject: [PATCH] fix:iss1098 - update dashboard

---
 .../ui/ObservableTaskRegistry.java                  | 13 ++++++++++++-
 .../ui/SPIMPipelineProgressViewController.java      |  2 +-
 2 files changed, 13 insertions(+), 2 deletions(-)

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 ff8cf0ba..7625777e 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 1a74b7a8..d98c6852 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));
-- 
GitLab