JAL-4369 invokeAndWait to avoid hang whilst calling getFiles if a Jmol redraw is...
[jalview.git] / src / jalview / ws / ebi / EBIFetchClient.java
index 6914b70..8aca9a2 100644 (file)
@@ -20,6 +20,8 @@
  */
 package jalview.ws.ebi;
 
+import java.util.Locale;
+
 import jalview.datamodel.DBRefSource;
 import jalview.util.MessageManager;
 import jalview.util.Platform;
@@ -134,8 +136,10 @@ public class EBIFetchClient
     String database = parseIds(ids, querystring);
     if (database == null)
     {
-      System.err.println("Invalid Query string : '" + ids + "'");
-      System.err.println("Should be of form 'dbname:q1;q2;q3;q4'");
+      jalview.bin.Console
+              .errPrintln("Invalid Query string : '" + ids + "'");
+      jalview.bin.Console
+              .errPrintln("Should be of form 'dbname:q1;q2;q3;q4'");
       return null;
     }
 
@@ -225,20 +229,21 @@ public class EBIFetchClient
         }
         return (String[]) arl.toArray();
       }
-      System.err.println(
+      jalview.bin.Console.errPrintln(
               "Warning: response code " + responseCode + " for " + url);
     } catch (OutOfMemoryError er)
     {
-      System.out.println("OUT OF MEMORY DOWNLOADING QUERY FROM " + database
-              + ":\n" + ids);
+      jalview.bin.Console.outPrintln("OUT OF MEMORY DOWNLOADING QUERY FROM "
+              + database + ":\n" + ids);
       throw er;
     } catch (Exception ex)
     {
       if (!ex.getMessage().startsWith(
               "uk.ac.ebi.jdbfetch.exceptions.DbfNoEntryFoundException"))
       {
-        System.err.println("Unexpected exception when retrieving from "
-                + database + "\nQuery was : '" + ids + "'");
+        jalview.bin.Console
+                .errPrintln("Unexpected exception when retrieving from "
+                        + database + "\nQuery was : '" + ids + "'");
         ex.printStackTrace(System.err);
       }
     } finally
@@ -265,6 +270,11 @@ public class EBIFetchClient
     return null;
   }
 
+  static
+  {
+    Platform.addJ2SDirectDatabaseCall("https://www.ebi.ac.uk/");
+  }
+
   /**
    * Constructs the URL to fetch from
    * 
@@ -279,14 +289,14 @@ public class EBIFetchClient
     if (database.equalsIgnoreCase(DBRefSource.EMBL)
             || database.equalsIgnoreCase(DBRefSource.EMBLCDS))
     {
-//      url = "https://www.ebi.ac.uk/ena/data/view/" + ids.toLowerCase()
-//              + (format != null ? "&" + format : "");
-      url = "https://www.ebi.ac.uk/ena/browser/api/embl/" + ids.toLowerCase();
+      url = "https://www.ebi.ac.uk/ena/browser/api/embl/"
+              + ids.toLowerCase(Locale.ROOT) + "?download=true&gzip=true";
     }
     else
     {
       url = "https://www.ebi.ac.uk/Tools/dbfetch/dbfetch/"
-              + database.toLowerCase() + "/" + ids.toLowerCase()
+              + database.toLowerCase(Locale.ROOT) + "/"
+              + ids.toLowerCase(Locale.ROOT)
               + (format != null ? "/" + format : "");
     }
     return url;