X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fext%2Fensembl%2FEnsemblFeatures.java;fp=src%2Fjalview%2Fext%2Fensembl%2FEnsemblFeatures.java;h=2dd6ebb0194c0741d67a5ed217a63170a58d2ee6;hb=212a3358f824e06b94742b49676b07a69028b159;hp=2772498cd49039120292bfa651203c68a01a3e35;hpb=eb0ecbb41335d28ac4c38fe617f69c0ffc51fea5;p=jalview.git diff --git a/src/jalview/ext/ensembl/EnsemblFeatures.java b/src/jalview/ext/ensembl/EnsemblFeatures.java index 2772498..2dd6ebb 100644 --- a/src/jalview/ext/ensembl/EnsemblFeatures.java +++ b/src/jalview/ext/ensembl/EnsemblFeatures.java @@ -109,18 +109,16 @@ class EnsemblFeatures extends EnsemblRestClient * @return */ @SuppressWarnings("unchecked") -private SequenceI parseFeaturesJson(List queries) + private SequenceI parseFeaturesJson(List queries) { - - SequenceI seq = new Sequence("Dummy", ""); - try { - Iterator rvals = (Iterator) getJSON(null, queries, -1, MODE_ITERATOR, null); if (rvals == null) + { return null; + } while (rvals.hasNext()) { try @@ -178,31 +176,33 @@ private SequenceI parseFeaturesJson(List queries) return seq; } - -/** - * Returns the first non-null attribute found (if any) as a string + /** + * Returns the first non-null attribute found (if any) as a string, formatted + * suitably for display as feature description or tooltip. Answers null if + * none of the attribute keys is present. * * @param obj * @param keys * @return */ + @SuppressWarnings("unchecked") protected String getFirstNotNull(Map obj, String... keys) { - String desc = null; - for (String key : keys) { Object val = obj.get(key); if (val != null) { - String s = val.toString(); + String s = val instanceof List + ? JSONUtils.arrayToStringList((List) val) + : val.toString(); if (!s.isEmpty()) { return s; } } } - return desc; + return null; } /**