Skip to content
Snippets Groups Projects
Commit d31772c4 authored by Unknown's avatar Unknown
Browse files

refactoring

parent db112f94
No related branches found
No related tags found
No related merge requests found
...@@ -45,7 +45,7 @@ public class CheckStatusOfHaaS implements Command { ...@@ -45,7 +45,7 @@ public class CheckStatusOfHaaS implements Command {
@Override @Override
public void run() { public void run() {
try { try {
jobManager = new JobManager(getWorkingDirectoryPath(), context); jobManager = new JobManager(getWorkingDirectoryPath());
if (uiService.isHeadless()) { if (uiService.isHeadless()) {
downloadAll(); downloadAll();
} else { } else {
......
...@@ -9,8 +9,6 @@ import java.util.Iterator; ...@@ -9,8 +9,6 @@ import java.util.Iterator;
import java.util.LinkedList; import java.util.LinkedList;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import org.scijava.Context;
import cz.it4i.fiji.haas_java_client.HaaSClient; import cz.it4i.fiji.haas_java_client.HaaSClient;
import cz.it4i.fiji.haas_java_client.JobState; import cz.it4i.fiji.haas_java_client.JobState;
import javafx.beans.value.ObservableValueBase; import javafx.beans.value.ObservableValueBase;
...@@ -24,15 +22,12 @@ public class JobManager { ...@@ -24,15 +22,12 @@ public class JobManager {
private HaaSClient haasClient; private HaaSClient haasClient;
private Context context;
public JobManager(Path workDirectory) throws IOException {
public JobManager(Path workDirectory, Context ctx) throws IOException {
this.context = ctx;
this.workDirectory = workDirectory; this.workDirectory = workDirectory;
context.inject(this);
Files.list(this.workDirectory).filter(p -> Files.isDirectory(p) && Job.isJobPath(p)).forEach(p -> { Files.list(this.workDirectory).filter(p -> Files.isDirectory(p) && Job.isJobPath(p)).forEach(p -> {
try { try {
jobs.add(inject(new Job(p, this::getHaasClient))); jobs.add(new Job(p, this::getHaasClient));
} catch (IOException e) { } catch (IOException e) {
e.printStackTrace(); e.printStackTrace();
} }
...@@ -40,12 +35,6 @@ public class JobManager { ...@@ -40,12 +35,6 @@ public class JobManager {
} }
private Job inject(Job job) {
context.inject(job);
return job;
}
public void startJob(Path path, Collection<Path> files, Progress progress) throws IOException { public void startJob(Path path, Collection<Path> files, Progress progress) throws IOException {
jobs.add(new Job(path, files, this::getHaasClient, progress)); jobs.add(new Job(path, files, this::getHaasClient, progress));
} }
...@@ -72,6 +61,7 @@ public class JobManager { ...@@ -72,6 +61,7 @@ public class JobManager {
return haasClient; return haasClient;
} }
public static class JobInfo extends ObservableValueBase<JobInfo> { public static class JobInfo extends ObservableValueBase<JobInfo> {
private Job job; private Job job;
...@@ -103,13 +93,12 @@ public class JobManager { ...@@ -103,13 +93,12 @@ public class JobManager {
public String getEndTime() { public String getEndTime() {
return getStringFromTimeSafely(job.getEndTime()); return getStringFromTimeSafely(job.getEndTime());
} }
public void downloadData(Progress progress) { public void downloadData(Progress progress) {
job.download(progress); job.download(progress);
fireValueChangedEvent(); fireValueChangedEvent();
} }
public void updateInfo() throws IOException { public void updateInfo() throws IOException {
job.updateState(); job.updateState();
} }
...@@ -120,7 +109,7 @@ public class JobManager { ...@@ -120,7 +109,7 @@ public class JobManager {
} }
private String getStringFromTimeSafely(Calendar time) { private String getStringFromTimeSafely(Calendar time) {
return time!= null ? time.getTime().toString() : "N/A"; return time != null ? time.getTime().toString() : "N/A";
} }
} }
......
package cz.it4i.fiji.haas; package cz.it4i.fiji.haas;
import javax.swing.JDialog;
import javax.swing.WindowConstants; import javax.swing.WindowConstants;
import cz.it4i.fiji.haas.ui.ProgressDialog;
public class ModalDialogs { public class ModalDialogs {
public static ProgressDialog doModal(ProgressDialog dialog) { public static <T extends JDialog>T doModal(T dialog) {
dialog.setModal(true); dialog.setModal(true);
dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE); dialog.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);
new Thread(()->dialog.setVisible(true)).start(); new Thread(()->dialog.setVisible(true)).start();
return dialog; return dialog;
} }
public static CheckStatusOfHaaSWindow doModal(CheckStatusOfHaaSWindow window) {
window.setModal(true);
window.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
new Thread(() -> window.setVisible(true)).start();
return window;
}
} }
...@@ -49,7 +49,7 @@ public class RunWithHaaS implements Command { ...@@ -49,7 +49,7 @@ public class RunWithHaaS implements Command {
@Override @Override
public void run() { public void run() {
try { try {
jobManager = new JobManager(getWorkingDirectoryPath(), context); jobManager = new JobManager(getWorkingDirectoryPath());
jobManager.startJob(getWorkingDirectoryPath(), getContent(dataDirectory), jobManager.startJob(getWorkingDirectoryPath(), getContent(dataDirectory),
ModalDialogs.doModal(new ProgressDialog(getFrame()))); ModalDialogs.doModal(new ProgressDialog(getFrame())));
} catch (IOException e) { } catch (IOException e) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment