import java.util.Map;
import java.util.Map.Entry;
import java.util.StringTokenizer;
-import java.util.Vector;
/**
*
nonselectedUrls = parseUrlStrings(storedUrlList);
} catch (Exception ex)
{
- System.out.println(ex + "\nError parsing sequence links");
+ System.out
+ .println(ex.getMessage() + "\nError parsing sequence links");
}
}
nonselectedUrls = parseUrlList(storedUrlList);
} catch (Exception ex)
{
- System.out.println(ex + "\nError parsing sequence links");
+ System.out
+ .println(ex.getMessage() + "\nError parsing sequence links");
}
}
{
url = url + SEP + st.nextToken();
}
- urls.put(name, new UrlLink(name + SEP + url));
+ urls.put(name, new UrlLink(name, url, name));
}
}
upgradeOldLinks(urls);
private HashMap<String, UrlLink> parseUrlList(Map<String, String> urlList)
{
HashMap<String, UrlLink> urls = new HashMap<String, UrlLink>();
+ if (urlList == null)
+ {
+ return urls;
+ }
+
Iterator<Map.Entry<String, String>> it = urlList.entrySet().iterator();
while (it.hasNext())
{
Map.Entry<String, String> 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;
*/
private void upgradeOldLinks(HashMap<String, UrlLink> 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<String> getLinksForMenu()
+ public List<String> getLinksForMenu()
{
- Vector<String> links = new Vector<String>();
+ List<String> links = new ArrayList<String>();
Iterator<Map.Entry<String, UrlLink>> it = selectedUrls.entrySet()
.iterator();
while (it.hasNext())
}
@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
{
- defaultUrl = null;
+ primaryUrl = null;
}
- return (defaultUrl != null);
+ return (primaryUrl != null);
}
@Override
}
@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
}
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());
}
}
}
@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));
+ }
+
}