JAL-2316 Adjusted unit tests. Tidied UrlLinkProviderI interface.
[jalview.git] / src / jalview / urls / UrlProvider.java
index 37e95e2..9e8d7bc 100644 (file)
@@ -42,6 +42,9 @@ public class UrlProvider implements UrlProviderI
   // Specific reference to custom URL link provider
   private UrlProviderI customProvider;
 
+  // List of columns which this provider will supply
+  private List<String> colNames = new ArrayList<String>();
+
   /**
    * Construct URL provider from string of cached URLs, and set default URL
    * 
@@ -57,11 +60,13 @@ public class UrlProvider implements UrlProviderI
     providers = new ArrayList<UrlProviderI>();
     
     UrlProviderI idProvider = new IdentifiersUrlProvider(cachedUrlList,
-            ID_ORG_FILE);
+            IdentifiersUrlProvider.ID_ORG_FILE);
     customProvider = new CustomUrlProvider(cachedUrlList);
     providers.add(idProvider);
     providers.add(customProvider);
 
+    setUpColumns();
+
     // check that the defaultUrl still exists
     if (!setDefaultUrl(defaultUrlString))
     {
@@ -83,11 +88,13 @@ public class UrlProvider implements UrlProviderI
     providers = new ArrayList<UrlProviderI>();
 
     UrlProviderI idProvider = new IdentifiersUrlProvider(null,
-            ID_ORG_FILE);
+            IdentifiersUrlProvider.ID_ORG_FILE);
     customProvider = new CustomUrlProvider(urlList);
     providers.add(idProvider);
     providers.add(customProvider);
 
+    setUpColumns();
+
     // check that the defaultUrl still exists
     if (!setDefaultUrl(defaultUrlString))
     {
@@ -95,25 +102,13 @@ public class UrlProvider implements UrlProviderI
     }
   }
 
-  @Override
-  public String getDefaultUrl()
+  private void setUpColumns()
   {
-    String defaultUrl = null;
-    for (UrlProviderI p : providers)
-    {
-      defaultUrl = p.getDefaultUrl();
-      if (defaultUrl != null)
-      {
-        return defaultUrl;
-      }
-    }
-
-    // no provider has a default set, just choose one
-    if (defaultUrl == null)
-    {
-      defaultUrl = chooseDefaultUrl();
-    }
-    return defaultUrl;
+    colNames.add("Name");
+    colNames.add("URL");
+    colNames.add("In Menu");
+    colNames.add("Default");
+    colNames.add("ID");
   }
   
   @Override
@@ -144,12 +139,12 @@ public class UrlProvider implements UrlProviderI
   }
 
   @Override
-  public Vector<String> getLinksForDisplay()
+  public Vector<String> getLinksForMenu()
   {
     Vector<String> fullLinks = new Vector<String>();
     for (UrlProviderI p : providers)
     {
-      List<String> links = p.getLinksForDisplay();
+      List<String> links = p.getLinksForMenu();
       if (links != null)
       {
         // will obliterate links with same keys from different providers
@@ -217,13 +212,6 @@ public class UrlProvider implements UrlProviderI
     }
     return target;
   }
-
-  @Override
-  public void setUrlLinks(Vector<String> names, Vector<String> urls)
-  {
-    // only allow custom urls to be updated by user
-    customProvider.setUrlLinks(names, urls);
-  }
   
   @Override
   public String chooseDefaultUrl()
@@ -237,4 +225,10 @@ public class UrlProvider implements UrlProviderI
   {
     return customProvider.isUserEntry(id);
   }
+
+  @Override
+  public List<String> getDisplayColumnNames()
+  {
+    return colNames.subList(0, 4);
+  }
 }