diff --git a/haas-java-client/.classpath b/haas-java-client/.classpath
deleted file mode 100644
index 82beed5c1d6c1d4d5adf56d09f96e08e562e4243..0000000000000000000000000000000000000000
--- a/haas-java-client/.classpath
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<classpath>
-	<classpathentry kind="src" output="target/classes" path="src/main/java">
-		<attributes>
-			<attribute name="optional" value="true"/>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" output="target/test-classes" path="src/test/java">
-		<attributes>
-			<attribute name="optional" value="true"/>
-			<attribute name="maven.pomderived" value="true"/>
-			<attribute name="test" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
-		<attributes>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
-		<attributes>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry excluding="**" kind="src" output="target/test-classes" path="src/test/resources">
-		<attributes>
-			<attribute name="maven.pomderived" value="true"/>
-			<attribute name="test" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry excluding="**" kind="src" output="target/classes" path="src/main/resources">
-		<attributes>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="src" output="target/classes" path="target/generated-sources/wsimport">
-		<attributes>
-			<attribute name="ignore_optional_problems" value="true"/>
-			<attribute name="optional" value="true"/>
-			<attribute name="maven.pomderived" value="true"/>
-		</attributes>
-	</classpathentry>
-	<classpathentry kind="output" path="target/classes"/>
-</classpath>
diff --git a/haas-java-client/.gitignore b/haas-java-client/.gitignore
deleted file mode 100644
index b83d22266ac8aa2f8df2edef68082c789727841d..0000000000000000000000000000000000000000
--- a/haas-java-client/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/target/
diff --git a/haas-java-client/.project b/haas-java-client/.project
deleted file mode 100644
index aec024726f3ed82cc5a15d8d25c36916b16f8e29..0000000000000000000000000000000000000000
--- a/haas-java-client/.project
+++ /dev/null
@@ -1,23 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
-	<name>haas-java-client</name>
-	<comment></comment>
-	<projects>
-	</projects>
-	<buildSpec>
-		<buildCommand>
-			<name>org.eclipse.jdt.core.javabuilder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-		<buildCommand>
-			<name>org.eclipse.m2e.core.maven2Builder</name>
-			<arguments>
-			</arguments>
-		</buildCommand>
-	</buildSpec>
-	<natures>
-		<nature>org.eclipse.jdt.core.javanature</nature>
-		<nature>org.eclipse.m2e.core.maven2Nature</nature>
-	</natures>
-</projectDescription>
diff --git a/haas-java-client/.settings/org.eclipse.core.resources.prefs b/haas-java-client/.settings/org.eclipse.core.resources.prefs
deleted file mode 100644
index 8c22793c35466654702aecf815df6d983dd10299..0000000000000000000000000000000000000000
--- a/haas-java-client/.settings/org.eclipse.core.resources.prefs
+++ /dev/null
@@ -1,7 +0,0 @@
-eclipse.preferences.version=1
-encoding//src/main/java=UTF-8
-encoding//src/main/resources=UTF-8
-encoding//src/test/java=UTF-8
-encoding//src/test/resources=UTF-8
-encoding//target/generated-sources/wsimport=UTF-8
-encoding/<project>=UTF-8
diff --git a/haas-java-client/.settings/org.eclipse.jdt.core.prefs b/haas-java-client/.settings/org.eclipse.jdt.core.prefs
deleted file mode 100644
index b8947ec6fc0a929c7ba04e493e77a2663a75b64e..0000000000000000000000000000000000000000
--- a/haas-java-client/.settings/org.eclipse.jdt.core.prefs
+++ /dev/null
@@ -1,6 +0,0 @@
-eclipse.preferences.version=1
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
-org.eclipse.jdt.core.compiler.compliance=1.8
-org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
diff --git a/haas-java-client/.settings/org.eclipse.m2e.core.prefs b/haas-java-client/.settings/org.eclipse.m2e.core.prefs
deleted file mode 100644
index f897a7f1cb2389f85fe6381425d29f0a9866fb65..0000000000000000000000000000000000000000
--- a/haas-java-client/.settings/org.eclipse.m2e.core.prefs
+++ /dev/null
@@ -1,4 +0,0 @@
-activeProfiles=
-eclipse.preferences.version=1
-resolveWorkspaceProjects=true
-version=1
diff --git a/haas-java-client/pom.xml b/haas-java-client/pom.xml
deleted file mode 100644
index 797354f51107a9ff6cec9eb87a77286818f7c6e1..0000000000000000000000000000000000000000
--- a/haas-java-client/pom.xml
+++ /dev/null
@@ -1,165 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>cz.it4i.fiji</groupId>
-	<artifactId>haas-java-client</artifactId>
-	<version>1.0.0</version>
-	<name>HaaS library for Java</name>
-	<packaging>jar</packaging>
-	<properties>
-		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
-	</properties>
-	<scm>
-		<url>https://code.it4i.cz/fiji/haas-java-client.git</url>
-		<connection>scm:git:https://code.it4i.cz/fiji/haas-java-client.git</connection>
-	</scm>
-	<build>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-compiler-plugin</artifactId>
-				<version>3.5.1</version>
-				<configuration>
-					<source>1.8</source>
-					<target>1.8</target>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>buildnumber-maven-plugin</artifactId>
-				<version>1.4</version>
-				<executions>
-					<execution>
-						<phase>validate</phase>
-						<goals>
-							<goal>create</goal>
-						</goals>
-					</execution>
-				</executions>
-				<configuration>
-					<doCheck>false</doCheck>
-					<doUpdate>false</doUpdate>
-				</configuration>
-			</plugin>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-jar-plugin</artifactId>
-				<version>3.1.0</version>
-				<configuration>
-					<archive>
-						<manifest>
-							<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
-						</manifest>
-						<manifestEntries>
-							<Implementation-Build>${buildNumber}</Implementation-Build>
-						</manifestEntries>
-					</archive>
-				</configuration>
-			</plugin>
-			<plugin>
-				<artifactId>maven-source-plugin</artifactId>
-				<version>3.0.1</version>
-				<executions>
-					<execution>
-						<id>attach-sources</id>
-						<phase>compile</phase>
-						<goals>
-							<goal>jar-no-fork</goal>
-						</goals>
-					</execution>
-				</executions>
-			</plugin>
-
-			<!-- usage of jax-ws maven plugin -->
-			<plugin>
-				<groupId>org.codehaus.mojo</groupId>
-				<artifactId>jaxws-maven-plugin</artifactId>
-				<version>2.5</version>
-				<executions>
-					<execution>
-						<id>wsimport-from-jdk</id>
-						<goals>
-							<goal>wsimport</goal>
-						</goals>
-					</execution>
-				</executions>
-				<configuration>
-					<!-- using wsdl from an url -->
-					<wsdlUrls>
-						<wsdlUrl>http://localhost/wsdl/UserAndLimitationManagementWs.wsdl</wsdlUrl>
-						<wsdlUrl>http://localhost/wsdl/JobManagementWs.wsdl</wsdlUrl>
-						<wsdlUrl>http://localhost/wsdl/DataTransferWs.wsdl</wsdlUrl>
-						<wsdlUrl>http://localhost/wsdl/FileTransferWs.wsdl</wsdlUrl>
-					</wsdlUrls>
-					<catalog>${project.basedir}/src/main/resources/META-INF/jax-ws-catalog.xml</catalog>
-					<!-- or using wsdls file directory -->
-					<!-- <wsdlDirectory>src/wsdl</wsdlDirectory> -->
-					<!-- which wsdl file -->
-					<!-- <wsdlFiles> <wsdlFile>UserAndLimitationManagementWs.wsdl</wsdlFile> 
-						<wsdlFile>JobManagementWs.wsdl</wsdlFile> <wsdlFile>DataTransferWs.wsdl</wsdlFile> 
-						<wsdlFile>FileTransferWs.wsdl</wsdlFile> </wsdlFiles> -->
-					<!-- Keep generated files -->
-					<!-- Package name -->
-					<!-- generated source files destination -->
-					<extension>true</extension>
-					<keep>true</keep>
-					<packageName>cz.it4i.fiji.haas_java_client.proxy</packageName>
-				</configuration>
-			</plugin>
-		</plugins>
-
-	</build>
-	<dependencies>
-		<dependency>
-			<groupId>junit</groupId>
-			<artifactId>junit</artifactId>
-			<version>3.8.1</version>
-			<scope>test</scope>
-		</dependency>
-		<!-- https://mvnrepository.com/artifact/com.jcraft/jsch -->
-		<dependency>
-			<groupId>cz.it4i.fiji</groupId>
-			<artifactId>java-scpclient</artifactId>
-			<version>1.0.0</version>
-		</dependency>
-		<!-- https://mvnrepository.com/artifact/javax.xml/jaxrpc-api -->
-		<dependency>
-			<groupId>javax.xml</groupId>
-			<artifactId>jaxrpc-api</artifactId>
-			<version>1.1</version>
-		</dependency>
-		<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api -->
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-api</artifactId>
-			<version>1.7.25</version>
-			<scope>provided</scope>
-		</dependency>
-		<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-jdk14 -->
-		<dependency>
-			<groupId>org.slf4j</groupId>
-			<artifactId>slf4j-simple</artifactId>
-			<version>1.7.25</version>
-			<scope>provided</scope>
-		</dependency>
-	</dependencies>
-	<repositories>
-		<repository>
-			<id>it4i</id>
-			<url>https://artifactory.cs.vsb.cz/it4i/</url>
-		</repository>
-	</repositories>
-	<distributionManagement>
-		<repository>
-			<id>it4i</id>
-			<name>IT4I repository</name>
-			<url>https://artifactory.cs.vsb.cz/it4i/</url>
-		</repository>
-		<snapshotRepository>
-			<id>it4i</id>
-			<name>II4I repository</name>
-			<url>https://artifactory.cs.vsb.cz/it4i/</url>
-		</snapshotRepository>
-	</distributionManagement>
-</project>
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/commons/UncaughtExceptionHandlerDecorator.java b/haas-java-client/src/main/java/cz/it4i/fiji/commons/UncaughtExceptionHandlerDecorator.java
deleted file mode 100644
index 4e78e63c9c685e0b56622334811245389f063473..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/commons/UncaughtExceptionHandlerDecorator.java
+++ /dev/null
@@ -1,154 +0,0 @@
-
-package cz.it4i.fiji.commons;
-
-import java.io.Closeable;
-import java.lang.Thread.UncaughtExceptionHandler;
-import java.util.Collection;
-import java.util.LinkedList;
-import java.util.concurrent.ThreadFactory;
-import java.util.function.BiPredicate;
-
-import org.slf4j.Logger;
-
-abstract public class UncaughtExceptionHandlerDecorator implements
-	UncaughtExceptionHandler, Closeable
-{
-
-	private final UncaughtExceptionHandler previousHandler;
-
-	private UncaughtExceptionHandler decoratedHandler;
-
-	private final Collection<BiPredicate<Thread, Throwable>> handlers =
-		new LinkedList<>();
-
-	private boolean closed;
-
-	public static UncaughtExceptionHandlerDecorator setDefaultHandler() {
-		return setDefaultHandler(null);
-	}
-
-	public static UncaughtExceptionHandlerDecorator setDefaultHandler(
-		final Logger logger)
-	{
-		final UncaughtExceptionHandlerDecorator result =
-			new UncaughtExceptionHandlerDecorator(Thread
-				.getDefaultUncaughtExceptionHandler(), logger)
-			{
-
-				@Override
-				protected void setPreviousHandler(
-					final UncaughtExceptionHandler handler)
-			{
-					Thread.setDefaultUncaughtExceptionHandler(handler);
-				}
-
-				@Override
-				public void activate() {
-					Thread.setDefaultUncaughtExceptionHandler(this);
-				}
-			};
-
-		return result;
-	}
-
-	public static UncaughtExceptionHandlerDecorator setHandler(
-		final Thread thread, final Logger logger)
-	{
-		final UncaughtExceptionHandlerDecorator result =
-			new UncaughtExceptionHandlerDecorator(thread
-				.getUncaughtExceptionHandler(), logger)
-			{
-
-				@Override
-				protected void setPreviousHandler(
-					final UncaughtExceptionHandler handler)
-			{
-					thread.setUncaughtExceptionHandler(handler);
-				}
-
-				@Override
-				public void activate() {
-					thread.setUncaughtExceptionHandler(this);
-
-				}
-			};
-		thread.setUncaughtExceptionHandler(result);
-		return result;
-	}
-
-	@SafeVarargs
-	public static ThreadFactory createThreadFactory(
-		final BiPredicate<Thread, Throwable>... handlers)
-	{
-		final ThreadFactory result = new ThreadFactory() {
-
-			@Override
-			public Thread newThread(final Runnable r) {
-				final Thread t = new Thread(r);
-				final UncaughtExceptionHandlerDecorator uehd = setHandler(t, null);
-				for (final BiPredicate<Thread, Throwable> handler : handlers) {
-					uehd.registerHandler(handler);
-				}
-				uehd.activate();
-				return t;
-			}
-		};
-		return result;
-	}
-
-	private UncaughtExceptionHandlerDecorator(
-		final UncaughtExceptionHandler previousHandler, final Logger logger)
-	{
-		this.previousHandler = previousHandler;
-		if (previousHandler != null) {
-			this.decoratedHandler = previousHandler;
-		}
-		else {
-			this.decoratedHandler = new UncaughtExceptionHandler() {
-
-				@Override
-				public void uncaughtException(final Thread t, final Throwable e) {
-					if (logger != null) {
-						logger.error(e.getMessage(), e);
-					}
-					else {
-						e.printStackTrace(System.err);
-					}
-				}
-			};
-		}
-
-	}
-
-	public UncaughtExceptionHandlerDecorator registerHandler(
-		final BiPredicate<Thread, Throwable> handler)
-	{
-		handlers.add(handler);
-		return this;
-	}
-
-	@Override
-	public void uncaughtException(final Thread t, final Throwable e) {
-		for (final BiPredicate<Thread, Throwable> handler : handlers) {
-			if (handler.test(t, e)) {
-				return;
-			}
-		}
-		decoratedHandler.uncaughtException(t, e);
-	}
-
-	@Override
-	synchronized public void close() {
-		if (!closed) {
-			if (previousHandler != null) {
-				setPreviousHandler(previousHandler);
-			}
-			closed = true;
-		}
-	}
-
-	abstract public void activate();
-
-	abstract protected void setPreviousHandler(UncaughtExceptionHandler handler);
-
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/commons/WebRoutines.java b/haas-java-client/src/main/java/cz/it4i/fiji/commons/WebRoutines.java
deleted file mode 100644
index c02e6808186086fb4537f27a802b8c92c2b3a089..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/commons/WebRoutines.java
+++ /dev/null
@@ -1,38 +0,0 @@
-
-package cz.it4i.fiji.commons;
-
-import java.io.IOException;
-import java.net.HttpURLConnection;
-import java.net.URL;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-final public class WebRoutines {
-
-	private static final Logger log = LoggerFactory.getLogger(
-		cz.it4i.fiji.commons.WebRoutines.class);
-
-	public static boolean doesURLExist(final URL url) {
-		// We want to check the current URL
-		HttpURLConnection.setFollowRedirects(false);
-		// We don't need to get data
-		try {
-			final HttpURLConnection httpURLConnection = (HttpURLConnection) url
-				.openConnection();
-			httpURLConnection.setRequestMethod("HEAD");
-			// Some websites don't like programmatic access so pretend to be a browser
-			httpURLConnection.setRequestProperty("User-Agent",
-				"Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 (.NET CLR 3.5.30729)");
-			final int responseCode = httpURLConnection.getResponseCode();
-			return responseCode == HttpURLConnection.HTTP_OK;
-			// We only accept response code 200
-		}
-		catch (final IOException exc) {
-			log.error(exc.getMessage(), exc);
-			return false;
-		}
-	}
-
-	private WebRoutines() {}
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/commons/package-info.java b/haas-java-client/src/main/java/cz/it4i/fiji/commons/package-info.java
deleted file mode 100644
index cbec64a789fc5755da35ce3437552d660cecec5b..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/commons/package-info.java
+++ /dev/null
@@ -1,9 +0,0 @@
-/**
- * 
- */
-/**
- * @author koz01
- *
- */
-
-package cz.it4i.fiji.commons;
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/PersistentIndex.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/PersistentIndex.java
deleted file mode 100644
index 87128623dd443042d8a1ea2c88de42b01c466256..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/PersistentIndex.java
+++ /dev/null
@@ -1,78 +0,0 @@
-
-package cz.it4i.fiji.haas.data_transfer;
-
-import java.io.BufferedReader;
-import java.io.BufferedWriter;
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.util.Collections;
-import java.util.LinkedHashSet;
-import java.util.Set;
-import java.util.function.Function;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class PersistentIndex<T> {
-	
-	public static final Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas.data_transfer.PersistentIndex.class);
-	
-	private final Path workingFile;
-
-	private final Set<T> indexedFiles = new LinkedHashSet<>();
-
-	private final Function<String, T> fromStringConvertor;
-
-	public PersistentIndex(Path workingFile,Function<String, T> fromStringConvertor) throws IOException {
-		this.workingFile = workingFile;
-		this.fromStringConvertor = fromStringConvertor;
-		loadFromWorkingFile();
-	}
-
-	public synchronized void storeToWorkingFile() throws IOException {
-		try (BufferedWriter bw = Files.newBufferedWriter(workingFile)) {
-			for (T file : indexedFiles) {
-				bw.write(file.toString() + "\n");
-			}
-		}
-	}
-
-	public synchronized boolean insert(T file) {
-		return indexedFiles.add(file);
-	}
-
-	public synchronized void remove(T p) {
-		indexedFiles.remove(p);
-	}
-
-	public synchronized Set<T> getIndexedItems() {
-		return Collections.unmodifiableSet(indexedFiles);
-	}
-
-	public synchronized void clear() throws IOException {
-		indexedFiles.clear();
-		storeToWorkingFile();
-	}
-
-	public synchronized boolean contains(Path file) {
-		return indexedFiles.contains(file);
-	}
-
-	private void loadFromWorkingFile() throws IOException {
-		indexedFiles.clear();
-		if (Files.exists(workingFile)) {
-			try (BufferedReader br = Files.newBufferedReader(workingFile)) {
-				String line;
-				while (null != (line = br.readLine())) {
-					processLine(line);
-				}
-			}
-		}
-	}
-
-	private void processLine(String line) {
-		indexedFiles.add(fromStringConvertor.apply(line));
-	}
-
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/PersistentSynchronizationProcess.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/PersistentSynchronizationProcess.java
deleted file mode 100644
index 0a4b8eef0462d7d8a8513951b81e155324d64df7..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/PersistentSynchronizationProcess.java
+++ /dev/null
@@ -1,261 +0,0 @@
-package cz.it4i.fiji.haas.data_transfer;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import java.nio.file.Path;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.Queue;
-import java.util.Set;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicInteger;
-import java.util.function.Function;
-import java.util.function.Supplier;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import cz.it4i.fiji.commons.DoActionEventualy;
-import cz.it4i.fiji.haas_java_client.HaaSClient;
-import cz.it4i.fiji.haas_java_client.HaaSClientException;
-import cz.it4i.fiji.haas_java_client.HaaSFileTransfer;
-import cz.it4i.fiji.haas_java_client.ProgressNotifier;
-import cz.it4i.fiji.haas_java_client.TransferFileProgressForHaaSClient;
-
-public abstract class PersistentSynchronizationProcess<T> {
-
-	
-	public static final String FAILED_ITEM = "Failed item"; 
-
-	private static final Logger log = LoggerFactory
-			.getLogger(cz.it4i.fiji.haas.data_transfer.PersistentSynchronizationProcess.class);
-
-	private static final TransferFileProgressForHaaSClient DUMMY_FILE_PROGRESS = new TransferFileProgressForHaaSClient(
-			0, HaaSClient.DUMMY_PROGRESS_NOTIFIER);
-
-	private final static String INIT_TRANSFER_ITEM = "init transfer";
-
-	private static final long WAIT_FOR_CLOSE_SEESION_TIMEOUT = 500;
-
-	private final PersistentIndex<T> index;
-
-	private final Queue<T> toProcessQueue = new LinkedBlockingQueue<>();
-
-	private final Set<Thread> runningTransferThreads = Collections.synchronizedSet(new HashSet<>());
-
-	private final SimpleThreadRunner runner;
-
-	private final Supplier<HaaSFileTransfer> fileTransferSupplier;
-
-	private final Runnable processFinishedNotifier;
-
-	private ProgressNotifier notifier;
-
-	private boolean startFinished = true;
-	
-	private final AtomicInteger runningProcessCounter = new AtomicInteger();
-	
-	private final Collection<P_HolderOfOpenClosables> openedClosables = new LinkedList<>();
-
-	public PersistentSynchronizationProcess(ExecutorService service, Supplier<HaaSFileTransfer> fileTransferSupplier,
-			Runnable processFinishedNotifier, Path indexFile, Function<String, T> convertor) throws IOException {
-		runner = new SimpleThreadRunner(service);
-		this.fileTransferSupplier = fileTransferSupplier;
-		this.processFinishedNotifier = processFinishedNotifier;
-		this.index = new PersistentIndex<>(indexFile, convertor);
-	}
-
-	public synchronized CompletableFuture<?> start() throws IOException {
-		startFinished = false;
-		index.clear();
-		try {
-			for (T item : getItems()) {
-				index.insert(item);
-				toProcessQueue.add(item);
-			}
-			index.storeToWorkingFile();
-			return runner.runIfNotRunning(this::doProcess);
-		} finally {
-			startFinished = true;
-			index.storeToWorkingFile();
-		}
-	}
-
-	public void stop() throws IOException {
-		toProcessQueue.clear();
-		index.clear();
-		notifyStop();
-		runningTransferThreads.forEach(t -> t.interrupt());
-	}
-
-	public void shutdown() {
-		synchronized (this) {
-			toProcessQueue.clear();
-			runningTransferThreads.forEach(t -> t.interrupt());
-		}
-		try(DoActionEventualy action = new DoActionEventualy(WAIT_FOR_CLOSE_SEESION_TIMEOUT, this::closeOpennedClosables)) {
-			waitForFinishAllProcesses();
-		}
-	}
-
-	public void resume() {
-		toProcessQueue.addAll(index.getIndexedItems());
-		runner.runIfNotRunning(this::doProcess);
-	}
-
-	public Set<T> getIndexedItems() {
-		return index.getIndexedItems();
-	}
-
-	public void setNotifier(ProgressNotifier notifier) {
-		this.notifier = notifier;
-	}
-
-	public synchronized boolean isWorking() {
-		return !toProcessQueue.isEmpty();
-	}
-
-	abstract protected Iterable<T> getItems() throws IOException;
-
-	abstract protected void processItem(HaaSFileTransfer tr, T p) throws InterruptedIOException;
-
-	abstract protected long getTotalSize(Iterable<T> items, HaaSFileTransfer tr) throws InterruptedIOException;
-
-	private void doProcess(AtomicBoolean reRun) {
-		runningProcessCounter.incrementAndGet();
-		boolean interrupted = false;
-		this.notifier.addItem(INIT_TRANSFER_ITEM);
-		runningTransferThreads.add(Thread.currentThread());
-		TransferFileProgressForHaaSClient actualnotifier = DUMMY_FILE_PROGRESS;
-		try (P_HolderOfOpenClosables transferHolder = new P_HolderOfOpenClosables(fileTransferSupplier.get())) {
-			HaaSFileTransfer tr = transferHolder.getTransfer();
-			try {
-				tr.setProgress(actualnotifier = getTransferFileProgress(tr));
-			} catch (InterruptedIOException e1) {
-				interrupted = true;
-			}
-			this.notifier.itemDone(INIT_TRANSFER_ITEM);
-			this.notifier.done();
-			do {
-				synchronized (this) {
-					synchronized (reRun) {
-						interrupted |= Thread.interrupted();
-						if (interrupted || toProcessQueue.isEmpty()) {
-							reRun.set(false);
-							break;
-						}
-					}
-				}
-				T p = toProcessQueue.poll();
-				String item = p.toString();
-				actualnotifier.addItem(item);
-				try {
-					processItem(tr, p);
-					fileTransfered(p);
-					actualnotifier.itemDone(item);
-				}
-				catch (InterruptedIOException | HaaSClientException e) {
-					synchronized (this) {
-						toProcessQueue.clear();
-						interrupted = true;
-						if (e instanceof HaaSClientException) {
-							log.warn("process ", e);
-							actualnotifier.addItem(FAILED_ITEM);
-						}
-					}
-				}
-				
-			} while(true);
-		} finally {
-			runningTransferThreads.remove(Thread.currentThread());
-			synchronized (this) {
-				if (startFinished) {
-					if (!interrupted && !Thread.interrupted()) {
-						processFinishedNotifier.run();
-						actualnotifier.done();
-					} else {
-						notifyStop();
-						reRun.set(false);
-					}
-				}
-			}
-			synchronized (runningProcessCounter) {
-				runningProcessCounter.decrementAndGet();
-				runningProcessCounter.notifyAll();
-			}
-		}
-	}
-
-	private void fileTransfered(T p) {
-		try {
-			index.remove(p);
-			index.storeToWorkingFile();
-		} catch (IOException e) {
-			log.error(e.getMessage(), e);
-		}
-	}
-
-	private TransferFileProgressForHaaSClient getTransferFileProgress(HaaSFileTransfer tr)
-			throws InterruptedIOException {
-		if (notifier == null) {
-			return DUMMY_FILE_PROGRESS;
-		}
-		return new TransferFileProgressForHaaSClient(getTotalSize(toProcessQueue, tr), notifier);
-	}
-
-	private void notifyStop() {
-		notifier.setCount(-1, -1);
-	}
-
-	private void waitForFinishAllProcesses() {
-		synchronized (runningProcessCounter) {
-			while (runningProcessCounter.get() != 0) {
-				try {
-					runningProcessCounter.wait();
-				} catch (InterruptedException e) {
-					log.error(e.getMessage(), e);
-				}
-			}
-		}
-	}
-
-	protected void closeOpennedClosables() {
-		synchronized(openedClosables) {
-			for(P_HolderOfOpenClosables closeable: openedClosables) {
-				closeable.close();
-			}
-		}
-	}
-	
-	private class P_HolderOfOpenClosables implements Closeable{
-		final private HaaSFileTransfer transfer;
-
-		public P_HolderOfOpenClosables(HaaSFileTransfer transfer) {
-			this.transfer = transfer;
-			synchronized(openedClosables) {
-				openedClosables.add(this);
-			}
-		}
-		
-		public HaaSFileTransfer getTransfer() {
-			return transfer;
-		}
-
-		@Override
-		public void close() {
-			synchronized(openedClosables) {
-				try {
-					transfer.close();
-				} finally {
-					openedClosables.remove(this);
-				}
-			}
-		}
-	}
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/SimpleThreadRunner.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/SimpleThreadRunner.java
deleted file mode 100644
index 5a5ea2684913207a096bf6d7cc3a740a70ac75a6..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/SimpleThreadRunner.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package cz.it4i.fiji.haas.data_transfer;
-
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.function.Consumer;
-
-public class SimpleThreadRunner {
-	private final ExecutorService service;
-	private final AtomicBoolean reRun = new AtomicBoolean(false);
-	private CompletableFuture<?> lastRun;
-
-	public SimpleThreadRunner(ExecutorService service) {
-		this.service = service;
-	}
-
-	synchronized public CompletableFuture<?> runIfNotRunning(Consumer<AtomicBoolean> r) {
-		synchronized (reRun) {
-			if (reRun.get()) {
-				return lastRun;
-			}
-			reRun.set(true);
-		}
-		return lastRun = CompletableFuture.runAsync(() -> {
-			do {
-				r.accept(reRun);
-			} while (reRun.get());
-		}, service);
-	}
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/Synchronization.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/Synchronization.java
deleted file mode 100644
index 04b9e2ae90777b47007812d4e70c3a4f35158f10..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/Synchronization.java
+++ /dev/null
@@ -1,236 +0,0 @@
-
-package cz.it4i.fiji.haas.data_transfer;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.function.Predicate;
-import java.util.function.Supplier;
-import java.util.stream.Collectors;
-import java.util.stream.Stream;
-import java.util.stream.StreamSupport;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import cz.it4i.fiji.haas_java_client.FileTransferInfo;
-import cz.it4i.fiji.haas_java_client.FileTransferState;
-import cz.it4i.fiji.haas_java_client.HaaSFileTransfer;
-import cz.it4i.fiji.haas_java_client.ProgressNotifier;
-import cz.it4i.fiji.haas_java_client.UploadingFile;
-import cz.it4i.fiji.haas_java_client.UploadingFileImpl;
-
-public class Synchronization implements Closeable {
-
-	private final static Logger log = LoggerFactory.getLogger(
-		cz.it4i.fiji.haas.data_transfer.Synchronization.class);
-	
-	private static final String FILE_INDEX_TO_UPLOAD_FILENAME = ".toUploadFiles";
-	
-	private static final String FILE_INDEX_UPLOADED_FILENAME = ".uploaded";
-	
-	private static final String FILE_INDEX_TO_DOWNLOAD_FILENAME =
-		".toDownloadFiles";
-	
-	private static final String FILE_INDEX_DOWNLOADED_FILENAME = ".downloaded";
-
-	private final Path workingDirectory;
-
-	private final Path inputDirectory;
-
-	private final Path outputDirectory;
-
-	private final PersistentIndex<Path> filesDownloaded;
-
-	private final PersistentIndex<Path> filesUploaded;
-
-	private final PersistentSynchronizationProcess<Path> uploadProcess;
-
-	private final P_PersistentDownloadProcess downloadProcess;
-
-	private final ExecutorService service;
-
-	private final Predicate<Path> uploadFilter;
-
-	public Synchronization(Supplier<HaaSFileTransfer> fileTransferSupplier, Path workingDirectory, Path inputDirectory,
-			Path outputDirectory, Runnable uploadFinishedNotifier, Runnable downloadFinishedNotifier, Predicate<Path> uploadFilter)
-			throws IOException {
-		this.workingDirectory = workingDirectory;
-		this.inputDirectory = inputDirectory;
-		this.outputDirectory = outputDirectory;
-		this.service = Executors.newFixedThreadPool(2);
-		this.filesDownloaded = new PersistentIndex<>(workingDirectory.resolve(
-			FILE_INDEX_DOWNLOADED_FILENAME), name -> Paths.get(name));
-		this.filesUploaded = new PersistentIndex<>(workingDirectory.resolve(
-			FILE_INDEX_UPLOADED_FILENAME), name -> Paths.get(name));
-		this.uploadProcess = createUploadProcess(fileTransferSupplier, service,
-			uploadFinishedNotifier);
-		this.downloadProcess = createDownloadProcess(fileTransferSupplier, service,
-			downloadFinishedNotifier);
-		this.uploadFilter = uploadFilter;
-	}
-
-	public synchronized void setUploadNotifier(ProgressNotifier notifier) {
-		uploadProcess.setNotifier(notifier);
-	}
-
-	public void setDownloadNotifier(ProgressNotifier notifier) {
-		downloadProcess.setNotifier(notifier);
-
-	}
-
-	public synchronized void startUpload() throws IOException {
-		uploadProcess.start();
-	}
-
-	public void stopUpload() throws IOException {
-		uploadProcess.stop();
-	}
-
-	public void resumeUpload() {
-		uploadProcess.resume();
-	}
-
-	public boolean isUploading() {
-		return uploadProcess.isWorking();
-	}
-
-	public synchronized CompletableFuture<?> startDownload(Collection<String> files) throws IOException {
-		this.downloadProcess.setItems(files);
-		return this.downloadProcess.start();
-	}
-
-	public synchronized void stopDownload() throws IOException {
-		this.downloadProcess.stop();
-	}
-
-	public synchronized void resumeDownload() {
-		this.downloadProcess.resume();
-	}
-
-	public boolean isDownloading() {
-		return downloadProcess.isWorking();
-	}
-
-	public List<FileTransferInfo> getFileTransferInfo() {
-		final List<FileTransferInfo> list = new LinkedList<>();
-		filesUploaded.getIndexedItems().forEach(ii -> {
-			list.add(new FileTransferInfo(ii, FileTransferState.Finished));
-		});
-		uploadProcess.getIndexedItems().forEach(ii -> {
-			list.add(new FileTransferInfo(ii, FileTransferState.Queuing));
-		});
-		return list;
-	}
-
-	@Override
-	public void close() {
-		service.shutdown();
-		uploadProcess.shutdown();
-		downloadProcess.shutdown();
-	}
-
-	private boolean canUpload(Path file) {
-		return uploadFilter.test(file) && !file.getFileName().toString().matches("[.][^.]+")
-				&& !filesDownloaded.contains(file);
-	}
-
-	private PersistentSynchronizationProcess<Path> createUploadProcess(Supplier<HaaSFileTransfer> fileTransferSupplier,
-			ExecutorService executorService, Runnable uploadFinishedNotifier) throws IOException {
-		return new PersistentSynchronizationProcess<Path>(executorService, fileTransferSupplier, uploadFinishedNotifier,
-				workingDirectory.resolve(FILE_INDEX_TO_UPLOAD_FILENAME), name -> inputDirectory.resolve(name)) {
-
-			@Override
-			protected Collection<Path> getItems() throws IOException {
-				try (Stream<Path> ds = Files.walk(inputDirectory)) {
-					return ds.filter(p -> !Files.isDirectory(p) && canUpload(p) &&
-						!filesUploaded.contains(p)).collect(Collectors.toList());
-				}
-
-			}
-
-			@Override
-			protected void processItem(final HaaSFileTransfer tr, final Path p)
-				throws InterruptedIOException
-			{
-				final UploadingFile uf = new UploadingFileImpl(p, inputDirectory);
-				tr.upload(uf);
-				filesUploaded.insert(inputDirectory.resolve(p.toString()));
-				try {
-					filesUploaded.storeToWorkingFile();
-				} catch (final IOException e) {
-					log.error(e.getMessage(), e);
-				} 
-			}
-
-			@Override
-			protected long getTotalSize(Iterable<Path> items, HaaSFileTransfer tr) {
-				return StreamSupport.stream(items.spliterator(), false).map(p -> {
-					try {
-						return Files.size(p);
-					} catch (IOException e) {
-						log.error(e.getMessage(), e);
-						return 0;
-					}
-				}).collect(Collectors.summingLong(val -> val.longValue()));
-			}
-		};
-	}
-
-	private P_PersistentDownloadProcess createDownloadProcess(Supplier<HaaSFileTransfer> fileTransferSupplier,
-			ExecutorService executorService, Runnable uploadFinishedNotifier) throws IOException {
-
-		return new P_PersistentDownloadProcess(executorService, fileTransferSupplier, uploadFinishedNotifier);
-	}
-
-	private class P_PersistentDownloadProcess extends PersistentSynchronizationProcess<String> {
-
-		private Collection<String> items = Collections.emptyList();
-
-		public P_PersistentDownloadProcess(ExecutorService service, Supplier<HaaSFileTransfer> fileTransferSupplier,
-				Runnable processFinishedNotifier) throws IOException {
-			super(service, fileTransferSupplier, processFinishedNotifier,
-					workingDirectory.resolve(FILE_INDEX_TO_DOWNLOAD_FILENAME), name -> name);
-		}
-
-		private synchronized void setItems(Collection<String> items) {
-			this.items = new LinkedList<>(items);
-		}
-
-		@Override
-		protected synchronized Collection<String> getItems() throws IOException {
-			return items;
-		}
-
-		@Override
-		protected void processItem(final HaaSFileTransfer tr, final String file)
-			throws InterruptedIOException
-		{
-			tr.download(file, outputDirectory);
-			filesDownloaded.insert(outputDirectory.resolve(file));
-			try {
-				filesDownloaded.storeToWorkingFile();
-			}
-			catch (final IOException e) {
-				log.error(e.getMessage(), e);
-			}
-		}
-
-		@Override
-		protected long getTotalSize(Iterable<String> files, HaaSFileTransfer tr) throws InterruptedIOException {
-			return tr.obtainSize(StreamSupport.stream(files.spliterator(), false).collect(Collectors.toList())).stream()
-					.collect(Collectors.summingLong(val -> val));
-		}
-
-	}
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/package-info.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/package-info.java
deleted file mode 100644
index 9532375c5a8e6109838cf493d70e85b0fe88b7c2..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas/data_transfer/package-info.java
+++ /dev/null
@@ -1,8 +0,0 @@
-/**
- * 
- */
-/**
- * @author koz01
- *
- */
-package cz.it4i.fiji.haas.data_transfer;
\ No newline at end of file
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/.gitignore b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/.gitignore
deleted file mode 100644
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..0000000000000000000000000000000000000000
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/AuthenticationException.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/AuthenticationException.java
deleted file mode 100644
index 3d0f7b3b25763ba9f6313d35f60840583d36b556..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/AuthenticationException.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-
-public class AuthenticationException extends HaaSClientException {
-
-	public AuthenticationException() {
-	}
-
-	public AuthenticationException(String message) {
-		super(message);
-	}
-
-	public AuthenticationException(Throwable cause) {
-		super(cause);
-	}
-
-	public AuthenticationException(String message, Throwable cause) {
-		super(message, cause);
-	}
-
-	public AuthenticationException(String message, Throwable cause,
-		boolean enableSuppression, boolean writableStackTrace)
-	{
-		super(message, cause, enableSuppression, writableStackTrace);
-	}
-
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Configuration.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Configuration.java
deleted file mode 100644
index 0fe7478a504f06a8a3612a71f83662476867c898..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Configuration.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Properties;
-
-public class Configuration {
-
-	private Properties properties;
-	
-	public Configuration(String configFile) {
-		try (InputStream is = this.getClass().getClassLoader().getResourceAsStream(configFile)) {
-			if (is == null) {
-				throw new IllegalArgumentException("Resource " + configFile + " does not exist. Copy " + configFile
-						+ ".template and fill it, please!");
-			}
-			this.properties = new Properties();
-			this.properties.load(is);
-		} catch (IOException e) {
-			throw new RuntimeException(e);
-		}
-	}
-	
-	protected String getValue(String key) {
-		return this.properties.getProperty(key);
-	}
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Constants.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Constants.java
deleted file mode 100644
index 623d3797beaec094e0675d0208ed578a17534044..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Constants.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-class Constants extends Configuration{
-
-	
-	public Constants(String configFileName) {
-		super(configFileName);
-	}
-
-	public String getUserName() {
-		return getValue("USER_NAME");
-	}
-
-	public String getPhone() {
-		return getValue("PHONE");
-	}
-
-	public String getPassword() {
-		return getValue("PASSWORD");
-	}
-
-	public String getEmail() {
-		return getValue("EMAIL");
-	}
-	
-	
-	
-}
\ No newline at end of file
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/FileTransferInfo.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/FileTransferInfo.java
deleted file mode 100644
index 5cadb5ec25040ee1da9a80d7273eee2f88c77ed8..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/FileTransferInfo.java
+++ /dev/null
@@ -1,25 +0,0 @@
-
-package cz.it4i.fiji.haas_java_client;
-
-import java.nio.file.Path;
-
-public class FileTransferInfo {
-
-	private final Path path;
-
-	private final FileTransferState state;
-
-	public FileTransferInfo(final Path path, final FileTransferState state) {
-		this.path = path;
-		this.state = state;
-	}
-
-	public String getFileNameAsString() {
-		return path.getFileName().toString();
-	}
-
-	public FileTransferState getState() {
-		return state;
-	}
-
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/FileTransferState.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/FileTransferState.java
deleted file mode 100644
index d71ab297b9c52e25ec1274e4136e3444cdb11a22..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/FileTransferState.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public enum FileTransferState {
-		Unknown, Queuing, InProcess, Finished;
-}
\ No newline at end of file
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
deleted file mode 100644
index c973c3ecb2ba5952ddf5ca784efe6fe65d2ab5c3..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java
+++ /dev/null
@@ -1,743 +0,0 @@
-
-package cz.it4i.fiji.haas_java_client;
-
-import com.jcraft.jsch.JSchException;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.net.SocketException;
-import java.net.UnknownHostException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.rmi.RemoteException;
-import java.util.Arrays;
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-import java.util.Optional;
-import java.util.concurrent.Executors;
-import java.util.function.Consumer;
-import java.util.stream.Collectors;
-
-import javax.xml.datatype.XMLGregorianCalendar;
-import javax.xml.rpc.ServiceException;
-import javax.xml.ws.WebServiceException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import cz.it4i.fiji.haas_java_client.HaasFileTransferReconnectingAfterAuthFail.Supplier;
-import cz.it4i.fiji.haas_java_client.proxy.ArrayOfCommandTemplateParameterValueExt;
-import cz.it4i.fiji.haas_java_client.proxy.ArrayOfEnvironmentVariableExt;
-import cz.it4i.fiji.haas_java_client.proxy.ArrayOfTaskFileOffsetExt;
-import cz.it4i.fiji.haas_java_client.proxy.ArrayOfTaskSpecificationExt;
-import cz.it4i.fiji.haas_java_client.proxy.CommandTemplateParameterValueExt;
-import cz.it4i.fiji.haas_java_client.proxy.DataTransferMethodExt;
-import cz.it4i.fiji.haas_java_client.proxy.DataTransferWs;
-import cz.it4i.fiji.haas_java_client.proxy.DataTransferWsSoap;
-import cz.it4i.fiji.haas_java_client.proxy.FileTransferMethodExt;
-import cz.it4i.fiji.haas_java_client.proxy.FileTransferWs;
-import cz.it4i.fiji.haas_java_client.proxy.FileTransferWsSoap;
-import cz.it4i.fiji.haas_java_client.proxy.JobFileContentExt;
-import cz.it4i.fiji.haas_java_client.proxy.JobManagementWs;
-import cz.it4i.fiji.haas_java_client.proxy.JobManagementWsSoap;
-import cz.it4i.fiji.haas_java_client.proxy.JobPriorityExt;
-import cz.it4i.fiji.haas_java_client.proxy.JobSpecificationExt;
-import cz.it4i.fiji.haas_java_client.proxy.JobStateExt;
-import cz.it4i.fiji.haas_java_client.proxy.PasswordCredentialsExt;
-import cz.it4i.fiji.haas_java_client.proxy.SubmittedJobInfoExt;
-import cz.it4i.fiji.haas_java_client.proxy.SynchronizableFilesExt;
-import cz.it4i.fiji.haas_java_client.proxy.TaskFileOffsetExt;
-import cz.it4i.fiji.haas_java_client.proxy.TaskSpecificationExt;
-import cz.it4i.fiji.haas_java_client.proxy.UserAndLimitationManagementWs;
-import cz.it4i.fiji.haas_java_client.proxy.UserAndLimitationManagementWsSoap;
-import cz.it4i.fiji.scpclient.ScpClient;
-import cz.it4i.fiji.scpclient.TransferFileProgress;
-
-public class HaaSClient {
-
-	public static final TransferFileProgress DUMMY_TRANSFER_FILE_PROGRESS =
-		new TransferFileProgress()
-		{
-
-			@Override
-			public void dataTransfered(final long bytesTransfered) {}
-		};
-
-	public static ProgressNotifier DUMMY_PROGRESS_NOTIFIER =
-		new ProgressNotifier()
-		{
-
-			@Override
-			public void setTitle(final String title) {}
-
-			@Override
-			public void setItemCount(final int count, final int total) {}
-
-			@Override
-			public void setCount(final int count, final int total) {}
-
-			@Override
-			public void itemDone(final Object item) {}
-
-			@Override
-			public void done() {}
-
-			@Override
-			public void addItem(final Object item) {}
-		};
-
-	public static UploadingFile getUploadingFile(final Path file) {
-		return new UploadingFile() {
-
-			@Override
-			public InputStream getInputStream() {
-				try {
-					return Files.newInputStream(file);
-				}
-				catch (final IOException e) {
-					log.error(e.getMessage(), e);
-					throw new RuntimeException(e);
-				}
-			}
-
-			@Override
-			public String getName() {
-				return file.getFileName().toString();
-			}
-
-			@Override
-			public long getLength() {
-				try {
-					return Files.size(file);
-				}
-				catch (final IOException e) {
-					log.error(e.getMessage(), e);
-					throw new RuntimeException(e);
-				}
-			}
-
-			@Override
-			public long getLastTime() {
-				try {
-					return Files.getLastModifiedTime(file).toMillis();
-				}
-				catch (final IOException e) {
-					log.error(e.getMessage(), e);
-					throw new RuntimeException(e);
-				}
-			}
-
-		};
-	}
-
-	static public class SynchronizableFiles {
-
-		private final Collection<TaskFileOffsetExt> files = new LinkedList<>();
-
-		public void addFile(final long taskId, final SynchronizableFileType type,
-			final long offset)
-		{
-			final TaskFileOffsetExt off = new TaskFileOffsetExt();
-			off.setFileType(getType(type));
-			off.setSubmittedTaskInfoId(taskId);
-			off.setOffset(offset);
-			files.add(off);
-		}
-
-		private Collection<TaskFileOffsetExt> getFiles() {
-			return files;
-		}
-
-		private SynchronizableFilesExt getType(final SynchronizableFileType type) {
-			switch (type) {
-				case LogFile:
-					return SynchronizableFilesExt.LOG_FILE;
-				case ProgressFile:
-					return SynchronizableFilesExt.PROGRESS_FILE;
-				case StandardErrorFile:
-					return SynchronizableFilesExt.STANDARD_ERROR_FILE;
-				case StandardOutputFile:
-					return SynchronizableFilesExt.STANDARD_OUTPUT_FILE;
-				default:
-					throw new UnsupportedOperationException("Unsupported type: " + type);
-			}
-
-		}
-	}
-
-	private static Logger log = LoggerFactory.getLogger(
-		cz.it4i.fiji.haas_java_client.HaaSClient.class);
-
-	final static private Map<JobStateExt, JobState> WS_STATE2STATE;
-
-	static {
-		final Map<JobStateExt, JobState> map = new HashMap<>();
-		map.put(JobStateExt.CANCELED, JobState.Canceled);
-		map.put(JobStateExt.CONFIGURING, JobState.Configuring);
-		map.put(JobStateExt.FAILED, JobState.Failed);
-		map.put(JobStateExt.FINISHED, JobState.Finished);
-		map.put(JobStateExt.QUEUED, JobState.Queued);
-		map.put(JobStateExt.RUNNING, JobState.Running);
-		map.put(JobStateExt.SUBMITTED, JobState.Submitted);
-		WS_STATE2STATE = Collections.unmodifiableMap(map);
-	}
-
-	private String sessionID;
-
-	private UserAndLimitationManagementWsSoap userAndLimitationManagement;
-
-	private JobManagementWsSoap jobManagement;
-
-	private FileTransferWsSoap fileTransferWS;
-
-	private final String projectId;
-
-	private final Map<Long, P_FileTransferPool> filetransferPoolMap =
-		new HashMap<>();
-
-	private final HaaSClientSettings settings;
-
-	private DataTransferWsSoap dataTransferWs;
-
-	public HaaSClient(final HaaSClientSettings settings) {
-		this.settings = settings;
-		this.projectId = settings.getProjectId();
-	}
-
-	public void checkConnection() {
-		getSessionID();
-	}
-
-	public long createJob(final JobSettings jobSettings,
-		final Collection<Entry<String, String>> templateParameters)
-	{
-		return doCreateJob(jobSettings, templateParameters);
-	}
-
-	public HaaSFileTransfer startFileTransfer(final long jobId,
-		final TransferFileProgress notifier)
-	{
-		try {
-			return createFileTransfer(jobId, notifier);
-		}
-		catch (RemoteException | ServiceException e)
-		{
-			throw new HaaSClientException(e);
-		}
-	}
-
-	public HaaSFileTransfer startFileTransfer(final long jobId) {
-		return startFileTransfer(jobId, DUMMY_TRANSFER_FILE_PROGRESS);
-	}
-
-	public TunnelToNode openTunnel(final long jobId, final String nodeIP,
-		final int localPort, final int remotePort)
-	{
-		MiddlewareTunnel tunnel;
-		try {
-			tunnel = new MiddlewareTunnel(Executors.newCachedThreadPool(), jobId,
-				nodeIP, getSessionID());
-			tunnel.open(localPort, remotePort);
-			return new TunnelToNode() {
-
-				@Override
-				public void close() throws IOException {
-					tunnel.close();
-				}
-
-				@Override
-				public int getLocalPort() {
-					return tunnel.getLocalPort();
-				}
-
-				@Override
-				public String getLocalHost() {
-					return tunnel.getLocalHost();
-				}
-			};
-		}
-		catch (final IOException e) {
-			log.error(e.getMessage(), e);
-			throw new HaaSClientException(e);
-		}
-	}
-
-	public void submitJob(final long jobId) {
-		doSubmitJob(jobId);
-	}
-
-	public JobInfo obtainJobInfo(final long jobId) {
-		final SubmittedJobInfoExt info = getJobManagement().getCurrentInfoForJob(
-			jobId, getSessionID());
-
-		final Collection<Long> tasksId = info.getTasks().getSubmittedTaskInfoExt()
-			.stream().map(ti -> ti.getId()).collect(Collectors.toList());
-		return new JobInfo() {
-
-			private List<String> ips;
-
-			@Override
-			public Collection<Long> getTasks() {
-				return tasksId;
-			}
-
-			@Override
-			public JobState getState() {
-				return WS_STATE2STATE.get(info.getState());
-			}
-
-			@Override
-			public java.util.Calendar getStartTime() {
-				return toGregorian(info.getStartTime());
-			}
-
-			@Override
-			public java.util.Calendar getEndTime() {
-				return toGregorian(info.getEndTime());
-			}
-
-			@Override
-			public Calendar getCreationTime() {
-				return toGregorian(info.getCreationTime());
-			}
-
-			@Override
-			public List<String> getNodesIPs() {
-				if (ips == null) {
-					ips = getJobManagement().getAllocatedNodesIPs(jobId, getSessionID())
-						.getString().stream().collect(Collectors.toList());
-
-				}
-				return ips;
-			}
-		};
-	}
-
-	public Collection<JobFileContentExt> downloadPartsOfJobFiles(final Long jobId,
-		final HaaSClient.SynchronizableFiles files)
-	{
-		final ArrayOfTaskFileOffsetExt fileOffsetExt =
-			new ArrayOfTaskFileOffsetExt();
-		fileOffsetExt.getTaskFileOffsetExt().addAll(files.getFiles());
-		return getFileTransfer().downloadPartsOfJobFilesFromCluster(jobId,
-			fileOffsetExt, getSessionID()).getJobFileContentExt();
-	}
-
-	public Collection<String> getChangedFiles(final long jobId) {
-		return getFileTransfer().listChangedFilesForJob(jobId, getSessionID())
-			.getString();
-	}
-
-	public void cancelJob(final Long jobId) {
-		getJobManagement().cancelJob(jobId, getSessionID());
-	}
-
-	public void deleteJob(final long id) {
-		getJobManagement().deleteJob(id, getSessionID());
-	}
-
-	public HaaSDataTransfer startDataTransfer(final long jobId,
-		final int nodeNumber, final int port)
-	{
-		return createDataTransfer(jobId, nodeNumber, port);
-	}
-
-	synchronized String getSessionID() {
-		if (sessionID == null) {
-			sessionID = authenticate();
-		}
-		return sessionID;
-	}
-
-	private HaaSFileTransfer createFileTransfer(final long jobId,
-		final TransferFileProgress progress) throws RemoteException,
-		ServiceException
-	{
-		final P_FileTransferPool pool = filetransferPoolMap.computeIfAbsent(jobId,
-			id -> new P_FileTransferPool(id));
-		
-			return new HaasFileTransferReconnectingAfterAuthFail(getHaasFileTransferFactory(pool, progress),
-				() -> pool.reconnect());
-	}
-
-	private Supplier<HaaSFileTransfer> getHaasFileTransferFactory(
-		P_FileTransferPool pool, TransferFileProgress progress)
-	{
-		return () -> {
-
-			final FileTransferMethodExt ft = pool.obtain();
-			try {
-				return new HaaSFileTransferImp(ft, getScpClient(ft), progress) {
-
-					@Override
-					public void close() {
-						super.close();
-						try {
-							pool.release();
-						}
-						catch (RemoteException | ServiceException e) {
-							throw new HaaSClientException(e);
-						}
-					}
-				};
-			}
-			catch (UnsupportedEncodingException | JSchException e) {
-				pool.release();
-				throw new HaaSClientException(e);
-			}
-		};
-	}
-
-	private HaaSDataTransfer createDataTransfer(final long jobId,
-		final int nodeNumber, final int port)
-	{
-		final String host = getJobManagement().getAllocatedNodesIPs(jobId,
-			getSessionID()).getString().get(nodeNumber);
-		final DataTransferWsSoap ws = getDataTransfer();
-		final DataTransferMethodExt dataTransferMethodExt = ws
-			.getDataTransferMethod(host, port, jobId, getSessionID());
-		final String sessionId = getSessionID();
-		return new HaaSDataTransfer() {
-
-			@Override
-			public void close() throws IOException {
-				if (log.isDebugEnabled()) {
-					log.debug("close");
-				}
-				ws.endDataTransfer(dataTransferMethodExt, sessionId);
-				if (log.isDebugEnabled()) {
-					log.debug("close - DONE");
-				}
-			}
-
-			@Override
-			public void write(final byte[] buffer) {
-				if (log.isDebugEnabled()) {
-					log.debug("write: {}", new String(buffer));
-				}
-				ws.writeDataToJobNode(buffer, jobId, host, sessionId, false);
-				if (log.isDebugEnabled()) {
-					log.debug("write - DONE");
-				}
-			}
-
-			@Override
-			public byte[] read() {
-				if (log.isDebugEnabled()) {
-					log.debug("read: ");
-				}
-				final byte[] result = ws.readDataFromJobNode(jobId, host, sessionId);
-				if (log.isDebugEnabled()) {
-					log.debug("read - DONE: \"{}\"", result != null ? new String(result)
-						: "EOF");
-				}
-				return result;
-			}
-
-			@Override
-			public void closeConnection() {
-				if (log.isDebugEnabled()) {
-					log.debug("closeConnection");
-				}
-				ws.writeDataToJobNode(null, jobId, host, sessionId, true);
-				if (log.isDebugEnabled()) {
-					log.debug("closeConnection - DONE");
-				}
-			}
-		};
-	}
-
-	private void doSubmitJob(final long jobId) {
-		getJobManagement().submitJob(jobId, getSessionID());
-	}
-
-	private long doCreateJob(final JobSettings jobSettings,
-		final Collection<Entry<String, String>> templateParameters)
-	{
-		final Collection<TaskSpecificationExt> taskSpec = Arrays.asList(
-			createTaskSpecification(jobSettings, templateParameters));
-		final JobSpecificationExt jobSpecification = createJobSpecification(
-			jobSettings, taskSpec);
-		final SubmittedJobInfoExt job = getJobManagement().createJob(
-			jobSpecification, getSessionID());
-		return job.getId();
-	}
-
-	private ScpClient getScpClient(final FileTransferMethodExt fileTransfer)
-		throws UnsupportedEncodingException, JSchException
-	{
-		final byte[] pvtKey = fileTransfer.getCredentials().getPrivateKey()
-			.getBytes("UTF-8");
-		return new ScpClient(fileTransfer.getServerHostname(), fileTransfer
-			.getCredentials().getUsername(), pvtKey);
-	}
-
-	private JobSpecificationExt createJobSpecification(
-		final JobSettings jobSettings, final Collection<TaskSpecificationExt> tasks)
-	{
-		final JobSpecificationExt testJob = new JobSpecificationExt();
-		testJob.setName(jobSettings.getJobName());
-		testJob.setMinCores(jobSettings.getNumberOfCoresPerNode() * jobSettings
-			.getNumberOfNodes());
-		testJob.setMaxCores(jobSettings.getNumberOfCoresPerNode() * jobSettings
-			.getNumberOfNodes());
-		testJob.setPriority(JobPriorityExt.AVERAGE);
-		testJob.setProject(projectId);
-		testJob.setWaitingLimit(null);
-		testJob.setWalltimeLimit(jobSettings.getWalltimeLimit());
-		testJob.setNotificationEmail(settings.getEmail());
-		testJob.setPhoneNumber(settings.getPhone());
-		testJob.setNotifyOnAbort(false);
-		testJob.setNotifyOnFinish(false);
-		testJob.setNotifyOnStart(false);
-		testJob.setClusterNodeTypeId(jobSettings.getClusterNodeType());
-		testJob.setEnvironmentVariables(new ArrayOfEnvironmentVariableExt());
-		testJob.setTasks(getAndFill(new ArrayOfTaskSpecificationExt(), a -> a
-			.getTaskSpecificationExt().addAll(tasks)));
-		return testJob;
-	}
-
-	private TaskSpecificationExt createTaskSpecification(
-		final JobSettings jobSettings,
-		final Collection<Entry<String, String>> templateParameters)
-	{
-
-		final TaskSpecificationExt testTask = new TaskSpecificationExt();
-		testTask.setName(jobSettings.getJobName() + "-task");
-		testTask.setMinCores(jobSettings.getNumberOfCoresPerNode() * jobSettings
-			.getNumberOfNodes());
-		testTask.setMaxCores(jobSettings.getNumberOfCoresPerNode() * jobSettings
-			.getNumberOfNodes());
-		testTask.setWalltimeLimit(jobSettings.getWalltimeLimit());
-		testTask.setRequiredNodes(null);
-		testTask.setIsExclusive(false);
-		testTask.setIsRerunnable(false);
-		testTask.setStandardInputFile(null);
-		testTask.setStandardOutputFile("console_Stdout");
-		testTask.setStandardErrorFile("console_Stderr");
-		testTask.setProgressFile("console_Stdprog");
-		testTask.setLogFile("console_Stdlog");
-		testTask.setClusterTaskSubdirectory(null);
-		testTask.setCommandTemplateId(jobSettings.getTemplateId());
-		testTask.setEnvironmentVariables(new ArrayOfEnvironmentVariableExt());
-		testTask.setDependsOn(null);
-		testTask.setTemplateParameterValues(getAndFill(
-			new ArrayOfCommandTemplateParameterValueExt(), t -> t
-				.getCommandTemplateParameterValueExt().addAll(templateParameters
-					.stream().map(pair -> createCommandTemplateParameterValueExt(pair
-						.getKey(), pair.getValue())).collect(Collectors.toList()))));
-		return testTask;
-	}
-
-	private String authenticate() {
-		try {
-		return getUserAndLimitationManagement().authenticateUserPassword(
-			createPasswordCredentialsExt(settings.getUserName(), settings
-				.getPassword()));
-		}
-		catch (WebServiceException e) {
-			if (e.getMessage().contains(
-				"The server sent HTTP status code 500: Internal Server Error"))
-			{
-				throw new AuthenticationException(e);
-			}
-			tryNotConnected(e);
-			throw e;
-		}
-	}
-
-	private void tryNotConnected(RuntimeException e) {
-		if (e.getMessage().contains("HTTP transport error") && (e
-			.getCause() instanceof UnknownHostException || (e
-				.getCause() instanceof SocketException && e.getCause().getMessage()
-					.contains("Network is unreachable (connect failed)"))))
-		{
-			throw new NotConnectedException(e);
-		}
-	}
-
-	synchronized private DataTransferWsSoap getDataTransfer() {
-		if (dataTransferWs == null) {
-			dataTransferWs = new DataTransferWs().getDataTransferWsSoap12();
-		}
-		return dataTransferWs;
-	}
-
-	synchronized private UserAndLimitationManagementWsSoap
-		getUserAndLimitationManagement()
-	{
-		if (userAndLimitationManagement == null) {
-			userAndLimitationManagement = new UserAndLimitationManagementWs()
-				.getUserAndLimitationManagementWsSoap12();
-		}
-		return userAndLimitationManagement;
-	}
-
-	synchronized private JobManagementWsSoap getJobManagement() {
-		if (jobManagement == null) {
-			jobManagement = new JobManagementWs().getJobManagementWsSoap12();
-		}
-		return jobManagement;
-	}
-
-	synchronized private FileTransferWsSoap getFileTransfer() {
-		if (fileTransferWS == null) {
-			fileTransferWS = new FileTransferWs().getFileTransferWsSoap12();
-		}
-		return fileTransferWS;
-	}
-
-	public static class P_ProgressNotifierDecorator4Size extends
-		P_ProgressNotifierDecorator
-	{
-
-		private static final int SIZE_RATIO = 20;
-
-		public P_ProgressNotifierDecorator4Size(final ProgressNotifier notifier) {
-			super(notifier);
-
-		}
-
-		@Override
-		public void setItemCount(final int count, final int total) {
-			super.setItemCount(count, total);
-			setCount(count, total * SIZE_RATIO);
-		}
-	}
-
-	public static class P_ProgressNotifierDecorator implements ProgressNotifier {
-
-		private final ProgressNotifier notifier;
-
-		public P_ProgressNotifierDecorator(final ProgressNotifier notifier) {
-			this.notifier = notifier;
-		}
-
-		@Override
-		public void setTitle(final String title) {
-			notifier.setTitle(title);
-		}
-
-		@Override
-		public void setCount(final int count, final int total) {
-			notifier.setCount(count, total);
-		}
-
-		@Override
-		public void addItem(final Object item) {
-			notifier.addItem(item);
-		}
-
-		@Override
-		public void setItemCount(final int count, final int total) {
-			notifier.setItemCount(count, total);
-		}
-
-		@Override
-		public void itemDone(final Object item) {
-			notifier.itemDone(item);
-		}
-
-		@Override
-		public void done() {
-			notifier.done();
-		}
-	}
-
-	private interface P_Supplier<T> {
-
-		T get() throws RemoteException, ServiceException;
-	}
-
-	private interface P_Consumer<T> {
-
-		void accept(T val) throws RemoteException, ServiceException;
-	}
-
-	private class P_FileTransferPool {
-
-		private FileTransferMethodExt holded;
-		private int counter;
-		private final P_Supplier<FileTransferMethodExt> factory;
-		private final P_Consumer<FileTransferMethodExt> destroyer;
-
-		public P_FileTransferPool(final long jobId) {
-			this.factory = () -> getFileTransfer().getFileTransferMethod(jobId,
-				getSessionID());
-			this.destroyer = val -> getFileTransfer().endFileTransfer(jobId, val,
-				getSessionID());
-		}
-
-		public void reconnect() {
-			try {
-				if (holded != null) {
-					destroyer.accept(holded);
-				}
-				sessionID = null;
-				if (holded != null) {
-					holded = factory.get();
-				}
-			}
-			catch (RemoteException | ServiceException exc) {
-				throw new HaaSClientException(exc);
-			}
-		}
-
-		public synchronized FileTransferMethodExt obtain() throws RemoteException,
-			ServiceException
-		{
-			if (holded == null) {
-				holded = factory.get();
-			}
-			counter++;
-			return holded;
-		}
-
-		public synchronized void release() throws RemoteException,
-			ServiceException
-		{
-			if (--counter == 0) {
-				destroyer.accept(holded);
-				holded = null;
-			}
-		}
-
-	}
-
-	private static <T> T getAndFill(final T value, final Consumer<T> filler) {
-		filler.accept(value);
-		return value;
-	}
-
-	private static Calendar toGregorian(final XMLGregorianCalendar time) {
-		return Optional.ofNullable(time).map(t -> t.toGregorianCalendar()).orElse(
-			null);
-	}
-
-	private static CommandTemplateParameterValueExt
-		createCommandTemplateParameterValueExt(final String key, final String value)
-	{
-		final CommandTemplateParameterValueExt result =
-			new CommandTemplateParameterValueExt();
-		result.setCommandParameterIdentifier(key);
-		result.setParameterValue(value);
-		return result;
-	}
-
-	private static PasswordCredentialsExt createPasswordCredentialsExt(
-		final String userName, final String password)
-	{
-		final PasswordCredentialsExt result = new PasswordCredentialsExt();
-		result.setUsername(userName);
-		result.setPassword(password);
-		return result;
-	}
-
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClientException.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClientException.java
deleted file mode 100644
index cc230bb65759d9f38c05060bfca9500fc887d908..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClientException.java
+++ /dev/null
@@ -1,26 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public class HaaSClientException extends RuntimeException {
-
-	private static final long serialVersionUID = 1L;
-
-	public HaaSClientException() {
-	}
-
-	public HaaSClientException(String message) {
-		super(message);
-	}
-
-	public HaaSClientException(Throwable cause) {
-		super(cause);
-	}
-
-	public HaaSClientException(String message, Throwable cause) {
-		super(message, cause);
-	}
-
-	public HaaSClientException(String message, Throwable cause, boolean enableSuppression, boolean writableStackTrace) {
-		super(message, cause, enableSuppression, writableStackTrace);
-	}
-
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClientSettings.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClientSettings.java
deleted file mode 100644
index 0b4d7b0269e0e62f6646b1235939e02a40cccb1e..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClientSettings.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public interface HaaSClientSettings {
-	String getUserName();
-	String getPassword();
-	String getEmail();
-	String getPhone();
-	String getProjectId();
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSDataTransfer.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSDataTransfer.java
deleted file mode 100644
index 9881a87c0cdc766c46c19cd4b0c7dd4702d137b0..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSDataTransfer.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import java.io.Closeable;
-
-public interface HaaSDataTransfer extends Closeable{
-	void write(byte []buffer);
-	byte[] read();
-	void closeConnection();
-}
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
deleted file mode 100644
index fc7ebc2b82d16cff5afca7dc4384c6a648ec73e1..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransfer.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import java.io.Closeable;
-import java.io.InterruptedIOException;
-import java.nio.file.Path;
-import java.util.List;
-
-import cz.it4i.fiji.scpclient.TransferFileProgress;
-
-public interface HaaSFileTransfer extends Closeable {
-
-	
-	@Override
-	void close();
-
-	void upload(UploadingFile file) throws InterruptedIOException;
-
-	void download(String files, Path workDirectory) throws InterruptedIOException;
-
-	List<Long> obtainSize(List<String> files) throws InterruptedIOException;
-
-	List<String> getContent(List<String> logs);
-	
-	void setProgress(TransferFileProgress progress);
-}
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
deleted file mode 100644
index 1af10be4b0029aafef46b63daabcd6ff7e8eef65..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSFileTransferImp.java
+++ /dev/null
@@ -1,125 +0,0 @@
-
-package cz.it4i.fiji.haas_java_client;
-
-import com.jcraft.jsch.JSchException;
-
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InterruptedIOException;
-import java.nio.file.Path;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.stream.Collectors;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import cz.it4i.fiji.haas_java_client.proxy.FileTransferMethodExt;
-import cz.it4i.fiji.scpclient.ScpClient;
-import cz.it4i.fiji.scpclient.TransferFileProgress;
-
-class HaaSFileTransferImp implements HaaSFileTransfer {
-
-	@SuppressWarnings("unused")
-	private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.HaaSFileTransferImp.class);
-
-	private final FileTransferMethodExt ft;
-	private final ScpClient scpClient;
-	private TransferFileProgress progress;
-	
-	public HaaSFileTransferImp(FileTransferMethodExt ft, ScpClient scpClient, TransferFileProgress progress) {
-		this.ft = ft;
-		this.scpClient = scpClient;
-		this.progress = progress;
-	}
-
-	@Override
-	public void close() {
-		scpClient.close();
-	}
-
-	@Override
-	public void upload(final UploadingFile file) throws InterruptedIOException {
-		final String destFile = ft.getSharedBasepath() + "/" + file.getName();
-		try (InputStream is = file.getInputStream()) {
-			scpClient.upload(is, destFile, file.getLength(), file.getLastTime(),
-				progress);
-		}
-		catch (JSchException | IOException e) {
-			throw new HaaSClientException("An upload of " + file + " to " + destFile +
-				" failed: " + e.getMessage(), e);
-		}
-	}
-
-	@Override
-	public void download(String fileName, final Path workDirectory)
-		throws InterruptedIOException
-	{
-		try {
-			fileName = fileName.replaceFirst("/", "");
-			final Path rFile = workDirectory.resolve(fileName);
-			final String fileToDownload = ft.getSharedBasepath() + "/" + fileName;
-			scpClient.download(fileToDownload, rFile, progress);
-		}
-		catch (JSchException | IOException e) {
-			throw new HaaSClientException("A download of " + fileName + " to " +
-				workDirectory + " failed: " + e.getMessage());
-		}
-	}
-
-	@Override
-	public void setProgress(TransferFileProgress progress) {
-		this.progress = progress;
-	}
-	
-	@Override
-	public List<Long> obtainSize(List<String> files) throws InterruptedIOException {
-		try {
-			return getSizes(files.stream()
-				.map(filename -> ft.getSharedBasepath() + "/" + filename).collect(
-					Collectors.toList()));
-		} catch (InterruptedIOException e) {
-			throw e;
-		} catch (JSchException | IOException e) {
-			throw new HaaSClientException(e);
-		}
-
-	}
-
-	// FIXME: merge with download - stream provider for file, consumer for stream
-	@Override
-	public List<String> getContent(List<String> files) {
-		List<String> result = new LinkedList<>();
-		try {
-			for (String fileName : files) {
-				fileName = replaceIfFirstFirst(fileName);
-				try (ByteArrayOutputStream os = new ByteArrayOutputStream()) {
-					String fileToDownload = ft.getSharedBasepath() + "/" + fileName;
-					scpClient.download(fileToDownload, os, progress);
-					os.flush();
-					result.add(os.toString());
-				}
-			}
-		} catch (JSchException | IOException e) {
-			throw new HaaSClientException(e);
-		}
-		return result;
-	}
-	
-	private String replaceIfFirstFirst(String fileName) {
-		if (fileName.length() < 0 && fileName.charAt(0) == '/') {
-			fileName = fileName.substring(1);
-		}
-		return fileName;
-	}
-	
-	private List<Long> getSizes(List<String> asList) throws JSchException, IOException {
-		List<Long> result = new LinkedList<>();
-		for (String lfile : asList) {
-			result.add(scpClient.size(lfile));
-		}
-		return result;
-	}
-
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaasFileTransferReconnectingAfterAuthFail.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaasFileTransferReconnectingAfterAuthFail.java
deleted file mode 100644
index 70db9e0a4b46314bd5fd889b77bcd5972573db62..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaasFileTransferReconnectingAfterAuthFail.java
+++ /dev/null
@@ -1,126 +0,0 @@
-
-package cz.it4i.fiji.haas_java_client;
-
-import java.io.InterruptedIOException;
-import java.nio.file.Path;
-import java.rmi.RemoteException;
-import java.util.List;
-
-import javax.xml.rpc.ServiceException;
-
-import cz.it4i.fiji.scpclient.AuthFailException;
-import cz.it4i.fiji.scpclient.TransferFileProgress;
-
-public class HaasFileTransferReconnectingAfterAuthFail implements HaaSFileTransfer {
-
-	private static final int MAX_ATTEMPTS_FOR_RECONNECTION = 5;
-
-	public interface Supplier <T> {
-		T get() throws ServiceException, RemoteException;
-	}
-	
-	private Supplier<HaaSFileTransfer> haasFileTransferFactory;
-	private HaaSFileTransfer haasFileTransfer;
-	private Runnable reconnectCommand;
-
-	public HaasFileTransferReconnectingAfterAuthFail(
-		Supplier<HaaSFileTransfer> haasFileTransferFactory,
-		Runnable reconnectCommand) throws RemoteException, ServiceException
-	{
-		super();
-		this.haasFileTransferFactory = haasFileTransferFactory;
-		this.haasFileTransfer = haasFileTransferFactory.get();
-		this.reconnectCommand = reconnectCommand;
-	}
-
-	@Override
-	public void close() {
-		this.haasFileTransfer.close();
-	}
-
-	@Override
-	public void upload(UploadingFile file) throws InterruptedIOException {
-		doWithRepeatedReconnect(() -> {
-			haasFileTransfer.upload(file);
-			return null;
-		});
-	}
-
-	@Override
-	public void download(String files, Path workDirectory)
-		throws InterruptedIOException
-	{
-		doWithRepeatedReconnect(() -> {
-			haasFileTransfer.download(files, workDirectory);
-			return null;
-		});
-	}
-
-	@Override
-	public List<Long> obtainSize(List<String> files)
-		throws InterruptedIOException
-	{
-		return doWithRepeatedReconnect(() -> haasFileTransfer.obtainSize(files));
-	}
-
-	@Override
-	public List<String> getContent(List<String> logs) {
-		try {
-			return doWithRepeatedReconnect(() -> haasFileTransfer.getContent(logs));
-		}
-		catch (InterruptedIOException exc) {
-			throw new RuntimeException(exc);
-		}
-	}
-
-	@Override
-	public void setProgress(TransferFileProgress progress) {
-		try {
-			doWithRepeatedReconnect(() -> {
-				haasFileTransfer.setProgress(progress);
-				return null;
-			});
-		}
-		catch (InterruptedIOException exc) {
-			throw new RuntimeException(exc);
-		}
-	}
-
-	private interface CallableInteruptable<T> {
-
-		T call() throws InterruptedIOException;
-	}
-
-	private <T> T doWithRepeatedReconnect(CallableInteruptable<T> runnable)
-		throws InterruptedIOException
-	{
-		int attempts = 0;
-		do {
-			try {
-				return runnable.call();
-			}
-			catch (HaaSClientException e) {
-				if (e.getCause() instanceof AuthFailException) {
-					if (attempts <= MAX_ATTEMPTS_FOR_RECONNECTION) {
-						attempts++;
-						reconnect();
-						continue;
-					}
-				}
-				throw e;
-			}
-		}
-		while (true);
-	}
-
-	private void reconnect() {
-		haasFileTransfer.close();
-		reconnectCommand.run();
-		try {
-			haasFileTransfer = haasFileTransferFactory.get();
-		}
-		catch (RemoteException | ServiceException exc) {
-			throw new HaaSClientException(exc);
-		}
-	}
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobFileContent.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobFileContent.java
deleted file mode 100644
index c381755523848b405c301318a5fe1e8ad6a1d039..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobFileContent.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public interface JobFileContent {
-
-	/**
-	 * Gets the content value for this JobFileContentExt.
-	 * 
-	 * @return content
-	 */
-	java.lang.String getContent();
-
-	/**
-	 * Gets the relativePath value for this JobFileContentExt.
-	 * 
-	 * @return relativePath
-	 */
-	java.lang.String getRelativePath();
-
-	/**
-	 * Gets the offset value for this JobFileContentExt.
-	 * 
-	 * @return offset
-	 */
-	java.lang.Long getOffset();
-
-	/**
-	 * Gets the fileType value for this JobFileContentExt.
-	 * 
-	 * @return fileType
-	 */
-	SynchronizableFileType getFileType();
-
-	/**
-	 * Gets the submittedTaskInfoId value for this JobFileContentExt.
-	 * 
-	 * @return submittedTaskInfoId
-	 */
-	java.lang.Long getSubmittedTaskInfoId();
-
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobInfo.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobInfo.java
deleted file mode 100644
index 523370a5a2e414768b12e8028f0db8d0504534a8..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobInfo.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import java.util.Calendar;
-import java.util.Collection;
-import java.util.List;
-
-public interface JobInfo {
-	
-	Collection<Long> getTasks();
-	
-	JobState getState();
-	
-	Calendar getStartTime();
-
-	Calendar getEndTime();
-
-	Calendar getCreationTime();
-
-	List<String> getNodesIPs();
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobSettings.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobSettings.java
deleted file mode 100644
index ddafdbd7a55bfab1121965c20e9bd39167dc8d70..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobSettings.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public interface JobSettings {
-	long getTemplateId();
-	int getWalltimeLimit();
-	long getClusterNodeType();
-	String getJobName();
-	int getNumberOfNodes();
-	int getNumberOfCoresPerNode();
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobSettingsBuilder.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobSettingsBuilder.java
deleted file mode 100644
index ec63972654731594e99196694dd9581cf27a4102..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobSettingsBuilder.java
+++ /dev/null
@@ -1,94 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public class JobSettingsBuilder {
-
-	private static final long DEFAULT_TEMPLATE = 1l;
-
-
-	private static final int DEFAULT_WALLTIME = 600;
-
-
-	private static final long DEFAULT_CLUSTER_NODE_TYPE = 7L;
-
-
-	private static final String DEFAULT_JOB_NAME = "DefaultHEAppEJob";
-
-
-	private static final int DEFAULT_NUMBER_OF_NODES = 1;
-
-
-	private static final int DEFAULT_NUMBER_OF_CORES_PER_NODE = 24;
-	
-	
-	private long _templateId = DEFAULT_TEMPLATE;
-	private int _walltimeLimit = DEFAULT_WALLTIME;
-	private long _clusterNodeType = DEFAULT_CLUSTER_NODE_TYPE;
-	private String _jobName = DEFAULT_JOB_NAME;
-	private int _numberOfNodes = DEFAULT_NUMBER_OF_NODES;
-	private int _numberOfCoresPerNode = DEFAULT_NUMBER_OF_CORES_PER_NODE;
-	
-
-	public JobSettingsBuilder templateId(long templateId) {
-		this._templateId = templateId;
-		return this;
-	}
-	
-	public JobSettingsBuilder walltimeLimit(int walltimeLimit) {
-		this._walltimeLimit = walltimeLimit;
-		return this;
-	}
-	
-	public JobSettingsBuilder clusterNodeType(long clusterNodeType) {
-		this._clusterNodeType = clusterNodeType;
-		return this;
-	}
-	public JobSettingsBuilder jobName(String jobName) {
-		this._jobName = jobName;
-		return this;
-	}
-	
-	public JobSettingsBuilder numberOfNodes(int numberOfNodes) {
-		this._numberOfNodes = numberOfNodes;
-		return this;
-	}
-	
-	public JobSettingsBuilder numberOfCoresPerNode(int numberOfCoresPerNode) {
-		this._numberOfCoresPerNode = numberOfCoresPerNode;
-		return this;
-	}
-	
-	public JobSettings build() {
-		return new JobSettings() {
-			
-			@Override
-			public int getWalltimeLimit() {
-				return _walltimeLimit;
-			}
-			
-			@Override
-			public long getTemplateId() {
-				return _templateId;
-			}
-			
-			@Override
-			public int getNumberOfNodes() {
-				return _numberOfNodes;
-			}
-			
-			@Override
-			public String getJobName() {
-				return _jobName;
-			}
-			
-			@Override
-			public long getClusterNodeType() {
-				return _clusterNodeType;
-			}
-
-			@Override
-			public int getNumberOfCoresPerNode() {
-				return _numberOfCoresPerNode;
-			}
-		};
-	}
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobState.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobState.java
deleted file mode 100644
index 3468aeda2d3b641547c1e0fc975d91af04a3837d..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobState.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public enum JobState {
-	Unknown,
-	Configuring,
-    Submitted,
-    Queued,
-    Running,
-    Finished,
-    Failed,
-    Canceled, 
-    Disposed;
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/LambdaExceptionHandlerWrapper.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/LambdaExceptionHandlerWrapper.java
deleted file mode 100644
index 2abb7fc87cdd2c14791620d4f1b77355a7fec8dd..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/LambdaExceptionHandlerWrapper.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public class LambdaExceptionHandlerWrapper {
-
-	public interface Runnable {
-		void run() throws Exception;
-	}
-
-	public static void wrap(Runnable r) {
-		try {
-			r.run();
-		} catch (Exception e) {
-			//ignore
-		}
-	}
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MiddlewareTunnel.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MiddlewareTunnel.java
deleted file mode 100644
index bc2b181a68c5c687e57cae260669d696fea8a5e6..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MiddlewareTunnel.java
+++ /dev/null
@@ -1,484 +0,0 @@
-
-package cz.it4i.fiji.haas_java_client;
-
-import java.io.Closeable;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InterruptedIOException;
-import java.io.OutputStream;
-import java.net.InetAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.SocketException;
-import java.net.SocketTimeoutException;
-import java.net.UnknownHostException;
-import java.nio.channels.Channels;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Future;
-import java.util.function.Consumer;
-
-import javax.xml.ws.BindingProvider;
-import javax.xml.ws.WebServiceException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import cz.it4i.fiji.haas_java_client.proxy.DataTransferMethodExt;
-import cz.it4i.fiji.haas_java_client.proxy.DataTransferWs;
-import cz.it4i.fiji.haas_java_client.proxy.DataTransferWsSoap;
-
-class MiddlewareTunnel implements Closeable {
-
-	public static final Logger log = LoggerFactory.getLogger(
-		cz.it4i.fiji.haas_java_client.MiddlewareTunnel.class);
-
-	private static final int TIMEOUT = 1000;
-
-	private static final int DEFAULT_BACKLOG = 50;
-
-	private static final int ZERO_COUNT_THRESHOLD = 10;
-
-	private static final long ZERO_COUNT_PAUSE = 500;
-
-	private static final int DEFAULT_BUFFER_SIZE = 1024 * 1024 * 32;
-
-	private final long jobId;
-
-	private ServerSocket ss;
-
-	private final DataTransferWsSoap dataTransfer;
-
-	private Future<?> mainFuture;
-
-	private CountDownLatch mainLatch;
-
-	private final String ipAddress;
-
-	private final String sessionCode;
-
-	private final ExecutorService executorService;
-
-	private final int sendBufferData = DEFAULT_BUFFER_SIZE;
-
-	private P_Connection lastConnection;
-
-	private DataTransferMethodExt dataTransferMethod;
-
-	public MiddlewareTunnel(final ExecutorService executorService,
-		final long jobId, final String hostIp, final String sessionCode)
-	{
-		this.jobId = jobId;
-		this.dataTransfer = new DataTransferWs().getDataTransferWsSoap12();
-		((BindingProvider) dataTransfer).getRequestContext().put(
-			"javax.xml.ws.client.connectionTimeout", "" + TIMEOUT);
-		((BindingProvider) dataTransfer).getRequestContext().put(
-			"javax.xml.ws.client.receiveTimeout", "" + TIMEOUT);
-		this.ipAddress = hostIp;
-		this.sessionCode = sessionCode;
-		this.executorService = executorService;
-	}
-
-	public void open(final int port) throws UnknownHostException, IOException {
-		open(0, port);
-	}
-
-	public void open(final int localport, final int port) throws IOException {
-		open(localport, port, DEFAULT_BACKLOG);
-	}
-
-	public void open(final int localport, final int port, final int backlog)
-		throws UnknownHostException, IOException
-	{
-		if (ss != null) {
-			throw new IllegalStateException();
-		}
-		ss = new ServerSocket(localport, backlog, InetAddress.getLoopbackAddress());
-		ss.setSoTimeout(TIMEOUT);
-		mainLatch = new CountDownLatch(1);
-		mainFuture = executorService.submit(() -> {
-			try {
-				while (!Thread.interrupted() && !ss.isClosed()) {
-					try (Socket soc = ss.accept()) {
-						obtainTransferMethodIfNeeded(port);
-						doTransfer(soc);
-					}
-					catch (final SocketTimeoutException e) {
-						// ignore and check interruption
-					}
-					catch (final IOException e) {
-						log.error(e.getMessage(), e);
-						break;
-					}
-				}
-				if (lastConnection != null) {
-					lastConnection.finishIfNeeded();
-				}
-				if (log.isDebugEnabled()) {
-					log.debug("MiddlewareTunnel - interrupted - socket is closed: " + ss
-						.isClosed());
-				}
-
-			}
-			catch (final RuntimeException e) {
-				log.error(e.getMessage(), e);
-				throw e;
-			}
-			finally {
-				mainLatch.countDown();
-			}
-		});
-	}
-
-	public int getLocalPort() {
-		return ss.getLocalPort();
-	}
-
-	public String getLocalHost() {
-		return ss.getInetAddress().getHostAddress();
-	}
-
-	@Override
-	synchronized public void close() throws IOException {
-		if (ss == null) {
-			return;
-		}
-		mainFuture.cancel(true);
-		try {
-			mainLatch.await();
-		}
-		catch (final InterruptedException e) {
-			Thread.currentThread().interrupt();
-			log.error(e.getMessage(), e);
-		}
-		if (dataTransferMethod != null) {
-			if (log.isDebugEnabled()) {
-				log.debug("endDataTransfer");
-			}
-			dataTransfer.endDataTransfer(dataTransferMethod, sessionCode);
-			if (log.isDebugEnabled()) {
-				log.debug("endDataTransfer - DONE");
-			}
-			dataTransferMethod = null;
-		}
-		if (ss != null) {
-			ss.close();
-			ss = null;
-		}
-		executorService.shutdown();
-	}
-
-	synchronized private void obtainTransferMethodIfNeeded(final int port) {
-		if (dataTransferMethod == null) {
-			dataTransferMethod = dataTransfer.getDataTransferMethod(ipAddress, port,
-				jobId, sessionCode);
-		}
-	}
-
-	private void doTransfer(final Socket soc) {
-		log.debug("START: doTransfer");
-		if (lastConnection != null) {
-			lastConnection.finishIfNeeded();
-		}
-		lastConnection = new P_Connection(soc);
-		lastConnection.setClientHandler(c -> sendToMiddleware(c));
-		lastConnection.setServerHandler(c -> readFromMiddleware(c));
-		lastConnection.establish();
-		if (log.isDebugEnabled()) {
-			log.debug("END: doTransfer");
-		}
-	}
-
-	private void sendToMiddleware(final P_Connection connection) {
-		if (log.isDebugEnabled()) {
-			log.debug("START: sendToMiddleware");
-		}
-		try {
-			final InputStream is = Channels.newInputStream(Channels.newChannel(
-				connection.getInputStream()));
-			int len;
-			final byte[] buffer = new byte[sendBufferData];
-			try {
-				while (-1 != (len = is.read(buffer))) {
-					if (len == 0) {
-						continue;
-					}
-					try {
-						if (!sendToMiddleware(buffer, len)) {
-							break;
-						}
-					}
-					finally {
-						connection.dataSentNotify();
-					}
-					if (log.isDebugEnabled()) {
-						log.debug("send " + len + " bytes to middleware");
-						log.debug("send data: " + new String(buffer, 0, Math.min(len,
-							100)));
-
-					}
-				}
-				if (log.isDebugEnabled()) {
-					log.debug("EOF detected from client");
-				}
-			}
-			finally {
-				sendEOF2Middleware();
-			}
-		}
-		catch (final InterruptedIOException e) {
-			log.error(e.getMessage(), e);
-		}
-		catch (final SocketException e) {
-			if (!e.getMessage().equals("Socket closed") || !e.getMessage().equals(
-				"Connection reset"))
-			{
-				log.error(e.getMessage(), e);
-			}
-		}
-		catch (final IOException e) {
-			log.error(e.getMessage(), e);
-			return;
-		}
-		catch (final RuntimeException e) {
-			log.error(e.getMessage(), e);
-			throw e;
-		}
-		finally {
-			if (log.isDebugEnabled()) {
-				log.debug("END: sendToMiddleware");
-			}
-		}
-	}
-
-	private boolean sendToMiddleware(final byte[] buffer, final int len) {
-		byte[] sending;
-		int toSend = len;
-		int offset = 0;
-		int zeroCounter = 0;
-		while (toSend != 0) {
-			if (toSend != buffer.length || offset != 0) {
-				sending = new byte[toSend];
-				System.arraycopy(buffer, offset, sending, 0, toSend);
-			}
-			else {
-				sending = buffer;
-			}
-			if (log.isDebugEnabled()) {
-				log.debug("writing to middleware");
-			}
-			final int reallySend = dataTransfer.writeDataToJobNode(sending, jobId,
-				ipAddress, sessionCode, false);
-
-			if (reallySend == -1) {
-				return false;
-			}
-			toSend -= reallySend;
-			offset += reallySend;
-			if (reallySend == 0) {
-				zeroCounter++;
-				if (zeroCounter >= ZERO_COUNT_THRESHOLD) {
-					if (log.isDebugEnabled()) {
-						log.debug("zero bytes sent to middleware for " + zeroCounter +
-							" time");
-					}
-					return false;
-				}
-				try {
-					Thread.sleep(ZERO_COUNT_PAUSE);
-				}
-				catch (final InterruptedException e) {
-					Thread.currentThread().interrupt();
-					return false;
-				}
-			}
-			else {
-				zeroCounter = 0;
-			}
-		}
-		return true;
-	}
-
-	private void sendEOF2Middleware() {
-		if (log.isDebugEnabled()) {
-			log.debug("sendEOF to middleware");
-		}
-		try {
-			dataTransfer.writeDataToJobNode(null, jobId, ipAddress, sessionCode, true);
-		} 
-		catch (WebServiceException e) {
-			//ignore this
-		}
-	}
-
-	private void readFromMiddleware(final P_Connection connection) {
-		try {
-			connection.waitForFirstDataSent();
-		}
-		catch (InterruptedException exc1) {
-			return;
-		}
-		if (log.isDebugEnabled()) {
-			log.debug("START: readFromMiddleware");
-		}
-		try {
-			final OutputStream os = connection.getOutputStream();
-			byte[] received = null;
-			int zeroCounter = 0;
-			while (null != (received = dataTransfer.readDataFromJobNode(jobId,
-				ipAddress, sessionCode)))
-			{
-				if (log.isDebugEnabled()) {
-					log.debug("receiving from middleware");
-				}
-				if (received.length > 0) {
-					os.write(received);
-					os.flush();
-					zeroCounter = 0;
-				}
-				else {
-					zeroCounter++;
-					if (zeroCounter >= ZERO_COUNT_THRESHOLD) {
-						if (log.isDebugEnabled()) {
-							log.debug("zero bytes received from middleware for " +
-								zeroCounter + " time");
-						}
-						break;
-					}
-					try {
-						Thread.sleep(ZERO_COUNT_PAUSE);
-					}
-					catch (final InterruptedException e) {
-						Thread.currentThread().interrupt();
-						break;
-					}
-				}
-				if (log.isDebugEnabled()) {
-					log.debug("received " + received.length + " bytes from middleware");
-					if (received.length > 0) {
-						log.debug("received data " + new String(received));
-					}
-				}
-			}
-			if (received == null) {
-				if (log.isDebugEnabled()) {
-					log.debug("EOF from middleware detected");
-				}
-			}
-		}
-		catch (final InterruptedIOException e) {
-			// ignore this
-		}
-		catch (SocketException e) {
-			if (!e.getMessage().equals("Broken pipe (Write failed)")) {
-				log.error(e.getMessage(), e);
-			}
-		}
-		catch (final IOException e) {
-			log.error(e.getMessage(), e);
-		}
-		finally {
-			try {
-				connection.shutdownOutput();
-			}
-			catch (final IOException exc) {
-				log.error(exc.getMessage(), exc);
-			}
-			log.debug("END: readFromMiddleware");
-		}
-	}
-
-	private class P_Connection {
-
-		private static final int FROM_CLIENT = 0;
-		private static final int FROM_SERVER = 1;
-
-		private final Socket socket;
-
-		private final Runnable[] runnable = new Runnable[2];
-
-		private final Thread[] threads = new Thread[2];
-
-		private final CountDownLatch latchOfBothDirections = new CountDownLatch(2);
-
-		private final CountDownLatch dataSentFlag = new CountDownLatch(1);
-
-		public P_Connection(final Socket soc) {
-			this.socket = soc;
-		}
-
-		public void shutdownOutput() throws IOException {
-			socket.shutdownOutput();
-		}
-
-		public InputStream getInputStream() throws IOException {
-			return socket.getInputStream();
-		}
-
-		public OutputStream getOutputStream() throws IOException {
-			return socket.getOutputStream();
-		}
-
-		public void setClientHandler(final Consumer<P_Connection> callable) {
-			runnable[FROM_CLIENT] = () -> callable.accept(this);
-		}
-
-		public void setServerHandler(final Consumer<P_Connection> callable) {
-			runnable[FROM_SERVER] = () -> callable.accept(this);
-		}
-
-		public void establish() {
-
-			for (int i = 0; i < runnable.length; i++) {
-				final int final_i = i;
-				CompletableFuture.runAsync(() -> {
-					threads[final_i] = Thread.currentThread();
-					runnable[final_i].run();
-				}, executorService).whenComplete((id, e) -> {
-					latchOfBothDirections.countDown();
-					if (e != null) {
-						log.error(e.getMessage(), e);
-					}
-				});
-			}
-
-			try {
-				latchOfBothDirections.await();
-			}
-			catch (final InterruptedException e) {
-				stop(latchOfBothDirections);
-				Thread.currentThread().interrupt();
-			}
-		}
-
-		public void finishIfNeeded() {
-			stop(latchOfBothDirections);
-		}
-
-		public void dataSentNotify() {
-			if (dataSentFlag.getCount() > 0) {
-				dataSentFlag.countDown();
-			}
-		}
-
-		public void waitForFirstDataSent() throws InterruptedException {
-			dataSentFlag.await();
-		}
-
-		private void stop(final CountDownLatch localLatch) {
-			for (final Thread thread : threads) {
-				if (thread != null) {
-					thread.interrupt();
-				}
-			}
-			try {
-				localLatch.await();
-			}
-			catch (final InterruptedException e) {
-				log.error(e.getMessage(), e);
-			}
-		}
-
-	}
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/NotConnectedException.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/NotConnectedException.java
deleted file mode 100644
index 5832f25e4c9c890808ee4dcb3a37141bb42e5a47..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/NotConnectedException.java
+++ /dev/null
@@ -1,28 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-
-public class NotConnectedException extends HaaSClientException {
-
-	public NotConnectedException() {
-		super();
-	}
-
-	public NotConnectedException(String message, Throwable cause,
-		boolean enableSuppression, boolean writableStackTrace)
-	{
-		super(message, cause, enableSuppression, writableStackTrace);
-	}
-
-	public NotConnectedException(String message, Throwable cause) {
-		super(message, cause);
-	}
-
-	public NotConnectedException(String message) {
-		super(message);
-	}
-
-	public NotConnectedException(Throwable cause) {
-		super(cause);
-	}
-
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/ProgressNotifier.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/ProgressNotifier.java
deleted file mode 100644
index 1b6c5df51e5eee07799511ecd466340eaf1c204d..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/ProgressNotifier.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public interface ProgressNotifier {
-
-	public void setTitle(String title);
-
-	public void setCount(int count, int total);
-
-	public void addItem(Object item);
-
-	public void setItemCount(int count, int total);
-
-	public void itemDone(Object item);
-
-	public void done();
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Run.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Run.java
deleted file mode 100644
index 9e69a4038627ceecb01732bd23c1c14d8dfebdcf..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Run.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import java.util.stream.Stream;
-
-import java.util.Arrays;
-
-public class Run {
-	public static void main(String[] args) {
-		Stream<String> stream = Arrays.asList("").stream();
-		stream.iterator();
-		stream.iterator();
-	}
-	
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/SettingsProvider.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/SettingsProvider.java
deleted file mode 100644
index efd860ee1f947f27847d4cd821d6c134e5c58fbc..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/SettingsProvider.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public interface SettingsProvider {
-	
-	
-	static HaaSClientSettings getSettings(String projectId, String configFileName) {
-		Constants constants = new Constants(configFileName);
-		return new HaaSClientSettings() {
-			
-			@Override
-			public String getUserName() {
-				return  constants.getUserName();
-			}
-			
-			@Override
-			public String getPhone() {
-				return constants.getPhone();
-			}
-			
-			@Override
-			public String getPassword() {
-				return constants.getPassword();
-			}
-			
-			@Override
-			public String getEmail() {
-				return constants.getEmail();
-			}
-
-		
-			@Override
-			public String getProjectId() {
-				return projectId;
-			}
-
-			
-		};
-	}
-	
-}
\ No newline at end of file
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/SynchronizableFileType.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/SynchronizableFileType.java
deleted file mode 100644
index 2a21f9e498df0bc7df64fbd67b1d56548d914ed8..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/SynchronizableFileType.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public enum SynchronizableFileType {
-	LogFile, ProgressFile, StandardErrorFile, StandardOutputFile
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TransferFileProgressForHaaSClient.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TransferFileProgressForHaaSClient.java
deleted file mode 100644
index 5fa5b38263d4dfe27c050c4b07054140d26d421b..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TransferFileProgressForHaaSClient.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import cz.it4i.fiji.scpclient.TransferFileProgress;
-
-public class TransferFileProgressForHaaSClient implements TransferFileProgress {
-
-	private final long totalSize;
-	private long totalTransfered;
-	private long fileSize;
-	private long fileTransfered;
-	
-	
-	
-	private final ProgressNotifier notifier;
-	
-	
-	public TransferFileProgressForHaaSClient(long totalSize, ProgressNotifier notifier) {
-		this.totalSize = totalSize;
-		this.notifier = notifier;
-	}
-
-	public void startNewFile(long initialFileSize) {
-		fileTransfered = 0;
-		this.fileSize = initialFileSize;
-	}
-	
-	@Override
-	public void dataTransfered(long bytesTransfered) {
-		fileTransfered += bytesTransfered;
-		totalTransfered += bytesTransfered;
-		int[] sizes = normalizaSizes(fileTransfered, fileSize);
-		notifier.setItemCount(sizes[0], sizes[1]);
-		sizes = normalizaSizes(totalTransfered, totalSize);
-		notifier.setCount(sizes[0], sizes[1]);
-	}
-
-	
-	public void addItem(String item) {
-		notifier.addItem(item);
-	}
-
-	public void itemDone(String item) {
-		notifier.itemDone(item);
-	}
-
-	private static int[] normalizaSizes(long part, long total) {
-		int[] result = new int[2];
-		if(total > Integer.MAX_VALUE) {
-			part = part>>10;
-			total = total>>10;
-		}
-		result[0] = (int) part;
-		result[1] = (int) total;
-	
-		if(result[0]==0 && result[1] == 0) {
-			result[0] = result[1] = 1;
-		}
-		return result;
-	}
-
-	public void done() {
-		notifier.done();
-	}
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TunnelToNode.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TunnelToNode.java
deleted file mode 100644
index 7c05d45d7229ec2317f0c783b4f560a14f4bfa77..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TunnelToNode.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import java.io.Closeable;
-
-public interface TunnelToNode extends Closeable{
-	int getLocalPort();
-
-	String getLocalHost();
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFile.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFile.java
deleted file mode 100644
index 5024db3fed1ea6c0787d23e4f2ee9b3be4d92fbe..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFile.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import java.io.IOException;
-import java.io.InputStream;
-
-public interface UploadingFile {
-	InputStream getInputStream() throws IOException;
-
-	String getName();
-
-	long getLength() throws IOException;
-
-	long getLastTime();
-}
\ No newline at end of file
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFileData.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFileData.java
deleted file mode 100644
index 20dbab9975af5e56ded16724ba7ad01b08091397..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFileData.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
-public class UploadingFileData implements UploadingFile {
-
-	private final byte[] data;
-	private final String name;
-	
-	
-	public UploadingFileData(String name, byte[] data) {
-		this.data = data;
-		this.name = name;
-	}
-
-	public UploadingFileData(String string) {
-		this(string, new byte[0]);
-	}
-
-	@Override
-	public InputStream getInputStream() {
-		return new ByteArrayInputStream(data);
-	}
-
-	@Override
-	public String getName() {
-		return name;
-	}
-
-	@Override
-	public long getLength() throws IOException {
-		return data.length;
-	}
-
-	@Override
-	public long getLastTime() {
-		return 0;
-	}
-
-}
diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFileImpl.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFileImpl.java
deleted file mode 100644
index 62b3356f9fb3893d6f9ca198458c4439a2d8f99c..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/UploadingFileImpl.java
+++ /dev/null
@@ -1,57 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.nio.file.Files;
-import java.nio.file.Path;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class UploadingFileImpl implements UploadingFile {
-
-	public static final Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.UploadingFileImpl.class);
-
-	private final Path path;
-
-	private Path baseDirPath;
-
-	
-	public UploadingFileImpl(Path p) {
-		this(p, null);
-	}
-	
-	public UploadingFileImpl(Path p, Path baseDirPath) {
-		this.path = p;
-		this.baseDirPath = baseDirPath;
-	}
-
-	@Override
-	public InputStream getInputStream() throws IOException {
-		return Files.newInputStream(path);
-	}
-
-	@Override
-	public String getName() {
-		if (baseDirPath == null || !path.startsWith(baseDirPath)) {
-			return path.getFileName().toString();
-		}
-		return baseDirPath.relativize(path).toString();
-	}
-
-	@Override
-	public long getLength() throws IOException {
-		return Files.size(path);
-	}
-
-	@Override
-	public long getLastTime() {
-		try {
-			return Files.getLastModifiedTime(path).toMillis();
-		} catch (IOException e) {
-			log.error(e.getMessage(), e);
-			return 0;
-		}
-	}
-
-}
diff --git a/haas-java-client/src/main/resources/.gitignore b/haas-java-client/src/main/resources/.gitignore
deleted file mode 100644
index b5285f5f9fb3ae9423696a524c0fcf6c5a8d5d0c..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/resources/.gitignore
+++ /dev/null
@@ -1 +0,0 @@
-/configuration.properties
diff --git a/haas-java-client/src/main/resources/META-INF/jax-ws-catalog.xml b/haas-java-client/src/main/resources/META-INF/jax-ws-catalog.xml
deleted file mode 100644
index d2217d4a8bc917653f6a53debda2c61bc0b0657d..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/resources/META-INF/jax-ws-catalog.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"
-	prefer="system">
-	<system systemId="http://localhost/wsdl/DataTransferWs.wsdl"
-		uri="wsdl/DataTransferWs.wsdl" />
-	<system systemId="http://localhost/wsdl/FileTransferWs.wsdl"
-		uri="wsdl/FileTransferWs.wsdl" />
-	<system systemId="http://localhost/wsdl/JobManagementWs.wsdl"
-		uri="wsdl/JobManagementWs.wsdl" />
-	<system systemId="http://localhost/wsdl/UserAndLimitationManagementWs.wsdl"
-		uri="wsdl/UserAndLimitationManagementWs.wsdl" />
-</catalog>
\ No newline at end of file
diff --git a/haas-java-client/src/main/resources/META-INF/wsdl/DataTransferWs.wsdl b/haas-java-client/src/main/resources/META-INF/wsdl/DataTransferWs.wsdl
deleted file mode 100644
index dfae2615dc49f69e2b576fa5a9305d1188d47427..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/resources/META-INF/wsdl/DataTransferWs.wsdl
+++ /dev/null
@@ -1,204 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://hpcaas.it4i.cz/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://hpcaas.it4i.cz/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
-  <wsdl:types>
-    <s:schema elementFormDefault="qualified" targetNamespace="http://hpcaas.it4i.cz/">
-      <s:element name="GetDataTransferMethod">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="ipAddress" type="s:string"/>
-            <s:element minOccurs="1" maxOccurs="1" name="port" type="s:int"/>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="GetDataTransferMethodResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="GetDataTransferMethodResult" type="tns:DataTransferMethodExt"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="DataTransferMethodExt">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="submittedJobId" nillable="true" type="s:long"/>
-          <s:element minOccurs="0" maxOccurs="1" name="ipAddress" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="port" nillable="true" type="s:int"/>
-        </s:sequence>
-      </s:complexType>
-      <s:element name="EndDataTransfer">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="usedTransferMethod" type="tns:DataTransferMethodExt"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="EndDataTransferResponse">
-        <s:complexType/>
-      </s:element>
-      <s:element name="WriteDataToJobNode">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="data" type="s:base64Binary"/>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="ipAddress" type="s:string"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-            <s:element minOccurs="1" maxOccurs="1" name="closeConnection" type="s:boolean"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="WriteDataToJobNodeResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="WriteDataToJobNodeResult" type="s:int"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="ReadDataFromJobNode">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="ipAddress" type="s:string"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="ReadDataFromJobNodeResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="ReadDataFromJobNodeResult" type="s:base64Binary"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-    </s:schema>
-  </wsdl:types>
-  <wsdl:message name="GetDataTransferMethodSoapIn">
-    <wsdl:part name="parameters" element="tns:GetDataTransferMethod"/>
-  </wsdl:message>
-  <wsdl:message name="GetDataTransferMethodSoapOut">
-    <wsdl:part name="parameters" element="tns:GetDataTransferMethodResponse"/>
-  </wsdl:message>
-  <wsdl:message name="EndDataTransferSoapIn">
-    <wsdl:part name="parameters" element="tns:EndDataTransfer"/>
-  </wsdl:message>
-  <wsdl:message name="EndDataTransferSoapOut">
-    <wsdl:part name="parameters" element="tns:EndDataTransferResponse"/>
-  </wsdl:message>
-  <wsdl:message name="WriteDataToJobNodeSoapIn">
-    <wsdl:part name="parameters" element="tns:WriteDataToJobNode"/>
-  </wsdl:message>
-  <wsdl:message name="WriteDataToJobNodeSoapOut">
-    <wsdl:part name="parameters" element="tns:WriteDataToJobNodeResponse"/>
-  </wsdl:message>
-  <wsdl:message name="ReadDataFromJobNodeSoapIn">
-    <wsdl:part name="parameters" element="tns:ReadDataFromJobNode"/>
-  </wsdl:message>
-  <wsdl:message name="ReadDataFromJobNodeSoapOut">
-    <wsdl:part name="parameters" element="tns:ReadDataFromJobNodeResponse"/>
-  </wsdl:message>
-  <wsdl:portType name="DataTransferWsSoap">
-    <wsdl:operation name="GetDataTransferMethod">
-      <wsdl:input message="tns:GetDataTransferMethodSoapIn"/>
-      <wsdl:output message="tns:GetDataTransferMethodSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="EndDataTransfer">
-      <wsdl:input message="tns:EndDataTransferSoapIn"/>
-      <wsdl:output message="tns:EndDataTransferSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="WriteDataToJobNode">
-      <wsdl:input message="tns:WriteDataToJobNodeSoapIn"/>
-      <wsdl:output message="tns:WriteDataToJobNodeSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="ReadDataFromJobNode">
-      <wsdl:input message="tns:ReadDataFromJobNodeSoapIn"/>
-      <wsdl:output message="tns:ReadDataFromJobNodeSoapOut"/>
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="DataTransferWsSoap" type="tns:DataTransferWsSoap">
-    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="GetDataTransferMethod">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/GetDataTransferMethod" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="EndDataTransfer">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/EndDataTransfer" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="WriteDataToJobNode">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/WriteDataToJobNode" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ReadDataFromJobNode">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/ReadDataFromJobNode" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="DataTransferWsSoap12" type="tns:DataTransferWsSoap">
-    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="GetDataTransferMethod">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/GetDataTransferMethod" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="EndDataTransfer">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/EndDataTransfer" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="WriteDataToJobNode">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/WriteDataToJobNode" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ReadDataFromJobNode">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/ReadDataFromJobNode" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="DataTransferWs">
-    <wsdl:port name="DataTransferWsSoap" binding="tns:DataTransferWsSoap">
-      <soap:address location="https://haas.it4i.cz/HaasWsFiji/DataTransferWs.asmx"/>
-    </wsdl:port>
-    <wsdl:port name="DataTransferWsSoap12" binding="tns:DataTransferWsSoap12">
-      <soap12:address location="https://haas.it4i.cz/HaasWsFiji/DataTransferWs.asmx"/>
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
\ No newline at end of file
diff --git a/haas-java-client/src/main/resources/META-INF/wsdl/FileTransferWs.wsdl b/haas-java-client/src/main/resources/META-INF/wsdl/FileTransferWs.wsdl
deleted file mode 100644
index d7d6a4dfca24bd16126f093ff930ebf38b94755c..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/resources/META-INF/wsdl/FileTransferWs.wsdl
+++ /dev/null
@@ -1,305 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://hpcaas.it4i.cz/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://hpcaas.it4i.cz/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
-  <wsdl:types>
-    <s:schema elementFormDefault="qualified" targetNamespace="http://hpcaas.it4i.cz/">
-      <s:element name="GetFileTransferMethod">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="GetFileTransferMethodResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="GetFileTransferMethodResult" type="tns:FileTransferMethodExt"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="FileTransferMethodExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="serverHostname" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="sharedBasepath" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="protocol" nillable="true" type="tns:FileTransferProtocolExt"/>
-          <s:element minOccurs="0" maxOccurs="1" name="credentials" type="tns:AsymmetricKeyCredentialsExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:simpleType name="FileTransferProtocolExt">
-        <s:restriction base="s:string">
-          <s:enumeration value="NetworkShare"/>
-          <s:enumeration value="SftpScp"/>
-        </s:restriction>
-      </s:simpleType>
-      <s:complexType name="AsymmetricKeyCredentialsExt">
-        <s:complexContent mixed="false">
-          <s:extension base="tns:AuthenticationCredentialsExt">
-            <s:sequence>
-              <s:element minOccurs="0" maxOccurs="1" name="privateKey" type="s:string"/>
-              <s:element minOccurs="0" maxOccurs="1" name="publicKey" type="s:string"/>
-            </s:sequence>
-          </s:extension>
-        </s:complexContent>
-      </s:complexType>
-      <s:complexType name="AuthenticationCredentialsExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
-        </s:sequence>
-      </s:complexType>
-      <s:element name="EndFileTransfer">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="usedTransferMethod" type="tns:FileTransferMethodExt"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="EndFileTransferResponse">
-        <s:complexType/>
-      </s:element>
-      <s:element name="DownloadPartsOfJobFilesFromCluster">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="taskFileOffsets" type="tns:ArrayOfTaskFileOffsetExt"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="ArrayOfTaskFileOffsetExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="TaskFileOffsetExt" nillable="true" type="tns:TaskFileOffsetExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="TaskFileOffsetExt">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="submittedTaskInfoId" nillable="true" type="s:long"/>
-          <s:element minOccurs="1" maxOccurs="1" name="fileType" nillable="true" type="tns:SynchronizableFilesExt"/>
-          <s:element minOccurs="1" maxOccurs="1" name="offset" nillable="true" type="s:long"/>
-        </s:sequence>
-      </s:complexType>
-      <s:simpleType name="SynchronizableFilesExt">
-        <s:restriction base="s:string">
-          <s:enumeration value="LogFile"/>
-          <s:enumeration value="ProgressFile"/>
-          <s:enumeration value="StandardErrorFile"/>
-          <s:enumeration value="StandardOutputFile"/>
-        </s:restriction>
-      </s:simpleType>
-      <s:element name="DownloadPartsOfJobFilesFromClusterResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="DownloadPartsOfJobFilesFromClusterResult" type="tns:ArrayOfJobFileContentExt"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="ArrayOfJobFileContentExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="JobFileContentExt" nillable="true" type="tns:JobFileContentExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="JobFileContentExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="content" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="relativePath" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="offset" nillable="true" type="s:long"/>
-          <s:element minOccurs="1" maxOccurs="1" name="fileType" nillable="true" type="tns:SynchronizableFilesExt"/>
-          <s:element minOccurs="1" maxOccurs="1" name="submittedTaskInfoId" nillable="true" type="s:long"/>
-        </s:sequence>
-      </s:complexType>
-      <s:element name="ListChangedFilesForJob">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="ListChangedFilesForJobResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="ListChangedFilesForJobResult" type="tns:ArrayOfString"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="ArrayOfString">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string"/>
-        </s:sequence>
-      </s:complexType>
-      <s:element name="DownloadFileFromCluster">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="relativeFilePath" type="s:string"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="DownloadFileFromClusterResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="DownloadFileFromClusterResult" type="s:base64Binary"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-    </s:schema>
-  </wsdl:types>
-  <wsdl:message name="GetFileTransferMethodSoapIn">
-    <wsdl:part name="parameters" element="tns:GetFileTransferMethod"/>
-  </wsdl:message>
-  <wsdl:message name="GetFileTransferMethodSoapOut">
-    <wsdl:part name="parameters" element="tns:GetFileTransferMethodResponse"/>
-  </wsdl:message>
-  <wsdl:message name="EndFileTransferSoapIn">
-    <wsdl:part name="parameters" element="tns:EndFileTransfer"/>
-  </wsdl:message>
-  <wsdl:message name="EndFileTransferSoapOut">
-    <wsdl:part name="parameters" element="tns:EndFileTransferResponse"/>
-  </wsdl:message>
-  <wsdl:message name="DownloadPartsOfJobFilesFromClusterSoapIn">
-    <wsdl:part name="parameters" element="tns:DownloadPartsOfJobFilesFromCluster"/>
-  </wsdl:message>
-  <wsdl:message name="DownloadPartsOfJobFilesFromClusterSoapOut">
-    <wsdl:part name="parameters" element="tns:DownloadPartsOfJobFilesFromClusterResponse"/>
-  </wsdl:message>
-  <wsdl:message name="ListChangedFilesForJobSoapIn">
-    <wsdl:part name="parameters" element="tns:ListChangedFilesForJob"/>
-  </wsdl:message>
-  <wsdl:message name="ListChangedFilesForJobSoapOut">
-    <wsdl:part name="parameters" element="tns:ListChangedFilesForJobResponse"/>
-  </wsdl:message>
-  <wsdl:message name="DownloadFileFromClusterSoapIn">
-    <wsdl:part name="parameters" element="tns:DownloadFileFromCluster"/>
-  </wsdl:message>
-  <wsdl:message name="DownloadFileFromClusterSoapOut">
-    <wsdl:part name="parameters" element="tns:DownloadFileFromClusterResponse"/>
-  </wsdl:message>
-  <wsdl:portType name="FileTransferWsSoap">
-    <wsdl:operation name="GetFileTransferMethod">
-      <wsdl:input message="tns:GetFileTransferMethodSoapIn"/>
-      <wsdl:output message="tns:GetFileTransferMethodSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="EndFileTransfer">
-      <wsdl:input message="tns:EndFileTransferSoapIn"/>
-      <wsdl:output message="tns:EndFileTransferSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="DownloadPartsOfJobFilesFromCluster">
-      <wsdl:input message="tns:DownloadPartsOfJobFilesFromClusterSoapIn"/>
-      <wsdl:output message="tns:DownloadPartsOfJobFilesFromClusterSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="ListChangedFilesForJob">
-      <wsdl:input message="tns:ListChangedFilesForJobSoapIn"/>
-      <wsdl:output message="tns:ListChangedFilesForJobSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="DownloadFileFromCluster">
-      <wsdl:input message="tns:DownloadFileFromClusterSoapIn"/>
-      <wsdl:output message="tns:DownloadFileFromClusterSoapOut"/>
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="FileTransferWsSoap" type="tns:FileTransferWsSoap">
-    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="GetFileTransferMethod">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/GetFileTransferMethod" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="EndFileTransfer">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/EndFileTransfer" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DownloadPartsOfJobFilesFromCluster">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/DownloadPartsOfJobFilesFromCluster" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ListChangedFilesForJob">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/ListChangedFilesForJob" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DownloadFileFromCluster">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/DownloadFileFromCluster" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="FileTransferWsSoap12" type="tns:FileTransferWsSoap">
-    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="GetFileTransferMethod">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/GetFileTransferMethod" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="EndFileTransfer">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/EndFileTransfer" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DownloadPartsOfJobFilesFromCluster">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/DownloadPartsOfJobFilesFromCluster" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ListChangedFilesForJob">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/ListChangedFilesForJob" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DownloadFileFromCluster">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/DownloadFileFromCluster" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="FileTransferWs">
-    <wsdl:port name="FileTransferWsSoap" binding="tns:FileTransferWsSoap">
-      <soap:address location="https://haas.it4i.cz/HaasWsFiji/FileTransferWs.asmx"/>
-    </wsdl:port>
-    <wsdl:port name="FileTransferWsSoap12" binding="tns:FileTransferWsSoap12">
-      <soap12:address location="https://haas.it4i.cz/HaasWsFiji/FileTransferWs.asmx"/>
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
\ No newline at end of file
diff --git a/haas-java-client/src/main/resources/META-INF/wsdl/JobManagementWs.wsdl b/haas-java-client/src/main/resources/META-INF/wsdl/JobManagementWs.wsdl
deleted file mode 100644
index 2260cfe755e724af1675a18b5d11a064b45a88b5..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/resources/META-INF/wsdl/JobManagementWs.wsdl
+++ /dev/null
@@ -1,582 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://hpcaas.it4i.cz/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://hpcaas.it4i.cz/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
-  <wsdl:types>
-    <s:schema elementFormDefault="qualified" targetNamespace="http://hpcaas.it4i.cz/">
-      <s:element name="CreateJob">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="specification" type="tns:JobSpecificationExt"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="JobSpecificationExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="minCores" nillable="true" type="s:int"/>
-          <s:element minOccurs="1" maxOccurs="1" name="maxCores" nillable="true" type="s:int"/>
-          <s:element minOccurs="1" maxOccurs="1" name="priority" nillable="true" type="tns:JobPriorityExt"/>
-          <s:element minOccurs="0" maxOccurs="1" name="project" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="waitingLimit" nillable="true" type="s:int"/>
-          <s:element minOccurs="1" maxOccurs="1" name="walltimeLimit" nillable="true" type="s:int"/>
-          <s:element minOccurs="0" maxOccurs="1" name="notificationEmail" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="phoneNumber" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="notifyOnAbort" nillable="true" type="s:boolean"/>
-          <s:element minOccurs="1" maxOccurs="1" name="notifyOnFinish" nillable="true" type="s:boolean"/>
-          <s:element minOccurs="1" maxOccurs="1" name="notifyOnStart" nillable="true" type="s:boolean"/>
-          <s:element minOccurs="1" maxOccurs="1" name="clusterNodeTypeId" nillable="true" type="s:long"/>
-          <s:element minOccurs="0" maxOccurs="1" name="environmentVariables" type="tns:ArrayOfEnvironmentVariableExt"/>
-          <s:element minOccurs="0" maxOccurs="1" name="tasks" type="tns:ArrayOfTaskSpecificationExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:simpleType name="JobPriorityExt">
-        <s:restriction base="s:string">
-          <s:enumeration value="Lowest"/>
-          <s:enumeration value="VeryLow"/>
-          <s:enumeration value="Low"/>
-          <s:enumeration value="BelowAverage"/>
-          <s:enumeration value="Average"/>
-          <s:enumeration value="AboveAverage"/>
-          <s:enumeration value="High"/>
-          <s:enumeration value="VeryHigh"/>
-          <s:enumeration value="Critical"/>
-        </s:restriction>
-      </s:simpleType>
-      <s:complexType name="ArrayOfEnvironmentVariableExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="EnvironmentVariableExt" nillable="true" type="tns:EnvironmentVariableExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="EnvironmentVariableExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="value" type="s:string"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ArrayOfTaskSpecificationExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="TaskSpecificationExt" nillable="true" type="tns:TaskSpecificationExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="TaskSpecificationExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="minCores" nillable="true" type="s:int"/>
-          <s:element minOccurs="1" maxOccurs="1" name="maxCores" nillable="true" type="s:int"/>
-          <s:element minOccurs="1" maxOccurs="1" name="walltimeLimit" nillable="true" type="s:int"/>
-          <s:element minOccurs="0" maxOccurs="1" name="requiredNodes" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="isExclusive" nillable="true" type="s:boolean"/>
-          <s:element minOccurs="1" maxOccurs="1" name="isRerunnable" nillable="true" type="s:boolean"/>
-          <s:element minOccurs="0" maxOccurs="1" name="standardInputFile" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="standardOutputFile" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="standardErrorFile" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="progressFile" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="logFile" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="clusterTaskSubdirectory" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="commandTemplateId" nillable="true" type="s:long"/>
-          <s:element minOccurs="0" maxOccurs="1" name="environmentVariables" type="tns:ArrayOfEnvironmentVariableExt"/>
-          <s:element minOccurs="0" maxOccurs="1" name="dependsOn" type="tns:ArrayOfTaskSpecificationExt"/>
-          <s:element minOccurs="0" maxOccurs="1" name="templateParameterValues" type="tns:ArrayOfCommandTemplateParameterValueExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ArrayOfCommandTemplateParameterValueExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="CommandTemplateParameterValueExt" nillable="true" type="tns:CommandTemplateParameterValueExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="CommandTemplateParameterValueExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="commandParameterIdentifier" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="parameterValue" type="s:string"/>
-        </s:sequence>
-      </s:complexType>
-      <s:element name="CreateJobResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="CreateJobResult" type="tns:SubmittedJobInfoExt"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="SubmittedJobInfoExt">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="id" nillable="true" type="s:long"/>
-          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="state" nillable="true" type="tns:JobStateExt"/>
-          <s:element minOccurs="1" maxOccurs="1" name="priority" nillable="true" type="tns:JobPriorityExt"/>
-          <s:element minOccurs="0" maxOccurs="1" name="project" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="creationTime" nillable="true" type="s:dateTime"/>
-          <s:element minOccurs="1" maxOccurs="1" name="submitTime" nillable="true" type="s:dateTime"/>
-          <s:element minOccurs="1" maxOccurs="1" name="startTime" nillable="true" type="s:dateTime"/>
-          <s:element minOccurs="1" maxOccurs="1" name="endTime" nillable="true" type="s:dateTime"/>
-          <s:element minOccurs="1" maxOccurs="1" name="totalAllocatedTime" nillable="true" type="s:double"/>
-          <s:element minOccurs="0" maxOccurs="1" name="allParameters" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="nodeType" type="tns:ClusterNodeTypeExt"/>
-          <s:element minOccurs="0" maxOccurs="1" name="tasks" type="tns:ArrayOfSubmittedTaskInfoExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:simpleType name="JobStateExt">
-        <s:restriction base="s:string">
-          <s:enumeration value="Configuring"/>
-          <s:enumeration value="Submitted"/>
-          <s:enumeration value="Queued"/>
-          <s:enumeration value="Running"/>
-          <s:enumeration value="Finished"/>
-          <s:enumeration value="Failed"/>
-          <s:enumeration value="Canceled"/>
-        </s:restriction>
-      </s:simpleType>
-      <s:complexType name="ClusterNodeTypeExt">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="id" nillable="true" type="s:long"/>
-          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="description" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="numberOfNodes" nillable="true" type="s:int"/>
-          <s:element minOccurs="1" maxOccurs="1" name="coresPerNode" nillable="true" type="s:int"/>
-          <s:element minOccurs="1" maxOccurs="1" name="maxWalltime" nillable="true" type="s:int"/>
-          <s:element minOccurs="0" maxOccurs="1" name="possibleCommands" type="tns:ArrayOfCommandTemplateExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ArrayOfCommandTemplateExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="CommandTemplateExt" nillable="true" type="tns:CommandTemplateExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="CommandTemplateExt">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="id" nillable="true" type="s:long"/>
-          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="description" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="code" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="templateParameters" type="tns:ArrayOfCommandTemplateParameterExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ArrayOfCommandTemplateParameterExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="CommandTemplateParameterExt" nillable="true" type="tns:CommandTemplateParameterExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="CommandTemplateParameterExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="identifier" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="description" type="s:string"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ArrayOfSubmittedTaskInfoExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="SubmittedTaskInfoExt" nillable="true" type="tns:SubmittedTaskInfoExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="SubmittedTaskInfoExt">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="id" nillable="true" type="s:long"/>
-          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="state" nillable="true" type="tns:TaskStateExt"/>
-          <s:element minOccurs="1" maxOccurs="1" name="allocatedTime" nillable="true" type="s:double"/>
-          <s:element minOccurs="0" maxOccurs="1" name="allocatedCoreIds" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="startTime" nillable="true" type="s:dateTime"/>
-          <s:element minOccurs="1" maxOccurs="1" name="endTime" nillable="true" type="s:dateTime"/>
-          <s:element minOccurs="0" maxOccurs="1" name="errorMessage" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="allParameters" type="s:string"/>
-        </s:sequence>
-      </s:complexType>
-      <s:simpleType name="TaskStateExt">
-        <s:restriction base="s:string">
-          <s:enumeration value="Configuring"/>
-          <s:enumeration value="Submitted"/>
-          <s:enumeration value="Queued"/>
-          <s:enumeration value="Running"/>
-          <s:enumeration value="Finished"/>
-          <s:enumeration value="Failed"/>
-          <s:enumeration value="Canceled"/>
-        </s:restriction>
-      </s:simpleType>
-      <s:element name="SubmitJob">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="createdJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="SubmitJobResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="SubmitJobResult" type="tns:SubmittedJobInfoExt"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="CancelJob">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="CancelJobResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="CancelJobResult" type="tns:SubmittedJobInfoExt"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="DeleteJob">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="DeleteJobResponse">
-        <s:complexType/>
-      </s:element>
-      <s:element name="ListJobsForCurrentUser">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="ListJobsForCurrentUserResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="ListJobsForCurrentUserResult" type="tns:ArrayOfSubmittedJobInfoExt"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="ArrayOfSubmittedJobInfoExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="SubmittedJobInfoExt" nillable="true" type="tns:SubmittedJobInfoExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:element name="GetCurrentInfoForJob">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="GetCurrentInfoForJobResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="GetCurrentInfoForJobResult" type="tns:SubmittedJobInfoExt"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="CopyJobDataToTemp">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-            <s:element minOccurs="0" maxOccurs="1" name="path" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="CopyJobDataToTempResponse">
-        <s:complexType/>
-      </s:element>
-      <s:element name="CopyJobDataFromTemp">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="createdJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-            <s:element minOccurs="0" maxOccurs="1" name="tempSessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="CopyJobDataFromTempResponse">
-        <s:complexType/>
-      </s:element>
-      <s:element name="GetAllocatedNodesIPs">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="1" maxOccurs="1" name="submittedJobInfoId" type="s:long"/>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="GetAllocatedNodesIPsResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="GetAllocatedNodesIPsResult" type="tns:ArrayOfString"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="ArrayOfString">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="string" nillable="true" type="s:string"/>
-        </s:sequence>
-      </s:complexType>
-    </s:schema>
-  </wsdl:types>
-  <wsdl:message name="CreateJobSoapIn">
-    <wsdl:part name="parameters" element="tns:CreateJob"/>
-  </wsdl:message>
-  <wsdl:message name="CreateJobSoapOut">
-    <wsdl:part name="parameters" element="tns:CreateJobResponse"/>
-  </wsdl:message>
-  <wsdl:message name="SubmitJobSoapIn">
-    <wsdl:part name="parameters" element="tns:SubmitJob"/>
-  </wsdl:message>
-  <wsdl:message name="SubmitJobSoapOut">
-    <wsdl:part name="parameters" element="tns:SubmitJobResponse"/>
-  </wsdl:message>
-  <wsdl:message name="CancelJobSoapIn">
-    <wsdl:part name="parameters" element="tns:CancelJob"/>
-  </wsdl:message>
-  <wsdl:message name="CancelJobSoapOut">
-    <wsdl:part name="parameters" element="tns:CancelJobResponse"/>
-  </wsdl:message>
-  <wsdl:message name="DeleteJobSoapIn">
-    <wsdl:part name="parameters" element="tns:DeleteJob"/>
-  </wsdl:message>
-  <wsdl:message name="DeleteJobSoapOut">
-    <wsdl:part name="parameters" element="tns:DeleteJobResponse"/>
-  </wsdl:message>
-  <wsdl:message name="ListJobsForCurrentUserSoapIn">
-    <wsdl:part name="parameters" element="tns:ListJobsForCurrentUser"/>
-  </wsdl:message>
-  <wsdl:message name="ListJobsForCurrentUserSoapOut">
-    <wsdl:part name="parameters" element="tns:ListJobsForCurrentUserResponse"/>
-  </wsdl:message>
-  <wsdl:message name="GetCurrentInfoForJobSoapIn">
-    <wsdl:part name="parameters" element="tns:GetCurrentInfoForJob"/>
-  </wsdl:message>
-  <wsdl:message name="GetCurrentInfoForJobSoapOut">
-    <wsdl:part name="parameters" element="tns:GetCurrentInfoForJobResponse"/>
-  </wsdl:message>
-  <wsdl:message name="CopyJobDataToTempSoapIn">
-    <wsdl:part name="parameters" element="tns:CopyJobDataToTemp"/>
-  </wsdl:message>
-  <wsdl:message name="CopyJobDataToTempSoapOut">
-    <wsdl:part name="parameters" element="tns:CopyJobDataToTempResponse"/>
-  </wsdl:message>
-  <wsdl:message name="CopyJobDataFromTempSoapIn">
-    <wsdl:part name="parameters" element="tns:CopyJobDataFromTemp"/>
-  </wsdl:message>
-  <wsdl:message name="CopyJobDataFromTempSoapOut">
-    <wsdl:part name="parameters" element="tns:CopyJobDataFromTempResponse"/>
-  </wsdl:message>
-  <wsdl:message name="GetAllocatedNodesIPsSoapIn">
-    <wsdl:part name="parameters" element="tns:GetAllocatedNodesIPs"/>
-  </wsdl:message>
-  <wsdl:message name="GetAllocatedNodesIPsSoapOut">
-    <wsdl:part name="parameters" element="tns:GetAllocatedNodesIPsResponse"/>
-  </wsdl:message>
-  <wsdl:portType name="JobManagementWsSoap">
-    <wsdl:operation name="CreateJob">
-      <wsdl:input message="tns:CreateJobSoapIn"/>
-      <wsdl:output message="tns:CreateJobSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="SubmitJob">
-      <wsdl:input message="tns:SubmitJobSoapIn"/>
-      <wsdl:output message="tns:SubmitJobSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="CancelJob">
-      <wsdl:input message="tns:CancelJobSoapIn"/>
-      <wsdl:output message="tns:CancelJobSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="DeleteJob">
-      <wsdl:input message="tns:DeleteJobSoapIn"/>
-      <wsdl:output message="tns:DeleteJobSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="ListJobsForCurrentUser">
-      <wsdl:input message="tns:ListJobsForCurrentUserSoapIn"/>
-      <wsdl:output message="tns:ListJobsForCurrentUserSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="GetCurrentInfoForJob">
-      <wsdl:input message="tns:GetCurrentInfoForJobSoapIn"/>
-      <wsdl:output message="tns:GetCurrentInfoForJobSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="CopyJobDataToTemp">
-      <wsdl:input message="tns:CopyJobDataToTempSoapIn"/>
-      <wsdl:output message="tns:CopyJobDataToTempSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="CopyJobDataFromTemp">
-      <wsdl:input message="tns:CopyJobDataFromTempSoapIn"/>
-      <wsdl:output message="tns:CopyJobDataFromTempSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="GetAllocatedNodesIPs">
-      <wsdl:input message="tns:GetAllocatedNodesIPsSoapIn"/>
-      <wsdl:output message="tns:GetAllocatedNodesIPsSoapOut"/>
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="JobManagementWsSoap" type="tns:JobManagementWsSoap">
-    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="CreateJob">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/CreateJob" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="SubmitJob">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/SubmitJob" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="CancelJob">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/CancelJob" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeleteJob">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/DeleteJob" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ListJobsForCurrentUser">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/ListJobsForCurrentUser" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="GetCurrentInfoForJob">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/GetCurrentInfoForJob" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="CopyJobDataToTemp">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/CopyJobDataToTemp" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="CopyJobDataFromTemp">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/CopyJobDataFromTemp" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="GetAllocatedNodesIPs">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/GetAllocatedNodesIPs" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="JobManagementWsSoap12" type="tns:JobManagementWsSoap">
-    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="CreateJob">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/CreateJob" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="SubmitJob">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/SubmitJob" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="CancelJob">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/CancelJob" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="DeleteJob">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/DeleteJob" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="ListJobsForCurrentUser">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/ListJobsForCurrentUser" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="GetCurrentInfoForJob">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/GetCurrentInfoForJob" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="CopyJobDataToTemp">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/CopyJobDataToTemp" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="CopyJobDataFromTemp">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/CopyJobDataFromTemp" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="GetAllocatedNodesIPs">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/GetAllocatedNodesIPs" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="JobManagementWs">
-    <wsdl:port name="JobManagementWsSoap" binding="tns:JobManagementWsSoap">
-      <soap:address location="https://haas.it4i.cz/HaasWsFiji/JobManagementWs.asmx"/>
-    </wsdl:port>
-    <wsdl:port name="JobManagementWsSoap12" binding="tns:JobManagementWsSoap12">
-      <soap12:address location="https://haas.it4i.cz/HaasWsFiji/JobManagementWs.asmx"/>
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
\ No newline at end of file
diff --git a/haas-java-client/src/main/resources/META-INF/wsdl/UserAndLimitationManagementWs.wsdl b/haas-java-client/src/main/resources/META-INF/wsdl/UserAndLimitationManagementWs.wsdl
deleted file mode 100644
index 120859ce52b6f05725183f3cb5ae9147489163e6..0000000000000000000000000000000000000000
--- a/haas-java-client/src/main/resources/META-INF/wsdl/UserAndLimitationManagementWs.wsdl
+++ /dev/null
@@ -1,232 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://hpcaas.it4i.cz/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://hpcaas.it4i.cz/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
-  <wsdl:types>
-    <s:schema elementFormDefault="qualified" targetNamespace="http://hpcaas.it4i.cz/">
-      <s:element name="AuthenticateUserPassword">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="credentials" type="tns:PasswordCredentialsExt"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="PasswordCredentialsExt">
-        <s:complexContent mixed="false">
-          <s:extension base="tns:AuthenticationCredentialsExt">
-            <s:sequence>
-              <s:element minOccurs="0" maxOccurs="1" name="password" type="s:string"/>
-            </s:sequence>
-          </s:extension>
-        </s:complexContent>
-      </s:complexType>
-      <s:complexType name="AuthenticationCredentialsExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="username" type="s:string"/>
-        </s:sequence>
-      </s:complexType>
-      <s:element name="AuthenticateUserPasswordResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="AuthenticateUserPasswordResult" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="AuthenticateUserDigitalSignature">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="credentials" type="tns:DigitalSignatureCredentialsExt"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="DigitalSignatureCredentialsExt">
-        <s:complexContent mixed="false">
-          <s:extension base="tns:AuthenticationCredentialsExt">
-            <s:sequence>
-              <s:element minOccurs="0" maxOccurs="1" name="noise" type="s:string"/>
-              <s:element minOccurs="0" maxOccurs="1" name="digitalSignature" type="tns:ArrayOfByte"/>
-            </s:sequence>
-          </s:extension>
-        </s:complexContent>
-      </s:complexType>
-      <s:complexType name="ArrayOfByte">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="byte" type="s:byte"/>
-        </s:sequence>
-      </s:complexType>
-      <s:element name="AuthenticateUserDigitalSignatureResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="AuthenticateUserDigitalSignatureResult" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="GetCurrentUsageAndLimitationsForCurrentUser">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="sessionCode" type="s:string"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:element name="GetCurrentUsageAndLimitationsForCurrentUserResponse">
-        <s:complexType>
-          <s:sequence>
-            <s:element minOccurs="0" maxOccurs="1" name="GetCurrentUsageAndLimitationsForCurrentUserResult" type="tns:ArrayOfResourceUsageExt"/>
-          </s:sequence>
-        </s:complexType>
-      </s:element>
-      <s:complexType name="ArrayOfResourceUsageExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="ResourceUsageExt" nillable="true" type="tns:ResourceUsageExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ResourceUsageExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="nodeType" type="tns:ClusterNodeTypeExt"/>
-          <s:element minOccurs="1" maxOccurs="1" name="coresUsed" nillable="true" type="s:int"/>
-          <s:element minOccurs="0" maxOccurs="1" name="limitation" type="tns:ResourceLimitationExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ClusterNodeTypeExt">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="id" nillable="true" type="s:long"/>
-          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="description" type="s:string"/>
-          <s:element minOccurs="1" maxOccurs="1" name="numberOfNodes" nillable="true" type="s:int"/>
-          <s:element minOccurs="1" maxOccurs="1" name="coresPerNode" nillable="true" type="s:int"/>
-          <s:element minOccurs="1" maxOccurs="1" name="maxWalltime" nillable="true" type="s:int"/>
-          <s:element minOccurs="0" maxOccurs="1" name="possibleCommands" type="tns:ArrayOfCommandTemplateExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ArrayOfCommandTemplateExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="CommandTemplateExt" nillable="true" type="tns:CommandTemplateExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="CommandTemplateExt">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="id" nillable="true" type="s:long"/>
-          <s:element minOccurs="0" maxOccurs="1" name="name" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="description" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="code" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="templateParameters" type="tns:ArrayOfCommandTemplateParameterExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ArrayOfCommandTemplateParameterExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="unbounded" name="CommandTemplateParameterExt" nillable="true" type="tns:CommandTemplateParameterExt"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="CommandTemplateParameterExt">
-        <s:sequence>
-          <s:element minOccurs="0" maxOccurs="1" name="identifier" type="s:string"/>
-          <s:element minOccurs="0" maxOccurs="1" name="description" type="s:string"/>
-        </s:sequence>
-      </s:complexType>
-      <s:complexType name="ResourceLimitationExt">
-        <s:sequence>
-          <s:element minOccurs="1" maxOccurs="1" name="totalMaxCores" nillable="true" type="s:int"/>
-          <s:element minOccurs="1" maxOccurs="1" name="maxCoresPerJob" nillable="true" type="s:int"/>
-        </s:sequence>
-      </s:complexType>
-    </s:schema>
-  </wsdl:types>
-  <wsdl:message name="AuthenticateUserPasswordSoapIn">
-    <wsdl:part name="parameters" element="tns:AuthenticateUserPassword"/>
-  </wsdl:message>
-  <wsdl:message name="AuthenticateUserPasswordSoapOut">
-    <wsdl:part name="parameters" element="tns:AuthenticateUserPasswordResponse"/>
-  </wsdl:message>
-  <wsdl:message name="AuthenticateUserDigitalSignatureSoapIn">
-    <wsdl:part name="parameters" element="tns:AuthenticateUserDigitalSignature"/>
-  </wsdl:message>
-  <wsdl:message name="AuthenticateUserDigitalSignatureSoapOut">
-    <wsdl:part name="parameters" element="tns:AuthenticateUserDigitalSignatureResponse"/>
-  </wsdl:message>
-  <wsdl:message name="GetCurrentUsageAndLimitationsForCurrentUserSoapIn">
-    <wsdl:part name="parameters" element="tns:GetCurrentUsageAndLimitationsForCurrentUser"/>
-  </wsdl:message>
-  <wsdl:message name="GetCurrentUsageAndLimitationsForCurrentUserSoapOut">
-    <wsdl:part name="parameters" element="tns:GetCurrentUsageAndLimitationsForCurrentUserResponse"/>
-  </wsdl:message>
-  <wsdl:portType name="UserAndLimitationManagementWsSoap">
-    <wsdl:operation name="AuthenticateUserPassword">
-      <wsdl:input message="tns:AuthenticateUserPasswordSoapIn"/>
-      <wsdl:output message="tns:AuthenticateUserPasswordSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="AuthenticateUserDigitalSignature">
-      <wsdl:input message="tns:AuthenticateUserDigitalSignatureSoapIn"/>
-      <wsdl:output message="tns:AuthenticateUserDigitalSignatureSoapOut"/>
-    </wsdl:operation>
-    <wsdl:operation name="GetCurrentUsageAndLimitationsForCurrentUser">
-      <wsdl:input message="tns:GetCurrentUsageAndLimitationsForCurrentUserSoapIn"/>
-      <wsdl:output message="tns:GetCurrentUsageAndLimitationsForCurrentUserSoapOut"/>
-    </wsdl:operation>
-  </wsdl:portType>
-  <wsdl:binding name="UserAndLimitationManagementWsSoap" type="tns:UserAndLimitationManagementWsSoap">
-    <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="AuthenticateUserPassword">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/AuthenticateUserPassword" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AuthenticateUserDigitalSignature">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/AuthenticateUserDigitalSignature" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="GetCurrentUsageAndLimitationsForCurrentUser">
-      <soap:operation soapAction="http://hpcaas.it4i.cz/GetCurrentUsageAndLimitationsForCurrentUser" style="document"/>
-      <wsdl:input>
-        <soap:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:binding name="UserAndLimitationManagementWsSoap12" type="tns:UserAndLimitationManagementWsSoap">
-    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
-    <wsdl:operation name="AuthenticateUserPassword">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/AuthenticateUserPassword" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="AuthenticateUserDigitalSignature">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/AuthenticateUserDigitalSignature" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-    <wsdl:operation name="GetCurrentUsageAndLimitationsForCurrentUser">
-      <soap12:operation soapAction="http://hpcaas.it4i.cz/GetCurrentUsageAndLimitationsForCurrentUser" style="document"/>
-      <wsdl:input>
-        <soap12:body use="literal"/>
-      </wsdl:input>
-      <wsdl:output>
-        <soap12:body use="literal"/>
-      </wsdl:output>
-    </wsdl:operation>
-  </wsdl:binding>
-  <wsdl:service name="UserAndLimitationManagementWs">
-    <wsdl:port name="UserAndLimitationManagementWsSoap" binding="tns:UserAndLimitationManagementWsSoap">
-      <soap:address location="https://haas.it4i.cz/HaasWsFiji/UserAndLimitationManagementWs.asmx"/>
-    </wsdl:port>
-    <wsdl:port name="UserAndLimitationManagementWsSoap12" binding="tns:UserAndLimitationManagementWsSoap12">
-      <soap12:address location="https://haas.it4i.cz/HaasWsFiji/UserAndLimitationManagementWs.asmx"/>
-    </wsdl:port>
-  </wsdl:service>
-</wsdl:definitions>
\ No newline at end of file
diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/GetJobInfo.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/GetJobInfo.java
deleted file mode 100644
index 8e485d07155a89fab27d1e6194671f3f8e3e66ef..0000000000000000000000000000000000000000
--- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/GetJobInfo.java
+++ /dev/null
@@ -1,35 +0,0 @@
-
-package cz.it4i.fiji.haas_java_client;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import cz.it4i.fiji.haas_java_client.proxy.JobManagementWs;
-import cz.it4i.fiji.haas_java_client.proxy.JobManagementWsSoap;
-import cz.it4i.fiji.haas_java_client.proxy.PasswordCredentialsExt;
-import cz.it4i.fiji.haas_java_client.proxy.SubmittedJobInfoExt;
-import cz.it4i.fiji.haas_java_client.proxy.UserAndLimitationManagementWs;
-import cz.it4i.fiji.haas_java_client.proxy.UserAndLimitationManagementWsSoap;
-
-public class GetJobInfo {
-
-	public static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.GetJobInfo.class);
-
-	public static void main(String[] args) {
-		HaaSClientSettings settings = SettingsProvider.getSettings("DD-18-42",
-			TestingConstants.CONFIGURATION_FILE_NAME);
-		HaaSClient client = new HaaSClient(settings);
-		JobInfo ji = client.obtainJobInfo(334);
-		System.out.println("created: " + ji.getCreationTime());
-		JobManagementWsSoap ws = new JobManagementWs().getJobManagementWsSoap();
-		UserAndLimitationManagementWsSoap wsuser = new UserAndLimitationManagementWs().getUserAndLimitationManagementWsSoap();
-		PasswordCredentialsExt ps = new PasswordCredentialsExt();
-		ps.setUsername(settings.getUserName());
-		ps.setPassword(settings.getPassword());
-		String session = wsuser.authenticateUserPassword(ps);
-		SubmittedJobInfoExt info = ws.getCurrentInfoForJob(334, session);
-		System.out.println("created: " + info.getCreationTime().toGregorianCalendar());
-		
-	}
-
-}
diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestCommunicationWithNodes.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestCommunicationWithNodes.java
deleted file mode 100644
index 2b8fa20f00af77942fce40826b16dd8c665c0739..0000000000000000000000000000000000000000
--- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestCommunicationWithNodes.java
+++ /dev/null
@@ -1,81 +0,0 @@
-
-package cz.it4i.fiji.haas_java_client;
-
-import java.io.IOException;
-import java.io.InterruptedIOException;
-import java.util.Scanner;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class TestCommunicationWithNodes {
-
-	public static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.TestCommunicationWithNodes.class);
-
-	private static String[] predefined = new String[2];
-
-	@SuppressWarnings("resource")
-	public static void main(String[] args) throws IOException, InterruptedException {
-		predefined[0] = "POST /modules/'command:net.imagej.ops.math.PrimitiveMath$IntegerAdd'?process=false HTTP/1.1\r\n" +
-                "Content-Type: application/json\r\n" +
-                "Host: localhost:8080\r\n" +
-                "Content-Length: 13\r\n" +
-                "\r\n" +
-                "{\"a\":1,\"b\":3}";
-		
-		predefined[1] = //
-				"GET /modules HTTP/1.1\r\n" + // 
-				"Host: localhost:8080\r\n" + //
-				"User-Agent: curl/7.47.0\r\n" + //
-				"Accept: */*\r\n" + //
-				"\r\n";
-
-		HaaSClientSettings settings = SettingsProvider.getSettings("DD-18-42",
-			TestingConstants.CONFIGURATION_FILE_NAME);
-		HaaSClient client = new HaaSClient(settings);
-		long id = startBDS(client);
-		String sessionID = client.getSessionID();
-		log.info(id + " - " + client.obtainJobInfo(id).getState() + " - " + sessionID);
-		if(client.obtainJobInfo(id).getState() != JobState.Running && client.obtainJobInfo(id).getState() != JobState.Queued) {
-			client.submitJob(id);
-		}
-		
-		while (client.obtainJobInfo(id).getState() == JobState.Queued) {
-			log.info("" + client.obtainJobInfo(id).getState());
-			Thread.sleep(5000);
-		}
-		String ip;
-		log.info("adresess " + (ip = client.obtainJobInfo(id).getNodesIPs().get(0)));
-		try(TunnelToNode tunnel = client.openTunnel( id, ip, 8081, 8081)) {
-			log.info(tunnel.getLocalHost() + ":" + tunnel.getLocalPort());
-			System.out.println("Press enter");
-			new Scanner(System.in).nextLine();
-		}
-	}
-
-	public static long startBDS(HaaSClient client) throws InterruptedException {
-		long jobId =  439; /*client.createJob(new
-		  JobSettingsBuilder().jobName("TestOutRedirect").templateId(4l)
-		  .walltimeLimit(3600).clusterNodeType(7l).build(), Collections.emptyList());*/
-	 
-	
-		JobInfo info = client.obtainJobInfo(jobId);
-		log.info("JobId :" + jobId + ", state - " + info.getState());
-		if (info.getState() != JobState.Running && info.getState() != JobState.Queued) {
-			try (HaaSFileTransfer transfer = client.startFileTransfer(jobId)) {
-				transfer.upload(new UploadingFileData("run-bds"));
-			} catch (InterruptedIOException e) {
-				log.error(e.getMessage(), e);
-			}
-			client.submitJob(jobId);
-		}
-		JobState state;
-		while((state = client.obtainJobInfo(jobId).getState()) != JobState.Running) {
-			log.info("state - " + state);
-			Thread.sleep(3000);
-		}
-		return jobId;
-	}
-	
-
-}
diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestConcurentAccessToHaaSFileTransfer.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestConcurentAccessToHaaSFileTransfer.java
deleted file mode 100644
index e9876df7566d6888c3e20329fecde8c1f1cb3555..0000000000000000000000000000000000000000
--- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestConcurentAccessToHaaSFileTransfer.java
+++ /dev/null
@@ -1,30 +0,0 @@
-
-package cz.it4i.fiji.haas_java_client;
-
-import java.io.IOException;
-import java.util.Arrays;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class TestConcurentAccessToHaaSFileTransfer {
-
-	private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.TestConcurentAccessToHaaSFileTransfer.class);
-
-	@SuppressWarnings("resource")
-	public static void main(String[] args) throws IOException {
-		HaaSClient client = new HaaSClient(SettingsProvider.getSettings("DD-18-42",
-			TestingConstants.CONFIGURATION_FILE_NAME));
-		HaaSFileTransfer tr1 = client.startFileTransfer(250,
-			HaaSClient.DUMMY_TRANSFER_FILE_PROGRESS);
-		HaaSFileTransfer tr2 = client.startFileTransfer(249,
-			HaaSClient.DUMMY_TRANSFER_FILE_PROGRESS);
-		log.info("config.yaml - size:" + tr1.obtainSize(Arrays.asList(
-			"config.yaml")));
-		tr1.close();
-		log.info("config.yaml - size:" + tr2.obtainSize(Arrays.asList(
-			"config.yaml")));
-		tr2.close();
-	}
-
-}
diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestDeleteJobs.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestDeleteJobs.java
deleted file mode 100644
index 191c921fb5a0b1a6af15f8e128121d6ff8ea24dd..0000000000000000000000000000000000000000
--- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestDeleteJobs.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import java.util.Arrays;
-import java.util.stream.LongStream;
-
-import javax.xml.ws.WebServiceException;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class TestDeleteJobs {
-	
-	private final static Logger log = LoggerFactory.getLogger(
-		cz.it4i.fiji.haas_java_client.TestDeleteJobs.class);
-	
-	public static void main(String[] args) {
-		
-		Iterable<Long> iter = null;
-		if (args[0].contains(",")) {
-			iter =() -> Arrays.asList(args[0].split(",")).stream().map(Long::parseLong).iterator();
-		} else {
-			long first = Integer.parseInt(args[0]);
-			long last = args.length > 1 ? Integer.parseInt(args[1]) : first;
-			iter =() -> LongStream.range(first, last + 1).iterator();
-		}
-		HaaSClient client = new HaaSClient(SettingsProvider.getSettings( "OPEN-12-20", TestingConstants.CONFIGURATION_FILE_NAME));
-		for ( long i : iter ) {
-			try {
-				JobInfo ji = client.obtainJobInfo(i);
-				
-				log.info("Delete job: " + i + " with state: " + ji.getState());
-				client.deleteJob(i);
-			}
-			catch (WebServiceException e) {
-				log.info("job = " + i + " was already deleted");
-			}
-		}
-	}
-}
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
deleted file mode 100644
index 08218fe07948e5ee34a565a5cd6df44d14d070ee..0000000000000000000000000000000000000000
--- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import static cz.it4i.fiji.haas_java_client.LambdaExceptionHandlerWrapper.wrap;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import cz.it4i.fiji.haas_java_client.HaaSClient.SynchronizableFiles;
-import cz.it4i.fiji.haas_java_client.proxy.JobFileContentExt;
-
-public class TestHaaSJavaClient {
-
-	private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.TestHaaSJavaClient.class);
-
-	public static void main(String[] args) throws IOException {
-		Map<String, String> params = new HashMap<>();
-		params.put("inputParam", "someStringParam");
-		Path baseDir = Paths.get("/home/koz01/aaa");
-		HaaSClient client = new HaaSClient(SettingsProvider.getSettings( "DD-17-31", TestingConstants.CONFIGURATION_FILE_NAME));
-		long jobId = client.createJob(new JobSettingsBuilder().jobName("TestOutRedirect").templateId(1l)
-				.walltimeLimit(600).clusterNodeType(7l).build(), params.entrySet());
-		client.submitJob(jobId);
-		Path workDir = baseDir.resolve("" + jobId);
-		if (!Files.isDirectory(workDir)) {
-			Files.createDirectories(workDir);
-		}
-		JobInfo info;
-		do {
-			try {
-				Thread.sleep(1000);
-			} catch (InterruptedException e) {
-				e.printStackTrace();
-			}
-			info = client.obtainJobInfo(jobId);
-			HaaSClient.SynchronizableFiles taskFileOffset = new HaaSClient.SynchronizableFiles();
-			for (Long id : info.getTasks()) {
-				addOffsetFilesForTask(id, taskFileOffset);
-			}
-			client.downloadPartsOfJobFiles(jobId, taskFileOffset).forEach(jfc -> showJFC(jfc));
-			if (info.getState() == JobState.Finished) {
-				try (HaaSFileTransfer fileTransfer = client.startFileTransfer(jobId,
-						HaaSClient.DUMMY_TRANSFER_FILE_PROGRESS)) {
-					client.getChangedFiles(jobId).forEach(file -> wrap(() -> fileTransfer.download(file, workDir)));
-				}
-			}
-			log.info("JobId :" + jobId + ", state - " + info.getState());
-		} while (info.getState() != JobState.Canceled && info.getState() != JobState.Failed
-				&& info.getState() != JobState.Finished);
-	}
-
-	private static void addOffsetFilesForTask(Long taskId, SynchronizableFiles files) {
-		files.addFile(taskId, SynchronizableFileType.ProgressFile, 0);
-		files.addFile(taskId, SynchronizableFileType.StandardErrorFile, 0);
-		files.addFile(taskId, SynchronizableFileType.StandardOutputFile, 0);
-		files.addFile(taskId, SynchronizableFileType.LogFile, 0);
-	}
-
-	private static void showJFC(JobFileContentExt file) {
-		log.info("File: " + file.getFileType() + ", " + file.getRelativePath());
-		log.info("TaskInfoId: " + file.getSubmittedTaskInfoId());
-		log.info("Offset: " + file.getOffset());
-		log.info("Content: " + file.getContent());
-	}
-
-}
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
deleted file mode 100644
index 5398046935a23233dc05fe98d6aa76d7fe77d8fa..0000000000000000000000000000000000000000
--- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-import static cz.it4i.fiji.haas_java_client.LambdaExceptionHandlerWrapper.wrap;
-
-import java.io.IOException;
-import java.nio.file.Files;
-import java.nio.file.Path;
-import java.nio.file.Paths;
-import java.util.Collections;
-import java.util.stream.StreamSupport;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import cz.it4i.fiji.haas_java_client.HaaSClient.SynchronizableFiles;
-import cz.it4i.fiji.haas_java_client.proxy.JobFileContentExt;
-
-public class TestHaaSJavaClientWithSPIM {
-
-	private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.TestHaaSJavaClientWithSPIM.class);
-
-	public static void main(String[] args) throws IOException {
-		HaaSClient client = new HaaSClient(SettingsProvider.getSettings("DD-17-31", TestingConstants.CONFIGURATION_FILE_NAME));
-		Path baseDir = Paths.get("/home/koz01/Work/vyzkumnik/fiji/work/aaa");
-
-		long jobId = client.createJob(new JobSettingsBuilder().jobName("TestOutRedirect").templateId(2)
-				.walltimeLimit(9600).clusterNodeType(6).build(), Collections.emptyList());
-
-		try (HaaSFileTransfer tr = client.startFileTransfer(jobId, HaaSClient.DUMMY_TRANSFER_FILE_PROGRESS)) {
-			StreamSupport.stream(getAllFiles(baseDir.resolve("spim-data")).spliterator(), false)
-					.map(UploadingFileImpl::new).forEach(f -> wrap(() -> tr.upload(f)));
-		}
-		client.submitJob(jobId);
-
-		Path workDir = baseDir.resolve("" + jobId);
-		if (!Files.isDirectory(workDir)) {
-			Files.createDirectories(workDir);
-		}
-		JobInfo info;
-		boolean firstIteration = true;
-		do {
-			if (!firstIteration) {
-				try {
-					Thread.sleep(30000);
-				} catch (InterruptedException e) {
-					e.printStackTrace();
-				}
-			}
-			info = client.obtainJobInfo(jobId);
-			HaaSClient.SynchronizableFiles taskFileOffset = new HaaSClient.SynchronizableFiles();
-			for (Long id : info.getTasks()) {
-				addOffsetFilesForTask(id, taskFileOffset);
-			}
-			client.downloadPartsOfJobFiles(jobId, taskFileOffset).forEach(jfc -> showJFC(jfc));
-			if (info.getState() == JobState.Finished) {
-				try (HaaSFileTransfer fileTransfer = client.startFileTransfer(jobId,
-						HaaSClient.DUMMY_TRANSFER_FILE_PROGRESS)) {
-					client.getChangedFiles(jobId).forEach(file -> wrap(() -> fileTransfer.download(file, workDir)));
-				}
-
-			}
-			log.info("JobId :" + jobId + ", state" + info.getState());
-			firstIteration = false;
-		} while (info.getState() != JobState.Canceled && info.getState() != JobState.Failed
-				&& info.getState() != JobState.Finished);
-	}
-
-	private static Iterable<Path> getAllFiles(Path resolve) {
-
-		return () -> {
-			try {
-				return Files.newDirectoryStream(resolve).iterator();
-			} catch (IOException e) {
-				throw new RuntimeException(e);
-			}
-		};
-	}
-
-	private static void addOffsetFilesForTask(Long taskId, SynchronizableFiles files) {
-		files.addFile(taskId, SynchronizableFileType.ProgressFile, 0);
-		files.addFile(taskId, SynchronizableFileType.StandardErrorFile, 0);
-		files.addFile(taskId, SynchronizableFileType.StandardOutputFile, 0);
-		files.addFile(taskId, SynchronizableFileType.LogFile, 0);
-	}
-
-	private static void showJFC(JobFileContentExt file) {
-		log.info("File: " + file.getFileType() + ", " + file.getRelativePath());
-		log.info("TaskInfoId: " + file.getSubmittedTaskInfoId());
-		log.info("Offset: " + file.getOffset());
-		log.info("Content: " + file.getContent());
-	}
-
-}
diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestingConstants.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestingConstants.java
deleted file mode 100644
index 8c144644fc8d01ca8b377b1e4abcf6f42d3a76b2..0000000000000000000000000000000000000000
--- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestingConstants.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package cz.it4i.fiji.haas_java_client;
-
-public interface TestingConstants {
-
-	String CONFIGURATION_FILE_NAME = "configuration.properties";
-
-}
diff --git a/haas-java-client/src/test/resources/.gitignore b/haas-java-client/src/test/resources/.gitignore
deleted file mode 100644
index a7c57421e92cd55a3338da0377eaa26f7ddb6c49..0000000000000000000000000000000000000000
--- a/haas-java-client/src/test/resources/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/configuration.properties
-/simplelogger.properties
diff --git a/haas-java-client/src/test/resources/configuration.properties.template b/haas-java-client/src/test/resources/configuration.properties.template
deleted file mode 100644
index 892ed0d0a691608a7070d5beb4c3c8e539c074ef..0000000000000000000000000000000000000000
--- a/haas-java-client/src/test/resources/configuration.properties.template
+++ /dev/null
@@ -1,4 +0,0 @@
-USER_NAME=
-PASSWORD=
-EMAIL=
-PHONE=
\ No newline at end of file
diff --git a/haas-parent/pom.xml b/haas-parent/pom.xml
deleted file mode 100644
index 4bb04500c6c454949dd4fb49862b1906900165ab..0000000000000000000000000000000000000000
--- a/haas-parent/pom.xml
+++ /dev/null
@@ -1,43 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0"
-	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
-	<modelVersion>4.0.0</modelVersion>
-	<groupId>cz.it4i.fiji</groupId>
-	<artifactId>haas-parent</artifactId>
-	<version>1.0.0</version>
-	<packaging>pom</packaging>
-	<parent>
-		<groupId>org.scijava</groupId>
-		<artifactId>pom-scijava</artifactId>
-		<version>17.1.1</version>
-		<relativePath />
-	</parent>
-	<properties>
-		<project_url>https://code.it4i.cz/fiji/haas-java-client/</project_url>
-		<organization.name>IT4Innovations - National Supercomputing Center</organization.name>
-		<organization.url>http://www.it4i.cz/</organization.url>
-
-		<license.name>cc0</license.name>
-		<license.url>http://creativecommons.org/publicdomain/zero/1.0/</license.url>
-		<license.base.licenseName>CC0 1.0 Universal License</license.base.licenseName>
-		<license.base.copyrightOwners>N/A</license.base.copyrightOwners>
-		<license.distribution>repo</license.distribution>
-
-		<scm.connection>scm:git:git://github.com/[MY-ORG]/[MY-REPO]</scm.connection>
-		<scm.developerConnection>scm:git:git@github.com:[MY-ORG]/[MY-REPO]</scm.developerConnection>
-		<scm.tag>HEAD</scm.tag>
-		<scm.url>${project_url}</scm.url>
-
-
-
-		<issueManagement.system>GitLab Issues</issueManagement.system>
-		<issueManagement.url>https://code.it4i.cz/fiji/haas-java-client/issues</issueManagement.url>
-		<maven.deploy.skip>true</maven.deploy.skip>
-	</properties>
-	<repositories>
-		<repository>
-			<id>imagej.public</id>
-			<url>http://maven.imagej.net/content/groups/public</url>
-		</repository>
-	</repositories>
-</project>
diff --git a/pom.xml b/pom.xml
index 1bfee22c067d7801f9324e9825ff202d644420b6..4bb04500c6c454949dd4fb49862b1906900165ab 100644
--- a/pom.xml
+++ b/pom.xml
@@ -1,41 +1,43 @@
 <project xmlns="http://maven.apache.org/POM/4.0.0"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
-                             http://maven.apache.org/maven-v4_0_0.xsd">
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
 	<modelVersion>4.0.0</modelVersion>
 	<groupId>cz.it4i.fiji</groupId>
-	<artifactId>haas-main-module</artifactId>
-	<version>0.0.1-SNAPSHOT</version>
-	<name>Main module</name>
+	<artifactId>haas-parent</artifactId>
+	<version>1.0.0</version>
 	<packaging>pom</packaging>
+	<parent>
+		<groupId>org.scijava</groupId>
+		<artifactId>pom-scijava</artifactId>
+		<version>17.1.1</version>
+		<relativePath />
+	</parent>
 	<properties>
-		<maven.deploy.skip>true</maven.deploy.skip>
-	</properties>
-	<modules>
-		<module>haas-java-client</module>
-		<module>haas-spim-benchmark</module>
-		<module>haas-imagej-client</module>
-	</modules>
+		<project_url>https://code.it4i.cz/fiji/haas-java-client/</project_url>
+		<organization.name>IT4Innovations - National Supercomputing Center</organization.name>
+		<organization.url>http://www.it4i.cz/</organization.url>
+
+		<license.name>cc0</license.name>
+		<license.url>http://creativecommons.org/publicdomain/zero/1.0/</license.url>
+		<license.base.licenseName>CC0 1.0 Universal License</license.base.licenseName>
+		<license.base.copyrightOwners>N/A</license.base.copyrightOwners>
+		<license.distribution>repo</license.distribution>
+
+		<scm.connection>scm:git:git://github.com/[MY-ORG]/[MY-REPO]</scm.connection>
+		<scm.developerConnection>scm:git:git@github.com:[MY-ORG]/[MY-REPO]</scm.developerConnection>
+		<scm.tag>HEAD</scm.tag>
+		<scm.url>${project_url}</scm.url>
 
-	<build>
-		<pluginManagement>
-			<plugins>
-				<plugin>
-					<groupId>org.apache.maven.plugins</groupId>
-					<artifactId>maven-compiler-plugin</artifactId>
-					<configuration>
-						<source>1.8</source>
-						<target>1.8</target>
-					</configuration>
-				</plugin>
-			</plugins>
-		</pluginManagement>
-		<plugins>
-			<plugin>
-				<groupId>org.apache.maven.plugins</groupId>
-				<artifactId>maven-dependency-plugin</artifactId>
-			</plugin>
-		</plugins>
-	</build>
 
+
+		<issueManagement.system>GitLab Issues</issueManagement.system>
+		<issueManagement.url>https://code.it4i.cz/fiji/haas-java-client/issues</issueManagement.url>
+		<maven.deploy.skip>true</maven.deploy.skip>
+	</properties>
+	<repositories>
+		<repository>
+			<id>imagej.public</id>
+			<url>http://maven.imagej.net/content/groups/public</url>
+		</repository>
+	</repositories>
 </project>