Merge commit '326d48e' into HEAD
[jalview.git] / src / jalview / ext / ensembl / EnsemblRestClient.java
index 2437588..4c4ba76 100644 (file)
@@ -42,8 +42,6 @@ import org.json.simple.JSONArray;
 import org.json.simple.JSONObject;
 import org.json.simple.parser.JSONParser;
 
-import com.stevesoft.pat.Regex;
-
 /**
  * Base class for Ensembl REST service clients
  * 
@@ -114,6 +112,7 @@ abstract class EnsemblRestClient extends EnsemblSequenceFetcher
     setDomain(d);
   }
 
+<<<<<<< HEAD
   /**
    * Answers true if the query matches the regular expression pattern for an
    * Ensembl transcript stable identifier
@@ -219,6 +218,11 @@ abstract class EnsemblRestClient extends EnsemblSequenceFetcher
        * if ping takes more than 2 seconds to respond, treat as if unavailable
        */
       br = getHttpResponse(ping, null, 2 * 1000);
+      if (br == null)
+      {
+        // error reponse status
+        return false;
+      }
       JSONParser jp = new JSONParser();
       JSONObject val = (JSONObject) jp.parse(br);
       String pingString = val.get("ping").toString();
@@ -355,13 +359,13 @@ abstract class EnsemblRestClient extends EnsemblSequenceFetcher
   void checkRateLimits(HttpURLConnection connection)
   {
     // number of requests allowed per time interval:
-    String limit = connection.getHeaderField("X-RateLimit-Limit");
+    // String limit = connection.getHeaderField("X-RateLimit-Limit");
     // length of quota time interval in seconds:
     // String period = connection.getHeaderField("X-RateLimit-Period");
     // seconds remaining until usage quota is reset:
-    String reset = connection.getHeaderField("X-RateLimit-Reset");
+    // String reset = connection.getHeaderField("X-RateLimit-Reset");
     // number of requests remaining from quota for current period:
-    String remaining = connection.getHeaderField("X-RateLimit-Remaining");
+    // String remaining = connection.getHeaderField("X-RateLimit-Remaining");
     // number of seconds to wait before retrying (if remaining == 0)
     String retryDelay = connection.getHeaderField("Retry-After");
 
@@ -497,6 +501,10 @@ abstract class EnsemblRestClient extends EnsemblSequenceFetcher
       url = new URL(getDomain()
               + "/info/rest?content-type=application/json");
       BufferedReader br = getHttpResponse(url, null);
+      if (br == null)
+      {
+        return;
+      }
       JSONObject val = (JSONObject) jp.parse(br);
       String version = val.get("release").toString();
       String majorVersion = version.substring(0, version.indexOf("."));
@@ -561,9 +569,13 @@ abstract class EnsemblRestClient extends EnsemblSequenceFetcher
       url = new URL(getDomain()
               + "/info/data?content-type=application/json");
       BufferedReader br = getHttpResponse(url, null);
-      JSONObject val = (JSONObject) jp.parse(br);
-      JSONArray versions = (JSONArray) val.get("releases");
-      domainData.get(getDomain()).dataVersion = versions.get(0).toString();
+      if (br != null)
+      {
+        JSONObject val = (JSONObject) jp.parse(br);
+        JSONArray versions = (JSONArray) val.get("releases");
+        domainData.get(getDomain()).dataVersion = versions.get(0)
+                .toString();
+      }
     } catch (Throwable t)
     {
       System.err.println("Error checking Ensembl data version: "