You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@taverna.apache.org by st...@apache.org on 2016/02/13 19:40:28 UTC

[1/2] incubator-taverna-osgi git commit: File -> Path -- at least in API specs

Repository: incubator-taverna-osgi
Updated Branches:
  refs/heads/master c9bdfb595 -> fdfdb4dbe


File -> Path -- at least in API specs


Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/commit/f8b9df17
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/tree/f8b9df17
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/diff/f8b9df17

Branch: refs/heads/master
Commit: f8b9df1758424c8320b01229e4eaa373e6152d99
Parents: c9bdfb5
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Sat Feb 13 14:27:26 2016 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Sat Feb 13 14:27:26 2016 +0000

----------------------------------------------------------------------
 .../configuration/app/ApplicationConfiguration.java   | 14 +++++++-------
 .../main/java/org/apache/taverna/plugin/Plugin.java   |  4 ++--
 .../java/org/apache/taverna/plugin/PluginManager.java |  3 +--
 3 files changed, 10 insertions(+), 11 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/f8b9df17/taverna-app-configuration-api/src/main/java/org/apache/taverna/configuration/app/ApplicationConfiguration.java
----------------------------------------------------------------------
diff --git a/taverna-app-configuration-api/src/main/java/org/apache/taverna/configuration/app/ApplicationConfiguration.java b/taverna-app-configuration-api/src/main/java/org/apache/taverna/configuration/app/ApplicationConfiguration.java
index fac5112..451cb36 100644
--- a/taverna-app-configuration-api/src/main/java/org/apache/taverna/configuration/app/ApplicationConfiguration.java
+++ b/taverna-app-configuration-api/src/main/java/org/apache/taverna/configuration/app/ApplicationConfiguration.java
@@ -16,7 +16,7 @@
  */
 package org.apache.taverna.configuration.app;
 
-import java.io.File;
+import java.nio.file.Path;
 
 import org.apache.taverna.profile.xml.jaxb.ApplicationProfile;
 
