From bb34acc8e0ce6e4b047024e8c31e771a40de157e Mon Sep 17 00:00:00 2001 From: Jan Kozusznik <jan@kozusznik.cz> Date: Mon, 15 Jan 2018 15:21:27 +0100 Subject: [PATCH] Testing HaaS API for benchamrk --- .../src/main/java/cz/it4i/fiji/haas/Job.java | 11 +++- .../java/cz/it4i/fiji/haas/JobManager.java | 2 +- .../java/cz/it4i/fiji/haas/RunBenchmark.java | 55 +++++++++++++++++++ .../it4i/fiji/haas}/TestUploadingData.java | 1 + .../java/cz/it4i/fiji/haas/package-info.java | 8 +++ .../it4i/fiji/haas_java_client/Settings.java | 1 + .../haas_java_client/TestingConstants.java | 5 ++ 7 files changed, 80 insertions(+), 3 deletions(-) create mode 100644 haas-imagej-client/src/test/java/cz/it4i/fiji/haas/RunBenchmark.java rename haas-imagej-client/src/test/java/{ => cz/it4i/fiji/haas}/TestUploadingData.java (94%) create mode 100644 haas-imagej-client/src/test/java/cz/it4i/fiji/haas/package-info.java diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java index bdfb5698..35dfbd96 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java @@ -27,6 +27,8 @@ public class Job { private static final String JOB_HAS_DATA_TO_DOWNLOAD_PROPERTY = "job.needDownload"; + private static final String JOB_NAME = "job.name"; + public static boolean isJobPath(Path p) { return isValidPath(p); } @@ -73,12 +75,15 @@ public class Job { } }; - public Job(Path basePath, Supplier<HaaSClient> haasClientSupplier, Progress progress) throws IOException { + private String name; + + public Job(String name, Path basePath, Supplier<HaaSClient> haasClientSupplier, Progress progress) throws IOException { this(haasClientSupplier); HaaSClient client = this.haasClientSupplier.get(); - long id = client.createJob("TestOutRedirect", Collections.emptyList(), + long id = client.createJob(name, Collections.emptyList(), notifier = new P_ProgressNotifierAdapter(progress)); jobDir = basePath.resolve("" + id); + this.name = name; Files.createDirectory(jobDir); updateState(); } @@ -171,6 +176,7 @@ public class Job { if (needsDownload != null) { prop.setProperty(JOB_HAS_DATA_TO_DOWNLOAD_PROPERTY, needsDownload.toString()); } + prop.setProperty(JOB_NAME, name); prop.store(ow, null); } } @@ -181,6 +187,7 @@ public class Job { prop.load(is); if (prop.containsKey(JOB_HAS_DATA_TO_DOWNLOAD_PROPERTY)) { needsDownload = Boolean.parseBoolean(prop.getProperty(JOB_HAS_DATA_TO_DOWNLOAD_PROPERTY)); + name = prop.getProperty(JOB_NAME); } } } diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java index 1af11efc..6ee8d4ae 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java @@ -47,7 +47,7 @@ public class JobManager { public JobInfo createJob(Progress progress) throws IOException { Job job; - jobs.add(job = new Job(workDirectory, this::getHaasClient, progress)); + jobs.add(job = new Job(settings.getJobName(),workDirectory, this::getHaasClient, progress)); return new JobInfo(job) { @Override public JobState getState() { diff --git a/haas-imagej-client/src/test/java/cz/it4i/fiji/haas/RunBenchmark.java b/haas-imagej-client/src/test/java/cz/it4i/fiji/haas/RunBenchmark.java new file mode 100644 index 00000000..f03b9160 --- /dev/null +++ b/haas-imagej-client/src/test/java/cz/it4i/fiji/haas/RunBenchmark.java @@ -0,0 +1,55 @@ +package cz.it4i.fiji.haas; + +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import cz.it4i.fiji.haas.JobManager.JobInfo; +import net.imagej.updater.util.Progress; + +public class RunBenchmark { + private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas.RunBenchmark.class); + public static class CreateJob{ + public static void main(String[] args) throws IOException { + Path p = Paths.get("/tmp/benchmark"); + if(!Files.exists(p)) { + Files.createDirectory(p); + } + BenchmarkJobManager benchmarkJobManager = new BenchmarkJobManager(Paths.get("/tmp"), new P_Progress()); + JobInfo ji = benchmarkJobManager.createJob(); + log.info("job: " + ji + " created."); + } + } + + private static class P_Progress implements Progress { + + @Override + public void setTitle(String title) { + } + + @Override + public void setCount(int count, int total) { + } + + @Override + public void addItem(Object item) { + } + + @Override + public void setItemCount(int count, int total) { + } + + @Override + public void itemDone(Object item) { + } + + @Override + public void done() { + } + + } +} diff --git a/haas-imagej-client/src/test/java/TestUploadingData.java b/haas-imagej-client/src/test/java/cz/it4i/fiji/haas/TestUploadingData.java similarity index 94% rename from haas-imagej-client/src/test/java/TestUploadingData.java rename to haas-imagej-client/src/test/java/cz/it4i/fiji/haas/TestUploadingData.java index 0611d77f..c54a2328 100644 --- a/haas-imagej-client/src/test/java/TestUploadingData.java +++ b/haas-imagej-client/src/test/java/cz/it4i/fiji/haas/TestUploadingData.java @@ -1,3 +1,4 @@ +package cz.it4i.fiji.haas; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/haas-imagej-client/src/test/java/cz/it4i/fiji/haas/package-info.java b/haas-imagej-client/src/test/java/cz/it4i/fiji/haas/package-info.java new file mode 100644 index 00000000..a83e9395 --- /dev/null +++ b/haas-imagej-client/src/test/java/cz/it4i/fiji/haas/package-info.java @@ -0,0 +1,8 @@ +/** + * + */ +/** + * @author koz01 + * + */ +package cz.it4i.fiji.haas; \ No newline at end of file diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java index 64f6af6b..ee8611e7 100644 --- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java @@ -9,4 +9,5 @@ public interface Settings { int getTimeout(); long getClusterNodeType(); String getProjectId(); + String getJobName(); } diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TestingConstants.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TestingConstants.java index c6f9746a..6b91d662 100644 --- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TestingConstants.java +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TestingConstants.java @@ -48,6 +48,11 @@ interface TestingConstants { public String getProjectId() { return projectId; } + + @Override + public String getJobName() { + return "TestOutRedirect"; + } }; } -- GitLab