TAVERNA-893 Update for API changes in download-api

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/d01c5ae4
Tree: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/tree/d01c5ae4
Diff: 
http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/diff/d01c5ae4

Branch: refs/heads/master
Commit: d01c5ae4f78517d1fbf08f43da42645a1ca951de
Parents: 62171ab
Author: Stian Soiland-Reyes <[email protected]>
Authored: Sat Feb 13 10:50:02 2016 +0000
Committer: Stian Soiland-Reyes <[email protected]>
Committed: Sat Feb 13 10:50:02 2016 +0000

----------------------------------------------------------------------
 .../apache/taverna/plugin/PluginManager.java    |  1 +
 .../taverna/plugin/impl/PluginManagerImpl.java  | 22 ++++++++++----------
 .../plugin/impl/PluginSiteManagerImpl.java      | 15 ++++++-------
 .../plugin/impl/PluginSiteManagerImplTest.java  | 14 ++++++-------
 4 files changed, 25 insertions(+), 27 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/d01c5ae4/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 c1a66f9..9a4fd2c 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
@@ -17,6 +17,7 @@
 package org.apache.taverna.plugin;
 
 import java.io.File;
+import java.nio.file.Path;
 import java.util.List;
 
 import org.apache.taverna.plugin.xml.jaxb.PluginVersions;

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/d01c5ae4/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 923ea40..6ee0adf 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
@@ -20,7 +20,9 @@ import java.io.File;
 import java.io.IOException;
 import java.io.InputStream;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
+import java.nio.file.Path;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -196,8 +198,8 @@ public class PluginManagerImpl implements PluginManager {
 
        @Override
        public Plugin installPlugin(String pluginSiteURL, String 
pluginFileName) throws PluginException {
-               File pluginFile = getPluginFile(pluginSiteURL, pluginFileName);
-               return installPlugin(pluginFile);
+               Path pluginFile = getPluginFile(pluginSiteURL, pluginFileName);
+               return installPlugin(pluginFile.toFile());
        }
 
        @Override
@@ -367,15 +369,13 @@ public class PluginManagerImpl implements PluginManager {
                }
        }
 
