X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Furls%2FCustomUrlProvider.java;h=86d5660b3e1df0b749a1c62f9ef46d8133faa78a;hb=14307f5cfcbc90c419c892434613a500ca550ecc;hp=dae9ccd53b05b5a7f9eb0162f51505a0b5ec4a3d;hpb=ff513732821cba597d07b4fc19a1f7805b3412c1;p=jalview.git diff --git a/src/jalview/urls/CustomUrlProvider.java b/src/jalview/urls/CustomUrlProvider.java index dae9ccd..86d5660 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; /** * @@ -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,7 @@ public class CustomUrlProvider extends UrlProviderImpl { 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; @@ -161,18 +160,34 @@ public class CustomUrlProvider extends UrlProviderImpl */ private void upgradeOldLinks(HashMap urls) { + boolean upgrade = false; // upgrade old SRS link if (urls.containsKey(SRS_LABEL)) { urls.remove(SRS_LABEL); - urls.put(UrlConstants.DEFAULT_LABEL, new UrlLink(UrlConstants.DEFAULT_STRING)); + upgrade = true; + } + // upgrade old EBI link - easier just to remove and re-add than faffing + // around checking exact url + if (urls.containsKey(UrlConstants.DEFAULT_LABEL)) + { + // note because this is called separately for selected and nonselected + // urls, the default url will not always be present + urls.remove(UrlConstants.DEFAULT_LABEL); + upgrade = true; + } + if (upgrade) + { + 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()) @@ -199,22 +214,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 +264,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 @@ -294,18 +309,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()); } } @@ -315,23 +330,25 @@ 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; } @Override public boolean contains(String id) { - return (selectedUrls.containsKey(id) || nonselectedUrls.containsKey(id)); + return (selectedUrls.containsKey(id) + || nonselectedUrls.containsKey(id)); } }