From e3536d91c99cfd57017d4056fed12fbca66dc535 Mon Sep 17 00:00:00 2001
From: Jan Kozusznik <jan@kozusznik.cz>
Date: Fri, 10 Nov 2017 08:17:36 +0100
Subject: [PATCH] refactoring

---
 .../cz/it4i/fiji/haas_java_client/HaaSClient.java   | 13 ++++++++++---
 .../main/java/cz/it4i/fiji/scpclient/ScpClient.java | 12 ------------
 2 files changed, 10 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 957e20f5..ba8a5569 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
@@ -2,6 +2,7 @@ package cz.it4i.fiji.haas_java_client;
 
 import java.io.IOException;
 import java.io.UnsupportedEncodingException;
+import java.nio.file.Files;
 import java.nio.file.Path;
 import java.rmi.RemoteException;
 import java.util.Arrays;
@@ -130,7 +131,7 @@ public class HaaSClient {
 
 				for (Path file : files) {
 					System.out.println("Uploading file: " + file.getFileName());
-					scpClient.upload(file, fileTransfer.getSharedBasepath() + "//" + file.getFileName());
+					scpClient.upload(file, fileTransfer.getSharedBasepath() + "/" + file.getFileName());
 					System.out.println("File uploaded.");
 				}
 			}
@@ -184,12 +185,18 @@ public class HaaSClient {
 			try (ScpClient scpClient = getScpClient(ft)) {
 
 				for (String fileName : getFileTransfer().listChangedFilesForJob(jobId, getSessionID())) {
-					fileName = fileName.replaceAll("/", "");
+					fileName = fileName.replaceFirst("/", "");
 					Path rFile = workDirectory.resolve(fileName);
-					scpClient.download(ft.getSharedBasepath() + "//" + fileName, rFile);
+					if(!Files.exists(rFile.getParent())) {
+						Files.createDirectories(rFile.getParent());
+					}
+					String fileToDownload = ft.getSharedBasepath() + "/" + fileName;
+					scpClient.download(fileToDownload, rFile);
+					
 				}
 			}
 			getFileTransfer().endFileTransfer(jobId, ft, getSessionID());
+			
 		} catch (IOException | JSchException | ServiceException e) {
 			throw new HaaSClientException(e);
 		}
diff --git a/java-scpclient/src/main/java/cz/it4i/fiji/scpclient/ScpClient.java b/java-scpclient/src/main/java/cz/it4i/fiji/scpclient/ScpClient.java
index 8541bc10..dc6e570a 100644
--- a/java-scpclient/src/main/java/cz/it4i/fiji/scpclient/ScpClient.java
+++ b/java-scpclient/src/main/java/cz/it4i/fiji/scpclient/ScpClient.java
@@ -7,7 +7,6 @@ import java.io.OutputStream;
 import java.io.UnsupportedEncodingException;
 import java.nio.file.Files;
 import java.nio.file.Path;
-import java.nio.file.Paths;
 
 import com.jcraft.jsch.Channel;
 import com.jcraft.jsch.ChannelExec;
@@ -18,17 +17,6 @@ import com.jcraft.jsch.Session;
 import com.jcraft.jsch.UserInfo;
 
 public class ScpClient implements Closeable {
-
-	public static void main(String[] args) throws JSchException, IOException {
-		try (ScpClient scpClient = new ScpClient("salomon.it4i.cz", "koz01", "/home/koz01/.ssh/it4i_rsa",
-				"nejlepsivyzkum")) {
-			boolean u = scpClient.upload(Paths.get("/home/koz01/aaa/vecmath.jar"), "/home/koz01/");
-			boolean d = scpClient.download("/home/koz01/proof", Paths.get("/home/koz01/aaa/proof"));
-			System.out.println(u);
-			System.out.println(d);
-		}
-	}
-
 	private String hostName;
 	private String username;
 	private JSch jsch = new JSch();
-- 
GitLab