X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Furls%2FCustomUrlProvider.java;h=86d5660b3e1df0b749a1c62f9ef46d8133faa78a;hb=14307f5cfcbc90c419c892434613a500ca550ecc;hp=2d26883861d3187c7255bc1f056fec72c853f9e4;hpb=a2f83ec9e48dc2c9ebe46cf46d9d58ab8cc61b42;p=jalview.git diff --git a/src/jalview/urls/CustomUrlProvider.java b/src/jalview/urls/CustomUrlProvider.java index 2d26883..86d5660 100644 --- a/src/jalview/urls/CustomUrlProvider.java +++ b/src/jalview/urls/CustomUrlProvider.java @@ -21,24 +21,22 @@ package jalview.urls; -//import static jalview.util.UrlConstants.EMBLEBI_LABEL; -//import static jalview.util.UrlConstants.EMBLEBI_STRING; -//import static jalview.util.UrlConstants.SRS_LABEL; - - import static jalview.util.UrlConstants.DB_ACCESSION; import static jalview.util.UrlConstants.DELIM; import static jalview.util.UrlConstants.SEP; import static jalview.util.UrlConstants.SEQUENCE_ID; import jalview.util.MessageManager; +import jalview.util.UrlConstants; import jalview.util.UrlLink; +import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; +import java.util.List; import java.util.Map; +import java.util.Map.Entry; import java.util.StringTokenizer; -import java.util.Vector; /** * @@ -50,34 +48,75 @@ import java.util.Vector; */ public class CustomUrlProvider extends UrlProviderImpl { - - // minimum length of substitution in url link string - private static final int MIN_SUBST_LENGTH = 4; - // Default sequence URL link label for SRS private static final String SRS_LABEL = "SRS"; - // map of string ids to urlLinks - private HashMap urls; + // map of string ids to urlLinks (selected) + private HashMap selectedUrls; + + // map of string ids to urlLinks (not selected) + private HashMap nonselectedUrls; + + /** + * Construct UrlProvider for custom (user-entered) URLs + * + * @param inMenuUrlList + * list of URLs set to be displayed in menu, in form stored in Cache. + * i.e. SEP delimited string + * @param storedUrlList + * list of custom URLs entered by user but not currently displayed in + * menu, in form stored in Cache + */ + public CustomUrlProvider(String inMenuUrlList, String storedUrlList) + { + try + { + selectedUrls = parseUrlStrings(inMenuUrlList); + nonselectedUrls = parseUrlStrings(storedUrlList); + } catch (Exception ex) + { + System.out + .println(ex.getMessage() + "\nError parsing sequence links"); + } + } /** * Construct UrlProvider for custom (user-entered) URLs * - * @param cachedUrlList - * list of URLs in form stored in Cache. i.e. SEP delimited string + * @param urlList + * list of URLs to be displayed in menu, as (label,url) pairs + * @param storedUrlList + * list of custom URLs entered by user but not currently displayed in + * menu, as (label,url) pairs */ - public CustomUrlProvider(String cachedUrlList) + public CustomUrlProvider(Map inMenuUrlList, + Map storedUrlList) { try { - urls = new HashMap(); + selectedUrls = parseUrlList(inMenuUrlList); + nonselectedUrls = parseUrlList(storedUrlList); + } catch (Exception ex) + { + System.out + .println(ex.getMessage() + "\nError parsing sequence links"); + } + } + + private HashMap parseUrlStrings(String urlStrings) + { + // cachedUrlList is in form