diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/HaaSOutputHolder.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/HaaSOutputHolder.java new file mode 100644 index 0000000000000000000000000000000000000000..5c8da0e69ed27d513448e98bb099246daf27d291 --- /dev/null +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/HaaSOutputHolder.java @@ -0,0 +1,27 @@ +package cz.it4i.fiji.haas; + +import java.util.Arrays; + +import cz.it4i.fiji.haas.JobManager.JobSynchronizableFile; +import cz.it4i.fiji.haas_java_client.SynchronizableFileType; + +public class HaaSOutputHolder { + private StringBuilder result = new StringBuilder(); + private HaaSOutputSource source; + private SynchronizableFileType type; + public HaaSOutputHolder(HaaSOutputSource source, SynchronizableFileType typeForHold) { + super(); + this.source = source; + this.type = typeForHold; + } + + public String getActualOutput () { + updateData(); + return result.toString(); + } + + private void updateData() { + JobSynchronizableFile file = new JobSynchronizableFile(type, result.length()); + result.append(source.getOutput(Arrays.asList(file)).get(0)); + } +} diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/HaaSOutputSource.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/HaaSOutputSource.java new file mode 100644 index 0000000000000000000000000000000000000000..904258f0f2acfef95184b07073b82823b68b750e --- /dev/null +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/HaaSOutputSource.java @@ -0,0 +1,9 @@ +package cz.it4i.fiji.haas; + +import java.util.List; + +import cz.it4i.fiji.haas.JobManager.JobSynchronizableFile; + +public interface HaaSOutputSource { + public List<String> getOutput(List<JobSynchronizableFile> files); +} 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 4fb7751e8b2a7ded9cfc2725c5e3be78623d4059..3b72058861b47d651f7e1a1f8ee9eb39d8210019 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 @@ -21,6 +21,8 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.yaml.snakeyaml.Yaml; +import cz.it4i.fiji.haas.HaaSOutputHolder; +import cz.it4i.fiji.haas.HaaSOutputSource; import cz.it4i.fiji.haas.JobManager; import cz.it4i.fiji.haas.JobManager.JobInfo; import cz.it4i.fiji.haas.JobManager.JobSynchronizableFile; @@ -28,6 +30,7 @@ import cz.it4i.fiji.haas.UploadingFileFromResource; import cz.it4i.fiji.haas_java_client.HaaSClient; import cz.it4i.fiji.haas_java_client.JobState; import cz.it4i.fiji.haas_java_client.Settings; +import cz.it4i.fiji.haas_java_client.SynchronizableFileType; import javafx.beans.value.ObservableValueBase; import net.imagej.updater.util.Progress; @@ -38,14 +41,19 @@ public class BenchmarkJobManager { private static Logger log = LoggerFactory .getLogger(cz.it4i.fiji.haas_spim_benchmark.core.BenchmarkJobManager.class); - public final class Job extends ObservableValueBase<Job> { + public final class Job extends ObservableValueBase<Job> implements HaaSOutputSource { private JobInfo jobInfo; private JobState oldState; + + private HaaSOutputHolder outputOfSnakemake; + + private Collection<Task> tasks; public Job(JobInfo ji) { super(); this.jobInfo = ji; + outputOfSnakemake = new HaaSOutputHolder(getValue(), SynchronizableFileType.StandardErrorFile); } public void startJob(Progress progress) throws IOException { @@ -139,6 +147,18 @@ public class BenchmarkJobManager { return jobInfo.getDirectory(); } + public Collection<Task> getTasks() { + if(tasks == null) { + fillTasks(); + } + return tasks; + } + + + private void fillTasks() { + String snakeMakeoutput = outputOfSnakemake.getActualOutput(); + + } private void setDownloaded(boolean b) { jobInfo.setProperty(JOB_HAS_DATA_TO_DOWNLOAD_PROPERTY, b + ""); diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Task.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Task.java new file mode 100644 index 0000000000000000000000000000000000000000..95ac6f0ab1d1cef69ff66e9f5e8d5ae6483306ff --- /dev/null +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Task.java @@ -0,0 +1,24 @@ +package cz.it4i.fiji.haas_spim_benchmark.core; + +import java.util.Collection; + +import cz.it4i.fiji.haas_spim_benchmark.core.BenchmarkJobManager.Job; + +public class Task { + private String description; + private Job job; + private Collection<TaskComputation> computations; + + public Task(Job job,String description) { + this.description = description; + this.job = job; + } + + public String getDescription() { + return description; + } + + public Collection<Task> getPredecessors() { + return null; + } +} diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/TaskComputation.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/TaskComputation.java new file mode 100644 index 0000000000000000000000000000000000000000..497e2fd107bd2a358d30b82f16e046e92e158848 --- /dev/null +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/TaskComputation.java @@ -0,0 +1,5 @@ +package cz.it4i.fiji.haas_spim_benchmark.core; + +public class TaskComputation { + +}