X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fensembl%2FEnsemblLookup.java;h=c6b794aebdec283445a70c63127bcd663039fd7d;hb=f59dd9efbb3dfc313ab0b0507832e21cd0076fe1;hp=102dffbddb8b3140cb06c26dd1aa9362fadb7540;hpb=c697eb1e696468bddf7c976a85528fbedbebfbd6;p=jalview.git diff --git a/src/jalview/ext/ensembl/EnsemblLookup.java b/src/jalview/ext/ensembl/EnsemblLookup.java index 102dffb..c6b794a 100644 --- a/src/jalview/ext/ensembl/EnsemblLookup.java +++ b/src/jalview/ext/ensembl/EnsemblLookup.java @@ -117,21 +117,9 @@ public class EnsemblLookup extends EnsemblRestClient return true; } - @Override - protected String getRequestMimeType(boolean multipleIds) - { - return "application/json"; - } - - @Override - protected String getResponseMimeType() - { - return "application/json"; - } - /** * Returns the gene id related to the given identifier (which may be for a - * gene, transcript or protein) + * gene, transcript or protein), or null if none is found * * @param identifier * @return @@ -143,7 +131,7 @@ public class EnsemblLookup extends EnsemblRestClient /** * Returns the gene id related to the given identifier (which may be for a - * gene, transcript or protein) + * gene, transcript or protein), or null if none is found * * @param identifier * @param objectType @@ -151,34 +139,7 @@ public class EnsemblLookup extends EnsemblRestClient */ public String getGeneId(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 : parseResponse(br); - } catch (IOException e) - { - // ignore - return null; - } finally - { - if (br != null) - { - try - { - br.close(); - } catch (IOException e) - { - // ignore - } - } - } + return parseGeneId(getResult(identifier, objectType)); } /** @@ -189,36 +150,32 @@ public class EnsemblLookup extends EnsemblRestClient * * @param br * @return - * @throws IOException */ - protected String parseResponse(BufferedReader br) throws IOException + protected String parseGeneId(JSONObject val) { + if (val == null) + { + return null; + } String geneId = null; - JSONParser jp = new JSONParser(); - try + String type = val.get(OBJECT_TYPE).toString(); + if (OBJECT_TYPE_GENE.equalsIgnoreCase(type)) { - JSONObject val = (JSONObject) jp.parse(br); - String type = val.get(OBJECT_TYPE).toString(); - if (OBJECT_TYPE_GENE.equalsIgnoreCase(type)) - { - // got the gene - just returns its id - geneId = val.get(JSON_ID).toString(); - } - else if (OBJECT_TYPE_TRANSCRIPT.equalsIgnoreCase(type)) - { - // got the transcript - return its (Gene) Parent - geneId = val.get(PARENT).toString(); - } - else if (OBJECT_TYPE_TRANSLATION.equalsIgnoreCase(type)) - { - // got the protein - get its Parent, restricted to type Transcript - String transcriptId = val.get(PARENT).toString(); - geneId = getGeneId(transcriptId, OBJECT_TYPE_TRANSCRIPT); - } - } catch (ParseException e) + // got the gene - just returns its id + geneId = val.get(JSON_ID).toString(); + } + else if (OBJECT_TYPE_TRANSCRIPT.equalsIgnoreCase(type)) { - // ignore + // got the transcript - return its (Gene) Parent + geneId = val.get(PARENT).toString(); } + else if (OBJECT_TYPE_TRANSLATION.equalsIgnoreCase(type)) + { + // got the protein - get its Parent, restricted to type Transcript + String transcriptId = val.get(PARENT).toString(); + geneId = getGeneId(transcriptId, OBJECT_TYPE_TRANSCRIPT); + } + return geneId; }