diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/.gitignore b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..d5c50ebc2ced79a40d64e5d29c5c8cb2facdea04 --- /dev/null +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/.gitignore @@ -0,0 +1 @@ +/TestingConstants.java diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/CheckStatusOfHaaS.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/CheckStatusOfHaaS.java index d70dc48419bd3f3af8eccc56e80ad1690cbc64d1..94ed84f0a80f604d75a2dbf59a6b88d8ded3e4cd 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/CheckStatusOfHaaS.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/CheckStatusOfHaaS.java @@ -45,7 +45,7 @@ public class CheckStatusOfHaaS implements Command { @Override public void run() { try { - jobManager = new JobManager(getWorkingDirectoryPath()); + jobManager = new JobManager(getWorkingDirectoryPath(),TestingConstants.getSettings()); if (uiService.isHeadless()) { downloadAll(); } else { diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java index 620c6ccf11eda30d59ddfd3b00aee3a162d79b3b..5bc7650ea9047f08d800d63d71f6a795d1191f67 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/Job.java @@ -121,7 +121,7 @@ public class Job { synchronized public void download(Progress progress) { if (!needsDownload()) { - throw new IllegalStateException("Job: " + getJobId() + " dosn't need download"); + throw new IllegalStateException("Job: " + getJobId() + " doesn't need download"); } haasClientSupplier.get().download(getJobId(), jobDir, new P_ProgressNotifierAdapter(progress)); needsDownload = false; diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java index 19cb34dfc31751e5cc940a929bd0375f9fefb5eb..9d10969960757e162b245388e50ebf0f142c5a20 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/JobManager.java @@ -11,6 +11,7 @@ import java.util.stream.Collectors; import cz.it4i.fiji.haas_java_client.HaaSClient; import cz.it4i.fiji.haas_java_client.JobState; +import cz.it4i.fiji.haas_java_client.Settings; import javafx.beans.value.ObservableValueBase; import net.imagej.updater.util.Progress; @@ -22,9 +23,12 @@ public class JobManager { private HaaSClient haasClient; + private Settings settings; + - public JobManager(Path workDirectory) throws IOException { + public JobManager(Path workDirectory, Settings settings) throws IOException { this.workDirectory = workDirectory; + this.settings = settings; Files.list(this.workDirectory).filter(p -> Files.isDirectory(p) && Job.isJobPath(p)).forEach(p -> { try { jobs.add(new Job(p, this::getHaasClient)); @@ -56,7 +60,7 @@ public class JobManager { private HaaSClient getHaasClient() { if (haasClient == null) { - haasClient = new HaaSClient(2l, 9600, 6l, "DD-17-31"); + haasClient = new HaaSClient(settings); } return haasClient; } diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/RunWithHaaS.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/RunWithHaaS.java index 47996c857c415d6b3d63747ae699331e0ab800b4..cce86a42bc28b6ce4e0b19152bbd590666eaddda 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/RunWithHaaS.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/RunWithHaaS.java @@ -49,7 +49,7 @@ public class RunWithHaaS implements Command { @Override public void run() { try { - jobManager = new JobManager(getWorkingDirectoryPath()); + jobManager = new JobManager(getWorkingDirectoryPath(),TestingConstants.getSettings()); jobManager.startJob(getWorkingDirectoryPath(), getContent(dataDirectory), ModalDialogs.doModal(new ProgressDialog(getFrame()))); } catch (IOException e) { diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/TestingConstants.template b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/TestingConstants.template new file mode 100644 index 0000000000000000000000000000000000000000..6e89e500814d9ffd5ecef6a5d6dd6e9aaa0f9c56 --- /dev/null +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/TestingConstants.template @@ -0,0 +1,61 @@ +package cz.it4i.fiji.haas; + +import cz.it4i.fiji.haas_java_client.Settings; + +interface TestingConstants { + String USER_NAME = <user name to haas>; + String PASSWORD = <password to haas>; + String EMAIL = ; + String PHONE = ; + + + static Settings getSettings() { + long templateId = 2l; + int timeOut = 9600; + long clusterNodeType = 6l; + String projectId = "DD-17-31"; + return new Settings() { + + @Override + public String getUserName() { + return USER_NAME; + } + + @Override + public String getPhone() { + return PHONE; + } + + @Override + public String getPassword() { + return PASSWORD; + } + + @Override + public String getEmail() { + return EMAIL; + } + + @Override + public long getTemplateId() { + return templateId; + } + + @Override + public int getTimeout() { + return timeOut; + } + + @Override + public long getClusterNodeType() { + return clusterNodeType; + } + + @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/HaaSClient.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java index 4cbcd5ef70da19bd395d8d99b5a201305c4f23f9..7be909bb246f78bf2b36c3d6766829015917be1e 100644 --- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/HaaSClient.java @@ -118,6 +118,8 @@ public class HaaSClient { } }; + private Settings settings; + final static private Map<JobStateExt, JobState> WS_STATE2STATE; static { @@ -132,12 +134,13 @@ public class HaaSClient { WS_STATE2STATE = Collections.unmodifiableMap(map); } - public HaaSClient(Long templateId, Integer timeOut, Long clusterNodeType, String projectId) { + public HaaSClient(Settings settings) { super(); - this.templateId = templateId; - this.timeOut = timeOut; - this.clusterNodeType = clusterNodeType; - this.projectId = projectId; + this.settings = settings; + this.templateId = settings.getTemplateId(); + this.timeOut = settings.getTimeout(); + this.clusterNodeType = settings.getClusterNodeType(); + this.projectId = settings.getProjectId(); } public long start(Iterable<Path> files, String name, Collection<Entry<String, String>> templateParameters) { @@ -297,8 +300,8 @@ public class HaaSClient { testJob.setProject(projectId); testJob.setWaitingLimit(null); testJob.setWalltimeLimit(timeOut); - testJob.setNotificationEmail(Constants.EMAIL); - testJob.setPhoneNumber(Constants.PHONE); + testJob.setNotificationEmail(settings.getEmail()); + testJob.setPhoneNumber(settings.getPhone()); testJob.setNotifyOnAbort(false); testJob.setNotifyOnFinish(false); testJob.setNotifyOnStart(false); @@ -337,7 +340,7 @@ public class HaaSClient { private String authenticate() throws RemoteException, ServiceException { return getUserAndLimitationManagement() - .authenticateUserPassword(new PasswordCredentialsExt(Constants.USER_NAME, Constants.PASSWORD)); + .authenticateUserPassword(new PasswordCredentialsExt(settings.getUserName(), settings.getPassword())); } private UserAndLimitationManagementWsSoap getUserAndLimitationManagement() throws ServiceException { diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java new file mode 100644 index 0000000000000000000000000000000000000000..64f6af6b87af1469bfc0e8033df1cee90ea3798c --- /dev/null +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/Settings.java @@ -0,0 +1,12 @@ +package cz.it4i.fiji.haas_java_client; + +public interface Settings { + String getUserName(); + String getPassword(); + String getEmail(); + String getPhone(); + long getTemplateId(); + int getTimeout(); + long getClusterNodeType(); + String getProjectId(); +} diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TestingConstants.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TestingConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..c6f9746ac369b38d9d8331e82430128672f44089 --- /dev/null +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/TestingConstants.java @@ -0,0 +1,54 @@ +package cz.it4i.fiji.haas_java_client; + +interface TestingConstants { + String USER_NAME = "testuser"; + String PASSWORD = "57f9caaf84"; + String EMAIL = "jan.kozusznik@vsb.cz"; + String PHONE = "999111000"; + + static Settings getSettings(long templateId, int timeOut, long clusterNodeType, String projectId) { + return new Settings() { + + @Override + public String getUserName() { + return USER_NAME; + } + + @Override + public String getPhone() { + return PHONE; + } + + @Override + public String getPassword() { + return PASSWORD; + } + + @Override + public String getEmail() { + return EMAIL; + } + + @Override + public long getTemplateId() { + return templateId; + } + + @Override + public int getTimeout() { + return timeOut; + } + + @Override + public long getClusterNodeType() { + return clusterNodeType; + } + + @Override + public String getProjectId() { + return projectId; + } + }; + } + +} \ No newline at end of file diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java index 65d0f7fcaf8995fbd0884ea94b736b61286b33e1..c073792724f465a20d6ae58ccc235984a36634cc 100644 --- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java +++ b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClient.java @@ -20,8 +20,8 @@ public class TestHaaSJavaClient { Map<String, String> params = new HashMap<>(); params.put("inputParam", "someStringParam"); Path baseDir = Paths.get("/home/koz01/aaa"); - HaaSClient client = new HaaSClient( 1l,600, 7l,"DD-17-31"); - long jobId = client.start(Arrays.asList(Paths.get("/home/koz01/aaa/vecmath.jar")), "TestOutRedirect", params.entrySet()); + HaaSClient client = new HaaSClient(TestingConstants.getSettings(1l, 600,7l, "DD-17-31")); + long jobId = client.start(Arrays.asList(Paths.get("/home/koz01/.inputrc")), "TestOutRedirect", params.entrySet()); Path workDir = baseDir.resolve("" + jobId); if (!Files.isDirectory(workDir)) { Files.createDirectories(workDir); diff --git a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java index e0a9705f9f4530e3a7edaf0b04f6774cf75de2f5..6392d9b2233b45359ea647862dfba977778ba12f 100644 --- a/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java +++ b/haas-java-client/src/test/java/cz/it4i/fiji/haas_java_client/TestHaaSJavaClientWithSPIM.java @@ -14,7 +14,7 @@ import cz.it4i.fiji.haas_java_client.proxy.JobFileContentExt; public class TestHaaSJavaClientWithSPIM { public static void main(String[] args) throws ServiceException, IOException { - HaaSClient client = new HaaSClient(2l, 9600, 6l, "DD-17-31"); + HaaSClient client = new HaaSClient(TestingConstants.getSettings(2, 9600, 6l, "DD-17-31")); Path baseDir = Paths.get("/home/koz01/Work/vyzkumnik/fiji/work/aaa"); long jobId = client.start(getAllFiles(baseDir.resolve("spim-data")), "TestOutRedirect",