X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Furls%2FCustomUrlProvider.java;h=86d5660b3e1df0b749a1c62f9ef46d8133faa78a;hb=846629a1a7ab7715d14a18296bc3024c5de4ac5c;hp=0471e4bb8e1025ee793fec6685cfe1d86893dfb8;hpb=a1bf90058be8be92554ecbc5868982dcdbed5a80;p=jalview.git diff --git a/src/jalview/urls/CustomUrlProvider.java b/src/jalview/urls/CustomUrlProvider.java index 0471e4b..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()) @@ -294,13 +309,13 @@ 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 primary and selected ids if (link.getIsPrimary()) @@ -321,8 +336,9 @@ public class CustomUrlProvider extends UrlProviderImpl 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); } primaryUrl = UrlConstants.DEFAULT_LABEL; return UrlConstants.DEFAULT_LABEL; @@ -331,7 +347,8 @@ public class CustomUrlProvider extends UrlProviderImpl @Override public boolean contains(String id) { - return (selectedUrls.containsKey(id) || nonselectedUrls.containsKey(id)); + return (selectedUrls.containsKey(id) + || nonselectedUrls.containsKey(id)); } }