So close! Bamboo test
[jalview.git] / src / jalview / ws / utils / UrlDownloadClient.java
index 448edd9..227fe23 100644 (file)
@@ -21,6 +21,9 @@
 
 package jalview.ws.utils;
 
+import jalview.util.Platform;
+
+import java.io.File;
 import java.io.FileOutputStream;
 import java.io.IOException;
 import java.net.URL;
@@ -50,61 +53,14 @@ public class UrlDownloadClient
   public static void download(String urlstring, String outfile)
           throws IOException
   {
-    FileOutputStream fos = null;
-    ReadableByteChannel rbc = null;
-    Path temp = null;
-    try
-    {
-      temp = Files.createTempFile(".jalview_", ".tmp");
-
-      URL url = new URL(urlstring);
-      rbc = Channels.newChannel(url.openStream());
-      fos = new FileOutputStream(temp.toString());
-      fos.getChannel().transferFrom(rbc, 0, Long.MAX_VALUE);
+      Platform.download(urlstring, outfile);
+  }
 
-      // copy tempfile to outfile once our download completes
-      // incase something goes wrong
-      Files.copy(temp, Paths.get(outfile),
-              StandardCopyOption.REPLACE_EXISTING);
-    } catch (IOException e)
-    {
-      throw e;
-    } finally
+  public static void download(String urlstring, File tempFile) throws IOException
+  {
+    if (!Platform.setFileBytes(tempFile, urlstring))
     {
-      try
-      {
-        if (fos != null)
-        {
-          fos.close();
-        }
-      } catch (IOException e)
-      {
-        System.out.println(
-                "Exception while closing download file output stream: "
-                        + e.getMessage());
-      }
-      try
-      {
-        if (rbc != null)
-        {
-          rbc.close();
-        }
-      } catch (IOException e)
-      {
-        System.out.println("Exception while closing download channel: "
-                + e.getMessage());
-      }
-      try
-      {
-        if (temp != null)
-        {
-          Files.deleteIfExists(temp);
-        }
-      } catch (IOException e)
-      {
-        System.out.println("Exception while deleting download temp file: "
-                + e.getMessage());
-      }
+      download(urlstring, tempFile.toString());
     }
   }
 }