JAL-2755 correct Javadoc and error handling
authorgmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 7 Jun 2018 14:40:11 +0000 (15:40 +0100)
committergmungoc <g.m.carstairs@dundee.ac.uk>
Thu, 7 Jun 2018 14:40:11 +0000 (15:40 +0100)
src/jalview/ext/ensembl/EnsemblLookup.java
src/jalview/ext/ensembl/EnsemblMap.java
src/jalview/ext/ensembl/EnsemblRestClient.java

index 5f353f8..82690a3 100644 (file)
@@ -131,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
    * @return
@@ -143,7 +143,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
@@ -165,6 +165,10 @@ public class EnsemblLookup extends EnsemblRestClient
    */
   protected String parseGeneId(JSONObject val)
   {
+    if (val == null)
+    {
+      return null;
+    }
     String geneId = null;
     String type = val.get(OBJECT_TYPE).toString();
     if (OBJECT_TYPE_GENE.equalsIgnoreCase(type))
index 56657e0..8ca60de 100644 (file)
@@ -257,7 +257,10 @@ public class EnsemblMap extends EnsemblRestClient
       {
         url = getIdMapUrl(domain, accession, start, end, cdsOrCdna);
         br = getHttpResponse(url, null);
-        return (parseIdMappingResponse(br, accession, domain));
+        if (br != null)
+        {
+          return (parseIdMappingResponse(br, accession, domain));
+        }
       }
       return null;
     } catch (Throwable t)
index 92972eb..f36e111 100644 (file)
@@ -259,7 +259,8 @@ abstract class EnsemblRestClient extends EnsemblSequenceFetcher
   }
 
   /**
-   * Sends the HTTP request and gets the response as a reader
+   * Sends the HTTP request and gets the response as a reader. Returns null if
+   * the HTTP response code was not 200.
    * 
    * @param url
    * @param ids
@@ -268,7 +269,6 @@ abstract class EnsemblRestClient extends EnsemblSequenceFetcher
    *          in milliseconds
    * @return
    * @throws IOException
-   *           if response code was not 200, or other I/O error
    */
   protected BufferedReader getHttpResponse(URL url, List<String> ids,
           int readTimeout) throws IOException