diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/PropertyHolder.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/PropertyHolder.java index 9a369111477ec5169109d3d57538f25e2117868a..312c7fe54379ad8bc59687fd8bfa7951ddc3e67f 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/PropertyHolder.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/PropertyHolder.java @@ -17,8 +17,8 @@ public class PropertyHolder { } public String getValue(String key) { - Properties properties = getProperties(); - return properties.getProperty(key); + Properties _properties = getProperties(); + return _properties.getProperty(key); } public void setValue(String key, String value) { diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/PersistentSynchronizationProcess.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/PersistentSynchronizationProcess.java index c7ed76b38aea3207daad0adb3bb79bd1cb0f6a94..62fc6f9181f2a0ab4e8adebe5570ecc86d288949 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/PersistentSynchronizationProcess.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/PersistentSynchronizationProcess.java @@ -37,7 +37,7 @@ public abstract class PersistentSynchronizationProcess<T> { private final PersistentIndex<T> index; - private final Queue<T> toProcessQueue = new LinkedBlockingQueue<T>(); + private final Queue<T> toProcessQueue = new LinkedBlockingQueue<>(); private final Set<Thread> runningTransferThreads = Collections.synchronizedSet(new HashSet<>()); @@ -107,10 +107,10 @@ public abstract class PersistentSynchronizationProcess<T> { boolean interrupted = false; this.notifier.addItem(INIT_TRANSFER_ITEM); runningTransferThreads.add(Thread.currentThread()); - TransferFileProgressForHaaSClient notifier = DUMMY_FILE_PROGRESS; + TransferFileProgressForHaaSClient actualnotifier = DUMMY_FILE_PROGRESS; try (HaaSFileTransfer tr = fileTransferSupplier.get()) { try { - tr.setProgress(notifier = getTransferFileProgress(tr)); + tr.setProgress(actualnotifier = getTransferFileProgress(tr)); } catch (InterruptedIOException e1) { interrupted = true; } @@ -125,7 +125,7 @@ public abstract class PersistentSynchronizationProcess<T> { } T p = toProcessQueue.poll(); String item = p.toString(); - notifier.addItem(item); + actualnotifier.addItem(item); try { processItem(tr, p); fileTransfered(p); @@ -133,7 +133,7 @@ public abstract class PersistentSynchronizationProcess<T> { toProcessQueue.clear(); interrupted = true; } - notifier.itemDone(item); + actualnotifier.itemDone(item); } while(true); } finally { runningTransferThreads.remove(Thread.currentThread()); @@ -141,7 +141,7 @@ public abstract class PersistentSynchronizationProcess<T> { if (startFinished) { if (!interrupted && !Thread.interrupted()) { processFinishedNotifier.run(); - notifier.done(); + actualnotifier.done(); } else { notifyStop(); reRun.set(false); diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/Synchronization.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/Synchronization.java index cac8b78db0c9000f0fb8a24fa5758f8171acf2f1..115e1d4489efb78de011f1d7c243bcdd3a8611ac 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/Synchronization.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/data_transfer/Synchronization.java @@ -113,8 +113,8 @@ public class Synchronization implements Closeable { } private PersistentSynchronizationProcess<Path> createUploadProcess(Supplier<HaaSFileTransfer> fileTransferSupplier, - ExecutorService service, Runnable uploadFinishedNotifier) throws IOException { - return new PersistentSynchronizationProcess<Path>(service, fileTransferSupplier, uploadFinishedNotifier, + 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 @@ -147,9 +147,9 @@ public class Synchronization implements Closeable { } private P_PersistentDownloadProcess createDownloadProcess(Supplier<HaaSFileTransfer> fileTransferSupplier, - ExecutorService service, Runnable uploadFinishedNotifier) throws IOException { + ExecutorService executorService, Runnable uploadFinishedNotifier) throws IOException { - return new P_PersistentDownloadProcess(service, fileTransferSupplier, uploadFinishedNotifier); + return new P_PersistentDownloadProcess(executorService, fileTransferSupplier, uploadFinishedNotifier); } private class P_PersistentDownloadProcess extends PersistentSynchronizationProcess<String> { @@ -183,8 +183,8 @@ public class Synchronization implements Closeable { } @Override - protected long getTotalSize(Iterable<String> items, HaaSFileTransfer tr) throws InterruptedIOException { - return tr.obtainSize(StreamSupport.stream(items.spliterator(), false).collect(Collectors.toList())).stream() + 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-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/FXFrameNative.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/FXFrameNative.java index 2d6102fa657a465a34f0286a5893c850ec7b5abf..e6638d84fe1e0a0b52ef659617cec2a65d55e68e 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/FXFrameNative.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/FXFrameNative.java @@ -1,6 +1,5 @@ package cz.it4i.fiji.haas.ui; -import java.awt.Window; import java.util.function.Supplier; import org.slf4j.Logger; @@ -18,11 +17,8 @@ public abstract class FXFrameNative<T extends Parent&CloseableControl> { private JFXPanel<T> fxPanel; private Stage stage; - public FXFrameNative(Supplier<T> fxSupplier) { - this(null,fxSupplier); - } - public FXFrameNative(Window applicationFrame, Supplier<T> fxSupplier) { + public FXFrameNative(Supplier<T> fxSupplier) { new javafx.embed.swing.JFXPanel(); JavaFXRoutines.runOnFxThread(() -> { stage = new Stage(); diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/JFXPanel.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/JFXPanel.java index 05c0770707c03659437e10ea7a44bedd24ccf4b7..aa2e15db253c2996a136e774faa74ba22cdf89f1 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/JFXPanel.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/JFXPanel.java @@ -41,7 +41,7 @@ public class JFXPanel<T extends Parent> extends javafx.embed.swing.JFXPanel { this.setMinimumSize(dim); this.setMaximumSize(dim); this.setPreferredSize(dim); - }; + } public T getControl() { return control; diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/JavaFXRoutines.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/JavaFXRoutines.java index 504f7d0d6c4e03a13210999c54dae201aaf51ca3..0d05e07843a0d6579391f2115e19416bde42d7e4 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/JavaFXRoutines.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/JavaFXRoutines.java @@ -32,9 +32,8 @@ public interface JavaFXRoutines { try { if (c.equals(parent.getClass())) { return parent; - } else { - return c.newInstance(); } + return c.newInstance(); } catch (InstantiationException | IllegalAccessException e) { throw new RuntimeException(e); } @@ -58,7 +57,7 @@ public interface JavaFXRoutines { static public <U, T extends ObservableValue<U>, V> void setCellValueFactory(TableView<T> tableView, int index, Function<U, V> mapper) { ((TableColumn<T, V>) tableView.getColumns().get(index)) - .setCellValueFactory(f -> new ObservableValueAdapter<U, V>(f.getValue(), mapper)); + .setCellValueFactory(f -> new ObservableValueAdapter<>(f.getValue(), mapper)); } @@ -86,9 +85,8 @@ public interface JavaFXRoutines { public static <T> boolean notNullValue(ObservableValue<T> j, Predicate<T> pred) { if (j == null || j.getValue() == null) { return false; - } else { - return pred.test(j.getValue()); } + return pred.test(j.getValue()); } static public<T,U extends ObservableValue<T>>void setOnDoubleClickAction(TableView<U> tableView ,ExecutorService executorService,Predicate<T> openAllowed, Consumer<T> r) { diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ProgressDialog.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ProgressDialog.java index c545ae0b5f17fe770decb8d8f13ae56f02f272f7..8310b01598225cf490ac1a4f3bf8032d4f1f5c2f 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ProgressDialog.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/ProgressDialog.java @@ -19,9 +19,6 @@ import javax.swing.JProgressBar; import javax.swing.JScrollPane; import javax.swing.ScrollPaneConstants; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - import net.imagej.ui.swing.updater.SwingTools; import net.imagej.updater.util.Progress; import net.imagej.updater.util.UpdateCanceledException; @@ -30,11 +27,8 @@ import net.imagej.updater.util.UpdateCanceledException; * * @author Johannes Schindelin */ -@SuppressWarnings("serial") public class ProgressDialog extends JDialog implements Progress { - @SuppressWarnings("unused") - public final static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas.ui.ProgressDialog.class); - + JProgressBar progress; JButton detailsToggle; int toggleHeight = -1; @@ -80,7 +74,9 @@ public class ProgressDialog extends JDialog implements Progress { public void actionPerformed(final ActionEvent e) { canceled = true; ProgressDialog.this.dispose(); - cancelableAction.run(); + if (cancelableAction != null) { + cancelableAction.run(); + } } }); if(canCancel) { @@ -260,8 +256,8 @@ public class ProgressDialog extends JDialog implements Progress { setLayout(new BoxLayout(this, BoxLayout.Y_AXIS)); } - public void addDetail(final String title) { - addDetail(new Detail(title)); + public void addDetail(final String panelTitle) { + addDetail(new Detail(panelTitle)); } public void addDetail(final Detail detail) { diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/TableViewContextMenu.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/TableViewContextMenu.java index 20aee056472d2a241fa48e5c2146072aded2bb67..527c015c215521a94bf332dfc3ab2c7d694d2edd 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/TableViewContextMenu.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/TableViewContextMenu.java @@ -69,8 +69,8 @@ public class TableViewContextMenu<T> { public void handle(ContextMenuEvent event) { T requestedItem = getRequestedItem(); updateColumnIndex(event.getSceneX()); - int columnIndex = getRequestedColumn(); - items.forEach(item -> item.updateEnable(requestedItem, columnIndex)); + int requestedColumnIndex = getRequestedColumn(); + items.forEach(item -> item.updateEnable(requestedItem, requestedColumnIndex)); } private void updateColumnIndex(double sceneX) { @@ -93,7 +93,7 @@ public class TableViewContextMenu<T> { } private interface P_Updatable<T> { - public void updateEnable(T selected, int columnIndex); + public void updateEnable(T selected, int enabledColumnIndex); } private class P_UpdatableImpl<I extends MenuItem> implements P_Updatable<T> { @@ -108,7 +108,7 @@ public class TableViewContextMenu<T> { } @Override - public void updateEnable(T selected, int columnIndex) { + public void updateEnable(T selected, int enabledColumnIndex) { item.setDisable(!enableHandler.test(selected)); } @@ -166,8 +166,8 @@ public class TableViewContextMenu<T> { } @Override - public void updateEnable(T selected, int columnIndex) { - super.updateEnable(selected, columnIndex); + public void updateEnable(T selected, int enabledColumnIndex) { + super.updateEnable(selected, enabledColumnIndex); getItem().setSelected(property.apply(selected)); } diff --git a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/UpdatableObservableValue.java b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/UpdatableObservableValue.java index d5c8551f02a9e2e38ecfed2a31bbf903a0b5880f..eb341d25db26290730cd0e138fcba038f55e4e22 100644 --- a/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/UpdatableObservableValue.java +++ b/haas-imagej-client/src/main/java/cz/it4i/fiji/haas/ui/UpdatableObservableValue.java @@ -48,12 +48,14 @@ public class UpdatableObservableValue<T> extends ObservableValueBase<T> { if (oldState == null && state != null || oldState != null && (state == null || !oldState.equals(state))) { fire = true; } - case Updated: + //$FALL-THROUGH$ + case Updated: oldState = state; if (fire) { fireValueChangedEvent(); } - default: + //$FALL-THROUGH$ + default: return status; } diff --git a/haas-java-client/.classpath b/haas-java-client/.classpath index 1f60731f5242e289ee11185b478d5d412200497e..82beed5c1d6c1d4d5adf56d09f96e08e562e4243 100644 --- a/haas-java-client/.classpath +++ b/haas-java-client/.classpath @@ -36,6 +36,7 @@ </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> 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 ff6504d366e3c0f176006a4a6eeb5137db160c28..18c1dd2de8300af73984bfa1f8b55784f8037bbe 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 @@ -1,5 +1,7 @@ package cz.it4i.fiji.haas_java_client; +import com.jcraft.jsch.JSchException; + import java.io.IOException; import java.io.InputStream; import java.io.UnsupportedEncodingException; @@ -26,8 +28,6 @@ import javax.xml.rpc.ServiceException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import com.jcraft.jsch.JSchException; - 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; @@ -172,7 +172,7 @@ public class HaaSClient { final static private Map<JobStateExt, JobState> WS_STATE2STATE; static { - Map<JobStateExt, JobState> map = new HashMap<JobStateExt, JobState>(); + Map<JobStateExt, JobState> map = new HashMap<>(); map.put(JobStateExt.CANCELED, JobState.Canceled); map.put(JobStateExt.CONFIGURING, JobState.Configuring); map.put(JobStateExt.FAILED, JobState.Failed); @@ -189,7 +189,7 @@ public class HaaSClient { private JobManagementWsSoap jobManagement; - private FileTransferWsSoap fileTransfer; + private FileTransferWsSoap fileTransferWS; private final String projectId; @@ -206,12 +206,8 @@ public class HaaSClient { this.projectId = settings.getProjectId(); } - public long createJob(JobSettings settings, Collection<Entry<String, String>> templateParameters) { - try { - return doCreateJob(settings, templateParameters); - } catch (RemoteException | ServiceException e) { - throw new RuntimeException(e); - } + public long createJob(JobSettings jobSettings, Collection<Entry<String, String>> templateParameters) { + return doCreateJob(jobSettings, templateParameters); } public HaaSFileTransfer startFileTransfer(long jobId, TransferFileProgress notifier) { @@ -227,9 +223,9 @@ public class HaaSClient { } public TunnelToNode openTunnel(long jobId, String nodeIP, int localPort, int remotePort) { - MidlewareTunnel tunnel; + MiddlewareTunnel tunnel; try { - tunnel = new MidlewareTunnel(Executors.newCachedThreadPool(), jobId, nodeIP, getSessionID()); + tunnel = new MiddlewareTunnel(Executors.newCachedThreadPool(), jobId, nodeIP, getSessionID()); tunnel.open(localPort, remotePort); return new TunnelToNode() { @Override @@ -247,113 +243,85 @@ public class HaaSClient { return tunnel.getLocalHost(); } }; - } catch (ServiceException | IOException e) { + } catch (IOException e) { log.error(e.getMessage(), e); throw new HaaSClientException(e); } } public void submitJob(long jobId) { - try { - doSubmitJob(jobId); - } catch (RemoteException | ServiceException e) { - throw new HaaSClientException(e); - } + doSubmitJob(jobId); } public JobInfo obtainJobInfo(long jobId) { - try { - final SubmittedJobInfoExt info = getJobManagement().getCurrentInfoForJob(jobId, getSessionID()); + 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; + 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 Collection<Long> getTasks() { + return tasksId; + } - @Override - public JobState getState() { - return WS_STATE2STATE.get(info.getState()); - } + @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 getStartTime() { + return toGregorian(info.getStartTime()); + } - @Override - public java.util.Calendar getEndTime() { - return toGregorian(info.getEndTime()); - }; + @Override + public java.util.Calendar getEndTime() { + return toGregorian(info.getEndTime()); + } - @Override - public Calendar getCreationTime() { - return toGregorian(info.getCreationTime()); - }; + @Override + public Calendar getCreationTime() { + return toGregorian(info.getCreationTime()); + } - @Override - public List<String> getNodesIPs() { - if (ips == null) { - try { - ips = getJobManagement().getAllocatedNodesIPs(jobId, getSessionID()).getString().stream() - .collect(Collectors.toList()); - } catch (RemoteException | ServiceException e) { - log.error(e.getMessage(), e); - } - } - return ips; - } - }; - } catch (RemoteException | ServiceException e) { - throw new HaaSClientException(e); - } + @Override + public List<String> getNodesIPs() { + if (ips == null) { + ips = getJobManagement().getAllocatedNodesIPs(jobId, getSessionID()) + .getString().stream().collect(Collectors.toList()); + } + return ips; + } + }; } public Collection<JobFileContentExt> downloadPartsOfJobFiles(Long jobId, HaaSClient.SynchronizableFiles files) { - try { - ArrayOfTaskFileOffsetExt fileOffsetExt = new ArrayOfTaskFileOffsetExt(); - fileOffsetExt.getTaskFileOffsetExt().addAll(files.getFiles()); - return getFileTransfer().downloadPartsOfJobFilesFromCluster(jobId, fileOffsetExt, getSessionID()) - .getJobFileContentExt(); - } catch (RemoteException | ServiceException e) { - throw new HaaSClientException(e); - } + ArrayOfTaskFileOffsetExt fileOffsetExt = new ArrayOfTaskFileOffsetExt(); + fileOffsetExt.getTaskFileOffsetExt().addAll(files.getFiles()); + return getFileTransfer().downloadPartsOfJobFilesFromCluster(jobId, fileOffsetExt, getSessionID()) + .getJobFileContentExt(); } public Collection<String> getChangedFiles(long jobId) { - try { - return getFileTransfer().listChangedFilesForJob(jobId, getSessionID()).getString(); - } catch (RemoteException | ServiceException e) { - throw new HaaSClientException(e); - } + return getFileTransfer().listChangedFilesForJob(jobId, getSessionID()).getString(); } public void cancelJob(Long jobId) { - try { - getJobManagement().cancelJob(jobId, getSessionID()); - } catch (RemoteException | ServiceException e) { - throw new HaaSClientException(e); - } + getJobManagement().cancelJob(jobId, getSessionID()); } public void deleteJob(long id) { - try { - getJobManagement().deleteJob(id, getSessionID()); - } catch (RemoteException | ServiceException e) { - throw new HaaSClientException(e); - } + getJobManagement().deleteJob(id, getSessionID()); } - public HaaSDataTransfer startDataTransfer(long jobId, int nodeNumber, int port) throws RemoteException, ServiceException { + public HaaSDataTransfer startDataTransfer(long jobId, int nodeNumber, int port) { return createDataTransfer(jobId, nodeNumber, port); } - synchronized String getSessionID() throws RemoteException, ServiceException { + synchronized String getSessionID() { if (sessionID == null) { sessionID = authenticate(); } @@ -374,7 +342,7 @@ public class HaaSClient { } catch (RemoteException | ServiceException e) { throw new HaaSClientException(e); } - }; + } }; } catch (UnsupportedEncodingException | JSchException e) { pool.release(); @@ -382,8 +350,7 @@ public class HaaSClient { } } - private HaaSDataTransfer createDataTransfer(long jobId, int nodeNumber, int port) - throws ServiceException, RemoteException { + private HaaSDataTransfer createDataTransfer(long jobId, int nodeNumber, int port) { String host = getJobManagement().getAllocatedNodesIPs(jobId, getSessionID()).getString().get(nodeNumber); DataTransferWsSoap ws = getDataTransfer(); DataTransferMethodExt dataTransferMethodExt = ws.getDataTransferMethod(host, port, jobId, @@ -412,12 +379,11 @@ public class HaaSClient { }}; } - private void doSubmitJob(long jobId) throws RemoteException, ServiceException { + private void doSubmitJob(long jobId) { getJobManagement().submitJob(jobId, getSessionID()); } - private long doCreateJob(JobSettings jobSettings, Collection<Entry<String, String>> templateParameters) - throws RemoteException, ServiceException { + private long doCreateJob(JobSettings jobSettings, Collection<Entry<String, String>> templateParameters) { Collection<TaskSpecificationExt> taskSpec = Arrays .asList(createTaskSpecification(jobSettings, templateParameters)); JobSpecificationExt jobSpecification = createJobSpecification(jobSettings, taskSpec); @@ -480,7 +446,7 @@ public class HaaSClient { return testTask; } - private String authenticate() throws RemoteException, ServiceException { + private String authenticate() { return getUserAndLimitationManagement() .authenticateUserPassword(createPasswordCredentialsExt(settings.getUserName(), settings.getPassword())); } @@ -492,25 +458,25 @@ public class HaaSClient { return dataTransferWs; } - synchronized private UserAndLimitationManagementWsSoap getUserAndLimitationManagement() throws ServiceException { + synchronized private UserAndLimitationManagementWsSoap getUserAndLimitationManagement() { if (userAndLimitationManagement == null) { userAndLimitationManagement = new UserAndLimitationManagementWs().getUserAndLimitationManagementWsSoap12(); } return userAndLimitationManagement; } - synchronized private JobManagementWsSoap getJobManagement() throws ServiceException { + synchronized private JobManagementWsSoap getJobManagement() { if (jobManagement == null) { jobManagement = new JobManagementWs().getJobManagementWsSoap12(); } return jobManagement; } - synchronized private FileTransferWsSoap getFileTransfer() throws ServiceException { - if (fileTransfer == null) { - fileTransfer = new FileTransferWs().getFileTransferWsSoap12(); + synchronized private FileTransferWsSoap getFileTransfer() { + if (fileTransferWS == null) { + fileTransferWS = new FileTransferWs().getFileTransferWsSoap12(); } - return fileTransfer; + return fileTransferWS; } public static class P_ProgressNotifierDecorator4Size extends P_ProgressNotifierDecorator { 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 index fe40056388c53aedb2d16c6005d0a42ff7e7ac97..d16b1a35be3a0cd7108b2bc0ee6078e8b763da42 100644 --- 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 @@ -91,7 +91,7 @@ class HaaSFileTransferImp implements HaaSFileTransfer { List<String> result = new LinkedList<>(); try { for (String fileName : files) { - fileName = replaceIfFirstFirst(fileName, "/", ""); + fileName = replaceIfFirstFirst(fileName); try (ByteArrayOutputStream os = new ByteArrayOutputStream()) { String fileToDownload = "'" + ft.getSharedBasepath() + "/" + fileName + "'"; scpClient.download(fileToDownload, os, progress); @@ -105,7 +105,7 @@ class HaaSFileTransferImp implements HaaSFileTransfer { return result; } - private String replaceIfFirstFirst(String fileName, String string, String string2) { + private String replaceIfFirstFirst(String fileName) { if (fileName.length() < 0 && fileName.charAt(0) == '/') { fileName = fileName.substring(1); } diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobFileContentImpl.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobFileContentImpl.java deleted file mode 100644 index fdbb4eaa9766af651de2c276f4094ec51054e446..0000000000000000000000000000000000000000 --- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/JobFileContentImpl.java +++ /dev/null @@ -1,43 +0,0 @@ -package cz.it4i.fiji.haas_java_client; - -import cz.it4i.fiji.haas_java_client.proxy.JobFileContentExt; -import cz.it4i.fiji.haas_java_client.proxy.SynchronizableFilesExt; - -class JobFileContentImpl implements JobFileContent{ - - private final JobFileContentExt contentExt; - - public JobFileContentImpl(JobFileContentExt contentExt) { - this.contentExt = contentExt; - } - - @Override - public String getContent() { - return contentExt.getContent(); - } - - @Override - public String getRelativePath() { - return contentExt.getRelativePath(); - } - - @Override - public Long getOffset() { - return contentExt.getOffset(); - } - - @Override - public SynchronizableFileType getFileType() { - return getFileType(contentExt.getFileType()); - } - - @Override - public Long getSubmittedTaskInfoId() { - return contentExt.getSubmittedTaskInfoId(); - } - - private SynchronizableFileType getFileType(SynchronizableFilesExt fileType) { - // TODO Auto-generated method stub - return null; - } -} 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 index 86466e5c5a410903d76543b6dcfeab71a49acdfa..ec63972654731594e99196694dd9581cf27a4102 100644 --- 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 @@ -20,40 +20,40 @@ public class JobSettingsBuilder { 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; + 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; + this._templateId = templateId; return this; } public JobSettingsBuilder walltimeLimit(int walltimeLimit) { - this.walltimeLimit = walltimeLimit; + this._walltimeLimit = walltimeLimit; return this; } public JobSettingsBuilder clusterNodeType(long clusterNodeType) { - this.clusterNodeType = clusterNodeType; + this._clusterNodeType = clusterNodeType; return this; } public JobSettingsBuilder jobName(String jobName) { - this.jobName = jobName; + this._jobName = jobName; return this; } public JobSettingsBuilder numberOfNodes(int numberOfNodes) { - this.numberOfNodes = numberOfNodes; + this._numberOfNodes = numberOfNodes; return this; } public JobSettingsBuilder numberOfCoresPerNode(int numberOfCoresPerNode) { - this.numberOfCoresPerNode = numberOfCoresPerNode; + this._numberOfCoresPerNode = numberOfCoresPerNode; return this; } @@ -62,32 +62,32 @@ public class JobSettingsBuilder { @Override public int getWalltimeLimit() { - return walltimeLimit; + return _walltimeLimit; } @Override public long getTemplateId() { - return templateId; + return _templateId; } @Override public int getNumberOfNodes() { - return numberOfNodes; + return _numberOfNodes; } @Override public String getJobName() { - return jobName; + return _jobName; } @Override public long getClusterNodeType() { - return clusterNodeType; + return _clusterNodeType; } @Override public int getNumberOfCoresPerNode() { - return numberOfCoresPerNode; + return _numberOfCoresPerNode; } }; } diff --git a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MidlewareTunnel.java b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MiddlewareTunnel.java similarity index 97% rename from haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MidlewareTunnel.java rename to haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MiddlewareTunnel.java index e7fe237768e8ba8af222598b7d8fb950d60e9f42..287d6f32137d74fea58d9ca1309916c0c92eb05a 100644 --- a/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MidlewareTunnel.java +++ b/haas-java-client/src/main/java/cz/it4i/fiji/haas_java_client/MiddlewareTunnel.java @@ -27,9 +27,9 @@ 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 MidlewareTunnel implements Closeable { +class MiddlewareTunnel implements Closeable { - public static final Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.MidlewareTunnel.class); + public static final Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.MiddlewareTunnel.class); private static final int TIMEOUT = 1000; @@ -63,7 +63,7 @@ class MidlewareTunnel implements Closeable { private DataTransferMethodExt dataTransferMethod; - public MidlewareTunnel(ExecutorService executorService, long jobId, String hostIp, String sessionCode) { + public MiddlewareTunnel(ExecutorService executorService, long jobId, String hostIp, String sessionCode) { this.jobId = jobId; this.dataTransfer = new DataTransferWs().getDataTransferWsSoap12(); ((BindingProvider) dataTransfer).getRequestContext().put("javax.xml.ws.client.connectionTimeout", "" + TIMEOUT); @@ -93,7 +93,7 @@ class MidlewareTunnel implements Closeable { while (!Thread.interrupted() && !ss.isClosed()) { try (Socket soc = ss.accept()) { obtainTransferMethodIfNeeded(port); - doTransfer(soc, port); + doTransfer(soc); if (log.isDebugEnabled()) { log.debug("endDataTransfer"); } @@ -159,7 +159,7 @@ class MidlewareTunnel implements Closeable { } } - private void doTransfer(Socket soc, int port) { + private void doTransfer(Socket soc) { log.debug("START: doTransfer"); if(lastConnection != null) { lastConnection.finishIfNeeded(); @@ -254,7 +254,6 @@ class MidlewareTunnel implements Closeable { zeroCounter = 0; } } - ; return true; } 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 index 050676212e54e5a1a8409d08877a437fb1872573..5fa5b38263d4dfe27c050c4b07054140d26d421b 100644 --- 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 @@ -19,9 +19,9 @@ public class TransferFileProgressForHaaSClient implements TransferFileProgress { this.notifier = notifier; } - public void startNewFile(long fileSize) { + public void startNewFile(long initialFileSize) { fileTransfered = 0; - this.fileSize = fileSize; + this.fileSize = initialFileSize; } @Override 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 index 93ba8727af7637a38bb14cd68a1732671574c4bf..d7d6ee0813da528c7ffc1d5a25fa6ee9d775e80b 100644 --- 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 @@ -1,9 +1,5 @@ package cz.it4i.fiji.haas_java_client; -import java.io.IOException; - -import javax.xml.rpc.ServiceException; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -18,7 +14,7 @@ public class GetJobInfo { public static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.GetJobInfo.class); - public static void main(String[] args) throws ServiceException, IOException { + public static void main(String[] args) { HaaSClientSettings settings = SettingsProvider.getSettings("OPEN-12-20", TestingConstants.CONFIGURATION_FILE_NAME); HaaSClient client = new HaaSClient(settings); JobInfo ji = client.obtainJobInfo(334); 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 index 9409bd33a8fae9aa38ade3bdba8170def8339d2d..e90c0b0d2e0b3cae6691c4ef91e26efd45acf298 100644 --- 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 @@ -3,8 +3,6 @@ package cz.it4i.fiji.haas_java_client; import java.io.IOException; import java.util.Scanner; -import javax.xml.rpc.ServiceException; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -15,7 +13,7 @@ public class TestCommunicationWithNodes { private static String[] predefined = new String[2]; @SuppressWarnings("resource") - public static void main(String[] args) throws ServiceException, IOException, InterruptedException { + 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" + 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 index 4eaafa5dd9e257a8d49780c0ad209c63245ef28b..104270f1ced371c96bbe13ff7120c36adc812979 100644 --- 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 @@ -3,8 +3,6 @@ package cz.it4i.fiji.haas_java_client; import java.io.IOException; import java.util.Arrays; -import javax.xml.rpc.ServiceException; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -12,7 +10,8 @@ public class TestConcurentAccessToHaaSFileTransfer { private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.TestConcurentAccessToHaaSFileTransfer.class); - public static void main(String[] args) throws ServiceException, IOException { + @SuppressWarnings("resource") + public static void main(String[] args) throws IOException { HaaSClient client = new HaaSClient(SettingsProvider.getSettings("OPEN-12-20",TestingConstants.CONFIGURATION_FILE_NAME)); HaaSFileTransfer tr1 = client.startFileTransfer(250, HaaSClient.DUMMY_TRANSFER_FILE_PROGRESS); HaaSFileTransfer tr2 = client.startFileTransfer(249, HaaSClient.DUMMY_TRANSFER_FILE_PROGRESS); 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 09e02548ab1cc34e239478f0ab9ea37f1dc376fb..08218fe07948e5ee34a565a5cd6df44d14d070ee 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 @@ -9,8 +9,6 @@ import java.nio.file.Paths; import java.util.HashMap; import java.util.Map; -import javax.xml.rpc.ServiceException; - import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -21,7 +19,7 @@ public class TestHaaSJavaClient { private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.TestHaaSJavaClient.class); - public static void main(String[] args) throws ServiceException, IOException { + 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"); 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 a7f49ad2f4e776b1838d37aab9995d5acbfd2396..5398046935a23233dc05fe98d6aa76d7fe77d8fa 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 @@ -1,5 +1,7 @@ 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; @@ -7,20 +9,17 @@ import java.nio.file.Paths; import java.util.Collections; import java.util.stream.StreamSupport; -import javax.xml.rpc.ServiceException; - 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; -import static cz.it4i.fiji.haas_java_client.LambdaExceptionHandlerWrapper.wrap; public class TestHaaSJavaClientWithSPIM { private static Logger log = LoggerFactory.getLogger(cz.it4i.fiji.haas_java_client.TestHaaSJavaClientWithSPIM.class); - public static void main(String[] args) throws ServiceException, IOException { + 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"); diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/FileLock.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/FileLock.java index 8cc79da18868baecb0c822174249cb4f2e99afc7..138575890c418e7e431b835a6694b7050f5f559e 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/FileLock.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/FileLock.java @@ -1,7 +1,6 @@ package cz.it4i.fiji.haas_spim_benchmark.commands; import java.io.Closeable; -import java.io.FileNotFoundException; import java.io.IOException; import java.nio.channels.FileChannel; import java.nio.channels.OverlappingFileLockException; @@ -22,7 +21,7 @@ public class FileLock implements Closeable { private java.nio.channels.FileLock lock; - public FileLock(Path lockPath) throws FileNotFoundException { + public FileLock(Path lockPath) { this.localPath = lockPath; } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/ManageSPIMBenchmark.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/ManageSPIMBenchmark.java index d8368e00eb736aab4738351b850ae8aa5dbd7b5c..4f5adb6b895dedb28056a2ec0bf9368947ec9ff2 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/ManageSPIMBenchmark.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/commands/ManageSPIMBenchmark.java @@ -64,30 +64,26 @@ public class ManageSPIMBenchmark implements Command { if (!Files.isDirectory(workingDirPath)) { Files.createDirectories(workingDirPath); } + @SuppressWarnings("resource") final FileLock fl = new FileLock(workingDirPath.resolve(LOCK_FILE_NAME)); if(!fl.tryLock()) { uiService.showDialog("Working directory is already used by someone else", MessageType.ERROR_MESSAGE); return; } - try { - final BenchmarkSPIMWindow dialog = new BenchmarkSPIMWindow(null, - new BenchmarkSPIMParametersImpl(userName, password, Constants.PHONE, email, workingDirPath)); - dialog.executeAdjustment(() -> { - dialog.setTitle(Constants.MENU_ITEM_NAME + " " + Constants.SUBMENU_ITEM_NAME); - dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); - dialog.addWindowListener(new WindowAdapter() { - @Override - public void windowClosing(final WindowEvent e) { - super.windowClosing(e); - fl.close(); - } - }); - dialog.setVisible(true); + final BenchmarkSPIMWindow dialog = new BenchmarkSPIMWindow(null, + new BenchmarkSPIMParametersImpl(userName, password, Constants.PHONE, email, workingDirPath)); + dialog.executeAdjustment(() -> { + dialog.setTitle(Constants.MENU_ITEM_NAME + " " + Constants.SUBMENU_ITEM_NAME); + dialog.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + dialog.addWindowListener(new WindowAdapter() { + @Override + public void windowClosing(final WindowEvent e) { + super.windowClosing(e); + fl.close(); + } }); - } catch(final IOException e) { - fl.close(); - throw e; - } + dialog.setVisible(true); + }); } catch (final IOException e) { log.error(e.getMessage(), e); } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java index 26cb12a9d9275145394745af61ac028f6541a3d3..c88e3c5fb5473eb1ba2d5ea4081fd7bdfc8b4df3 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/BenchmarkJobManager.java @@ -9,7 +9,6 @@ import static cz.it4i.fiji.haas_spim_benchmark.core.Constants.UI_TO_HAAS_FREQUEN import java.io.BufferedReader; import java.io.Closeable; -import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; @@ -42,6 +41,8 @@ import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; +import net.imagej.updater.util.Progress; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.w3c.dom.Document; @@ -53,14 +54,13 @@ import cz.it4i.fiji.haas.HaaSOutputHolder; import cz.it4i.fiji.haas.HaaSOutputHolderImpl; import cz.it4i.fiji.haas.Job; import cz.it4i.fiji.haas.JobManager; -import cz.it4i.fiji.haas_java_client.JobState; -import cz.it4i.fiji.haas_java_client.ProgressNotifier; import cz.it4i.fiji.haas_java_client.HaaSClientSettings; import cz.it4i.fiji.haas_java_client.JobSettings; import cz.it4i.fiji.haas_java_client.JobSettingsBuilder; +import cz.it4i.fiji.haas_java_client.JobState; +import cz.it4i.fiji.haas_java_client.ProgressNotifier; import cz.it4i.fiji.haas_java_client.SynchronizableFileType; import cz.it4i.fiji.haas_java_client.UploadingFile; -import net.imagej.updater.util.Progress; public class BenchmarkJobManager implements Closeable { @@ -88,8 +88,8 @@ public class BenchmarkJobManager implements Closeable { public BenchmarkJob(Job job) { this.job = job; - tasks = new LinkedList<Task>(); - nonTaskSpecificErrors = new LinkedList<BenchmarkError>(); + tasks = new LinkedList<>(); + nonTaskSpecificErrors = new LinkedList<>(); computationAccessor = getComputationAccessor(); } @@ -358,6 +358,7 @@ public class BenchmarkJobManager implements Closeable { // If no job count definition has been found, search through the output and list // all errors if (!found) { + @SuppressWarnings("resource") Scanner scanner = new Scanner(getSnakemakeOutput()); String currentLine; while (scanner.hasNextLine()) { @@ -380,6 +381,7 @@ public class BenchmarkJobManager implements Closeable { } // After the job count definition, task specification is expected + @SuppressWarnings("resource") Scanner scanner = new Scanner(output.substring(processedOutputLength)); scanner.nextLine(); // Immediately after job count definition, task specification table header is // expected @@ -510,7 +512,7 @@ public class BenchmarkJobManager implements Closeable { @Override public List<String> getFileContents(List<String> logs) { return job.getFileContents(logs); - }; + } }; result = new SPIMComputationAccessorDecoratorWithTimeout(result, @@ -528,7 +530,7 @@ public class BenchmarkJobManager implements Closeable { } - public BenchmarkJobManager(BenchmarkSPIMParameters params) throws IOException { + public BenchmarkJobManager(BenchmarkSPIMParameters params) { jobManager = new JobManager(params.workingDirectory(), constructSettingsFromParams(params)); jobManager.setUploadFilter(this::canUpload); } @@ -542,13 +544,13 @@ public class BenchmarkJobManager implements Closeable { return convertJob(job); } - public Collection<BenchmarkJob> getJobs() throws IOException { + public Collection<BenchmarkJob> getJobs() { return jobManager.getJobs().stream().map(this::convertJob).collect(Collectors.toList()); } - public static void formatResultFile(Path filename) throws FileNotFoundException { + public static void formatResultFile(Path filename) { - List<ResultFileTask> identifiedTasks = new LinkedList<ResultFileTask>(); + List<ResultFileTask> identifiedTasks = new LinkedList<>(); try { String line = null; @@ -639,8 +641,10 @@ public class BenchmarkJobManager implements Closeable { log.error(e.getMessage(), e); } finally { try { - fileWriter.flush(); - fileWriter.close(); + if (fileWriter != null) { + fileWriter.flush(); + fileWriter.close(); + } } catch (Exception e) { log.error(e.getMessage(), e); } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileTask.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileTask.java index 8c27191fd4d91abd170e1a2113daa0f7ed43725d..bff2e3ca19e2da22c86923ab893cd311a0404ab1 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileTask.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/ResultFileTask.java @@ -25,7 +25,7 @@ public class ResultFileTask { public ResultFileTask(String name) { this.name = name; - this.jobs = new LinkedList<ResultFileJob>(); + this.jobs = new LinkedList<>(); } public String getName() { diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/SPIMComputationAccessorDecoratorWithTimeout.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/SPIMComputationAccessorDecoratorWithTimeout.java index d37758c8dcb153cf5c7c9077890ee65d69b38379..81805bbf32c2b4653226f96e232d82ec1c54cf9c 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/SPIMComputationAccessorDecoratorWithTimeout.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/SPIMComputationAccessorDecoratorWithTimeout.java @@ -25,7 +25,7 @@ public class SPIMComputationAccessorDecoratorWithTimeout implements SPIMComputat this.intervalForQueryInMs = intervalForQueryInMs; this.decorated = decorated; initAllowedTypes(allowedTypes); - outputCache = new P_ResultCacheHolder<List<String>>(x -> decorated.getActualOutput(this.allowedTypes)); + outputCache = new P_ResultCacheHolder<>(x -> decorated.getActualOutput(this.allowedTypes)); changedFilesCache = new P_ResultCacheHolder<>(set -> { if (set == null) { set = new HashSet<>(); @@ -61,8 +61,8 @@ public class SPIMComputationAccessorDecoratorWithTimeout implements SPIMComputat return decorated.getFileContents(logs); } - private void initAllowedTypes(Set<SynchronizableFileType> allowedTypes) { - for (SynchronizableFileType type : allowedTypes) { + private void initAllowedTypes(Set<SynchronizableFileType> usedAllowedTypes) { + for (SynchronizableFileType type : usedAllowedTypes) { this.allowedTypes.add(type); this.allowedTypesIndices.put(type, this.allowedTypes.size() - 1); } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Task.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Task.java index f8ecf8e37e4562d355a3193a61afeaee8d9d0313..1e085c567313df1d6fd4601fd0557e62c57685a7 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Task.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/Task.java @@ -28,7 +28,7 @@ public class Task { * Looks up next task computation (i.e. with lowest timepoint) of the current * task and populates its parameters * - * @param positionInOutput: + * @param positionInOutput * Index of the output position to search from * @return success flag */ diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/TaskComputation.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/TaskComputation.java index f781fcadd4a78afa5e97dda3e72b79609723f04b..63faf432b3bc89f2d1ccede118e22b1713bf8fd4 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/TaskComputation.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/core/TaskComputation.java @@ -36,27 +36,32 @@ public class TaskComputation { return content; } + @Override + public int hashCode() { + final int prime = 31; + int result = 1; + result = prime * result + ((content == null) ? 0 : content.hashCode()); + result = prime * result + ((name == null) ? 0 : name.hashCode()); + return result; + } + @Override public boolean equals(Object obj) { - if (this == obj) - return true; - if (obj == null) - return false; - if (getClass() != obj.getClass()) - return false; + if (this == obj) return true; + if (obj == null) return false; + if (getClass() != obj.getClass()) return false; Log other = (Log) obj; if (content == null) { - if (other.content != null) - return false; - } else if (!content.equals(other.content)) - return false; + if (other.content != null) { return false;} + } + else if (!content.equals(other.content)) return false; if (name == null) { - if (other.name != null) - return false; - } else if (!name.equals(other.name)) - return false; + if (other.name != null) return false; + } + else if (!name.equals(other.name)) return false; return true; } + } public static class File { @@ -99,7 +104,7 @@ public class TaskComputation { this.computationAccessor = computationAccessor; this.taskDescription = taskDescription; this.timepoint = timepoint; - this.errors = new LinkedList<BenchmarkError>(); + this.errors = new LinkedList<>(); this.state = JobState.Unknown; updateState(); } @@ -147,11 +152,11 @@ public class TaskComputation { /** * Populates parameters of the current object by searching the output * - * @param positionInOutput: + * @param actualPositionInOutput * Index of the output position to search from * @return success flag */ - public boolean populateParameters(int positionInOutput) { + public boolean populateParameters(int actualPositionInOutput) { // Should the state be different than unknown, there is no need to populate // parameters @@ -159,7 +164,7 @@ public class TaskComputation { return false; } - this.positionInOutput = positionInOutput; + this.positionInOutput = actualPositionInOutput; if (!resolveJobParameters()) { return false; } @@ -200,6 +205,7 @@ public class TaskComputation { final String OUTPUT_PARSING_ERRONEOUS_JOB = "Error in job "; final String desiredPatternErroneousJob = OUTPUT_PARSING_ERRONEOUS_JOB + taskDescription; + @SuppressWarnings("resource") Scanner scanner = new Scanner(getSnakemakeOutput().substring(positionInOutput)); String currentLine; while (scanner.hasNextLine()) { @@ -225,6 +231,7 @@ public class TaskComputation { final String OUTPUT_PARSING_LOGS = "log: "; final String OUTPUT_PARSING_JOB_ID = "jobid: "; + @SuppressWarnings("resource") Scanner scanner = new Scanner(getSnakemakeOutput().substring(positionInOutput)); String currentLine; while (scanner.hasNextLine()) { diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMControl.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMControl.java index 5b15ebee78558324c3945a99ea1bde21057095d3..ae332d3ceab8ae031baac34d0d540cdd3a1a323a 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMControl.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMControl.java @@ -23,6 +23,8 @@ import java.util.function.Function; import javax.swing.WindowConstants; +import net.imagej.updater.util.Progress; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -62,7 +64,6 @@ import javafx.scene.control.Tooltip; import javafx.scene.layout.BorderPane; import javafx.scene.layout.Region; import mpicbg.spim.data.SpimDataException; -import net.imagej.updater.util.Progress; public class BenchmarkSPIMControl extends BorderPane implements CloseableControl, InitiableControl { @@ -96,8 +97,8 @@ public class BenchmarkSPIMControl extends BorderPane implements CloseableControl } @Override - public void init(Window root) { - this.root = root; + public void init(Window rootWindow) { + this.root = rootWindow; executorServiceWS = Executors.newSingleThreadExecutor(); executorServiceUI = Executors.newSingleThreadExecutor(); timer = new Timer(); @@ -274,28 +275,22 @@ public class BenchmarkSPIMControl extends BorderPane implements CloseableControl : new DummyProgress(); executorServiceWS.execute(() -> { - - try { - List<BenchmarkJob> jobs = new LinkedList<>(manager.getJobs()); - jobs.sort((bj1, bj2) -> (int) (bj1.getId() - bj2.getId())); - for (BenchmarkJob bj : jobs) { - registry.addIfAbsent(bj); - } - registry.update(); - Set<ObservableValue<BenchmarkJob>> actual = new HashSet<>(this.jobs.getItems()); - - executorServiceFX.execute(() -> { - for (ObservableBenchmarkJob value : registry.getAllItems()) { - if (!actual.contains(value)) { - addJobToItems(value); - } - } - }); - progress.done(); - } catch (IOException e) { - log.error(e.getMessage(), e); + List<BenchmarkJob> inspectedJobs = new LinkedList<>(manager.getJobs()); + inspectedJobs.sort((bj1, bj2) -> (int) (bj1.getId() - bj2.getId())); + for (BenchmarkJob bj : inspectedJobs) { + registry.addIfAbsent(bj); } + registry.update(); + Set<ObservableValue<BenchmarkJob>> actual = new HashSet<>(this.jobs.getItems()); + executorServiceFX.execute(() -> { + for (ObservableBenchmarkJob value : registry.getAllItems()) { + if (!actual.contains(value)) { + addJobToItems(value); + } + } + }); + progress.done(); }); } @@ -337,11 +332,11 @@ public class BenchmarkSPIMControl extends BorderPane implements CloseableControl private void setCellValueFactoryCompletable(int index, Function<BenchmarkJob, CompletableFuture<String>> mapper) { JavaFXRoutines.setCellValueFactory(jobs, index, mapper); ((TableColumn<ObservableBenchmarkJob, CompletableFuture<String>>) jobs.getColumns().get(index)) - .setCellFactory(column -> new TableCellAdapter<ObservableBenchmarkJob, CompletableFuture<String>> // + .setCellFactory(column -> new TableCellAdapter<> // (// new P_TableCellUpdaterDecoratorWithToolTip<>// (// - new FutureValueUpdater<ObservableBenchmarkJob, String, CompletableFuture<String>>// + new FutureValueUpdater<>// (// new StringValueUpdater<ObservableBenchmarkJob>(), executorServiceFX// ), // @@ -349,11 +344,7 @@ public class BenchmarkSPIMControl extends BorderPane implements CloseableControl } private void openJobDetailsWindow(BenchmarkJob job) { - try { - new JobDetailWindow(root, job).setVisible(true); - } catch (IOException e) { - log.error(e.getMessage(), e); - } + new JobDetailWindow(root, job).setVisible(true); } private void openBigDataViewer(BenchmarkJob job) { diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMWindow.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMWindow.java index 7f55466237db8f87121851fbc260d711de489346..09cf599f75483aa3bed288f02295eec5d07897b4 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMWindow.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/BenchmarkSPIMWindow.java @@ -1,7 +1,6 @@ package cz.it4i.fiji.haas_spim_benchmark.ui; import java.awt.Window; -import java.io.IOException; import cz.it4i.fiji.haas.ui.FXFrame; import cz.it4i.fiji.haas_spim_benchmark.core.BenchmarkJobManager; @@ -12,13 +11,9 @@ public class BenchmarkSPIMWindow extends FXFrame<BenchmarkSPIMControl>{ private static final long serialVersionUID = 1L; - public BenchmarkSPIMWindow(Window parentWindow, BenchmarkSPIMParameters params) throws IOException { + public BenchmarkSPIMWindow(Window parentWindow, BenchmarkSPIMParameters params) { super(parentWindow,()->{ - try { - return new BenchmarkSPIMControl(new BenchmarkJobManager(params)); - } catch (IOException e) { - throw new RuntimeException(e); - } + return new BenchmarkSPIMControl(new BenchmarkJobManager(params)); }); } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/HaaSOutputObservableValueRegistry.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/HaaSOutputObservableValueRegistry.java index 83d02edb3f67a41a8fb56c422008439c00fdab1f..bba9ab3134439a4d2a271b76b5d32dbb50c356cf 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/HaaSOutputObservableValueRegistry.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/HaaSOutputObservableValueRegistry.java @@ -78,11 +78,11 @@ public class HaaSOutputObservableValueRegistry implements Closeable { String value; - private synchronized void update(String value) { + private synchronized void update(String newValue) { String oldValue = this.value; - this.value = value; - if (value != null && oldValue == null || value == null && oldValue != null - || value != null && !value.equals(oldValue)) { + this.value = newValue; + if (newValue != null && oldValue == null || newValue == null && oldValue != null + || newValue != null && !newValue.equals(oldValue)) { fireValueChangedEvent(); } } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobDetailControl.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobDetailControl.java index 2191ce838981f84068d83923719963aa4006da6c..db5d36219508e1c6cddffc0c0540c7824168be1f 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobDetailControl.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobDetailControl.java @@ -57,13 +57,13 @@ public class JobDetailControl extends TabPane implements CloseableControl, Initi private void enableOnlySpecificTab(Tab tabToLeaveEnabled) { - getTabs().stream().filter(node -> node != jobPropertiesTab).forEach(node -> node.setDisable(true)); + getTabs().stream().filter(node -> node != tabToLeaveEnabled).forEach(node -> node.setDisable(true)); getSelectionModel().select(jobPropertiesTab); } - private boolean isExecutionDetailsAvailable(BenchmarkJob job) { - return job.getState() == JobState.Running || job.getState() == JobState.Finished - || job.getState() == JobState.Failed || job.getState() == JobState.Canceled; + private boolean isExecutionDetailsAvailable(BenchmarkJob inspectedJob) { + return inspectedJob.getState() == JobState.Running || inspectedJob.getState() == JobState.Finished + || inspectedJob.getState() == JobState.Failed || inspectedJob.getState() == JobState.Canceled; } @Override diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobDetailWindow.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobDetailWindow.java index 786abe48b5b09b2cd8e482e96911fcff6275d165..fb7e4fcb337014d4489940621f0afa2bfc33344c 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobDetailWindow.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobDetailWindow.java @@ -1,7 +1,6 @@ package cz.it4i.fiji.haas_spim_benchmark.ui; import java.awt.Window; -import java.io.IOException; import cz.it4i.fiji.haas.ui.FXFrame; import cz.it4i.fiji.haas_spim_benchmark.core.BenchmarkJobManager.BenchmarkJob; @@ -12,7 +11,7 @@ public class JobDetailWindow extends FXFrame<JobDetailControl>{ - public JobDetailWindow(Window parentWindow, BenchmarkJob job) throws IOException { + public JobDetailWindow(Window parentWindow, BenchmarkJob job) { super(parentWindow,()->{ return new JobDetailControl(job); diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobPropertiesControl.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobPropertiesControl.java index 2d24113613ab919483873892cba498e0ba30ecc0..ad8bc0af458bbb144f2a7841ce0b53baa6ae0898 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobPropertiesControl.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/JobPropertiesControl.java @@ -57,13 +57,13 @@ public class JobPropertiesControl extends BorderPane implements Closeable { private void fillTable() { properties.getItems() - .add(new UpdatableObservableValue<JobPropertiesControl.P_Value>( + .add(new UpdatableObservableValue<>( new P_Value("Input", job.getInputDirectory(), "Demo data on the Salomon IT4I cluster"), x -> UpdateStatus.NotUpdated, x -> x)); - properties.getItems().add(new UpdatableObservableValue<JobPropertiesControl.P_Value>( + properties.getItems().add(new UpdatableObservableValue<>( new P_Value("Output", job.getOutputDirectory(), "N/A"), x -> UpdateStatus.NotUpdated, x -> x)); - properties.getItems().add(new UpdatableObservableValue<JobPropertiesControl.P_Value>( + properties.getItems().add(new UpdatableObservableValue<>( new P_Value("Working", job.getDirectory(), "N/A"), x -> UpdateStatus.NotUpdated, x -> x)); } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/NewJobController.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/NewJobController.java index f896bbbe7ce3ffe19bcfb074724a3269e1c70e38..50fadb7bafa55e0a1eed4ec6a8f9e4afa859707e 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/NewJobController.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/NewJobController.java @@ -13,7 +13,6 @@ import cz.it4i.fiji.haas.ui.CloseableControl; import cz.it4i.fiji.haas.ui.FXFrame; import cz.it4i.fiji.haas.ui.InitiableControl; import cz.it4i.fiji.haas.ui.JavaFXRoutines; -import javafx.beans.value.ObservableValue; import javafx.fxml.FXML; import javafx.scene.Parent; import javafx.scene.control.Alert; @@ -77,8 +76,8 @@ public class NewJobController extends BorderPane implements CloseableControl, In JavaFXRoutines.initRootAndController("NewJobView.fxml", this); getStylesheets().add(getClass().getResource("NewJobView.css").toExternalForm()); bt_create.setOnMouseClicked(X -> createPressed()); - tg_inputDataLocation.selectedToggleProperty().addListener((v, old, n) -> selected(v, old, n, rb_ownInput)); - tg_outputDataLocation.selectedToggleProperty().addListener((v, o, n) -> selected(v, o, n, rb_ownOutput)); + tg_inputDataLocation.selectedToggleProperty().addListener((v, old, n) -> selected(n, rb_ownInput)); + tg_outputDataLocation.selectedToggleProperty().addListener((v, o, n) -> selected(n, rb_ownOutput)); initSelectButton(et_inputDirectory, bt_selectInput); initSelectButton(et_outputDirectory, bt_selectOutput); } @@ -176,7 +175,7 @@ public class NewJobController extends BorderPane implements CloseableControl, In return DataLocation.values()[DataLocation.values().length - backawardOrderOfSelected]; } - private void selected(ObservableValue<? extends Toggle> v, Toggle o, Toggle n, Parent disableIfNotSelected) { + private void selected(Toggle n, Parent disableIfNotSelected) { disableIfNotSelected.getChildrenUnmodifiable().forEach(node -> node.setDisable(n != disableIfNotSelected)); } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/ObservableTaskRegistry.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/ObservableTaskRegistry.java index 7625777ea5d25d96d4d2a093ebc121e249320b07..ef8cb259893d2436a71c70bc25440e0083712504 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/ObservableTaskRegistry.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/ObservableTaskRegistry.java @@ -30,7 +30,7 @@ public class ObservableTaskRegistry extends ObservableValueRegistry<Task, Updata @Override protected UpdatableObservableValue<Task> constructObservableValue(Task task) { - return new UpdatableObservableValue<Task>(task, getUpdateFunction(), getStateProvider()); + return new UpdatableObservableValue<>(task, getUpdateFunction(), getStateProvider()); } private static UpdateStatus update(Task t) { diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java index d98c6852f23dc2d80e2d7e0a0e5b322a02d53927..de63984030eb541f8c8d6fe7ab4f1a1d466ddd50 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/SPIMPipelineProgressViewController.java @@ -119,7 +119,7 @@ public class SPIMPipelineProgressViewController extends BorderPane implements Cl tasks.setPrefWidth(PREFERRED_WIDTH); timer = new Timer(); registry = new ObservableTaskRegistry(()-> job, task -> tasks.getItems().remove(registry.get(task))); - TableViewContextMenu<ObservableValue<Task>> menu = new TableViewContextMenu<ObservableValue<Task>>(this.tasks); + TableViewContextMenu<ObservableValue<Task>> menu = new TableViewContextMenu<>(this.tasks); menu.addItem("Open view", (task, columnIndex) -> proof(task, columnIndex), (x, columnIndex) -> check(x, columnIndex)); } @@ -160,8 +160,8 @@ public class SPIMPipelineProgressViewController extends BorderPane implements Cl } private void fillTable() { - List<Task> tasks = job.getTasks(); - if (tasks == null) { + List<Task> processedTasks = job.getTasks(); + if (processedTasks == null) { timer.schedule(new TimerTask() { @Override public void run() { @@ -170,13 +170,13 @@ public class SPIMPipelineProgressViewController extends BorderPane implements Cl }, Constants.HAAS_UPDATE_TIMEOUT / Constants.UI_TO_HAAS_FREQUENCY_UPDATE_RATIO); } else { - Optional<List<TaskComputation>> optional = tasks.stream().map(task -> task.getComputations()) + Optional<List<TaskComputation>> optional = processedTasks.stream().map(task -> task.getComputations()) .collect(Collectors.<List<TaskComputation>>maxBy((a, b) -> a.size() - b.size())); if (!optional.isPresent()) { return; } List<TaskComputation> computations = optional.get(); - List<ObservableValue<Task>> taskList = (tasks.stream().map(task -> registry.addIfAbsent(task)) + List<ObservableValue<Task>> taskList = (processedTasks.stream().map(task -> registry.addIfAbsent(task)) .collect(Collectors.toList())); executorFx.execute(() -> { int i = 0; @@ -204,9 +204,8 @@ public class SPIMPipelineProgressViewController extends BorderPane implements Cl JavaFXRoutines.setCellValueFactory(this.tasks, index, (Function<Task, TaskComputation>) v -> { if (v.getComputations().size() >= index) { return v.getComputations().get(index - 1); - } else { - return null; - } + } + return null; }); ((TableColumn<ObservableValue<Task>, TaskComputation>) this.tasks.getColumns().get(index)) .setCellFactory(column -> new TableCellAdapter<>((cell, val, empty) -> { diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/TaskComputationAdapter.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/TaskComputationAdapter.java index a92c19f87972ab24d7519daa51ca5562a4da86af..a2c8797adce1037721c37e7f86b66de2784230d9 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/TaskComputationAdapter.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/TaskComputationAdapter.java @@ -38,7 +38,7 @@ public class TaskComputationAdapter implements Closeable { public void init() { Map<String, Long> sizes = computation.getOutFileSizes(); computation.getOutputs().forEach(outputFile -> addOutputFile(outputFile, sizes.get(outputFile))); - computation.getLogs().forEach(log -> logs.add(new ObservableLog(log))); + computation.getLogs().forEach(decoratedLog -> logs.add(new ObservableLog(decoratedLog))); synchronized (this) { if(timer != null) { timer.schedule(new P_TimerTask(), Constants.HAAS_TIMEOUT, Constants.HAAS_TIMEOUT); @@ -94,21 +94,21 @@ public class TaskComputationAdapter implements Closeable { private class P_ObservableString extends ObservableValueBase<String> { - private String value; + private String innerValue; public P_ObservableString(String value) { - this.value = value; + this.innerValue = value; } @Override public String getValue() { - return value; + return innerValue; } public void setValue(String value) { - if(this.value != null && !this.value.equals(value) || - value != null && !value.equals(this.value)) { - this.value = value; + if(this.innerValue != null && !this.innerValue.equals(value) || + value != null && !value.equals(this.innerValue)) { + this.innerValue = value; fireValueChangedEvent(); } } @@ -159,10 +159,10 @@ public class TaskComputationAdapter implements Closeable { @Override public void run() { Map<String, Long> sizes = computation.getOutFileSizes(); - Map<String, Log> logs = computation.getLogs().stream() - .collect(Collectors.<Log, String, Log>toMap((Log log) -> log.getName(), (Log log) -> log)); + Map<String, Log> computationLogs = computation.getLogs().stream() + .collect(Collectors.<Log, String, Log>toMap((Log l) -> l.getName(), (Log l) -> l)); TaskComputationAdapter.this.logs - .forEach(log -> log.setContentValue(logs.get(log.getName()))); + .forEach(processedLog -> processedLog.setContentValue(computationLogs.get(processedLog.getName()))); outputs.forEach(value -> ((ObservableOutputFile) value).setSize(sizes.get(value.getValue().getName()))); } diff --git a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/TaskComputationControl.java b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/TaskComputationControl.java index 6a26424fa076dcc31259d00cdabbaf02cc14aff6..6ef1e05d7097bf60d2b5ad25ebd9eafed86ee01d 100644 --- a/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/TaskComputationControl.java +++ b/haas-spim-benchmark/src/main/java/cz/it4i/fiji/haas_spim_benchmark/ui/TaskComputationControl.java @@ -59,10 +59,10 @@ public class TaskComputationControl extends TabPane implements CloseableControl, remoteFilesInfo.setFiles(adapter.getOutputs()); remoteFilesInfo.init(parameter); Collection<Runnable> runs = new LinkedList<>(); - for (ObservableLog log : adapter.getLogs()) { + for (ObservableLog observableLog : adapter.getLogs()) { LogViewControl logViewControl = new LogViewControl(); - logViewControl.setObservable(log.getContent()); - runs.add(() -> addTab(log.getName(), logViewControl)); + logViewControl.setObservable(observableLog.getContent()); + runs.add(() -> addTab(observableLog.getName(), logViewControl)); } uiExecutor.execute(() -> runs.forEach(r -> r.run())); }); diff --git a/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/FormatResultFileRun.java b/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/FormatResultFileRun.java index c647596583ecc6f56ef85134a67b8ab9eae7fa34..2afd8bb5218e17459f47f9a63070d772ef79508d 100644 --- a/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/FormatResultFileRun.java +++ b/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/FormatResultFileRun.java @@ -1,12 +1,11 @@ package cz.it4i.fiji.haas; -import java.io.FileNotFoundException; import java.nio.file.Paths; import cz.it4i.fiji.haas_spim_benchmark.core.BenchmarkJobManager; public class FormatResultFileRun { - public static void main(String[] args) throws FileNotFoundException { + public static void main(String[] args) { BenchmarkJobManager.formatResultFile(Paths.get(args[0])); } } diff --git a/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/JFXPanel.java b/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/JFXPanel.java index a9cb94edb29b9937ba9321da19e6c5dcd4833282..d5a3d4cbe371c3000002063cbca191e2a545f642 100644 --- a/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/JFXPanel.java +++ b/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/JFXPanel.java @@ -48,7 +48,7 @@ public class JFXPanel<T extends Parent> extends javafx.embed.swing.JFXPanel { // this.setMaximumSize(dim); // this.setPreferredSize(dim); // this.setSize((int) scene.getWidth(), (int) scene.getHeight()); - }; + } public T getControl() { return control; diff --git a/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/NewJobWindowShow.java b/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/NewJobWindowShow.java index 525b110ddbb9e0078993902b8c67bbb0e88cf03e..f804b9c8790373b7ca93ddb3f8a30f5351751fcb 100644 --- a/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/NewJobWindowShow.java +++ b/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/NewJobWindowShow.java @@ -1,11 +1,9 @@ package cz.it4i.fiji.haas; -import java.io.IOException; - import cz.it4i.fiji.haas_spim_benchmark.ui.NewJobWindow; public class NewJobWindowShow { - public static void main(String[] args) throws IOException { + public static void main(String[] args) { new NewJobWindow(null).setVisible(true); } } diff --git a/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/TestFX.java b/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/TestFX.java index b094e17f23d05b01b65719f0d7ff09406a2d9ad0..e4567f8003f0b114e881062c3e47b41773906f36 100644 --- a/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/TestFX.java +++ b/haas-spim-benchmark/src/test/java/cz/it4i/fiji/haas/TestFX.java @@ -3,11 +3,13 @@ package cz.it4i.fiji.haas; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; +import javax.swing.WindowConstants; + import cz.it4i.fiji.haas_spim_benchmark.ui.BenchmarkSPIMControl; public class TestFX { public static void main(String[] args) { - @SuppressWarnings("serial") + class Window extends FXFrame<BenchmarkSPIMControl>{ public Window() { @@ -17,7 +19,7 @@ public class TestFX { } Window window; (window = new Window()).setVisible(true); - window.setDefaultCloseOperation(Window.DISPOSE_ON_CLOSE); + window.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); window.addWindowListener(new WindowAdapter() { @Override public void windowClosed(WindowEvent e) { diff --git a/haas-tests/src/test/java/kozusznik/haas_experiment/TestConnectionCloseCase.java b/haas-tests/src/test/java/kozusznik/haas_experiment/TestConnectionCloseCase.java index 89f086562554f0854908602054a608f0ff31f369..48f543d31cf1663a6f67185aa3cbcec10b8acaf4 100644 --- a/haas-tests/src/test/java/kozusznik/haas_experiment/TestConnectionCloseCase.java +++ b/haas-tests/src/test/java/kozusznik/haas_experiment/TestConnectionCloseCase.java @@ -1,3 +1,4 @@ + package kozusznik.haas_experiment; import static org.junit.jupiter.api.Assertions.assertFalse; @@ -7,8 +8,6 @@ import static org.junit.jupiter.api.Assertions.fail; import java.io.IOException; import java.util.concurrent.CompletableFuture; -import javax.xml.rpc.ServiceException; - import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; @@ -21,37 +20,40 @@ import cz.it4i.fiji.haas_java_client.HaaSDataTransfer; import cz.it4i.fiji.haas_java_client.SettingsProvider; /** - * Demonstrate failure reported in https://vpsupport.vsb.cz:8002/redmine/issues/1115 + * Demonstrate failure reported in + * https://vpsupport.vsb.cz:8002/redmine/issues/1115 */ class TestConnectionCloseCase { - public static final Logger log = LoggerFactory.getLogger(kozusznik.haas_experiment.TestConnectionCloseCase.class); + public static final Logger log = LoggerFactory.getLogger( + kozusznik.haas_experiment.TestConnectionCloseCase.class); private final static String MSG = // - "GET /data/ HTTP/1.1\r\n" + // + "GET /data/ HTTP/1.1\r\n" + // "Host: localhost:8080\r\n" + // "User-Agent: curl/7.47.0\r\n" + // "Accept: */*\r\n" + // - "\r\n";; + "\r\n"; private static HaaSClient client; private static long jobID; @BeforeAll static void setUpBeforeClass() throws Exception { - HaaSClientSettings settings = SettingsProvider.getSettings("OPEN-12-20", - TestingConstants.CONFIGURATION_FILE_NAME); + final HaaSClientSettings settings = SettingsProvider.getSettings( + "OPEN-12-20", TestingConstants.CONFIGURATION_FILE_NAME); client = new HaaSClient(settings); jobID = Routines.startBDS(client); } @BeforeEach - void setUp() throws Exception { - } + void setUp() throws Exception {} @Test void test$1Scenarion() { - - try (HaaSDataTransfer dataTransfer = client.startDataTransfer(jobID, 0, 8081)) { + + try (HaaSDataTransfer dataTransfer = client.startDataTransfer(jobID, 0, + 8081)) + { log.info("#1 scenario - #1 request"); dataTransfer.write(MSG.getBytes()); log.info("#1 scenario - response of #1 request:"); @@ -66,36 +68,41 @@ class TestConnectionCloseCase { logResponse(response = dataTransfer.read()); assertNotNull(response); dataTransfer.closeConnection(); - } catch (IOException | ServiceException e) { + } + catch (final IOException e) { fail(e.getMessage(), e); } } - + @Test void test$2Scenario() throws Exception { log.info("#2 scenario"); - try(HaaSDataTransfer dataTransfer = client.startDataTransfer(jobID, 0, 8081)) { + try (HaaSDataTransfer dataTransfer = client.startDataTransfer(jobID, 0, + 8081)) + { log.info("#2 scenario - #1 request"); dataTransfer.write(MSG.getBytes()); log.info("#2 scenario - response of #1 request:"); logResponse(dataTransfer.read()); dataTransfer.closeConnection(); - + log.info("try to read before write:"); - //MAY BLOCK FOR READ - CompletableFuture<?> f = CompletableFuture.runAsync(() -> logResponse(dataTransfer.read())); + // MAY BLOCK FOR READ + final CompletableFuture<?> f = CompletableFuture.runAsync( + () -> logResponse(dataTransfer.read())); Thread.sleep(3000); assertFalse(f.isDone()); - + dataTransfer.closeConnection(); } } - - private static void logResponse(byte[] data) { - if(data == null) { + + private static void logResponse(final byte[] data) { + if (data == null) { log.warn("Closed connection from middleware"); - } else { + } + else { log.info(new String(data)); } }