JAL-3210 Merge branch 'develop' into trialMerge
[jalview.git] / src / jalview / ext / ensembl / EnsemblLookup.java
index b412849..9b56d6b 100644 (file)
@@ -27,16 +27,14 @@ 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;
 
 /**
@@ -153,7 +151,7 @@ public class EnsemblLookup extends EnsemblRestClient
    * @param br
    * @return
    */
-  protected String parseGeneId(JSONObject val)
+  protected String parseGeneId(Map<String, Object> val)
   {
     if (val == null)
     {
@@ -191,7 +189,7 @@ public class EnsemblLookup extends EnsemblRestClient
   public String getSpecies(String identifier)
   {
     String species = null;
-    JSONObject json = getResult(identifier, null);
+    Map<String, Object> json = getResult(identifier, null);
     if (json != null)
     {
       Object o = json.get(SPECIES);
@@ -204,7 +202,7 @@ public class EnsemblLookup extends EnsemblRestClient
   }
 
   /**
-   * Calls the /lookup/id rest service and returns the response as a JSONObject,
+   * Calls the /lookup/id rest service and returns the response as a Map<String, Object>,
    * or null if any error
    * 
    * @param identifier
@@ -212,37 +210,20 @@ public class EnsemblLookup extends EnsemblRestClient
    *          (optional)
    * @return
    */
-  protected JSONObject getResult(String identifier, String objectType)
+  @SuppressWarnings("unchecked")
+  protected Map<String, Object> getResult(String identifier, String objectType)
   {
     List<String> 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));
-    } catch (IOException | ParseException e)
+      return (Map<String, Object>) 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
-        }
-      }
     }
   }
 
@@ -266,7 +247,7 @@ public class EnsemblLookup extends EnsemblRestClient
    * @param json
    * @return
    */
-  GeneLociI parseGeneLoci(JSONObject json)
+  GeneLociI parseGeneLoci(Map<String, Object> json)
   {
     if (json == null)
     {