-       private File getPluginFile(String pluginSiteURL, String pluginFileName) 
throws PluginException {
-               File pluginFile = new File(getPluginDirectory(), 
pluginFileName);
-               String pluginFileURL = pluginSiteURL + "/" + pluginFileName;
+       private Path getPluginFile(String pluginSiteURL, String pluginFileName) 
throws PluginException {
+               Path pluginFile = getPluginDirectory().resolve(pluginFileName);
+               URI pluginFileURL = URI.create(pluginSiteURL + 
"/").resolve(pluginFileName);
                try {
-                       downloadManager.download(new URL(pluginFileURL), 
pluginFile, DIGEST_ALGORITHM);
+                       downloadManager.download(pluginFileURL, pluginFile, 
DIGEST_ALGORITHM);
                } catch (DownloadException e) {
                        throw new PluginException("Error downloading plugin 
file " + pluginFile, e);
-               } catch (MalformedURLException e) {
-                       throw new PluginException("Invalid plugin file URL " + 
pluginFileURL, e);
                }
                return pluginFile;
        }
@@ -393,14 +393,14 @@ public class PluginManagerImpl implements PluginManager {
                }
        }
 
-       private File getPluginDirectory() throws PluginException {
+       private Path getPluginDirectory() throws PluginException {
                File systemPluginsDir = 
applicationConfiguration.getSystemPluginDir();
                if (checkPluginDirectory(systemPluginsDir, true)) {
-                       return systemPluginsDir;
+                       return systemPluginsDir.toPath();
                }
                File userPluginsDir = 
applicationConfiguration.getUserPluginDir();
                if (checkPluginDirectory(userPluginsDir, true)) {
-                       return userPluginsDir;
+                       return userPluginsDir.toPath();
                }
                throw new PluginException("No plugin directory avaliable");
        }

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/d01c5ae4/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 4aa3826..ef66bb0 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
@@ -19,6 +19,7 @@ package org.apache.taverna.plugin.impl;
 import java.io.File;
 import java.io.IOException;
 import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
@@ -44,7 +45,6 @@ import org.apache.taverna.profile.xml.jaxb.Updates;
 /**
  * PluginSiteManager implementation.
  *
- * @author David Withers
  */
 public class PluginSiteManagerImpl implements PluginSiteManager {
 
@@ -86,11 +86,11 @@ public class PluginSiteManagerImpl implements 
PluginSiteManager {
 
        @Override
        public PluginSite createPluginSite(URL pluginSiteURL) throws 
PluginException {
-               try {
+               try {                   
                        File tempFile = File.createTempFile("plugins", null);
                        tempFile.deleteOnExit();
-                       URL pluginFileURL = new URL(pluginSiteURL + "/" + 
PLUGINS_FILE);
-                       downloadManager.download(pluginFileURL, tempFile, 
DIGEST_ALGORITHM);
+                       URI pluginFileURL = URI.create(pluginSiteURL + 
"/").resolve(PLUGINS_FILE);
+                       downloadManager.download(pluginFileURL, 
tempFile.toPath(), DIGEST_ALGORITHM);
                        return new PluginSiteImpl("", 
pluginSiteURL.toExternalForm());
                } catch (MalformedURLException e) {
                        throw new PluginException(String.format("Invalid plugin 
site URL %1$s", pluginSiteURL), e);
@@ -117,17 +117,14 @@ public class PluginSiteManagerImpl implements 
PluginSiteManager {
        public List<PluginVersions> getPlugins(PluginSite pluginSite) throws 
PluginException {
                List<PluginVersions> plugins = new ArrayList<PluginVersions>();
                try {
-                       URL pluginSiteURL = new URL(pluginSite.getUrl() + "/" + 
PLUGINS_FILE);
+                       URI pluginSiteURL = URI.create(pluginSite.getUrl() + 
"/").resolve(PLUGINS_FILE);
                        File pluginsFile = new File(getDataDirectory(), 
PLUGINS_FILE);
-                       downloadManager.download(pluginSiteURL, pluginsFile, 
DIGEST_ALGORITHM);
+                       downloadManager.download(pluginSiteURL, 
pluginsFile.toPath(), DIGEST_ALGORITHM);
                        Plugins pluginsXML = (Plugins) 
unmarshaller.unmarshal(pluginsFile);
                        for (PluginVersions plugin : pluginsXML.getPlugin()) {
                                plugin.setPluginSiteUrl(pluginSite.getUrl());
                                plugins.add(plugin);
                        }
-               } catch (MalformedURLException e) {
-                       throw new PluginException(String.format("Plugin site 
%1$s has an invalid location",
-                                       pluginSite.getName()), e);
                } catch (DownloadException e) {
                        throw new PluginException(String.format("Error 
downloading from plugin site %1$s",
                                        pluginSite.getName()), e);

http://git-wip-us.apache.org/repos/asf/incubator-taverna-osgi/blob/d01c5ae4/taverna-plugin-impl/src/test/java/org/apache/taverna/plugin/impl/PluginSiteManagerImplTest.java
----------------------------------------------------------------------
diff --git 
a/taverna-plugin-impl/src/test/java/org/apache/taverna/plugin/impl/PluginSiteManagerImplTest.java
 
b/taverna-plugin-impl/src/test/java/org/apache/taverna/plugin/impl/PluginSiteManagerImplTest.java
index 55328c4..0e3279c 100644
--- 
a/taverna-plugin-impl/src/test/java/org/apache/taverna/plugin/impl/PluginSiteManagerImplTest.java
+++ 
b/taverna-plugin-impl/src/test/java/org/apache/taverna/plugin/impl/PluginSiteManagerImplTest.java
@@ -16,18 +16,18 @@
  */
 package org.apache.taverna.plugin.impl;
 
-import static org.junit.Assert.*;
-import static org.mockito.Mockito.*;
+import static org.junit.Assert.fail;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.mock;
 
-import java.io.File;
-import java.net.MalformedURLException;
+import java.net.URI;
 import java.net.URL;
 
 import org.apache.taverna.configuration.app.ApplicationConfiguration;
 import org.apache.taverna.download.DownloadException;
 import org.apache.taverna.download.DownloadManager;
 import org.apache.taverna.plugin.PluginException;
-import org.apache.taverna.plugin.impl.PluginSiteManagerImpl;
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -77,7 +77,7 @@ public class PluginSiteManagerImplTest {
        @Test
        public void testCreatePluginSite() throws Exception {
                downloadManager = mock(DownloadManager.class);
-               doNothing().when(downloadManager).download(new URL("file:///"), 
null, "");
+               
doNothing().when(downloadManager).download(URI.create("file:///"), null, "");
 
                pluginSiteManager.setDownloadManager(downloadManager);
 
@@ -88,7 +88,7 @@ public class PluginSiteManagerImplTest {
        @Test(expected=PluginException.class)
        public void testCreatePluginSiteDownloadException() throws Exception {
                downloadManager = mock(DownloadManager.class);
-               
doThrow(DownloadException.class).when(downloadManager).download(new 
URL("file:///"), null, "");
+               
doThrow(DownloadException.class).when(downloadManager).download(URI.create("file:///"),
 null, "");
 
                pluginSiteManager.setDownloadManager(downloadManager);
 

Reply via email to