Skip to content
Snippets Groups Projects
Commit 5c6541de authored by Jan Kožusznik's avatar Jan Kožusznik
Browse files

basic definitions

parent edd37bcf
No related branches found
No related tags found
1 merge request!5Iss1011
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));
}
}
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);
}
......@@ -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 + "");
......
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;
}
}
package cz.it4i.fiji.haas_spim_benchmark.core;
public class TaskComputation {
}
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