X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Fspi%2Fsource%2FPrefixToModuleMap.java;h=d534df1007d7c0dda23d64eb120938590ed7a01b;hb=82187ad56dd08ac3e302a17146ca3e4114b45d80;hp=e01e5aeb2cce86bbc6a1a6fd455a7c09168aca67;hpb=3d283ec6184505ad5e7eefb173044ff383222e9f;p=yangtools.git diff --git a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModuleMap.java b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModuleMap.java index e01e5aeb2c..d534df1007 100644 --- a/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModuleMap.java +++ b/yang/yang-parser-impl/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/PrefixToModuleMap.java @@ -7,29 +7,47 @@ */ package org.opendaylight.yangtools.yang.parser.spi.source; -import org.opendaylight.yangtools.yang.common.QNameModule; - -import javax.annotation.Nullable; +import java.net.URI; +import java.net.URISyntaxException; import java.util.HashMap; import java.util.Map; +import javax.annotation.Nonnull; +import javax.annotation.Nullable; +import org.opendaylight.yangtools.yang.common.QNameModule; public class PrefixToModuleMap implements PrefixToModule { private Map prefixToModuleMap = new HashMap<>(); + private Map namespaceToModuleMap = new HashMap<>(); + private final boolean preLinkageMap; + + public PrefixToModuleMap() { + this(false); + } + + public PrefixToModuleMap(boolean preLinkageMap) { + this.preLinkageMap = preLinkageMap; + } public void put(String prefix, QNameModule qNameModule) { prefixToModuleMap.put(prefix, qNameModule); + namespaceToModuleMap.put(qNameModule.getNamespace(), qNameModule); } @Nullable @Override - public QNameModule get(String prefix) { + public QNameModule get(@Nonnull String prefix) { return prefixToModuleMap.get(prefix); } @Nullable @Override - public QNameModule getByNamespace(String namespace) { - return null; + public QNameModule getByNamespace(String namespace) throws URISyntaxException { + return namespaceToModuleMap.get(new URI(namespace)); + } + + @Override + public boolean isPreLinkageMap() { + return preLinkageMap; } }