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);
 			}