From 8f0a34c06259fd9eb28f24cdb22d4d06e3b8252f Mon Sep 17 00:00:00 2001
From: Jan Kozusznik <jan@kozusznik.cz>
Date: Thu, 9 Nov 2017 16:00:22 +0100
Subject: [PATCH] refactoring

---
 .../it4i/fiji/haas_java_client/HaaSClient.java |  7 ++-----
 .../haas_java_client/TestHaaSJavaClient.java   | 15 +++++++++++----
 .../TestHaaSJavaClientWithSPIM.java            | 18 ++++++++++++------
 3 files changed, 25 insertions(+), 15 deletions(-)

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 d02d6465..957e20f5 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
@@ -81,8 +81,6 @@ public class HaaSClient {
 
 	private String sessionID;
 
-	private Path workDirectory;
-
 	private UserAndLimitationManagementWsSoap userAndLimitationManagement;
 
 	private JobManagementWsSoap jobManagement;
@@ -111,9 +109,8 @@ public class HaaSClient {
 		WS_STATE2STATE = Collections.unmodifiableMap(map);
 	}
 
-	public HaaSClient(Path workDirectory, Long templateId, Integer timeOut,Long  clusterNodeType, String projectId) {
+	public HaaSClient(Long templateId, Integer timeOut,Long  clusterNodeType, String projectId) {
 		super();
-		this.workDirectory = workDirectory;
 		this.templateId = templateId;
 		this.timeOut = timeOut;
 		this.clusterNodeType = clusterNodeType;
@@ -181,7 +178,7 @@ public class HaaSClient {
 		}
 	}
 
-	public void download(long jobId) {
+	public void download(long jobId, Path workDirectory) {
 		try {
 			FileTransferMethodExt ft = getFileTransfer().getFileTransferMethod(jobId, getSessionID());
 			try (ScpClient scpClient = getScpClient(ft)) {
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 5614668d..65d0f7fc 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
@@ -1,7 +1,9 @@
 package cz.it4i.fiji.haas_java_client;
 
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.rmi.RemoteException;
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.Map;
@@ -14,11 +16,16 @@ import cz.it4i.fiji.haas_java_client.proxy.JobFileContentExt;
 
 public class TestHaaSJavaClient {
 
-	public static void main(String[] args) throws RemoteException, ServiceException {
+	public static void main(String[] args) throws ServiceException, IOException {
 		Map<String, String> params = new HashMap<>();
 		params.put("inputParam", "someStringParam");
-		HaaSClient client = new HaaSClient(Paths.get("/home/koz01/aaa"), 1l,600, 7l,"DD-17-31");
+		Path baseDir = Paths.get("/home/koz01/aaa");
+		HaaSClient client = new HaaSClient( 1l,600, 7l,"DD-17-31");
 		long jobId = client.start(Arrays.asList(Paths.get("/home/koz01/aaa/vecmath.jar")), "TestOutRedirect", params.entrySet());
+		Path workDir = baseDir.resolve("" + jobId);
+		if (!Files.isDirectory(workDir)) {
+			Files.createDirectories(workDir);
+		}
 		JobInfo info;
 		do {
 			try {
@@ -33,7 +40,7 @@ public class TestHaaSJavaClient {
 			}
 			client.downloadPartsOfJobFiles(jobId, taskFileOffset).forEach(jfc -> showJFC(jfc));
 			if (info.getState() == JobState.Finished) {
-				client.download(jobId);
+				client.download(jobId,workDir);
 			}
 			System.out.println("JobId :" + jobId + ", state" + info.getState());
 		} while (info.getState() != JobState.Canceled && info.getState() != JobState.Failed
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 d110ed72..3e973116 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
@@ -1,8 +1,9 @@
 package cz.it4i.fiji.haas_java_client;
 
+import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
 import java.nio.file.Paths;
-import java.rmi.RemoteException;
-import java.util.Collections;
 
 import javax.xml.rpc.ServiceException;
 
@@ -11,11 +12,16 @@ import cz.it4i.fiji.haas_java_client.proxy.JobFileContentExt;
 
 public class TestHaaSJavaClientWithSPIM {
 
-	public static void main(String[] args) throws RemoteException, ServiceException {
-		HaaSClient client = new HaaSClient(Paths.get("/home/koz01/Work/vyzkumnik/fiji/work/aaa"), 2l, 9600, 6l,
-				"DD-17-31");
+	public static void main(String[] args) throws ServiceException, IOException {
+		HaaSClient client = new HaaSClient(2l, 9600, 6l, "DD-17-31");
+		Path baseDir = Paths.get("/home/koz01/Work/vyzkumnik/fiji/work/aaa");
+
 		long jobId = 36;// client.start(Collections.emptyList(), "TestOutRedirect",
 						// Collections.emptyList());
+		Path workDir = baseDir.resolve("" + jobId);
+		if (!Files.isDirectory(workDir)) {
+			Files.createDirectories(workDir);
+		}
 		JobInfo info;
 		boolean firstIteration = true;
 		do {
@@ -33,7 +39,7 @@ public class TestHaaSJavaClientWithSPIM {
 			}
 			client.downloadPartsOfJobFiles(jobId, taskFileOffset).forEach(jfc -> showJFC(jfc));
 			if (info.getState() == JobState.Finished) {
-				client.download(jobId);
+				client.download(jobId, workDir);
 			}
 			System.out.println("JobId :" + jobId + ", state" + info.getState());
 			firstIteration = false;
-- 
GitLab