X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fws%2Febi%2FEBIFetchClient.java;h=65b96558944f98c518d04f84002c916edbd45884;hb=57738a1f3c19b1c3a00bd3ac5108f8cd0af32f99;hp=b5a732894aa5e55324f917b8c63fd7bc748b4d97;hpb=8fa69554edf6aeb278b4a4afd8e2b60264fdccd8;p=jalview.git diff --git a/src/jalview/ws/ebi/EBIFetchClient.java b/src/jalview/ws/ebi/EBIFetchClient.java index b5a7328..65b9655 100644 --- a/src/jalview/ws/ebi/EBIFetchClient.java +++ b/src/jalview/ws/ebi/EBIFetchClient.java @@ -20,6 +20,8 @@ */ package jalview.ws.ebi; +import java.util.Locale; + import jalview.datamodel.DBRefSource; import jalview.util.MessageManager; import jalview.util.Platform; @@ -91,7 +93,7 @@ public class EBIFetchClient * the query formatted as db:query1;query2;query3 * @param format * the format wanted - * @param extension + * @param ext * for the temporary file to hold response (without separator) * @return the file holding the response * @throws OutOfMemoryError @@ -202,6 +204,7 @@ public class EBIFetchClient { String url = buildUrl(ids, database, format); InputStream is = null; + BufferedReader br = null; try { URL rcall = new URL(url); @@ -215,7 +218,7 @@ public class EBIFetchClient Platform.streamToFile(is, outFile); return null; } - BufferedReader br = new BufferedReader(new InputStreamReader(is)); + br = new BufferedReader(new InputStreamReader(is)); String rtn; List arl = new ArrayList<>(); while ((rtn = br.readLine()) != null) @@ -251,10 +254,24 @@ public class EBIFetchClient { } } + if (br != null) + { + try + { + br.close(); + } catch (IOException e) + { + } + } } return null; } + static + { + Platform.addJ2SDirectDatabaseCall("https://www.ebi.ac.uk/"); + } + /** * Constructs the URL to fetch from * @@ -269,13 +286,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(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;