/** {@inheritDoc} */ @Override public Dialect createCustomDialect( KamInfo kamInfo, List<Namespace> geneNamespaces, List<Namespace> bpNamespaces, List<Namespace> chemicalNamespaces, BELSyntax form, boolean removeNamespacePrefix) throws KamStoreException { // cache all namespaces of the kam by prefix Map<String, Namespace> kamNamespaces = new HashMap<String, Namespace>(); Map<String, NamespaceDomain> domains = new HashMap<String, NamespaceDomain>(); for (org.openbel.framework.internal.KAMStoreDaoImpl.Namespace ns : kamStore.getNamespaces(kamInfo)) { Namespace cns = new Namespace(ns.getPrefix(), ns.getResourceLocation()); kamNamespaces.put(cns.getPrefix(), cns); NamespaceHeader hdr = namespaceResourceService.getHeader(cns.getResourceLocation()); domains.put( cns.getPrefix(), NamespaceDomain.forDomainString(hdr.getNamespaceBlock().getDomainString())); } CustomDialect pd = new CustomDialect(kamStore); pd.setKamNamespaces(kamNamespaces); pd.setNsDomains(domains); pd.setGeneNamespaces(geneNamespaces); pd.setBpNamespaces(bpNamespaces); pd.setChemNamespaces(chemicalNamespaces); if (BELSyntax.LONG_FORM.equals(form)) { pd.setDisplayLongForm(true); } pd.setRemoveNamespacePrefix(removeNamespacePrefix); pd.initialize(); return pd; }
static { for (NamespaceDomain nd : values()) { DSMAP.put(nd.getDomainString(), nd); } }