+/*
+ * 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.util.Locale;
+
import jalview.datamodel.AlignmentI;
import jalview.datamodel.DBRefSource;
+import jalview.util.JSONUtils;
import java.io.BufferedReader;
import java.io.IOException;
import java.util.Map;
import java.util.Set;
-import org.json.simple.JSONArray;
-import org.json.simple.parser.JSONParser;
import org.json.simple.parser.ParseException;
public class EnsemblInfo extends EnsemblRestClient
{
fetchDivisions();
}
- return divisions.get(division.toUpperCase());
+ return divisions.get(division.toUpperCase(Locale.ROOT));
}
/**
/*
* for convenience, pre-fill ensembl.org as the domain for "ENSEMBL"
*/
- divisions.put(DBRefSource.ENSEMBL.toUpperCase(), ensemblDomain);
-
- BufferedReader br = null;
- try
- {
- URL url = getDivisionsUrl(ensemblGenomesDomain);
- if (url != null)
- {
- br = getHttpResponse(url, null);
- }
- parseResponse(br, ensemblGenomesDomain);
- } catch (IOException e)
- {
- // ignore
- } finally
- {
- if (br != null)
- {
- try
- {
- br.close();
- } catch (IOException e)
- {
- // ignore
- }
- }
- }
- }
-
- /**
- * Parses the JSON response to /info/divisions, and add each to the lookup map
- *
- * @param br
- * @param domain
- */
- void parseResponse(BufferedReader br, String domain)
- {
- JSONParser jp = new JSONParser();
-
+ divisions.put(DBRefSource.ENSEMBL.toUpperCase(Locale.ROOT), ensemblDomain);
try
{
- JSONArray parsed = (JSONArray) jp.parse(br);
-
- Iterator rvals = parsed.iterator();
+ @SuppressWarnings("unchecked")
+ Iterator<Object> rvals = (Iterator<Object>) getJSON(getDivisionsUrl(ensemblGenomesDomain), null, -1, MODE_ITERATOR, null);
+ if (rvals == null)
+ return;
while (rvals.hasNext())
{
String division = rvals.next().toString();
- divisions.put(division.toUpperCase(), domain);
+ divisions.put(division.toUpperCase(Locale.ROOT), ensemblGenomesDomain);
}
} catch (IOException | ParseException | NumberFormatException e)
{