JAL-2316 Separate label/db name in UrlProviders. Unit test updates.
[jalview.git] / src / jalview / urls / CustomUrlProvider.java
index dae9ccd..07f4068 100644 (file)
@@ -37,7 +37,6 @@ import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
 import java.util.StringTokenizer;
-import java.util.Vector;
 
 /**
  * 
@@ -130,7 +129,7 @@ public class CustomUrlProvider extends UrlProviderImpl
         {
           url = url + SEP + st.nextToken();
         }
-        urls.put(name, new UrlLink(name + SEP + url));
+        urls.put(name, new UrlLink(name, url, name));
       }
     }
     upgradeOldLinks(urls);
@@ -150,7 +149,8 @@ public class CustomUrlProvider extends UrlProviderImpl
     {
       Map.Entry<String, String> pair = it.next();
       urls.put(pair.getKey(),
-              new UrlLink(pair.getKey() + SEP + pair.getValue()));
+ new UrlLink(pair.getKey(), pair.getValue(),
+              pair.getKey()));
     }
     upgradeOldLinks(urls);
     return urls;
@@ -165,14 +165,16 @@ public class CustomUrlProvider extends UrlProviderImpl
     if (urls.containsKey(SRS_LABEL))
     {
       urls.remove(SRS_LABEL);
-      urls.put(UrlConstants.DEFAULT_LABEL, new UrlLink(UrlConstants.DEFAULT_STRING));
+      UrlLink link = new UrlLink(UrlConstants.DEFAULT_STRING);
+      link.setLabel(UrlConstants.DEFAULT_LABEL);
+      urls.put(UrlConstants.DEFAULT_LABEL, link);
     }
   }
 
   @Override
-  public Vector<String> getLinksForMenu()
+  public List<String> getLinksForMenu()
   {
-    Vector<String> links = new Vector<String>();
+    List<String> links = new ArrayList<String>();
     Iterator<Map.Entry<String, UrlLink>> it = selectedUrls.entrySet()
             .iterator();
     while (it.hasNext())
@@ -199,22 +201,22 @@ public class CustomUrlProvider extends UrlProviderImpl
   }
 
   @Override
-  public boolean setDefaultUrl(String id)
+  public boolean setPrimaryUrl(String id)
   {
     if (selectedUrls.containsKey(id))
     {
-      defaultUrl = id;
+      primaryUrl = id;
     }
     else if (nonselectedUrls.containsKey(id))
     {
-      defaultUrl = id;
+      primaryUrl = id;
     }
     else
     {
-      defaultUrl = null;
+      primaryUrl = null;
     }
 
-    return (defaultUrl != null);
+    return (primaryUrl != null);
   }
 
   @Override
@@ -249,26 +251,26 @@ public class CustomUrlProvider extends UrlProviderImpl
   }
 
   @Override
-  public String getDefaultUrl(String seqid)
+  public String getPrimaryUrl(String seqid)
   {
-    String result = super.getDefaultUrl(seqid, selectedUrls);
+    String result = super.getPrimaryUrl(seqid, selectedUrls);
     if (result == null)
     {
-      result = super.getDefaultUrl(seqid, nonselectedUrls);
+      result = super.getPrimaryUrl(seqid, nonselectedUrls);
     }
     return result;
   }
 
   @Override
-  public String getDefaultUrlId()
+  public String getPrimaryUrlId()
   {
-    return defaultUrl;
+    return primaryUrl;
   }
 
   @Override
-  public String getDefaultTarget(String seqid)
+  public String getPrimaryTarget(String seqid)
   {
-    return selectedUrls.get(defaultUrl).getTarget();
+    return selectedUrls.get(primaryUrl).getTarget();
   }
 
   @Override
@@ -295,17 +297,19 @@ public class CustomUrlProvider extends UrlProviderImpl
         if (link.getIsSelected())
         {
           selurls.put(link.getId(),
-                  new UrlLink(link.getName() + SEP + link.getUrl()));
+                  new UrlLink(link.getDescription(), link.getUrl(), link.getDescription()));
         }
         else
         {
-          unselurls.put(link.getId(), new UrlLink(link.getName() + SEP
-                  + link.getUrl()));
+          unselurls
+                  .put(link.getId(),
+                          new UrlLink(link.getDescription(), link.getUrl(), link
+                                  .getDescription()));
         }
-        // sort out default and selected ids
-        if (link.getIsDefault())
+        // sort out primary and selected ids
+        if (link.getIsPrimary())
         {
-          setDefaultUrl(link.getId());
+          setPrimaryUrl(link.getId());
         }
       }
 
@@ -315,16 +319,17 @@ public class CustomUrlProvider extends UrlProviderImpl
   }
 
   @Override
-  public String chooseDefaultUrl()
+  public String choosePrimaryUrl()
   {
-    // unilaterally set the default id to the EMBL_EBI link
+    // unilaterally set the primary id to the EMBL_EBI link
     if ((!nonselectedUrls.containsKey(UrlConstants.DEFAULT_LABEL))
             && (!selectedUrls.containsKey(UrlConstants.DEFAULT_LABEL)))
     {
-      selectedUrls.put(UrlConstants.DEFAULT_LABEL, new UrlLink(
-              UrlConstants.DEFAULT_STRING));
+      UrlLink link = new UrlLink(UrlConstants.DEFAULT_STRING);
+      link.setLabel(UrlConstants.DEFAULT_LABEL);
+      selectedUrls.put(UrlConstants.DEFAULT_LABEL, link);
     }
-    defaultUrl = UrlConstants.DEFAULT_LABEL;
+    primaryUrl = UrlConstants.DEFAULT_LABEL;
     return UrlConstants.DEFAULT_LABEL;
   }