JAL-2316 Restructure identifiers.org download
[jalview.git] / src / jalview / urls / UrlProvider.java
index f93656f..fcda198 100644 (file)
@@ -84,27 +84,35 @@ public class UrlProvider implements UrlProviderI
   @Override
   public boolean setDefaultUrl(String id)
   {
+    boolean outcome = false;
     for (UrlProviderI p : providers)
     {
       if (p.setDefaultUrl(id))
       {
-        return true;
+        outcome = true;
       }
     }
-    return false;
+    return outcome;
   }
   
   @Override
-  public String writeUrlsAsString()
+  public String writeUrlsAsString(boolean selected)
   {
     String result = "";
     for (UrlProviderI p : providers)
     {
-      result += p.writeUrlsAsString();
-      result += SEP;
+      String next = p.writeUrlsAsString(selected);
+      if (!next.isEmpty())
+      {
+        result += next;
+        result += SEP;
+      }
     }
     // remove last sep
-    result = result.substring(0, result.length() - 1);
+    if (!result.isEmpty())
+    {
+      result = result.substring(0, result.length() - 1);
+    }
     return result;
   }
 
@@ -141,6 +149,7 @@ public class UrlProvider implements UrlProviderI
   {
     for (UrlProviderI p : providers)
     {
+      p.setDefaultUrl(null);
       p.setUrlData(links);
     }
   }
@@ -165,6 +174,25 @@ public class UrlProvider implements UrlProviderI
   }
 
   @Override
+  public String getDefaultUrlId()
+  {
+    String id = null;
+    for (UrlProviderI p : providers)
+    {
+      if (p.getDefaultUrlId() == null)
+      {
+        continue;
+      }
+      else
+      {
+        id = p.getDefaultUrlId();
+        break;
+      }
+    }
+    return id;
+  }
+
+  @Override
   public String getDefaultTarget(String seqid)
   {
     String target = null;