X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Furls%2FCustomUrlProvider.java;h=0d5ef990ce6260f0b82f8c55360fb408ccc82251;hb=f4766a7bbcfae845fc95923b01fa14ff83d589ff;hp=439d5513b52fc300e792f221093ef5dcb20f220a;hpb=2db199e42a0ef5cca46c237544aa5c807cdece18;p=jalview.git diff --git a/src/jalview/urls/CustomUrlProvider.java b/src/jalview/urls/CustomUrlProvider.java index 439d551..0d5ef99 100644 --- a/src/jalview/urls/CustomUrlProvider.java +++ b/src/jalview/urls/CustomUrlProvider.java @@ -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; /** * @@ -76,7 +75,8 @@ public class CustomUrlProvider extends UrlProviderImpl nonselectedUrls = parseUrlStrings(storedUrlList); } catch (Exception ex) { - System.out.println(ex + "\nError parsing sequence links"); + System.out + .println(ex.getMessage() + "\nError parsing sequence links"); } } @@ -98,7 +98,8 @@ public class CustomUrlProvider extends UrlProviderImpl nonselectedUrls = parseUrlList(storedUrlList); } catch (Exception ex) { - System.out.println(ex + "\nError parsing sequence links"); + System.out + .println(ex.getMessage() + "\nError parsing sequence links"); } } @@ -128,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); @@ -138,12 +139,17 @@ public class CustomUrlProvider extends UrlProviderImpl private HashMap parseUrlList(Map urlList) { HashMap urls = new HashMap(); + if (urlList == null) + { + return urls; + } + Iterator> it = urlList.entrySet().iterator(); while (it.hasNext()) { Map.Entry 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; @@ -158,14 +164,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 getLinksForMenu() + public List getLinksForMenu() { - Vector links = new Vector(); + List links = new ArrayList(); Iterator> it = selectedUrls.entrySet() .iterator(); while (it.hasNext()) @@ -192,22 +200,22 @@ public class CustomUrlProvider extends UrlProviderImpl } @Override - public boolean setDefaultUrl(String id) + public boolean setPrimaryUrl(String id) { - if (id == null) - { - defaultUrl = null; - } if (selectedUrls.containsKey(id)) { - defaultUrl = id; + primaryUrl = id; } else if (nonselectedUrls.containsKey(id)) { - defaultUrl = id; + primaryUrl = id; + } + else + { + primaryUrl = null; } - return (defaultUrl != null); + return (primaryUrl != null); } @Override @@ -242,26 +250,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 @@ -287,18 +295,18 @@ public class CustomUrlProvider extends UrlProviderImpl } if (link.getIsSelected()) { - selurls.put(link.getId(), - new UrlLink(link.getName() + SEP + link.getUrl())); + selurls.put(link.getId(), 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()); } } @@ -308,23 +316,25 @@ public class CustomUrlProvider extends UrlProviderImpl } @Override - public String chooseDefaultUrl() + public String choosePrimaryUrl() { - // unilaterally set the default id to the EMBL_EBI link - - if (nonselectedUrls.containsKey(UrlConstants.DEFAULT_LABEL)) + // unilaterally set the primary id to the EMBL_EBI link + if ((!nonselectedUrls.containsKey(UrlConstants.DEFAULT_LABEL)) + && (!selectedUrls.containsKey(UrlConstants.DEFAULT_LABEL))) { - // default key must be selected so remove from nonselected list - nonselectedUrls.remove(UrlConstants.DEFAULT_LABEL); + UrlLink link = new UrlLink(UrlConstants.DEFAULT_STRING); + link.setLabel(UrlConstants.DEFAULT_LABEL); + selectedUrls.put(UrlConstants.DEFAULT_LABEL, link); } - - if (!selectedUrls.containsKey(UrlConstants.DEFAULT_LABEL)) - { - selectedUrls.put(UrlConstants.DEFAULT_LABEL, new UrlLink( - UrlConstants.DEFAULT_STRING)); - } - defaultUrl = UrlConstants.DEFAULT_LABEL; + primaryUrl = UrlConstants.DEFAULT_LABEL; return UrlConstants.DEFAULT_LABEL; } + @Override + public boolean contains(String id) + { + return (selectedUrls.containsKey(id) + || nonselectedUrls.containsKey(id)); + } + }