import java.util.Map;
import java.util.Map.Entry;
import java.util.StringTokenizer;
-import java.util.Vector;
/**
*
{
// cachedUrlList is in form <label>|<url>|<label>|<url>...
// parse cachedUrlList into labels (used as id) and url links
- HashMap<String, UrlLink> urls = new HashMap<String, UrlLink>();
+ HashMap<String, UrlLink> urls = new HashMap<>();
StringTokenizer st = new StringTokenizer(urlStrings, SEP);
while (st.hasMoreElements())
{
- String name = st.nextToken();
+ String name = st.nextToken().trim();
if (!isMiriamId(name))
{
{
url = url + SEP + st.nextToken();
}
+ url = url.trim();
urls.put(name, new UrlLink(name, url, name));
}
}
private HashMap<String, UrlLink> parseUrlList(Map<String, String> urlList)
{
- HashMap<String, UrlLink> urls = new HashMap<String, UrlLink>();
+ HashMap<String, UrlLink> urls = new HashMap<>();
if (urlList == null)
{
return urls;
{
Map.Entry<String, String> pair = it.next();
urls.put(pair.getKey(),
- new UrlLink(pair.getKey(), pair.getValue(),
- pair.getKey()));
+ new UrlLink(pair.getKey(), pair.getValue(), pair.getKey()));
}
upgradeOldLinks(urls);
return urls;
*/
private void upgradeOldLinks(HashMap<String, UrlLink> urls)
{
+ boolean upgrade = false;
// upgrade old SRS link
if (urls.containsKey(SRS_LABEL))
{
urls.remove(SRS_LABEL);
+ 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.setDescription(UrlConstants.DEFAULT_LABEL);
+ link.setLabel(UrlConstants.DEFAULT_LABEL);
urls.put(UrlConstants.DEFAULT_LABEL, link);
}
}
@Override
- public Vector<String> getLinksForMenu()
+ public List<String> getLinksForMenu()
{
- Vector<String> links = new Vector<String>();
+ List<String> links = new ArrayList<>();
Iterator<Map.Entry<String, UrlLink>> it = selectedUrls.entrySet()
.iterator();
while (it.hasNext())
@Override
public List<UrlLinkDisplay> getLinksForTable()
{
- ArrayList<UrlLinkDisplay> displayLinks = new ArrayList<UrlLinkDisplay>();
+ ArrayList<UrlLinkDisplay> displayLinks = new ArrayList<>();
displayLinks = getLinksForTable(selectedUrls, true);
displayLinks.addAll(getLinksForTable(nonselectedUrls, false));
return displayLinks;
@Override
public void setUrlData(List<UrlLinkDisplay> links)
{
- HashMap<String, UrlLink> unselurls = new HashMap<String, UrlLink>();
- HashMap<String, UrlLink> selurls = new HashMap<String, UrlLink>();
+ HashMap<String, UrlLink> unselurls = new HashMap<>();
+ HashMap<String, UrlLink> selurls = new HashMap<>();
Iterator<UrlLinkDisplay> it = links.iterator();
while (it.hasNext())
}
if (link.getIsSelected())
{
- selurls.put(link.getId(),
- new UrlLink(link.getName(), link.getUrl(), link.getName()));
+ selurls.put(link.getId(), new UrlLink(link.getDescription(),
+ link.getUrl(), link.getDescription()));
}
else
{
- unselurls
- .put(link.getId(),
- new UrlLink(link.getName(), link.getUrl(), link
- .getName()));
+ unselurls.put(link.getId(), new UrlLink(link.getDescription(),
+ link.getUrl(), link.getDescription()));
}
// sort out primary and selected ids
if (link.getIsPrimary())
&& (!selectedUrls.containsKey(UrlConstants.DEFAULT_LABEL)))
{
UrlLink link = new UrlLink(UrlConstants.DEFAULT_STRING);
- link.setDescription(UrlConstants.DEFAULT_LABEL);
+ link.setLabel(UrlConstants.DEFAULT_LABEL);
selectedUrls.put(UrlConstants.DEFAULT_LABEL, link);
}
primaryUrl = UrlConstants.DEFAULT_LABEL;
@Override
public boolean contains(String id)
{
- return (selectedUrls.containsKey(id) || nonselectedUrls.containsKey(id));
+ return (selectedUrls.containsKey(id)
+ || nonselectedUrls.containsKey(id));
}
}