JAL-2189 apply license
[jalview.git] / src / jalview / ext / ensembl / EnsemblSymbol.java
index 5b3baa1..0d79864 100644 (file)
@@ -1,3 +1,23 @@
+/*
+ * Jalview - A Sequence Alignment Editor and Viewer ($$Version-Rel$$)
+ * Copyright (C) $$Year-Rel$$ The Jalview Authors
+ * 
+ * This file is part of Jalview.
+ * 
+ * Jalview is free software: you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License 
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
+ *  
+ * Jalview is distributed in the hope that it will be useful, but 
+ * WITHOUT ANY WARRANTY; without even the implied warranty 
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
+ * PURPOSE.  See the GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
+ * The Jalview Authors are detailed in the 'AUTHORS' file.
+ */
 package jalview.ext.ensembl;
 
 import java.io.BufferedReader;
@@ -13,9 +33,28 @@ import org.json.simple.JSONObject;
 import org.json.simple.parser.JSONParser;
 import org.json.simple.parser.ParseException;
 
+/**
+ * A client for the Ensembl xrefs/symbol REST service;
+ * 
+ * @see http://rest.ensembl.org/documentation/info/xref_external
+ * @author gmcarstairs
+ *
+ */
 public class EnsemblSymbol extends EnsemblXref
 {
   /**
+   * Constructor given the target domain to fetch data from
+   * 
+   * @param domain
+   * @param dbName
+   * @param dbVersion
+   */
+  public EnsemblSymbol(String domain, String dbName, String dbVersion)
+  {
+    super(domain, dbName, dbVersion);
+  }
+
+  /**
    * Returns the first "id" value in gene identifier format from the JSON
    * response, or null if none found
    * 
@@ -23,7 +62,7 @@ public class EnsemblSymbol extends EnsemblXref
    * @return
    * @throws IOException
    */
-  protected String parseResponse(BufferedReader br)
+  protected String parseSymbolResponse(BufferedReader br)
           throws IOException
   {
     JSONParser jp = new JSONParser();
@@ -51,9 +90,8 @@ public class EnsemblSymbol extends EnsemblXref
 
   protected URL getUrl(String id, Species species)
   {
-    String url = ENSEMBL_REST + "/xrefs/symbol/" + species.toString() + "/"
-            + id
-            + "?content-type=application/json";
+    String url = getDomain() + "/xrefs/symbol/" + species.toString() + "/"
+            + id + "?content-type=application/json";
     try
     {
       return new URL(url);
@@ -75,7 +113,7 @@ public class EnsemblSymbol extends EnsemblXref
     List<String> result = new ArrayList<String>();
     List<String> ids = new ArrayList<String>();
     ids.add(identifier);
-  
+
     String[] queries = identifier.split(getAccessionSeparator());
     BufferedReader br = null;
     try
@@ -91,7 +129,7 @@ public class EnsemblSymbol extends EnsemblXref
             {
               br = getHttpResponse(url, ids);
             }
-            String geneId = parseResponse(br);
+            String geneId = parseSymbolResponse(br);
             if (geneId != null)
             {
               result.add(geneId);