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 271dbda60d89720793b23378c8a4ac2419ec5a32..cecce16bc731b00f077ef5e3ff05b9dc43e088cd 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 @@ -13,8 +13,8 @@ import java.util.function.Supplier; import java.util.stream.Collectors; import java.util.stream.StreamSupport; -import org.scijava.log.LogService; -import org.scijava.plugin.Parameter; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import cz.it4i.fiji.haas.JobManager.JobManager4Job; import cz.it4i.fiji.haas.JobManager.JobSynchronizableFile; @@ -36,8 +36,7 @@ public class Job { private static String JOB_INFO_FILE = ".jobinfo"; - @Parameter - private LogService log; + private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas.Job.class); private Path jobDir; @@ -120,7 +119,7 @@ public class Job { synchronized public void download(Predicate<String> predicate, Progress notifier) { try (HaaSFileTransfer fileTransfer = haasClientSupplier.get().startFileTransfer(jobId, new P_ProgressNotifierAdapter(notifier))) { - fileTransfer.download(fileTransfer.getChangedFiles().stream().filter(predicate).collect(Collectors.toList()), jobDir); + fileTransfer.download(haasClientSupplier.get().getChangedFiles(jobId).stream().filter(predicate).collect(Collectors.toList()), jobDir); } } @@ -246,4 +245,6 @@ public class Job { + + } diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java index d9441379187153ea6b8ecfc165fe2625922d212b..097e16f57f543487bd920752fda5a84e2c9a3e12 100644 --- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java @@ -306,6 +306,15 @@ public class HaaSClient { } } + public Collection<String> getChangedFiles(long jobId) { + try { + return Arrays.asList(fileTransfer.listChangedFilesForJob(jobId, getSessionID())); + } catch (RemoteException | ServiceException e) { + throw new HaaSClientException(e); + } + } + + private void doSubmitJob(long jobId) throws RemoteException, ServiceException { getJobManagement().submitJob(jobId, getSessionID()); } diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransfer.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransfer.java index b1162d38548ae486fba514a33474a325824591f0..e3b427f2a1cdbdfbaef67fbfa10b3a5d9bc789a8 100644 --- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransfer.java +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransfer.java @@ -2,20 +2,20 @@ package cz.it4i.fiji.haas_java_client; import java.io.Closeable; import java.nio.file.Path; -import java.util.Collection; +import java.util.List; import cz.it4i.fiji.haas_java_client.HaaSClient.UploadingFile; public interface HaaSFileTransfer extends Closeable { - Collection<String> getChangedFiles(); - + @Override void close(); void upload(Iterable<UploadingFile> files); - + void download(Iterable<String> files, Path workDIrectory); - + List<Long> obtainSize(List<String> files); + } diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java index 3416d7b2ca995f82fed5a4bd21e8cc7ff300ac6f..ca8b6e99760b45f5ea0f129c988bf9a07067196d 100644 --- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java @@ -4,12 +4,13 @@ import java.io.IOException; import java.io.InputStream; import java.nio.file.Path; import java.rmi.RemoteException; -import java.util.Arrays; -import java.util.Collection; import java.util.List; import java.util.stream.Collectors; import java.util.stream.StreamSupport; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import com.jcraft.jsch.JSchException; import cz.it4i.fiji.haas_java_client.HaaSClient.P_ProgressNotifierDecorator4Size; @@ -20,6 +21,8 @@ import cz.it4i.fiji.scpclient.ScpClient; class HaaSFileTransferImp implements HaaSFileTransfer { + private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.HaaSFileTransferImp.class); + private FileTransferMethodExt ft; private ScpClient scpClient; private FileTransferWsSoap fileTransfer; @@ -27,7 +30,6 @@ class HaaSFileTransferImp implements HaaSFileTransfer { private long jobId; private ProgressNotifier notifier; - public HaaSFileTransferImp(FileTransferMethodExt ft, String sessionId, long jobId, FileTransferWsSoap fileTransfer, ScpClient scpClient, ProgressNotifier notifier) { super(); @@ -39,15 +41,6 @@ class HaaSFileTransferImp implements HaaSFileTransfer { this.notifier = notifier; } - @Override - public Collection<String> getChangedFiles() { - try { - return Arrays.asList(fileTransfer.listChangedFilesForJob(jobId, sessionId)); - } catch (RemoteException e) { - throw new HaaSClientException(e); - } - } - @Override public void close() { scpClient.close(); @@ -112,4 +105,15 @@ class HaaSFileTransferImp implements HaaSFileTransfer { } } + @Override + public List<Long> obtainSize(List<String> files) { + try { + return HaaSClient.getSizes(files.stream() + .map(filename -> "'" + ft.getSharedBasepath() + "/" + filename + "'").collect(Collectors.toList()), scpClient, notifier); + } catch (JSchException | IOException e) { + throw new HaaSClientException(e); + } + + } + } diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java index 3ccdb08030c7b12404653728cd3b2c370511ab26..c31d5294bfa064a6fe2eabec712f86508947b89a 100644 --- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java +++ b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java @@ -46,7 +46,7 @@ public class TestHaaSJavaClient { client.downloadPartsOfJobFiles(jobId, taskFileOffset).forEach(jfc -> showJFC(jfc)); if (info.getState() == JobState.Finished) { try (HaaSFileTransfer fileTransfer = client.startFileTransfer(jobId, HaaSClient.DUMMY_NOTIFIER)) { - fileTransfer.download(fileTransfer.getChangedFiles(), workDir); + fileTransfer.download(client.getChangedFiles(jobId), workDir); } } log.info("JobId :" + jobId + ", state" + info.getState()); diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java index 08bbda0a57493c9c6cf56b3bf96fadaf34b38027..99b4d85370b717e3aa67e0c138b677f2522b3734 100644 --- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java +++ b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java @@ -46,7 +46,7 @@ public class TestHaaSJavaClientWithSPIM { client.downloadPartsOfJobFiles(jobId, taskFileOffset).forEach(jfc -> showJFC(jfc)); if (info.getState() == JobState.Finished) { try (HaaSFileTransfer fileTransfer = client.startFileTransfer(jobId, HaaSClient.DUMMY_NOTIFIER)) { - fileTransfer.download(fileTransfer.getChangedFiles(), workDir); + fileTransfer.download(client.getChangedFiles(jobId), workDir); } } 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 c029a6e5956735e09d6869c64773f9ccc4347fec..5e336bd62f5622a37f9f7aa3ee5ee6d58c7e627b 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 @@ -203,6 +203,7 @@ public class BenchmarkJobManager { public boolean remove() { return job.remove(); } + } public BenchmarkJobManager(BenchmarkSPIMParameters params) throws IOException {