TAVERNA-988 taverna-perspective-results Path <- File
diff --git a/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/ResultsPerspective.java b/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/ResultsPerspective.java
index a4b2e5f..4583fa9 100644
--- a/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/ResultsPerspective.java
+++ b/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/ResultsPerspective.java
@@ -22,6 +22,8 @@
import static org.apache.taverna.workbench.icons.WorkbenchIcons.resultsPerspectiveIcon;
import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Path;
import java.util.List;
import javax.swing.ImageIcon;
@@ -69,10 +71,7 @@
@Override
public JComponent getPanel() {
if (resultsPerspectiveComponent == null) {
- File runStore = new File(
- applicationConfiguration.getApplicationHomeDir(),
- RUN_STORE_DIRECTORY);
- runStore.mkdirs();
+ Path runStore = applicationConfiguration.getApplicationHomeDir().resolve(RUN_STORE_DIRECTORY);
resultsPerspectiveComponent = new ResultsPerspectiveComponent(
runService, selectionManager, colourManager,
activityIconManager, workbenchConfiguration,
diff --git a/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/ResultsPerspectiveComponent.java b/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/ResultsPerspectiveComponent.java
index def978c..5259bb0 100644
--- a/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/ResultsPerspectiveComponent.java
+++ b/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/ResultsPerspectiveComponent.java
@@ -29,6 +29,7 @@
import java.awt.CardLayout;
import java.awt.Font;
import java.io.File;
+import java.nio.file.Path;
import java.util.ArrayList;
import java.util.List;
@@ -91,7 +92,7 @@
ColourManager colourManager, ActivityIconManager activityIconManager,
WorkbenchConfiguration workbenchConfiguration, RendererRegistry rendererRegistry,
List<SaveAllResultsSPI> saveAllResultsSPIs,
- List<SaveIndividualResultSPI> saveIndividualResultSPIs, File runStore) {
+ List<SaveIndividualResultSPI> saveIndividualResultSPIs, Path runStore) {
this.runService = runService;
this.selectionManager = selectionManager;
this.colourManager = colourManager;
diff --git a/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/RunSelectorComponent.java b/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/RunSelectorComponent.java
index e45f921..80190d3 100644
--- a/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/RunSelectorComponent.java
+++ b/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/RunSelectorComponent.java
@@ -20,6 +20,7 @@
package org.apache.taverna.ui.perspectives.results;
import java.io.File;
+import java.nio.file.Path;
import org.apache.taverna.lang.observer.Observable;
import org.apache.taverna.lang.observer.SwingAwareObserver;
@@ -40,10 +41,10 @@
private final RunService runService;
private final SelectionManager selectionManager;
- private final File runStore;
+ private final Path runStore;
public RunSelectorComponent(RunService runSevice,
- SelectionManager selectionManager, File runStore) {
+ SelectionManager selectionManager, Path runStore) {
this.runService = runSevice;
this.selectionManager = selectionManager;
this.runStore = runStore;
diff --git a/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/RunTab.java b/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/RunTab.java
index a42d380..742d94d 100644
--- a/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/RunTab.java
+++ b/taverna-perspective-results/src/main/java/org/apache/taverna/ui/perspectives/results/RunTab.java
@@ -27,6 +27,8 @@
import java.io.File;
import java.io.IOException;
+import java.nio.file.Files;
+import java.nio.file.Path;
import javax.swing.JOptionPane;
@@ -52,10 +54,10 @@
private final SelectionManager selectionManager;
private final RunService runService;
- private final File runStore;
+ private final Path runStore;
public RunTab(final String runID, final SelectionManager selectionManager,
- final RunService runService, File runStore) {
+ final RunService runService, Path runStore) {
super(getRunName(runService, runID), runID);
this.selectionManager = selectionManager;
this.runService = runService;
@@ -93,10 +95,12 @@
// workflow may have finished by now
}
}
- File file = new File(runStore, getName() + ".wfRun");
+ Path file = runStore.resolve(getName() + ".wfRun");
try {
- if (!file.exists())
+ if (! Files.exists(file)) {
+ Files.createDirectories(file.getParent());
runService.save(selection, file);
+ }
} catch (IOException e) {
logger.warn("Failed to save workflow run to " + file, e);
}