X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fensembl%2FEnsemblLookup.java;h=0813ba88ba37041533070729ff491b1aa4d88016;hb=57738a1f3c19b1c3a00bd3ac5108f8cd0af32f99;hp=c6b794aebdec283445a70c63127bcd663039fd7d;hpb=f59dd9efbb3dfc313ab0b0507832e21cd0076fe1;p=jalview.git diff --git a/src/jalview/ext/ensembl/EnsemblLookup.java b/src/jalview/ext/ensembl/EnsemblLookup.java index c6b794a..0813ba8 100644 --- a/src/jalview/ext/ensembl/EnsemblLookup.java +++ b/src/jalview/ext/ensembl/EnsemblLookup.java @@ -20,21 +20,21 @@ */ package jalview.ext.ensembl; -import jalview.bin.Cache; +import jalview.bin.Console; import jalview.datamodel.AlignmentI; import jalview.datamodel.GeneLociI; +import jalview.datamodel.GeneLocus; +import jalview.datamodel.Mapping; import jalview.util.MapList; -import java.io.BufferedReader; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Map; -import org.json.simple.JSONObject; -import org.json.simple.parser.JSONParser; import org.json.simple.parser.ParseException; /** @@ -151,7 +151,7 @@ public class EnsemblLookup extends EnsemblRestClient * @param br * @return */ - protected String parseGeneId(JSONObject val) + protected String parseGeneId(Map val) { if (val == null) { @@ -189,7 +189,7 @@ public class EnsemblLookup extends EnsemblRestClient public String getSpecies(String identifier) { String species = null; - JSONObject json = getResult(identifier, null); + Map json = getResult(identifier, null); if (json != null) { Object o = json.get(SPECIES); @@ -202,45 +202,29 @@ public class EnsemblLookup extends EnsemblRestClient } /** - * Calls the /lookup/id rest service and returns the response as a JSONObject, - * or null if any error + * Calls the /lookup/id rest service and returns the response as a Map, or null if any error * * @param identifier * @param objectType * (optional) * @return */ - protected JSONObject getResult(String identifier, String objectType) + @SuppressWarnings("unchecked") + protected Map getResult(String identifier, + String objectType) { List ids = Arrays.asList(new String[] { identifier }); - BufferedReader br = null; try { - URL url = getUrl(identifier, objectType); - - if (url != null) - { - br = getHttpResponse(url, ids); - } - return br == null ? null : (JSONObject) (new JSONParser().parse(br)); + return (Map) getJSON(getUrl(identifier, objectType), + ids, -1, MODE_MAP, null); } catch (IOException | ParseException e) { System.err.println("Error parsing " + identifier + " lookup response " + e.getMessage()); return null; - } finally - { - if (br != null) - { - try - { - br.close(); - } catch (IOException e) - { - // ignore - } - } } } @@ -264,7 +248,7 @@ public class EnsemblLookup extends EnsemblRestClient * @param json * @return */ - GeneLociI parseGeneLoci(JSONObject json) + GeneLociI parseGeneLoci(Map json) { if (json == null) { @@ -283,41 +267,19 @@ public class EnsemblLookup extends EnsemblRestClient boolean reverseStrand = "-1".equals(strand); int toStart = reverseStrand ? end : start; int toEnd = reverseStrand ? start : end; - List fromRange = Collections.singletonList(new int[] { 1, - fromEnd }); - List toRange = Collections.singletonList(new int[] { toStart, - toEnd }); - final MapList map = new MapList(fromRange, toRange, 1, 1); - return new GeneLociI() - { - - @Override - public String getSpeciesId() - { - return species == null ? "" : species; - } - - @Override - public String getAssemblyId() - { - return assembly; - } - - @Override - public String getChromosomeId() - { - return chromosome; - } - - @Override - public MapList getMap() - { - return map; - } - }; + List fromRange = Collections + .singletonList(new int[] + { 1, fromEnd }); + List toRange = Collections + .singletonList(new int[] + { toStart, toEnd }); + final Mapping map = new Mapping( + new MapList(fromRange, toRange, 1, 1)); + return new GeneLocus(species == null ? "" : species, assembly, + chromosome, map); } catch (NullPointerException | NumberFormatException e) { - Cache.log.error("Error looking up gene loci: " + e.getMessage()); + Console.error("Error looking up gene loci: " + e.getMessage()); e.printStackTrace(); } return null;