*/
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;
/**
* @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;
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)
{
{
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();
{
return !isMiriamId(id);
}
-
- @Override
- public String getDefaultUrlId()
- {
- // TODO Auto-generated method stub
- return null;
- }
-
}