Skip to content
Snippets Groups Projects
Commit 8d8c6b82 authored by Unknown's avatar Unknown
Browse files

Move settings for HaaS to specific interface
parent d31772c4
No related branches found
No related tags found
No related merge requests found
Showing
with 151 additions and 16 deletions
/TestingConstants.java
...@@ -45,7 +45,7 @@ public class CheckStatusOfHaaS implements Command { ...@@ -45,7 +45,7 @@ public class CheckStatusOfHaaS implements Command {
@Override @Override
public void run() { public void run() {
try { try {
jobManager = new JobManager(getWorkingDirectoryPath()); jobManager = new JobManager(getWorkingDirectoryPath(),TestingConstants.getSettings());
if (uiService.isHeadless()) { if (uiService.isHeadless()) {
downloadAll(); downloadAll();
} else { } else {
......
...@@ -121,7 +121,7 @@ public class Job { ...@@ -121,7 +121,7 @@ public class Job {
synchronized public void download(Progress progress) { synchronized public void download(Progress progress) {
if (!needsDownload()) { 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)); haasClientSupplier.get().download(getJobId(), jobDir, new P_ProgressNotifierAdapter(progress));
needsDownload = false; needsDownload = false;
......
...@@ -11,6 +11,7 @@ import java.util.stream.Collectors; ...@@ -11,6 +11,7 @@ import java.util.stream.Collectors;
import cz.it4i.fiji.haas_java_client.HaaSClient; import cz.it4i.fiji.haas_java_client.HaaSClient;
import cz.it4i.fiji.haas_java_client.JobState; import cz.it4i.fiji.haas_java_client.JobState;
import cz.it4i.fiji.haas_java_client.Settings;
import javafx.beans.value.ObservableValueBase; import javafx.beans.value.ObservableValueBase;
import net.imagej.updater.util.Progress; import net.imagej.updater.util.Progress;
...@@ -22,9 +23,12 @@ public class JobManager { ...@@ -22,9 +23,12 @@ public class JobManager {
private HaaSClient haasClient; private HaaSClient haasClient;
private Settings settings;
public JobManager(Path workDirectory) throws IOException { public JobManager(Path workDirectory, Settings settings) throws IOException {
this.workDirectory = workDirectory; this.workDirectory = workDirectory;
this.settings = settings;
Files.list(this.workDirectory).filter(p -> Files.isDirectory(p) && Job.isJobPath(p)).forEach(p -> { Files.list(this.workDirectory).filter(p -> Files.isDirectory(p) && Job.isJobPath(p)).forEach(p -> {
try { try {
jobs.add(new Job(p, this::getHaasClient)); jobs.add(new Job(p, this::getHaasClient));
...@@ -56,7 +60,7 @@ public class JobManager { ...@@ -56,7 +60,7 @@ public class JobManager {
private HaaSClient getHaasClient() { private HaaSClient getHaasClient() {
if (haasClient == null) { if (haasClient == null) {
haasClient = new HaaSClient(2l, 9600, 6l, "DD-17-31"); haasClient = new HaaSClient(settings);
} }
return haasClient; return haasClient;
} }
......
...@@ -49,7 +49,7 @@ public class RunWithHaaS implements Command { ...@@ -49,7 +49,7 @@ public class RunWithHaaS implements Command {
@Override @Override
public void run() { public void run() {
try { try {
jobManager = new JobManager(getWorkingDirectoryPath()); jobManager = new JobManager(getWorkingDirectoryPath(),TestingConstants.getSettings());
jobManager.startJob(getWorkingDirectoryPath(), getContent(dataDirectory), jobManager.startJob(getWorkingDirectoryPath(), getContent(dataDirectory),
ModalDialogs.doModal(new ProgressDialog(getFrame()))); ModalDialogs.doModal(new ProgressDialog(getFrame())));
} catch (IOException e) { } catch (IOException e) {
......
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
...@@ -118,6 +118,8 @@ public class HaaSClient { ...@@ -118,6 +118,8 @@ public class HaaSClient {
} }
}; };
private Settings settings;
final static private Map<JobStateExt, JobState> WS_STATE2STATE; final static private Map<JobStateExt, JobState> WS_STATE2STATE;
static { static {
...@@ -132,12 +134,13 @@ public class HaaSClient { ...@@ -132,12 +134,13 @@ public class HaaSClient {
WS_STATE2STATE = Collections.unmodifiableMap(map); WS_STATE2STATE = Collections.unmodifiableMap(map);
} }
public HaaSClient(Long templateId, Integer timeOut, Long clusterNodeType, String projectId) { public HaaSClient(Settings settings) {
super(); super();
this.templateId = templateId; this.settings = settings;
this.timeOut = timeOut; this.templateId = settings.getTemplateId();
this.clusterNodeType = clusterNodeType; this.timeOut = settings.getTimeout();
this.projectId = projectId; this.clusterNodeType = settings.getClusterNodeType();
this.projectId = settings.getProjectId();
} }
public long start(Iterable<Path> files, String name, Collection<Entry<String, String>> templateParameters) { public long start(Iterable<Path> files, String name, Collection<Entry<String, String>> templateParameters) {
...@@ -297,8 +300,8 @@ public class HaaSClient { ...@@ -297,8 +300,8 @@ public class HaaSClient {
testJob.setProject(projectId); testJob.setProject(projectId);
testJob.setWaitingLimit(null); testJob.setWaitingLimit(null);
testJob.setWalltimeLimit(timeOut); testJob.setWalltimeLimit(timeOut);
testJob.setNotificationEmail(Constants.EMAIL); testJob.setNotificationEmail(settings.getEmail());
testJob.setPhoneNumber(Constants.PHONE); testJob.setPhoneNumber(settings.getPhone());
testJob.setNotifyOnAbort(false); testJob.setNotifyOnAbort(false);
testJob.setNotifyOnFinish(false); testJob.setNotifyOnFinish(false);
testJob.setNotifyOnStart(false); testJob.setNotifyOnStart(false);
...@@ -337,7 +340,7 @@ public class HaaSClient { ...@@ -337,7 +340,7 @@ public class HaaSClient {
private String authenticate() throws RemoteException, ServiceException { private String authenticate() throws RemoteException, ServiceException {
return getUserAndLimitationManagement() return getUserAndLimitationManagement()
.authenticateUserPassword(new PasswordCredentialsExt(Constants.USER_NAME, Constants.PASSWORD)); .authenticateUserPassword(new PasswordCredentialsExt(settings.getUserName(), settings.getPassword()));
} }
private UserAndLimitationManagementWsSoap getUserAndLimitationManagement() throws ServiceException { private UserAndLimitationManagementWsSoap getUserAndLimitationManagement() throws ServiceException {
......
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();
}
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
...@@ -20,8 +20,8 @@ public class TestHaaSJavaClient { ...@@ -20,8 +20,8 @@ public class TestHaaSJavaClient {
Map<String, String> params = new HashMap<>(); Map<String, String> params = new HashMap<>();
params.put("inputParam", "someStringParam"); params.put("inputParam", "someStringParam");
Path baseDir = Paths.get("/home/koz01/aaa"); Path baseDir = Paths.get("/home/koz01/aaa");
HaaSClient client = new HaaSClient( 1l,600, 7l,"DD-17-31"); HaaSClient client = new HaaSClient(TestingConstants.getSettings(1l, 600,7l, "DD-17-31"));
long jobId = client.start(Arrays.asList(Paths.get("/home/koz01/aaa/vecmath.jar")), "TestOutRedirect", params.entrySet()); long jobId = client.start(Arrays.asList(Paths.get("/home/koz01/.inputrc")), "TestOutRedirect", params.entrySet());
Path workDir = baseDir.resolve("" + jobId); Path workDir = baseDir.resolve("" + jobId);
if (!Files.isDirectory(workDir)) { if (!Files.isDirectory(workDir)) {
Files.createDirectories(workDir); Files.createDirectories(workDir);
......
...@@ -14,7 +14,7 @@ import cz.it4i.fiji.haas_java_client.proxy.JobFileContentExt; ...@@ -14,7 +14,7 @@ import cz.it4i.fiji.haas_java_client.proxy.JobFileContentExt;
public class TestHaaSJavaClientWithSPIM { public class TestHaaSJavaClientWithSPIM {
public static void main(String[] args) throws ServiceException, IOException { 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"); Path baseDir = Paths.get("/home/koz01/Work/vyzkumnik/fiji/work/aaa");
long jobId = client.start(getAllFiles(baseDir.resolve("spim-data")), "TestOutRedirect", long jobId = client.start(getAllFiles(baseDir.resolve("spim-data")), "TestOutRedirect",
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment