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>