JAL-4020 Added search for PyMOLWinWithConsole.bat (and PyMOLWin.exe) in likely places...
[jalview.git] / src / jalview / urls / UrlProviderImpl.java
index b846976..d2fd359 100644 (file)
  */
 package jalview.urls;
 
+import jalview.urls.api.UrlProviderI;
 import jalview.util.UrlLink;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map.Entry;
-import java.util.Vector;
 import java.util.regex.Pattern;
 
 /**
@@ -36,88 +36,51 @@ import java.util.regex.Pattern;
  * @version $Revision$
  */
 
-public class UrlProviderImpl implements UrlProviderI
+public abstract class UrlProviderImpl implements UrlProviderI
 {
-  private static final Pattern MIRIAM_PATTERN = Pattern
-          .compile("^MIR:\\d{8}$");
-
   // minimum length of substitution in url link string
   protected static final int MIN_SUBST_LENGTH = 4;
 
-  protected String defaultUrl;
-
-  @Override
-  public Vector<String> getLinksForMenu()
-  {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
-  public String getDefaultUrl(String seqid)
-  {
-    // TODO Auto-generated method stub
-    return null;
-  }
+  private static final Pattern MIRIAM_PATTERN = Pattern
+          .compile("^MIR:\\d{8}$");
 
-  @Override
-  public String getDefaultTarget(String seqid)
-  {
-    // TODO Auto-generated method stub
-    return null;
-  }
+  protected String primaryUrl;
 
-  protected String getDefaultUrl(String seqid, HashMap<String, UrlLink> urls)
+  protected String getPrimaryUrl(String seqid,
+          HashMap<String, UrlLink> urls)
   {
     if (seqid.length() < MIN_SUBST_LENGTH)
     {
       return null;
     }
-    else if (defaultUrl == null)
+    else if (primaryUrl == null)
+    {
+      return null;
+    }
+    else if (!urls.containsKey(primaryUrl))
     {
       return null;
     }
     else
     {
       String url = null;
-      UrlLink urlLink = urls.get(defaultUrl);
-      String[] defaultUrls = urlLink.makeUrls(seqid, true);
-      if (defaultUrls == null || defaultUrls[0] == null
-              || defaultUrls[0].length() < MIN_SUBST_LENGTH)
+      UrlLink urlLink = urls.get(primaryUrl);
+      String[] primaryUrls = urlLink.makeUrls(seqid, true);
+      if (primaryUrls == null || primaryUrls[0] == null
+              || primaryUrls[0].length() < MIN_SUBST_LENGTH)
       {
         url = null;
       }
       else
       {
         // just take first URL made from regex
-        url = defaultUrls[1];
+        url = primaryUrls[1];
       }
       return url;
     }
   }
 
   @Override
-  public boolean setDefaultUrl(String id)
-  {
-    // TODO Auto-generated method stub
-    return false;
-  }
-
-  @Override
-  public String writeUrlsAsString(boolean selected)
-  {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
-  public String chooseDefaultUrl()
-  {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
-  @Override
   public List<UrlLinkDisplay> getLinksForTable()
   {
     return null;
@@ -131,7 +94,7 @@ public class UrlProviderImpl implements UrlProviderI
     for (Entry<String, UrlLink> entry : urls.entrySet())
     {
       String key = entry.getKey();
-      boolean isDefault = (key.equals(defaultUrl));
+      boolean isPrimary = (key.equals(primaryUrl));
       boolean isSelected;
       if (selectedUrls != null)
       {
@@ -141,19 +104,12 @@ public class UrlProviderImpl implements UrlProviderI
       {
         isSelected = selected;
       }
-      String displayLink = entry.getValue().getUrlWithToken();
-      displayLinks.add(new UrlLinkDisplay(key, entry.getValue().getLabel(),
-              displayLink, isSelected, isDefault));
+      displayLinks.add(new UrlLinkDisplay(key, entry.getValue(), isSelected,
+              isPrimary));
     }
     return displayLinks;
   }
 
-  @Override
-  public void setUrlData(List<UrlLinkDisplay> links)
-  {
-    // deliberately left empty
-  }
-
   protected boolean isMiriamId(String id)
   {
     return MIRIAM_PATTERN.matcher(id).matches();
@@ -164,12 +120,4 @@ public class UrlProviderImpl implements UrlProviderI
   {
     return !isMiriamId(id);
   }
-
-  @Override
-  public String getDefaultUrlId()
-  {
-    // TODO Auto-generated method stub
-    return null;
-  }
-
 }