@@ -41,17 +41,17 @@ public interface ApplicationConfiguration {
 
 	public String getTitle();
 
-	public File getStartupDir();
+	public Path getStartupDir();
 
-	public File getApplicationHomeDir();
+	public Path getApplicationHomeDir();
 
-	public File getUserPluginDir();
+	public Path getUserPluginDir();
 
-	public File getSystemPluginDir();
+	public Path getSystemPluginDir();
 
-	public File getLogFile();
+	public Path getLogFile();
 
-	public File getLogDir();
+	public Path getLogDir();
 
 	public ApplicationProfile getApplicationProfile();
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/f8b9df17/taverna-plugin-api/src/main/java/org/apache/taverna/plugin/Plugin.java
----------------------------------------------------------------------
diff --git a/taverna-plugin-api/src/main/java/org/apache/taverna/plugin/Plugin.java b/taverna-plugin-api/src/main/java/org/apache/taverna/plugin/Plugin.java
index 6689f8a..1a845d1 100644
--- a/taverna-plugin-api/src/main/java/org/apache/taverna/plugin/Plugin.java
+++ b/taverna-plugin-api/src/main/java/org/apache/taverna/plugin/Plugin.java
@@ -16,7 +16,7 @@
  */
 package org.apache.taverna.plugin;
 
-import java.io.File;
+import java.nio.file.Path;
 import java.util.Set;
 
 import org.osgi.framework.Bundle;
@@ -77,7 +77,7 @@ public interface Plugin {
 
 	public void uninstall() throws PluginException;
 
-	public File getFile();
+	public Path getFile();
 
 	public Set<Bundle> getBundles();
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/f8b9df17/taverna-plugin-api/src/main/java/org/apache/taverna/plugin/PluginManager.java
----------------------------------------------------------------------
diff --git a/taverna-plugin-api/src/main/java/org/apache/taverna/plugin/PluginManager.java b/taverna-plugin-api/src/main/java/org/apache/taverna/plugin/PluginManager.java
index 9a4fd2c..3a1779d 100644
--- a/taverna-plugin-api/src/main/java/org/apache/taverna/plugin/PluginManager.java
+++ b/taverna-plugin-api/src/main/java/org/apache/taverna/plugin/PluginManager.java
@@ -16,7 +16,6 @@
  */
 package org.apache.taverna.plugin;
 
-import java.io.File;
 import java.nio.file.Path;
 import java.util.List;
 
@@ -85,7 +84,7 @@ public interface PluginManager {
 	 * @return the installed plugin
 	 * @throws PluginException
 	 */
-	public Plugin installPlugin(File pluginFile) throws PluginException;
+	public Plugin installPlugin(Path pluginFile) throws PluginException;
 
 	/**
 	 * Installs a plugin from an update site.


[2/2] incubator-taverna-osgi git commit: file -> path -- at least superficially

Posted by st...@apache.org.
file -> path -- at least superficially


Project: http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/commit/fdfdb4db
Tree: http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/tree/fdfdb4db
Diff: http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/diff/fdfdb4db

Branch: refs/heads/master
Commit: fdfdb4dbe18dcdd076c19e7145124ad455469840
Parents: f8b9df1
Author: Stian Soiland-Reyes <st...@apache.org>
Authored: Sat Feb 13 14:32:31 2016 +0000
Committer: Stian Soiland-Reyes <st...@apache.org>
Committed: Sat Feb 13 15:32:15 2016 +0000

----------------------------------------------------------------------
 .../app/impl/ApplicationConfigurationImpl.java  | 39 ++++++++++----------
 .../app/impl/ApplicationUserHome.java           |  2 +-
 .../app/impl/Log4JConfiguration.java            |  6 +--
 .../impl/ConfigurationManagerImpl.java          |  2 +-
 .../impl/ConfigurationManagerImplTest.java      | 15 ++++----
 .../plugin/impl/PluginDirectoryWatcher.java     |  2 +-
 .../apache/taverna/plugin/impl/PluginImpl.java  |  6 +--
 .../taverna/plugin/impl/PluginManagerImpl.java  | 38 +++++++++----------
 .../plugin/impl/PluginSiteManagerImpl.java      |  2 +-
 .../taverna/update/impl/UpdateManagerImpl.java  | 10 ++---
 10 files changed, 61 insertions(+), 61 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/fdfdb4db/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/ApplicationConfigurationImpl.java
----------------------------------------------------------------------
diff --git a/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/ApplicationConfigurationImpl.java b/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/ApplicationConfigurationImpl.java
index fd0d251..a278de8 100644
--- a/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/ApplicationConfigurationImpl.java
+++ b/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/ApplicationConfigurationImpl.java
@@ -23,6 +23,7 @@ import java.net.MalformedURLException;
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.Enumeration;
 import java.util.List;
@@ -45,8 +46,6 @@ import org.apache.taverna.profile.xml.jaxb.ApplicationProfile;
  * <code>conf</code> directory, or in a <code>conf</code> directory in the application's
  * distribution directory.
  *
- * @author Stian Soiland-Reyes
- * @author David Withers
  */
 public class ApplicationConfigurationImpl implements ApplicationConfiguration {
 
@@ -89,18 +88,18 @@ public class ApplicationConfigurationImpl implements ApplicationConfiguration {
 	}
 
 	@Override
-	public File getStartupDir() {
+	public Path getStartupDir() {
 		if (startupDir == null) {
 			String startupDirName = System.getProperty(APP_STARTUP);
 			if (startupDirName != null) {
 				startupDir = new File(startupDirName).getAbsoluteFile();
 			}
 		}
-		return startupDir;
+		return startupDir.toPath();
 	}
 
 	@Override
-	public synchronized File getApplicationHomeDir() {
+	public synchronized Path getApplicationHomeDir() {
 		if (homeDir == null) {
 			if (getName().equals(ApplicationConfigurationImpl.UNKNOWN_APPLICATION)) {
 				try {
@@ -121,44 +120,44 @@ public class ApplicationConfigurationImpl implements ApplicationConfiguration {
 						+ homeDir);
 			}
 		}
-		return homeDir;
+		return homeDir.toPath();
 	}
 
 	@Override
-	public File getUserPluginDir() {
-		File userPluginsDir = new File(getApplicationHomeDir(), PLUGINS_DIR);
+	public Path getUserPluginDir() {
+		File userPluginsDir = new File(getApplicationHomeDir().toFile(), PLUGINS_DIR);
 		try {
 			userPluginsDir.mkdirs();
 		} catch (SecurityException e) {
 			logger.warn("Error creating user plugin directory at " + userPluginsDir, e);
 		}
-		return userPluginsDir;
+		return userPluginsDir.toPath();
 	}
 
 	@Override
-	public File getSystemPluginDir() {
-		File systemPluginsDir = new File(getStartupDir(), PLUGINS_DIR);
+	public Path getSystemPluginDir() {
+		File systemPluginsDir = new File(getStartupDir().toFile(), PLUGINS_DIR);
 		try {
 			systemPluginsDir.mkdirs();
 		} catch (SecurityException e) {
 			logger.debug("Error creating system plugin directory at " + systemPluginsDir, e);
 		}
-		return systemPluginsDir;
+		return systemPluginsDir.toPath();
 	}
 
 	@Override
-	public File getLogFile() {
-		return new File(getLogDir(), getName() + ".log");
+	public Path getLogFile() {
+		return getLogDir().resolve(getName() + ".log");
 	}
 
 	@Override
-	public File getLogDir() {
-		File logDir = new File(getApplicationHomeDir(), "logs");
+	public Path getLogDir() {
+		File logDir = getApplicationHomeDir().resolve("logs").toFile();
 		logDir.mkdirs();
 		if (!logDir.isDirectory()) {
 			throw new IllegalStateException("Could not create log directory " + logDir);
 		}
-		return logDir;
+		return logDir.toPath();
 	}
 
 	private void findInClassLoader(List<URI> configs, ClassLoader classLoader, String resourcePath) {
@@ -214,7 +213,7 @@ public class ApplicationConfigurationImpl implements ApplicationConfiguration {
 		// properties from
 		List<URI> configs = new ArrayList<URI>();
 
-		File startupDir = getStartupDir();
+		File startupDir = getStartupDir().toFile();
 		if (startupDir != null) {
 			configs.add(startupDir.toURI().resolve(CONF_DIR).resolve(resourceName));
 			configs.add(startupDir.toURI().resolve(resourceName));
@@ -249,7 +248,7 @@ public class ApplicationConfigurationImpl implements ApplicationConfiguration {
 	@Override
 	public ApplicationProfile getApplicationProfile() {
 		if (applicationProfile == null) {
-			File applicationProfileFile = new File(getApplicationHomeDir(), APPLICATION_PROFILE);
+			File applicationProfileFile = new File(getApplicationHomeDir().toFile(), APPLICATION_PROFILE);
 			if (!applicationProfileFile.exists()) {
 				logger.debug("Application profile not found at " + applicationProfileFile);
 				return getDefaultApplicationProfile();
@@ -271,7 +270,7 @@ public class ApplicationConfigurationImpl implements ApplicationConfiguration {
 
 	public ApplicationProfile getDefaultApplicationProfile() {
 		if (defaultApplicationProfile == null) {
-			File applicationProfileFile = new File(getStartupDir(), APPLICATION_PROFILE);
+			File applicationProfileFile = new File(getStartupDir().toFile(), APPLICATION_PROFILE);
 			if (applicationProfileFile.exists()) {
 				try {
 					JAXBContext jaxbContext = JAXBContext.newInstance(ApplicationProfile.class);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/fdfdb4db/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/ApplicationUserHome.java
----------------------------------------------------------------------
diff --git a/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/ApplicationUserHome.java b/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/ApplicationUserHome.java
index 07e4b40..d80ead6 100644
--- a/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/ApplicationUserHome.java
+++ b/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/ApplicationUserHome.java
@@ -157,7 +157,7 @@ public class ApplicationUserHome {
 			} else if (os.startsWith("Windows")) {
 				String APPDATA = System.getenv("APPDATA");
 				File appData = null;
-				if (APPDATA != null) {
+				if (APPDATA != null) {					
 					appData = new File(APPDATA);
 				}
 				if (appData != null && appData.isDirectory()) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/fdfdb4db/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/Log4JConfiguration.java
----------------------------------------------------------------------
diff --git a/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/Log4JConfiguration.java b/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/Log4JConfiguration.java
index 2100ba6..c73b961 100644
--- a/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/Log4JConfiguration.java
+++ b/taverna-app-configuration-impl/src/main/java/org/apache/taverna/configuration/app/impl/Log4JConfiguration.java
@@ -51,7 +51,7 @@ public class Log4JConfiguration {
 				PropertyConfigurator.configure(log4jProperties);
 			}
 
-			String logFilePath = applicationConfiguration.getLogFile().getAbsolutePath();
+			String logFilePath = applicationConfiguration.getLogFile().toAbsolutePath().toString();
 			PatternLayout layout = new PatternLayout("%-5p %d{ISO8601} (%c:%L) - %m%n");
 
 			// Add file appender
@@ -118,8 +118,8 @@ public class Log4JConfiguration {
 	 * @return
 	 */
 	private File getLogPropertiesFile() {
-		File home = applicationConfiguration.getApplicationHomeDir();
-		File startup = applicationConfiguration.getStartupDir();
+		File home = applicationConfiguration.getApplicationHomeDir().toFile();
+		File startup = applicationConfiguration.getStartupDir().toFile();
 		File result=null;
 		if (home!=null) {
 			File file = new File(new File(home, ApplicationConfiguration.CONF_DIR), LOG4J_PROPERTIES);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/fdfdb4db/taverna-configuration-impl/src/main/java/org/apache/taverna/configuration/impl/ConfigurationManagerImpl.java
----------------------------------------------------------------------
diff --git a/taverna-configuration-impl/src/main/java/org/apache/taverna/configuration/impl/ConfigurationManagerImpl.java b/taverna-configuration-impl/src/main/java/org/apache/taverna/configuration/impl/ConfigurationManagerImpl.java
index cb1b07d..c106900 100644
--- a/taverna-configuration-impl/src/main/java/org/apache/taverna/configuration/impl/ConfigurationManagerImpl.java
+++ b/taverna-configuration-impl/src/main/java/org/apache/taverna/configuration/impl/ConfigurationManagerImpl.java
@@ -40,7 +40,7 @@ public class ConfigurationManagerImpl implements ConfigurationManager {
 	private File baseConfigLocation;
 
 	public ConfigurationManagerImpl(ApplicationConfiguration applicationConfiguration) {
-		File home = applicationConfiguration.getApplicationHomeDir();
+		File home = applicationConfiguration.getApplicationHomeDir().toFile();
 		File config = new File(home,"conf");
 		if (!config.exists()) {
 			config.mkdir();

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/fdfdb4db/taverna-configuration-impl/src/test/java/org/apache/taverna/configuration/impl/ConfigurationManagerImplTest.java
----------------------------------------------------------------------
diff --git a/taverna-configuration-impl/src/test/java/org/apache/taverna/configuration/impl/ConfigurationManagerImplTest.java b/taverna-configuration-impl/src/test/java/org/apache/taverna/configuration/impl/ConfigurationManagerImplTest.java
index dc7f0ce..f946355 100644
--- a/taverna-configuration-impl/src/test/java/org/apache/taverna/configuration/impl/ConfigurationManagerImplTest.java
+++ b/taverna-configuration-impl/src/test/java/org/apache/taverna/configuration/impl/ConfigurationManagerImplTest.java
@@ -23,6 +23,7 @@ import static org.junit.Assert.assertTrue;
 
 import java.io.File;
 import java.io.FileInputStream;
+import java.nio.file.Path;
 import java.util.Properties;
 import java.util.UUID;
 
@@ -52,8 +53,8 @@ public class ConfigurationManagerImplTest {
 		final File d = new File(configTestsDir, UUID.randomUUID().toString());
 		d.mkdir();
 		manager = new ConfigurationManagerImpl(new ApplicationConfiguration() {
-			public File getApplicationHomeDir() {
-				return d;
+			public Path getApplicationHomeDir() {
+				return d.toPath();
 			}
 
 			public String getName() {
@@ -64,23 +65,23 @@ public class ConfigurationManagerImplTest {
 				return null;
 			}
 
-			public File getStartupDir() {
+			public Path getStartupDir() {
 				return null;
 			}
 
-			public File getUserPluginDir() {
+			public Path getUserPluginDir() {
 				return null;
 			}
 
-			public File getSystemPluginDir() {
+			public Path getSystemPluginDir() {
 				return null;
 			}
 
-			public File getLogFile() {
+			public Path getLogFile() {
 				return null;
 			}
 
-			public File getLogDir() {
+			public Path getLogDir() {
 				return null;
 			}
 

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/fdfdb4db/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginDirectoryWatcher.java
----------------------------------------------------------------------
diff --git a/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginDirectoryWatcher.java b/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginDirectoryWatcher.java
index 8f84c46..df414da 100644
--- a/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginDirectoryWatcher.java
+++ b/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginDirectoryWatcher.java
@@ -80,7 +80,7 @@ public class PluginDirectoryWatcher extends FileAlterationListenerAdaptor {
 	@Override
 	public void onFileCreate(File file) {
 		try {
-			Plugin plugin = pluginManager.installPlugin(file);
+			Plugin plugin = pluginManager.installPlugin(file.toPath());
 			plugin.start();
 		} catch (PluginException e) {
 			logger.warn("Error loading plugin file " + file, e);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/fdfdb4db/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginImpl.java
----------------------------------------------------------------------
diff --git a/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginImpl.java b/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginImpl.java
index 8d3b33a..89d66a4 100644
--- a/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginImpl.java
+++ b/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginImpl.java
@@ -21,6 +21,7 @@ import static org.apache.taverna.plugin.Plugin.State.STOPPED;
 import static org.apache.taverna.plugin.Plugin.State.UNINSTALLED;
 
 import java.io.File;
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
@@ -36,7 +37,6 @@ import org.osgi.framework.Constants;
 import org.osgi.framework.Version;
 
 /**
- * @author David Withers
  */
 public class PluginImpl implements Plugin {
 
@@ -166,8 +166,8 @@ public class PluginImpl implements Plugin {
 	}
 
 	@Override
-	public File getFile() {
-		return file;
+	public Path getFile() {
+		return file.toPath();
 	}
 
 	@Override

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/fdfdb4db/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginManagerImpl.java
----------------------------------------------------------------------
diff --git a/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginManagerImpl.java b/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginManagerImpl.java
index 6ee0adf..046e3df 100644
--- a/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginManagerImpl.java
+++ b/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginManagerImpl.java
@@ -60,7 +60,6 @@ import org.osgi.service.event.EventAdmin;
 /**
  * PluginManager implementation.
  *
- * @author David Withers
  */
 public class PluginManagerImpl implements PluginManager {
 
@@ -106,7 +105,7 @@ public class PluginManagerImpl implements PluginManager {
 				for (PluginVersions plugin : plugins) {
 					if (installedPlugins.containsKey(plugin.getId())) {
 						Plugin installedPlugin = installedPlugins.get(plugin.getId());
-						if (installedPlugin.getFile().canWrite()) {
+						if (installedPlugin.getFile().toFile().canWrite()) {
 							Version latestVersion = Version.parseVersion(plugin.getLatestVersion()
 									.getVersion());
 							if (latestVersion.compareTo(installedPlugin.getVersion()) > 0) {
@@ -132,8 +131,8 @@ public class PluginManagerImpl implements PluginManager {
 
 	@Override
 	public void loadPlugins() throws PluginException {
-		loadPlugins(applicationConfiguration.getSystemPluginDir());
-		loadPlugins(applicationConfiguration.getUserPluginDir());
+		loadPlugins(applicationConfiguration.getSystemPluginDir().toFile());
+		loadPlugins(applicationConfiguration.getUserPluginDir().toFile());
 	}
 
 	@Override
@@ -161,32 +160,33 @@ public class PluginManagerImpl implements PluginManager {
 	}
 
 	@Override
-	public Plugin installPlugin(File pluginFile) throws PluginException {
+	public Plugin installPlugin(Path pluginFile) throws PluginException {
+		File file = pluginFile.toFile();
 		// check if already installed
 		synchronized (installedPlugins) {
 			for (Plugin plugin : installedPlugins.values()) {
-				if (plugin.getFile().equals(pluginFile)) {
+				if (plugin.getFile().equals(file)) {
 					return plugin;
 				}
 			}
 			// check plugin file
-			if (pluginFile.exists()) {
-				new PluginException(String.format("Plugin file %1$s does not exist", pluginFile));
+			if (file.exists()) {
+				new PluginException(String.format("Plugin file %1$s does not exist", file));
 			}
-			if (pluginFile.isFile()) {
-				new PluginException(String.format("Plugin file %1$s is not a file", pluginFile));
+			if (file.isFile()) {
+				new PluginException(String.format("Plugin file %1$s is not a file", file));
 			}
-			if (!pluginFile.canRead()) {
-				new PluginException(String.format("Plugin file %1$s is not readable", pluginFile));
+			if (!file.canRead()) {
+				new PluginException(String.format("Plugin file %1$s is not readable", file));
 			}
 			// install plugin from plugin file
-			logger.info(String.format("Installing plugin from '%s'", pluginFile));
+			logger.info(String.format("Installing plugin from '%s'", file));
 			JarFile jarFile;
 			try {
-				jarFile = new JarFile(pluginFile);
+				jarFile = new JarFile(file);
 			} catch (IOException e) {
 				throw new PluginException(String.format("Error reading plugin file %1$s",
-						pluginFile), e);
+						file), e);
 			}
 			Plugin plugin = installPlugin(jarFile);
 			installedPlugins.put(plugin.getId(), plugin);
@@ -199,7 +199,7 @@ public class PluginManagerImpl implements PluginManager {
 	@Override
 	public Plugin installPlugin(String pluginSiteURL, String pluginFileName) throws PluginException {
 		Path pluginFile = getPluginFile(pluginSiteURL, pluginFileName);
-		return installPlugin(pluginFile.toFile());
+		return installPlugin(pluginFile);
 	}
 
 	@Override
@@ -276,7 +276,7 @@ public class PluginManagerImpl implements PluginManager {
 			for (File pluginFile : pluginDir.listFiles()) {
 				if (pluginFile.isFile() && pluginFile.canRead() && !pluginFile.isHidden()) {
 					try {
-						installPlugin(pluginFile).start();
+						installPlugin(pluginFile.toPath()).start();
 					} catch (PluginException e) {
 						logger.warn(String.format("Error loading plugin from '%s'", pluginFile), e);
 					}
@@ -394,11 +394,11 @@ public class PluginManagerImpl implements PluginManager {
 	}
 
 	private Path getPluginDirectory() throws PluginException {
-		File systemPluginsDir = applicationConfiguration.getSystemPluginDir();
+		File systemPluginsDir = applicationConfiguration.getSystemPluginDir().toFile();
 		if (checkPluginDirectory(systemPluginsDir, true)) {
 			return systemPluginsDir.toPath();
 		}
-		File userPluginsDir = applicationConfiguration.getUserPluginDir();
+		File userPluginsDir = applicationConfiguration.getUserPluginDir().toFile();
 		if (checkPluginDirectory(userPluginsDir, true)) {
 			return userPluginsDir.toPath();
 		}

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/fdfdb4db/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginSiteManagerImpl.java
----------------------------------------------------------------------
diff --git a/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginSiteManagerImpl.java b/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginSiteManagerImpl.java
index 30daae4..175401f 100644
--- a/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginSiteManagerImpl.java
+++ b/taverna-plugin-impl/src/main/java/org/apache/taverna/plugin/impl/PluginSiteManagerImpl.java
@@ -165,7 +165,7 @@ public class PluginSiteManagerImpl implements PluginSiteManager {
 	}
 
 	private File getDataDirectory() {
-		return new File(applicationConfiguration.getApplicationHomeDir(), "plugin-data");
+		return applicationConfiguration.getApplicationHomeDir().resolve("plugin-data").toFile();
 	}
 
 	public void setApplicationConfiguration(ApplicationConfiguration applicationConfiguration) {

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/fdfdb4db/taverna-update-impl/src/main/java/org/apache/taverna/update/impl/UpdateManagerImpl.java
----------------------------------------------------------------------
diff --git a/taverna-update-impl/src/main/java/org/apache/taverna/update/impl/UpdateManagerImpl.java b/taverna-update-impl/src/main/java/org/apache/taverna/update/impl/UpdateManagerImpl.java
index 136c15b..58ffff4 100644
--- a/taverna-update-impl/src/main/java/org/apache/taverna/update/impl/UpdateManagerImpl.java
+++ b/taverna-update-impl/src/main/java/org/apache/taverna/update/impl/UpdateManagerImpl.java
@@ -90,7 +90,7 @@ public class UpdateManagerImpl implements UpdateManager {
 			throw new UpdateException(String.format("Update site URL (%s) is not a valid URL",
 					updates.getUpdateSite()), e);
 		}
-		File updateDirectory = new File(applicationConfiguration.getApplicationHomeDir(), "updates");
+		File updateDirectory = applicationConfiguration.getApplicationHomeDir().resolve("updates").toFile();
 		updateDirectory.mkdirs();
 		File updatesFile = new File(updateDirectory, updates.getUpdatesFile());
 		try {
@@ -128,8 +128,8 @@ public class UpdateManagerImpl implements UpdateManager {
 						updates.getUpdateSite()), e);
 			}
 
-			File updateDirectory = new File(applicationConfiguration.getApplicationHomeDir(),
-					"updates");
+			File updateDirectory = applicationConfiguration.getApplicationHomeDir().resolve(
+					"updates").toFile();
 			updateDirectory.mkdirs();
 			File latestProfileFile = new File(updateDirectory, "ApplicationProfile-"
 					+ latestVersion.getVersion() + ".xml");
@@ -150,8 +150,8 @@ public class UpdateManagerImpl implements UpdateManager {
 
 			Set<BundleInfo> requiredBundles = getRequiredBundles(
 					applicationConfiguration.getApplicationProfile(), latestProfile);
-			downloadBundles(latestProfile, requiredBundles, new File(applicationConfiguration.getStartupDir(), "lib"));
-			File applicationProfileFile = new File(applicationConfiguration.getStartupDir(), "ApplicationProfile.xml");
+			downloadBundles(latestProfile, requiredBundles, applicationConfiguration.getStartupDir().resolve("lib").toFile());
+			File applicationProfileFile = applicationConfiguration.getStartupDir().resolve("ApplicationProfile.xml").toFile();
 			try {
 				FileUtils.copyFile(latestProfileFile, applicationProfileFile);
 			} catch (IOException e) {