Remove Source{ParserNamespaces,NamespaceBehaviours} 57/102157/2
authorRobert Varga <robert.varga@pantheon.tech>
Thu, 18 Aug 2022 21:45:48 +0000 (23:45 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 19 Aug 2022 12:33:21 +0000 (14:33 +0200)
There is no point in keeping two classes, as the namespaces are wild and
dis-organized anyway.

JIRA: YANGTOOLS-1453
Change-Id: I359af4e37334354354e1f59cccda5b56ff1ab9a9
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
26 files changed:
parser/rfc8040-parser-support/src/main/java/org/opendaylight/yangtools/rfc8040/parser/OperationsValidateModuleAction.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/BuildGlobalContext.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/ReactorStmtCtx.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/RootStatementContext.java
parser/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/SourceSpecificContext.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/namespace/StmtNamespaceContext.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/reactor/RFC7950Reactors.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/AbstractEffectiveModule.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/deviate/AbstractDeviateStatementSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/ImportStatementSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/RevisionImport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/BelongsToStatementSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/DeviationStatementSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/FeatureStatementSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/meta/IncludeStatementSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleEffectiveStatementImpl.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/module/ModuleStatementSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleEffectiveStatementImpl.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/submodule/SubmoduleStatementSupport.java
parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/uses/UsesStatementSupport.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/NamespaceBehaviours.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/ParserNamespaces.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/StmtContextUtils.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/SubstatementValidator.java
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceNamespaceBehaviours.java [deleted file]
parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceParserNamespaces.java [deleted file]

index beedbd0b7c03cd2b4c37094f082af63b0afb626e..72f18a5a497214be452dcb70e8547f4da5e0f958 100644 (file)
@@ -17,12 +17,12 @@ import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
 import org.opendaylight.yangtools.yang.model.api.stmt.ContainerStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.GroupingStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.InferenceAction;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.InferenceContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.Prerequisite;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 /**
  * An {@link InferenceAction} tasked with identifying when we are dealing with {@link YangDataConstants#RFC8040_SOURCE}.
@@ -55,7 +55,7 @@ final class OperationsValidateModuleAction implements InferenceAction {
 
         // Check namespace and revision first
         final QNameModule moduleQName =
-            moduleCtx.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, moduleCtx);
+            moduleCtx.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, moduleCtx);
         if (!YangDataConstants.RFC8040_MODULE.equals(moduleQName)) {
             return;
         }
index 6f490567abdb6d2f1c1f89c375c38218f6dd7244..832e79b5dd15194364ccf997331daf6cb425aea1 100644 (file)
@@ -41,6 +41,7 @@ import org.opendaylight.yangtools.yang.common.YangVersion;
 import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.meta.DerivedNamespaceBehaviour;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
 import org.opendaylight.yangtools.yang.parser.spi.meta.MutableStatement;
@@ -56,7 +57,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupportBundle;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
 import org.opendaylight.yangtools.yang.parser.spi.validation.ValidationBundles;
 import org.opendaylight.yangtools.yang.parser.spi.validation.ValidationBundles.ValidationBundleType;
@@ -113,12 +113,11 @@ final class BuildGlobalContext extends NamespaceStorageSupport implements Regist
     }
 
     void setSupportedFeatures(final Set<QName> supportedFeatures) {
-        addToNamespace(SourceParserNamespaces.SUPPORTED_FEATURES, Empty.value(),
-            ImmutableSet.copyOf(supportedFeatures));
+        addToNamespace(ParserNamespaces.SUPPORTED_FEATURES, Empty.value(), ImmutableSet.copyOf(supportedFeatures));
     }
 
     void setModulesDeviatedByModules(final SetMultimap<QNameModule, QNameModule> modulesDeviatedByModules) {
-        addToNamespace(SourceParserNamespaces.MODULES_DEVIATED_BY, Empty.value(),
+        addToNamespace(ParserNamespaces.MODULES_DEVIATED_BY, Empty.value(),
             ImmutableSetMultimap.copyOf(modulesDeviatedByModules));
     }
 
@@ -235,7 +234,7 @@ final class BuildGlobalContext extends NamespaceStorageSupport implements Regist
     }
 
     private static SourceIdentifier createSourceIdentifier(final StmtContext<?, ?, ?> root) {
-        final QNameModule qNameModule = root.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, root);
+        final QNameModule qNameModule = root.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, root);
         final Object arg = root.getArgument();
         verify(arg instanceof Unqualified, "Unexpected argument %s", arg);
 
index a2bd8dbc69b062d9bb711018754e639a4064c047..b5de98744135015091ed88ad03863bfaf8adb162 100644 (file)
@@ -34,6 +34,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier;
 import org.opendaylight.yangtools.yang.model.api.stmt.UsesStatement;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.meta.CopyType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStatementState;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@@ -48,7 +49,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -492,7 +492,7 @@ abstract class ReactorStmtCtx<A, D extends DeclaredStatement<A>, E extends Effec
          */
         if (isParentSupportedByFeatures()) {
             // If the set of supported features has not been provided, all features are supported by default.
-            final Set<QName> supportedFeatures = getFromNamespace(SourceParserNamespaces.SUPPORTED_FEATURES,
+            final Set<QName> supportedFeatures = getFromNamespace(ParserNamespaces.SUPPORTED_FEATURES,
                 Empty.value());
             if (supportedFeatures == null || StmtContextUtils.checkFeatureSupport(this, supportedFeatures)) {
                 flags |= SET_SUPPORTED_BY_FEATURES;
index e4f2ff1798178d916d51307b381c2a842d389920..9d9f4ef1a8c2ba4e5588bbae231e0766714e1d7d 100644 (file)
@@ -36,7 +36,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.Regist
 import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour.StorageNodeType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ParserNamespace;
 import org.opendaylight.yangtools.yang.parser.spi.meta.RootStmtContext;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -122,7 +121,7 @@ public final class RootStatementContext<A, D extends DeclaredStatement<A>, E ext
 
     @Override
     public <K, V> V putToLocalStorage(final ParserNamespace<K, V> type, final K key, final V value) {
-        if (SourceParserNamespaces.INCLUDED_MODULE.equals(type)) {
+        if (ParserNamespaces.INCLUDED_MODULE.equals(type)) {
             if (includedContexts.isEmpty()) {
                 includedContexts = new ArrayList<>(1);
             }
index b302b67cd7bf395473b489962d98a617edd8ba01..33e371cfe157d113eb4f222f0761b92a96622638 100644 (file)
@@ -29,6 +29,7 @@ import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.YangVersion;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
@@ -43,7 +44,6 @@ import org.opendaylight.yangtools.yang.parser.spi.source.PrefixResolver;
 import org.opendaylight.yangtools.yang.parser.spi.source.QNameToStatementDefinition;
 import org.opendaylight.yangtools.yang.parser.spi.source.QNameToStatementDefinitionMap;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementSourceReference;
 import org.opendaylight.yangtools.yang.parser.spi.source.StatementStreamSource;
 import org.slf4j.Logger;
@@ -208,8 +208,8 @@ final class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeha
     }
 
     private void updateImportedNamespaces(final ParserNamespace<?, ?> type, final Object value) {
-        if (SourceParserNamespaces.BELONGSTO_PREFIX_TO_MODULECTX.equals(type)
-            || SourceParserNamespaces.IMPORTED_MODULE.equals(type)) {
+        if (ParserNamespaces.BELONGSTO_PREFIX_TO_MODULECTX.equals(type)
+            || ParserNamespaces.IMPORTED_MODULE.equals(type)) {
             verify(value instanceof RootStatementContext, "Unexpected imported value %s", value);
 
             if (importedNamespaces.isEmpty()) {
@@ -416,7 +416,7 @@ final class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeha
 
     private PrefixResolver preLinkagePrefixes() {
         final HashMapPrefixResolver preLinkagePrefixes = new HashMapPrefixResolver();
-        final var prefixToNamespaceMap = getAllFromLocalStorage(SourceParserNamespaces.IMP_PREFIX_TO_NAMESPACE);
+        final var prefixToNamespaceMap = getAllFromLocalStorage(ParserNamespaces.IMP_PREFIX_TO_NAMESPACE);
         if (prefixToNamespaceMap == null) {
             //:FIXME if it is a submodule without any import, the map is null. Handle also submodules and includes...
             return null;
@@ -427,16 +427,16 @@ final class SourceSpecificContext implements NamespaceStorageNode, NamespaceBeha
     }
 
     private PrefixResolver prefixes() {
-        final var allImports = root.getAllFromNamespace(SourceParserNamespaces.IMPORT_PREFIX_TO_MODULECTX);
+        final var allImports = root.getAllFromNamespace(ParserNamespaces.IMPORT_PREFIX_TO_MODULECTX);
         if (allImports != null) {
             allImports.forEach((key, value) ->
-                prefixToModuleMap.put(key, root.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, value)));
+                prefixToModuleMap.put(key, root.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, value)));
         }
 
-        final var allBelongsTo = root.getAllFromNamespace(SourceParserNamespaces.BELONGSTO_PREFIX_TO_MODULECTX);
+        final var allBelongsTo = root.getAllFromNamespace(ParserNamespaces.BELONGSTO_PREFIX_TO_MODULECTX);
         if (allBelongsTo != null) {
             allBelongsTo.forEach((key, value) ->
-                prefixToModuleMap.put(key, root.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, value)));
+                prefixToModuleMap.put(key, root.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, value)));
         }
 
         return prefixToModuleMap;
index 5124b840dc550523cc5bb20d25d4e912e457ffea..250b3833d199ea55ec0321da2dd16cef53530a1c 100644 (file)
@@ -7,11 +7,6 @@
  */
 package org.opendaylight.yangtools.yang.parser.rfc7950.namespace;
 
-import static org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces.BELONGSTO_PREFIX_TO_MODULE_NAME;
-import static org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces.IMPORT_PREFIX_TO_MODULECTX;
-import static org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces.MODULECTX_TO_QNAME;
-import static org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces.MODULE_NAME_TO_QNAME;
-
 import com.google.common.collect.ImmutableBiMap;
 import com.google.common.collect.ImmutableMap;
 import java.util.HashMap;
@@ -23,6 +18,7 @@ import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
 import org.opendaylight.yangtools.yang.common.YangNamespaceContext;
 import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
 /**
@@ -42,14 +38,16 @@ final class StmtNamespaceContext implements YangNamespaceContext {
 
         // Additional mappings
         final Map<String, QNameModule> additional = new HashMap<>();
-        final Map<String, StmtContext<?, ?, ?>> imports = ctx.getAllFromNamespace(IMPORT_PREFIX_TO_MODULECTX);
+        final Map<String, StmtContext<?, ?, ?>> imports = ctx.getAllFromNamespace(
+            ParserNamespaces.IMPORT_PREFIX_TO_MODULECTX);
         if (imports != null) {
             for (Entry<String, StmtContext<?, ?, ?>> entry : imports.entrySet()) {
                 if (!moduleToPrefix.containsValue(entry.getKey())) {
-                    QNameModule qnameModule = ctx.getFromNamespace(MODULECTX_TO_QNAME, entry.getValue());
+                    QNameModule qnameModule = ctx.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME,
+                        entry.getValue());
                     if (qnameModule == null && ctx.producesDeclared(SubmoduleStatement.class)) {
-                        qnameModule = ctx.getFromNamespace(MODULE_NAME_TO_QNAME,
-                            ctx.getFromNamespace(BELONGSTO_PREFIX_TO_MODULE_NAME, entry.getKey()));
+                        qnameModule = ctx.getFromNamespace(ParserNamespaces.MODULE_NAME_TO_QNAME,
+                            ctx.getFromNamespace(ParserNamespaces.BELONGSTO_PREFIX_TO_MODULE_NAME, entry.getKey()));
                     }
 
                     if (qnameModule != null) {
@@ -59,10 +57,12 @@ final class StmtNamespaceContext implements YangNamespaceContext {
             }
         }
         if (ctx.producesDeclared(SubmoduleStatement.class)) {
-            final Map<String, Unqualified> belongsTo = ctx.getAllFromNamespace(BELONGSTO_PREFIX_TO_MODULE_NAME);
+            final Map<String, Unqualified> belongsTo = ctx.getAllFromNamespace(
+                ParserNamespaces.BELONGSTO_PREFIX_TO_MODULE_NAME);
             if (belongsTo != null) {
                 for (Entry<String, Unqualified> entry : belongsTo.entrySet()) {
-                    final QNameModule module = ctx.getFromNamespace(MODULE_NAME_TO_QNAME, entry.getValue());
+                    final QNameModule module = ctx.getFromNamespace(ParserNamespaces.MODULE_NAME_TO_QNAME,
+                        entry.getValue());
                     if (module != null && !additional.containsKey(entry.getKey())) {
                         additional.put(entry.getKey(), module);
                     }
index 11e6910dd6726e1d0b0a2159863da4a479bf4c38..845928ffaae54db02036e338330783e9bde24a30 100644 (file)
@@ -104,7 +104,6 @@ import org.opendaylight.yangtools.yang.parser.spi.SchemaTreeNamespaceBehaviour;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementDefinitions;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StatementSupportBundle;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceNamespaceBehaviours;
 import org.opendaylight.yangtools.yang.parser.spi.validation.ValidationBundles;
 import org.opendaylight.yangtools.yang.parser.spi.validation.ValidationBundles.ValidationBundleType;
 import org.opendaylight.yangtools.yang.parser.stmt.reactor.CrossSourceStatementReactor;
@@ -121,8 +120,8 @@ public final class RFC7950Reactors {
 
     private static final StatementSupportBundle INIT_BUNDLE = StatementSupportBundle.builder(SUPPORTED_VERSIONS)
         .addSupport(ValidationBundles.BEHAVIOUR)
-        .addSupport(SourceNamespaceBehaviours.SUPPORTED_FEATURES)
-        .addSupport(SourceNamespaceBehaviours.MODULES_DEVIATED_BY)
+        .addSupport(NamespaceBehaviours.SUPPORTED_FEATURES)
+        .addSupport(NamespaceBehaviours.MODULES_DEVIATED_BY)
         .build();
 
     private RFC7950Reactors() {
@@ -145,10 +144,10 @@ public final class RFC7950Reactors {
             .addSupport(new YangVersionStatementSupport(config))
             .addSupport(new RevisionStatementSupport(config))
             .addSupport(new RevisionDateStatementSupport(config))
-            .addSupport(SourceNamespaceBehaviours.MODULE_NAME_TO_NAMESPACE)
+            .addSupport(NamespaceBehaviours.MODULE_NAME_TO_NAMESPACE)
             .addSupport(NamespaceBehaviours.PRELINKAGE_MODULE)
-            .addSupport(SourceNamespaceBehaviours.IMP_PREFIX_TO_NAMESPACE)
-            .addSupport(SourceNamespaceBehaviours.MODULECTX_TO_QNAME)
+            .addSupport(NamespaceBehaviours.IMP_PREFIX_TO_NAMESPACE)
+            .addSupport(NamespaceBehaviours.MODULECTX_TO_QNAME)
             .addSupport(QNameModuleNamespace.BEHAVIOUR)
             .addSupport(ImportedVersionNamespace.BEHAVIOUR)
             .build();
@@ -162,20 +161,20 @@ public final class RFC7950Reactors {
             .addSupport(new ContactStatementSupport(config))
             .addSupport(new OrganizationStatementSupport(config))
             .addSupport(NamespaceBehaviours.MODULE)
-            .addSupport(SourceNamespaceBehaviours.MODULE_FOR_BELONGSTO)
+            .addSupport(NamespaceBehaviours.MODULE_FOR_BELONGSTO)
             .addSupport(NamespaceBehaviours.SUBMODULE)
             .addSupport(NamespaceBehaviours.NAMESPACE_TO_MODULE)
-            .addSupport(SourceNamespaceBehaviours.MODULE_NAME_TO_QNAME)
-            .addSupport(SourceNamespaceBehaviours.MODULECTX_TO_SOURCE)
-            .addSupport(SourceNamespaceBehaviours.MODULE_NAMESPACE_TO_NAME)
-            .addSupport(SourceNamespaceBehaviours.PREFIX_TO_MODULE)
-            .addSupport(SourceNamespaceBehaviours.IMPORTED_MODULE)
-            .addSupport(SourceNamespaceBehaviours.INCLUDED_MODULE)
-            .addSupport(SourceNamespaceBehaviours.INCLUDED_SUBMODULE_NAME_TO_MODULECTX)
-            .addSupport(SourceNamespaceBehaviours.IMPORT_PREFIX_TO_MODULECTX)
-            .addSupport(SourceNamespaceBehaviours.BELONGSTO_PREFIX_TO_MODULECTX)
+            .addSupport(NamespaceBehaviours.MODULE_NAME_TO_QNAME)
+            .addSupport(NamespaceBehaviours.MODULECTX_TO_SOURCE)
+            .addSupport(NamespaceBehaviours.MODULE_NAMESPACE_TO_NAME)
+            .addSupport(NamespaceBehaviours.PREFIX_TO_MODULE)
+            .addSupport(NamespaceBehaviours.IMPORTED_MODULE)
+            .addSupport(NamespaceBehaviours.INCLUDED_MODULE)
+            .addSupport(NamespaceBehaviours.INCLUDED_SUBMODULE_NAME_TO_MODULECTX)
+            .addSupport(NamespaceBehaviours.IMPORT_PREFIX_TO_MODULECTX)
+            .addSupport(NamespaceBehaviours.BELONGSTO_PREFIX_TO_MODULECTX)
             .addSupport(ModuleQNameToPrefix.BEHAVIOUR)
-            .addSupport(SourceNamespaceBehaviours.BELONGSTO_PREFIX_TO_MODULE_NAME)
+            .addSupport(NamespaceBehaviours.BELONGSTO_PREFIX_TO_MODULE_NAME)
             .build();
     }
 
index 1a10e172e0cef75283c7a910e90a27ac9a1599f8..c8236cd4108c935b15057a17674e7fcada67e281 100644 (file)
@@ -49,11 +49,10 @@ import org.opendaylight.yangtools.yang.model.api.stmt.YangVersionEffectiveStatem
 import org.opendaylight.yangtools.yang.model.api.stmt.compat.NotificationNodeContainerCompat;
 import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.DefaultWithDataTree.WithTypedefNamespace;
 import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.DocumentedNodeMixin;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.meta.CommonStmtCtx;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
-import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 @Beta
 public abstract class AbstractEffectiveModule<D extends DeclaredStatement<Unqualified>,
@@ -208,9 +207,9 @@ public abstract class AbstractEffectiveModule<D extends DeclaredStatement<Unqual
         streamEffectiveSubstatements(ImportEffectiveStatement.class)
             .map(imp -> imp.findFirstEffectiveSubstatementArgument(PrefixEffectiveStatement.class).get())
             .forEach(pfx -> {
-                final StmtContext<?, ?, ?> importedCtx =
-                        verifyNotNull(stmt.getFromNamespace(SourceParserNamespaces.IMPORT_PREFIX_TO_MODULECTX, pfx),
-                            "Failed to resolve prefix %s", pfx);
+                final var importedCtx =
+                    verifyNotNull(stmt.getFromNamespace(ParserNamespaces.IMPORT_PREFIX_TO_MODULECTX, pfx),
+                        "Failed to resolve prefix %s", pfx);
                 builder.put(pfx, (ModuleEffectiveStatement) importedCtx.buildEffective());
             });
     }
index 8498486b4da82306e8954c51190843bdea77b5ce..d5af79e57b998cabdba73b54d5eac1d8ce5bb581 100644 (file)
@@ -32,6 +32,7 @@ import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements;
 import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements;
 import org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration;
 import org.opendaylight.yangtools.yang.parser.rfc7950.reactor.YangValidationBundles;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.SchemaTreeNamespace;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.BoundStmtCtx;
@@ -48,7 +49,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -233,12 +233,12 @@ abstract class AbstractDeviateStatementSupport
             final Mutable<DeviateKind, DeviateStatement, DeviateEffectiveStatement> deviateStmtCtx,
             final SchemaNodeIdentifier deviationTarget) {
         final SetMultimap<QNameModule, QNameModule> modulesDeviatedByModules = deviateStmtCtx.getFromNamespace(
-                SourceParserNamespaces.MODULES_DEVIATED_BY, Empty.value());
+                ParserNamespaces.MODULES_DEVIATED_BY, Empty.value());
         if (modulesDeviatedByModules == null) {
             return true;
         }
 
-        final QNameModule currentModule = deviateStmtCtx.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME,
+        final QNameModule currentModule = deviateStmtCtx.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME,
                 deviateStmtCtx.getRoot());
         final QNameModule targetModule = Iterables.getLast(deviationTarget.getNodeIdentifiers()).getModule();
 
index da1ab4373aecd2884f89831a1d79e17fb31a81f5..66e148e75fd99e883d5769e1eba60edbeefadf5c 100644 (file)
@@ -45,7 +45,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.source.YangVersionLinkageException;
 
 @Beta
@@ -98,7 +97,7 @@ public final class ImportStatementSupport
                 final StmtContext<?, ?, ?> importedModuleContext = imported.resolve(ctx);
                 verify(moduleName.equals(importedModuleContext.getArgument()));
                 final XMLNamespace importedModuleNamespace = verifyNotNull(importedModuleContext.getFromNamespace(
-                    SourceParserNamespaces.MODULE_NAME_TO_NAMESPACE, moduleName));
+                    ParserNamespaces.MODULE_NAME_TO_NAMESPACE, moduleName));
                 final String impPrefix = SourceException.throwIfNull(
                     firstAttributeOf(stmt.declaredSubstatements(), PrefixStatement.class), stmt,
                     "Missing prefix statement");
@@ -113,7 +112,7 @@ public final class ImportStatementSupport
                     }
                 }
 
-                stmt.addToNs(SourceParserNamespaces.IMP_PREFIX_TO_NAMESPACE, impPrefix, importedModuleNamespace);
+                stmt.addToNs(ParserNamespaces.IMP_PREFIX_TO_NAMESPACE, impPrefix, importedModuleNamespace);
             }
 
             @Override
index ba958951854f24bce728fa7cbeaef5b595e99260..21b643406e3318bac3eb7fc6f5cd09b7dc4e644c 100644 (file)
@@ -33,7 +33,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.Prereq
 import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceKeyCriterion;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 final class RevisionImport {
     private RevisionImport() {
@@ -61,17 +60,17 @@ final class RevisionImport {
                 final StmtContext<?, ?, ?> importedModule = imported.resolve(ctx);
 
                 final SourceIdentifier importedModuleIdentifier = stmt.getFromNamespace(
-                    SourceParserNamespaces.MODULECTX_TO_SOURCE, importedModule);
+                    ParserNamespaces.MODULECTX_TO_SOURCE, importedModule);
                 stmt.addToNs(ImportedVersionNamespace.INSTANCE, Empty.value(), importedModuleIdentifier);
 
                 final QNameModule mod = InferenceException.throwIfNull(
-                    stmt.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, importedModule), stmt,
+                    stmt.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, importedModule), stmt,
                     "Failed to find module of %s", importedModule);
 
-                linkageTarget.resolve(ctx).addToNs(SourceParserNamespaces.IMPORTED_MODULE, importedModuleIdentifier,
+                linkageTarget.resolve(ctx).addToNs(ParserNamespaces.IMPORTED_MODULE, importedModuleIdentifier,
                     importedModule);
                 final String impPrefix = firstAttributeOf(stmt.declaredSubstatements(), PrefixStatement.class);
-                stmt.addToNs(SourceParserNamespaces.IMPORT_PREFIX_TO_MODULECTX, impPrefix, importedModule);
+                stmt.addToNs(ParserNamespaces.IMPORT_PREFIX_TO_MODULECTX, impPrefix, importedModule);
                 stmt.addToNs(ModuleQNameToPrefix.INSTANCE, mod, impPrefix);
             }
 
index 020c00981df1528f059e083c7c8dd3def228a2c1..48caf00682855586c0773be36602b1229c679159 100644 (file)
@@ -24,6 +24,7 @@ import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatementDecorators
 import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements;
 import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements;
 import org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractUnqualifiedStatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.BoundStmtCtx;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@@ -35,7 +36,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.Prereq
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelProcessingPhase;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 public final class BelongsToStatementSupport
         extends AbstractUnqualifiedStatementSupport<BelongsToStatement, BelongsToEffectiveStatement> {
@@ -56,14 +56,13 @@ public final class BelongsToStatementSupport
             final Mutable<Unqualified, BelongsToStatement, BelongsToEffectiveStatement> belongsToCtx) {
         ModelActionBuilder belongsToAction = belongsToCtx.newInferenceAction(ModelProcessingPhase.SOURCE_LINKAGE);
 
-        final var belongsToPrereq = belongsToAction.requiresCtx(belongsToCtx,
-            SourceParserNamespaces.MODULE_FOR_BELONGSTO, belongsToCtx.getArgument(),
-            ModelProcessingPhase.SOURCE_LINKAGE);
+        final var belongsToPrereq = belongsToAction.requiresCtx(belongsToCtx, ParserNamespaces.MODULE_FOR_BELONGSTO,
+            belongsToCtx.getArgument(), ModelProcessingPhase.SOURCE_LINKAGE);
 
         belongsToAction.apply(new InferenceAction() {
             @Override
             public void apply(final InferenceContext ctx) {
-                belongsToCtx.addToNs(SourceParserNamespaces.BELONGSTO_PREFIX_TO_MODULECTX,
+                belongsToCtx.addToNs(ParserNamespaces.BELONGSTO_PREFIX_TO_MODULECTX,
                     findFirstDeclaredSubstatement(belongsToCtx, PrefixStatement.class).getArgument(),
                     belongsToPrereq.resolve(ctx));
             }
index 8eda7884b5b245ef9ed128ab050468ae7e163dd0..cea7b1eb45667d069449e4e46b54046fd36d8838 100644 (file)
@@ -22,6 +22,7 @@ import org.opendaylight.yangtools.yang.model.ri.stmt.DeclaredStatements;
 import org.opendaylight.yangtools.yang.model.ri.stmt.EffectiveStatements;
 import org.opendaylight.yangtools.yang.parser.api.YangParserConfiguration;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.ArgumentUtils;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.meta.AbstractStatementSupport;
 import org.opendaylight.yangtools.yang.parser.spi.meta.BoundStmtCtx;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
@@ -29,7 +30,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.InferenceException;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 public final class DeviationStatementSupport
         extends AbstractStatementSupport<Absolute, DeviationStatement, DeviationEffectiveStatement> {
@@ -52,8 +52,7 @@ public final class DeviationStatementSupport
     @Override
     public void onFullDefinitionDeclared(
             final Mutable<Absolute, DeviationStatement, DeviationEffectiveStatement> ctx) {
-        final QNameModule currentModule = ctx.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME,
-            ctx.getRoot());
+        final QNameModule currentModule = ctx.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, ctx.getRoot());
         final QNameModule targetModule = Iterables.getLast(ctx.getArgument().getNodeIdentifiers()).getModule();
 
         if (currentModule.equals(targetModule)) {
index df7a0041654fdc96738d3489f3bb191195e16302..2f5df123a7b986e02e5fa364ab9ec9d4f5d606d2 100644 (file)
@@ -31,7 +31,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 public final class FeatureStatementSupport
         extends AbstractQNameStatementSupport<FeatureStatement, FeatureEffectiveStatement> {
@@ -58,7 +57,7 @@ public final class FeatureStatementSupport
         stmt.addContext(ParserNamespaces.FEATURE, stmt.getArgument(), stmt);
 
         // Do not build effective statement if supported features does not include this feature
-        final var supportedFeatures = stmt.getFromNamespace(SourceParserNamespaces.SUPPORTED_FEATURES, Empty.value());
+        final var supportedFeatures = stmt.getFromNamespace(ParserNamespaces.SUPPORTED_FEATURES, Empty.value());
         if (supportedFeatures != null && !supportedFeatures.contains(stmt.getArgument())) {
             stmt.setUnsupported();
         }
index d95ffc94c514ae4afac5f52881752da670f0cc5a..10bd31a53e606db785d0046ad6a70e84658c4d87 100644 (file)
@@ -44,7 +44,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceKeyCriterion;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.source.YangVersionLinkageException;
 
 @Beta
@@ -107,10 +106,10 @@ public final class IncludeStatementSupport
                         "Cannot include a version %s submodule in a version %s module", subVersion, modVersion);
                 }
 
-                stmt.addToNs(SourceParserNamespaces.INCLUDED_MODULE,
+                stmt.addToNs(ParserNamespaces.INCLUDED_MODULE,
                     new SourceIdentifier(submoduleName, revision != null ? revision.getArgument() : null),
                     includedSubModuleContext);
-                stmt.addToNs(SourceParserNamespaces.INCLUDED_SUBMODULE_NAME_TO_MODULECTX, stmt.argument(),
+                stmt.addToNs(ParserNamespaces.INCLUDED_SUBMODULE_NAME_TO_MODULECTX, stmt.argument(),
                     includedSubModuleContext);
             }
 
index 561c37e863031164c74e4e6190f7788be2ed9726..5352998aef95fb266bce83563bb271bfc5238271 100644 (file)
@@ -37,9 +37,9 @@ import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.PrefixEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleEffectiveStatement;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveModule;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 final class ModuleEffectiveStatementImpl extends AbstractEffectiveModule<ModuleStatement, ModuleEffectiveStatement>
         implements Module, ModuleEffectiveStatement {
@@ -73,7 +73,7 @@ final class ModuleEffectiveStatementImpl extends AbstractEffectiveModule<ModuleS
         namespaceToPrefix = ImmutableMap.copyOf(tmp);
 
         final Map<Unqualified, StmtContext<?, ?, ?>> includedSubmodules =
-                stmt.localNamespacePortion(SourceParserNamespaces.INCLUDED_SUBMODULE_NAME_TO_MODULECTX);
+                stmt.localNamespacePortion(ParserNamespaces.INCLUDED_SUBMODULE_NAME_TO_MODULECTX);
         nameToSubmodule = includedSubmodules == null ? ImmutableMap.of()
                 : ImmutableMap.copyOf(Maps.transformValues(includedSubmodules,
                     submodule -> (SubmoduleEffectiveStatement) submodule.buildEffective()));
index 81771ec0d450e1c3d343effe047bdb58fe6730ee..a49038da2b856003c83b3f6fda9f93080906934a 100644 (file)
@@ -49,7 +49,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 @Beta
 public final class ModuleStatementSupport
@@ -131,19 +130,19 @@ public final class ModuleStatementSupport
         final XMLNamespace moduleNs = SourceException.throwIfNull(
             firstAttributeOf(stmt.declaredSubstatements(), NamespaceStatement.class), stmt,
             "Namespace of the module [%s] is missing", moduleName);
-        stmt.addToNs(SourceParserNamespaces.MODULE_NAME_TO_NAMESPACE, moduleName, moduleNs);
+        stmt.addToNs(ParserNamespaces.MODULE_NAME_TO_NAMESPACE, moduleName, moduleNs);
 
         final String modulePrefix = SourceException.throwIfNull(
             firstAttributeOf(stmt.declaredSubstatements(), PrefixStatement.class), stmt,
             "Prefix of the module [%s] is missing", moduleName);
-        stmt.addToNs(SourceParserNamespaces.IMP_PREFIX_TO_NAMESPACE, modulePrefix, moduleNs);
+        stmt.addToNs(ParserNamespaces.IMP_PREFIX_TO_NAMESPACE, modulePrefix, moduleNs);
 
         stmt.addContext(ParserNamespaces.PRELINKAGE_MODULE, moduleName, stmt);
 
         final Revision revisionDate = StmtContextUtils.getLatestRevision(stmt.declaredSubstatements()).orElse(null);
         final QNameModule qNameModule = QNameModule.create(moduleNs, revisionDate).intern();
 
-        stmt.addToNs(SourceParserNamespaces.MODULECTX_TO_QNAME, stmt, qNameModule);
+        stmt.addToNs(ParserNamespaces.MODULECTX_TO_QNAME, stmt, qNameModule);
         stmt.setRootIdentifier(new SourceIdentifier(stmt.getArgument(), revisionDate));
     }
 
@@ -166,7 +165,7 @@ public final class ModuleStatementSupport
         final SourceIdentifier moduleIdentifier = new SourceIdentifier(moduleName, revisionDate);
 
         stmt.addContext(ParserNamespaces.MODULE, moduleIdentifier, stmt);
-        stmt.addContext(SourceParserNamespaces.MODULE_FOR_BELONGSTO, moduleName, stmt);
+        stmt.addContext(ParserNamespaces.MODULE_FOR_BELONGSTO, moduleName, stmt);
         stmt.addContext(ParserNamespaces.NAMESPACE_TO_MODULE, qNameModule, stmt);
 
         final String modulePrefix = SourceException.throwIfNull(
@@ -174,12 +173,12 @@ public final class ModuleStatementSupport
             "Prefix of the module [%s] is missing", stmt.argument());
 
         stmt.addToNs(QNameModuleNamespace.INSTANCE, Empty.value(), qNameModule);
-        stmt.addToNs(SourceParserNamespaces.PREFIX_TO_MODULE, modulePrefix, qNameModule);
-        stmt.addToNs(SourceParserNamespaces.MODULE_NAME_TO_QNAME, moduleName, qNameModule);
-        stmt.addToNs(SourceParserNamespaces.MODULECTX_TO_QNAME, stmt, qNameModule);
-        stmt.addToNs(SourceParserNamespaces.MODULECTX_TO_SOURCE, stmt, moduleIdentifier);
-        stmt.addToNs(SourceParserNamespaces.MODULE_NAMESPACE_TO_NAME, qNameModule, moduleName);
-        stmt.addToNs(SourceParserNamespaces.IMPORT_PREFIX_TO_MODULECTX, modulePrefix, stmt);
+        stmt.addToNs(ParserNamespaces.PREFIX_TO_MODULE, modulePrefix, qNameModule);
+        stmt.addToNs(ParserNamespaces.MODULE_NAME_TO_QNAME, moduleName, qNameModule);
+        stmt.addToNs(ParserNamespaces.MODULECTX_TO_QNAME, stmt, qNameModule);
+        stmt.addToNs(ParserNamespaces.MODULECTX_TO_SOURCE, stmt, moduleIdentifier);
+        stmt.addToNs(ParserNamespaces.MODULE_NAMESPACE_TO_NAME, qNameModule, moduleName);
+        stmt.addToNs(ParserNamespaces.IMPORT_PREFIX_TO_MODULECTX, modulePrefix, stmt);
     }
 
     @Override
@@ -248,7 +247,7 @@ public final class ModuleStatementSupport
 
     private static Collection<StmtContext<?, ?, ?>> submoduleContexts(final Current<?, ?> stmt) {
         final Map<Unqualified, StmtContext<?, ?, ?>> submodules = stmt.localNamespacePortion(
-            SourceParserNamespaces.INCLUDED_SUBMODULE_NAME_TO_MODULECTX);
+            ParserNamespaces.INCLUDED_SUBMODULE_NAME_TO_MODULECTX);
         return submodules == null ? List.of() : submodules.values();
     }
 
index 2435680a3b2e37e27b2517bef731807e08d35c5f..ebeb22ce74e788d080b0b4145119ddb080fd526c 100644 (file)
@@ -36,12 +36,12 @@ import org.opendaylight.yangtools.yang.model.api.stmt.RevisionEffectiveStatement
 import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement;
 import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveModule;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.meta.CommonStmtCtx;
 import org.opendaylight.yangtools.yang.parser.spi.meta.EffectiveStmtCtx.Current;
 import org.opendaylight.yangtools.yang.parser.spi.meta.MutableStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 final class SubmoduleEffectiveStatementImpl
         extends AbstractEffectiveModule<SubmoduleStatement, SubmoduleEffectiveStatement>
@@ -58,7 +58,7 @@ final class SubmoduleEffectiveStatementImpl
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
         super(stmt, substatements, findSubmodulePrefix(stmt, substatements));
 
-        final QNameModule belongsToModuleQName = stmt.getFromNamespace(SourceParserNamespaces.MODULE_NAME_TO_QNAME,
+        final QNameModule belongsToModuleQName = stmt.getFromNamespace(ParserNamespaces.MODULE_NAME_TO_QNAME,
             findBelongsTo(stmt, substatements).argument());
 
         final Builder<String, ModuleEffectiveStatement> prefixToModuleBuilder = ImmutableMap.builder();
@@ -81,7 +81,7 @@ final class SubmoduleEffectiveStatementImpl
          * sealing of this statement.
          */
         final Map<Unqualified, StmtContext<?, ?, ?>> includedSubmodulesMap = stmt.localNamespacePortion(
-            SourceParserNamespaces.INCLUDED_SUBMODULE_NAME_TO_MODULECTX);
+            ParserNamespaces.INCLUDED_SUBMODULE_NAME_TO_MODULECTX);
         if (includedSubmodulesMap != null) {
             final Set<StmtContext<?, SubmoduleStatement, SubmoduleEffectiveStatement>> submoduleContextsInit =
                 new HashSet<>();
index da6ae7aca3ced77b5038397df8639629160755e1..a87551ed65ec3d48b3ca92754d240263fa62f0ec 100644 (file)
@@ -37,7 +37,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 @Beta
 public final class SubmoduleStatementSupport
@@ -139,7 +138,7 @@ public final class SubmoduleStatementSupport
             "Prefix of belongsTo statement is missing in submodule [%s]", stmt.rawArgument());
 
         final String prefix = prefixSubStmtCtx.rawArgument();
-        stmt.addToNs(SourceParserNamespaces.BELONGSTO_PREFIX_TO_MODULE_NAME, prefix, belongsToModuleName);
+        stmt.addToNs(ParserNamespaces.BELONGSTO_PREFIX_TO_MODULE_NAME, prefix, belongsToModuleName);
     }
 
     @Override
index 349254ce89cd6425e834b7801686a80562a1e4be..65768d1beeffaac0bec0b9e83817b0ab84f886bd 100644 (file)
@@ -60,7 +60,6 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 import org.opendaylight.yangtools.yang.parser.spi.meta.SubstatementValidator;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.validation.ValidationBundles;
 import org.opendaylight.yangtools.yang.parser.spi.validation.ValidationBundles.ValidationBundleType;
 import org.slf4j.Logger;
@@ -256,7 +255,7 @@ public final class UsesStatementSupport
     private static QNameModule getNewQNameModule(final StmtContext<?, ?, ?> targetCtx,
             final StmtContext<?, ?, ?> stmtContext) {
         if (targetCtx.getParentContext() == null) {
-            return targetCtx.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, targetCtx);
+            return targetCtx.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, targetCtx);
         }
         if (targetCtx.publicDefinition() == YangStmtMapping.AUGMENT) {
             return StmtContextUtils.getRootModuleQName(targetCtx);
index 520a145365c83f282d01b5a87ecc28a001fd74bd..67a9754252ebacf61d37cc6ffcbb4eddefb6d6ca 100644 (file)
@@ -38,6 +38,54 @@ public final class NamespaceBehaviours {
     public static final @NonNull NamespaceBehaviour<?, ?> PRELINKAGE_MODULE =
         NamespaceBehaviour.global(ParserNamespaces.PRELINKAGE_MODULE);
 
+    public static final @NonNull NamespaceBehaviour<?, ?> BELONGSTO_PREFIX_TO_MODULECTX =
+        NamespaceBehaviour.sourceLocal(ParserNamespaces.BELONGSTO_PREFIX_TO_MODULECTX);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> BELONGSTO_PREFIX_TO_MODULE_NAME =
+        NamespaceBehaviour.sourceLocal(ParserNamespaces.BELONGSTO_PREFIX_TO_MODULE_NAME);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> MODULE_NAME_TO_QNAME =
+        NamespaceBehaviour.sourceLocal(ParserNamespaces.MODULE_NAME_TO_QNAME);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> IMPORTED_MODULE =
+        NamespaceBehaviour.sourceLocal(ParserNamespaces.IMPORTED_MODULE);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> INCLUDED_MODULE =
+        NamespaceBehaviour.sourceLocal(ParserNamespaces.INCLUDED_MODULE);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> MODULECTX_TO_QNAME =
+        NamespaceBehaviour.global(ParserNamespaces.MODULECTX_TO_QNAME);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> INCLUDED_SUBMODULE_NAME_TO_MODULECTX =
+        NamespaceBehaviour.sourceLocal(ParserNamespaces.INCLUDED_SUBMODULE_NAME_TO_MODULECTX);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> IMP_PREFIX_TO_NAMESPACE =
+        NamespaceBehaviour.rootStatementLocal(ParserNamespaces.IMP_PREFIX_TO_NAMESPACE);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> IMPORT_PREFIX_TO_MODULECTX =
+        NamespaceBehaviour.rootStatementLocal(ParserNamespaces.IMPORT_PREFIX_TO_MODULECTX);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> MODULE_FOR_BELONGSTO =
+        NamespaceBehaviour.global(ParserNamespaces.MODULE_FOR_BELONGSTO);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> SUPPORTED_FEATURES =
+        NamespaceBehaviour.global(ParserNamespaces.SUPPORTED_FEATURES);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> PREFIX_TO_MODULE =
+        NamespaceBehaviour.global(ParserNamespaces.PREFIX_TO_MODULE);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> MODULES_DEVIATED_BY =
+        NamespaceBehaviour.global(ParserNamespaces.MODULES_DEVIATED_BY);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> MODULE_NAMESPACE_TO_NAME =
+        NamespaceBehaviour.global(ParserNamespaces.MODULE_NAMESPACE_TO_NAME);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> MODULE_NAME_TO_NAMESPACE =
+        NamespaceBehaviour.global(ParserNamespaces.MODULE_NAME_TO_NAMESPACE);
+
+    public static final @NonNull NamespaceBehaviour<?, ?> MODULECTX_TO_SOURCE =
+        NamespaceBehaviour.global(ParserNamespaces.MODULECTX_TO_SOURCE);
+
     private NamespaceBehaviours() {
         // Hidden on purpose
     }
index d6a0b59f3b31d41bd3e6f4a0b09eed703ee153a9..a337c834c497e9df3e88cd532b457367272ba9c9 100644 (file)
@@ -7,10 +7,14 @@
  */
 package org.opendaylight.yangtools.yang.parser.spi;
 
+import com.google.common.collect.SetMultimap;
+import java.util.Set;
 import org.eclipse.jdt.annotation.NonNull;
+import org.opendaylight.yangtools.yang.common.Empty;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.common.QNameModule;
 import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
+import org.opendaylight.yangtools.yang.common.XMLNamespace;
 import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ExtensionStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.FeatureEffectiveStatement;
@@ -28,6 +32,7 @@ import org.opendaylight.yangtools.yang.model.api.stmt.TypedefStatement;
 import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ParserNamespace;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
+import org.opendaylight.yangtools.yang.parser.spi.source.PrefixResolver;
 
 /**
  * Baseline {@link ParserNamespace}s mostly derived from YANG specification.
@@ -112,6 +117,113 @@ public final class ParserNamespaces {
         StmtContext<Unqualified, ModuleStatement, ModuleEffectiveStatement>> PRELINKAGE_MODULE =
         new ParserNamespace<>("prelinkage-module");
 
+    /**
+     * Source-specific mapping of belongsTo prefixes to module identifiers. This mapping allows source-specific context
+     * to correctly populate prefixes map for actual parsing phase and eventually, resolve QName for any valid declared
+     * statement.
+     */
+    public static final @NonNull ParserNamespace<String, StmtContext<?, ?, ?>> BELONGSTO_PREFIX_TO_MODULECTX =
+        new ParserNamespace<>("belongsto-prefix-to-module");
+
+    /**
+     * Source-specific mapping of prefixes to namespaces.
+     */
+    // FIXME: bad javadoc
+    public static final @NonNull ParserNamespace<String, Unqualified> BELONGSTO_PREFIX_TO_MODULE_NAME =
+        new ParserNamespace<>("belongsto-prefix-to-name");
+
+    /**
+     * Namespace similar to {@link ParserNamespaces#MODULE} for storing modules into Yang model storage but keyed by
+     * plain name.
+     */
+    // FIXME: Better name?
+    public static final @NonNull ParserNamespace<Unqualified,
+        StmtContext<Unqualified, ModuleStatement, ModuleEffectiveStatement>> MODULE_FOR_BELONGSTO =
+        new ParserNamespace<>("module-belongsto");
+
+    /**
+     * Pre-linkage source-specific mapping of prefixes to module namespaces.
+     */
+    // FIXME: a better name?
+    public static final @NonNull ParserNamespace<String, XMLNamespace> IMP_PREFIX_TO_NAMESPACE =
+        new ParserNamespace<>("prefix-to-xmlnamespace");
+
+    /**
+     * Source-specific mapping of prefix strings to module context.
+     */
+    // FIXME: the context should expose ModuleStatement
+    public static final @NonNull ParserNamespace<String, StmtContext<?, ?, ?>> IMPORT_PREFIX_TO_MODULECTX =
+        new ParserNamespace<>("import-prefix-to-modulectx");
+
+    // FIXME: document this
+    public static final @NonNull ParserNamespace<SourceIdentifier, StmtContext<?, ?, ?>> IMPORTED_MODULE =
+        new ParserNamespace<>("imported-module");
+
+    // FIXME: document this
+    // FIXME: is this 'included submodule' instead?
+    public static final @NonNull ParserNamespace<SourceIdentifier, StmtContext<?, ?, ?>> INCLUDED_MODULE =
+        new ParserNamespace<>("included-module");
+
+    /**
+     * Source-specific mapping of prefixes to namespaces.
+     */
+    // FIXME: bad javadoc
+    // FIXME: the context should expose SubmoduleStatement
+    public static final @NonNull ParserNamespace<Unqualified, StmtContext<?, ?, ?>> INCLUDED_SUBMODULE_NAME_TO_MODULECTX
+        = new ParserNamespace<>("included-submodule-to-modulectx");
+
+    /**
+     * Source-specific mapping of prefixes to namespaces.
+     */
+    // FIXME: bad javadoc
+    public static final @NonNull ParserNamespace<Unqualified, QNameModule> MODULE_NAME_TO_QNAME =
+        new ParserNamespace<>("module-name-to-qnamemodule");
+
+    /**
+     * Global mapping of modules to QNameModules.
+     */
+    public static final @NonNull ParserNamespace<StmtContext<?, ?, ?>, QNameModule> MODULECTX_TO_QNAME =
+        new ParserNamespace<>("modulectx-to-qnamemodule");
+
+    public static final @NonNull ParserNamespace<Empty, Set<QName>> SUPPORTED_FEATURES =
+        new ParserNamespace<>("supportedFeatures");
+
+    /**
+     * Source-specific mapping of prefixes to namespaces. This namespace is populated by all statements which have
+     * impact on the XML namespace, for example {@code import}, {@code belongs-to} and really anywhere a {@code prefix}
+     * statement is present.
+     *
+     * @see PrefixResolver
+     */
+    public static final @NonNull ParserNamespace<String, QNameModule> PREFIX_TO_MODULE =
+        new ParserNamespace<>("prefix-to-qnamemodule");
+
+    /**
+     * Namespace used for storing information about modules that support deviation resolution.
+     * Map key (QNameModule) denotes a module which can be deviated by the modules specified in the Map value.
+     */
+    public static final @NonNull ParserNamespace<Empty, SetMultimap<QNameModule, QNameModule>> MODULES_DEVIATED_BY =
+        new ParserNamespace<>("moduleDeviations");
+
+    /**
+     * Source-specific mapping of prefixes to namespaces.
+     */
+    // FIXME: bad javadoc
+    public static final @NonNull ParserNamespace<QNameModule, Unqualified> MODULE_NAMESPACE_TO_NAME =
+        new ParserNamespace<>("qnamemodule-to-name");
+
+    /**
+     * Pre-linkage global mapping of module names to namespaces.
+     */
+    public static final @NonNull ParserNamespace<Unqualified, XMLNamespace> MODULE_NAME_TO_NAMESPACE =
+        new ParserNamespace<>("module-name-to-xmlnamespace");
+
+    /**
+     * Global mapping of modules to source identifier.
+     */
+    public static final @NonNull ParserNamespace<StmtContext<?, ?, ?>, SourceIdentifier> MODULECTX_TO_SOURCE =
+        new ParserNamespace<>("modulectx-to-source");
+
     private ParserNamespaces() {
         // Hidden on purpose
     }
index e8024bc47b72588c9eb92c32223fd004111bc154..a6033688f9c5334f59a4ad6f5a6de520a4f547e8 100644 (file)
@@ -36,12 +36,12 @@ import org.opendaylight.yangtools.yang.model.api.stmt.PresenceEffectiveStatement
 import org.opendaylight.yangtools.yang.model.api.stmt.RevisionStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnknownStatement;
+import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.InferenceAction;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.InferenceContext;
 import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.Prerequisite;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext.Mutable;
 import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 public final class StmtContextUtils {
     private StmtContextUtils() {
@@ -549,7 +549,7 @@ public final class StmtContextUtils {
         if (ctx.producesDeclared(ModuleStatement.class)) {
             return lookupModuleQName(ctx, ctx);
         } else if (ctx.producesDeclared(SubmoduleStatement.class)) {
-            final var belongsTo = ctx.getAllFromNamespace(SourceParserNamespaces.BELONGSTO_PREFIX_TO_MODULECTX);
+            final var belongsTo = ctx.getAllFromNamespace(ParserNamespaces.BELONGSTO_PREFIX_TO_MODULECTX);
             if (belongsTo == null || belongsTo.isEmpty()) {
                 throw new IllegalArgumentException(ctx + " does not have belongs-to linkage resolved");
             }
@@ -561,7 +561,7 @@ public final class StmtContextUtils {
 
     private static @NonNull QNameModule lookupModuleQName(final NamespaceStmtCtx storage,
             final StmtContext<?, ?, ?> module) {
-        final var ret = storage.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, module);
+        final var ret = storage.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, module);
         if (ret == null) {
             throw new IllegalArgumentException("Failed to look up QNameModule for " + module + " in " + storage);
         }
@@ -571,15 +571,15 @@ public final class StmtContextUtils {
     public static QNameModule getModuleQNameByPrefix(final StmtContext<?, ?, ?> ctx, final String prefix) {
         final StmtContext<?, ?, ?> root = ctx.getRoot();
         final StmtContext<?, ?, ?> importedModule = root.getFromNamespace(
-            SourceParserNamespaces.IMPORT_PREFIX_TO_MODULECTX, prefix);
-        final QNameModule qnameModule = ctx.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, importedModule);
+            ParserNamespaces.IMPORT_PREFIX_TO_MODULECTX, prefix);
+        final QNameModule qnameModule = ctx.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, importedModule);
         if (qnameModule != null) {
             return qnameModule;
         }
 
         if (root.producesDeclared(SubmoduleStatement.class)) {
-            return ctx.getFromNamespace(SourceParserNamespaces.MODULE_NAME_TO_QNAME,
-                root.getFromNamespace(SourceParserNamespaces.BELONGSTO_PREFIX_TO_MODULE_NAME, prefix));
+            return ctx.getFromNamespace(ParserNamespaces.MODULE_NAME_TO_QNAME,
+                root.getFromNamespace(ParserNamespaces.BELONGSTO_PREFIX_TO_MODULE_NAME, prefix));
         }
 
         return null;
index 975a3ca79330cfb983453729b57337b773fdff4a..ca4c2abf02565b996fdfbebfe670d3fadbddb017 100644 (file)
@@ -16,7 +16,6 @@ import java.util.Map;
 import java.util.Map.Entry;
 import org.opendaylight.yangtools.yang.model.api.meta.StatementDefinition;
 import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
-import org.opendaylight.yangtools.yang.parser.spi.source.SourceParserNamespaces;
 
 public final class SubstatementValidator {
     private final ImmutableMap<StatementDefinition, Cardinality> cardinalityMap;
@@ -133,7 +132,7 @@ public final class SubstatementValidator {
                     final StmtContext<?, ?, ?> root = ctx.getRoot();
                     throw new InvalidSubstatementException(ctx, "%s is not valid for %s. Error in module %s (%s)", key,
                         currentStatement, root.rawArgument(),
-                        ctx.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, root));
+                        ctx.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, root));
                 }
 
                 continue;
@@ -145,7 +144,7 @@ public final class SubstatementValidator {
                     throw new InvalidSubstatementException(ctx,
                         "Minimal count of %s for %s is %s, detected %s. Error in module %s (%s)", key, currentStatement,
                         cardinality.getMin(), value, root.rawArgument(),
-                        ctx.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, root));
+                        ctx.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, root));
                 }
 
                 // Encountered a mandatory statement, hence we are not missing it
@@ -156,7 +155,7 @@ public final class SubstatementValidator {
                 throw new InvalidSubstatementException(ctx,
                     "Maximal count of %s for %s is %s, detected %s. Error in module %s (%s)", key, currentStatement,
                     cardinality.getMax(), value, root.rawArgument(),
-                    ctx.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, root));
+                    ctx.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, root));
             }
         }
 
@@ -168,7 +167,7 @@ public final class SubstatementValidator {
             throw new MissingSubstatementException(ctx,
                 "%s is missing %s. Minimal count is %s. Error in module %s (%s)", currentStatement, e.getKey(),
                 e.getValue().getMin(), root.rawArgument(),
-                ctx.getFromNamespace(SourceParserNamespaces.MODULECTX_TO_QNAME, root));
+                ctx.getFromNamespace(ParserNamespaces.MODULECTX_TO_QNAME, root));
         }
     }
 
diff --git a/parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceNamespaceBehaviours.java b/parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceNamespaceBehaviours.java
deleted file mode 100644 (file)
index 095b02d..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 2022 PANTHEON.tech, s.r.o. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.yangtools.yang.parser.spi.source;
-
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.parser.spi.meta.NamespaceBehaviour;
-
-/**
- * {@link NamespaceBehaviour}s corresponding to {@link SourceParserNamespaces}.
- */
-public final class SourceNamespaceBehaviours {
-    public static final @NonNull NamespaceBehaviour<?, ?> BELONGSTO_PREFIX_TO_MODULECTX =
-        NamespaceBehaviour.sourceLocal(SourceParserNamespaces.BELONGSTO_PREFIX_TO_MODULECTX);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> BELONGSTO_PREFIX_TO_MODULE_NAME =
-        NamespaceBehaviour.sourceLocal(SourceParserNamespaces.BELONGSTO_PREFIX_TO_MODULE_NAME);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> MODULE_NAME_TO_QNAME =
-        NamespaceBehaviour.sourceLocal(SourceParserNamespaces.MODULE_NAME_TO_QNAME);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> IMPORTED_MODULE =
-        NamespaceBehaviour.sourceLocal(SourceParserNamespaces.IMPORTED_MODULE);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> INCLUDED_MODULE =
-        NamespaceBehaviour.sourceLocal(SourceParserNamespaces.INCLUDED_MODULE);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> MODULECTX_TO_QNAME =
-        NamespaceBehaviour.global(SourceParserNamespaces.MODULECTX_TO_QNAME);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> INCLUDED_SUBMODULE_NAME_TO_MODULECTX =
-        NamespaceBehaviour.sourceLocal(SourceParserNamespaces.INCLUDED_SUBMODULE_NAME_TO_MODULECTX);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> IMP_PREFIX_TO_NAMESPACE =
-        NamespaceBehaviour.rootStatementLocal(SourceParserNamespaces.IMP_PREFIX_TO_NAMESPACE);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> IMPORT_PREFIX_TO_MODULECTX =
-        NamespaceBehaviour.rootStatementLocal(SourceParserNamespaces.IMPORT_PREFIX_TO_MODULECTX);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> MODULE_FOR_BELONGSTO =
-        NamespaceBehaviour.global(SourceParserNamespaces.MODULE_FOR_BELONGSTO);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> SUPPORTED_FEATURES =
-        NamespaceBehaviour.global(SourceParserNamespaces.SUPPORTED_FEATURES);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> PREFIX_TO_MODULE =
-        NamespaceBehaviour.global(SourceParserNamespaces.PREFIX_TO_MODULE);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> MODULES_DEVIATED_BY =
-        NamespaceBehaviour.global(SourceParserNamespaces.MODULES_DEVIATED_BY);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> MODULE_NAMESPACE_TO_NAME =
-        NamespaceBehaviour.global(SourceParserNamespaces.MODULE_NAMESPACE_TO_NAME);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> MODULE_NAME_TO_NAMESPACE =
-        NamespaceBehaviour.global(SourceParserNamespaces.MODULE_NAME_TO_NAMESPACE);
-
-    public static final @NonNull NamespaceBehaviour<?, ?> MODULECTX_TO_SOURCE =
-        NamespaceBehaviour.global(SourceParserNamespaces.MODULECTX_TO_SOURCE);
-
-    private SourceNamespaceBehaviours() {
-        // Hidden on purpose
-    }
-}
diff --git a/parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceParserNamespaces.java b/parser/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/source/SourceParserNamespaces.java
deleted file mode 100644 (file)
index 1780f27..0000000
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 2022 PANTHEON.tech, s.r.o. and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-package org.opendaylight.yangtools.yang.parser.spi.source;
-
-import com.google.common.collect.SetMultimap;
-import java.util.Set;
-import org.eclipse.jdt.annotation.NonNull;
-import org.opendaylight.yangtools.yang.common.Empty;
-import org.opendaylight.yangtools.yang.common.QName;
-import org.opendaylight.yangtools.yang.common.QNameModule;
-import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified;
-import org.opendaylight.yangtools.yang.common.XMLNamespace;
-import org.opendaylight.yangtools.yang.model.api.stmt.ModuleEffectiveStatement;
-import org.opendaylight.yangtools.yang.model.api.stmt.ModuleStatement;
-import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
-import org.opendaylight.yangtools.yang.parser.spi.ParserNamespaces;
-import org.opendaylight.yangtools.yang.parser.spi.meta.ParserNamespace;
-import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-
-/**
- * Namespaces related to YANG/YIN source processing.
- */
-public final class SourceParserNamespaces {
-    /**
-     * Source-specific mapping of belongsTo prefixes to module identifiers. This mapping allows source-specific context
-     * to correctly populate prefixes map for actual parsing phase and eventually, resolve QName for any valid declared
-     * statement.
-     */
-    public static final @NonNull ParserNamespace<String, StmtContext<?, ?, ?>> BELONGSTO_PREFIX_TO_MODULECTX =
-        new ParserNamespace<>("belongsto-prefix-to-module");
-
-    /**
-     * Source-specific mapping of prefixes to namespaces.
-     */
-    // FIXME: bad javadoc
-    public static final @NonNull ParserNamespace<String, Unqualified> BELONGSTO_PREFIX_TO_MODULE_NAME =
-        new ParserNamespace<>("belongsto-prefix-to-name");
-
-    /**
-     * Namespace similar to {@link ParserNamespaces#MODULE} for storing modules into Yang model storage but keyed by
-     * plain name.
-     */
-    // FIXME: Better name?
-    public static final @NonNull ParserNamespace<Unqualified,
-        StmtContext<Unqualified, ModuleStatement, ModuleEffectiveStatement>> MODULE_FOR_BELONGSTO =
-        new ParserNamespace<>("module-belongsto");
-
-    /**
-     * Pre-linkage source-specific mapping of prefixes to module namespaces.
-     */
-    // FIXME: a better name?
-    public static final @NonNull ParserNamespace<String, XMLNamespace> IMP_PREFIX_TO_NAMESPACE =
-        new ParserNamespace<>("prefix-to-xmlnamespace");
-
-    /**
-     * Source-specific mapping of prefix strings to module context.
-     */
-    public static final @NonNull ParserNamespace<String, StmtContext<?, ?, ?>> IMPORT_PREFIX_TO_MODULECTX =
-        new ParserNamespace<>("import-prefix-to-modulectx");
-
-    // FIXME: document this
-    public static final @NonNull ParserNamespace<SourceIdentifier, StmtContext<?, ?, ?>> IMPORTED_MODULE =
-        new ParserNamespace<>("imported-module");
-
-    // FIXME: document this
-    // FIXME: is this 'included submodule' instead?
-    public static final @NonNull ParserNamespace<SourceIdentifier, StmtContext<?, ?, ?>> INCLUDED_MODULE =
-        new ParserNamespace<>("included-module");
-
-    /**
-     * Source-specific mapping of prefixes to namespaces.
-     */
-    // FIXME: bad javadoc
-    public static final @NonNull ParserNamespace<Unqualified, StmtContext<?, ?, ?>> INCLUDED_SUBMODULE_NAME_TO_MODULECTX
-        = new ParserNamespace<>("included-submodule-to-modulectx");
-
-    /**
-     * Source-specific mapping of prefixes to namespaces.
-     */
-    // FIXME: bad javadoc
-    public static final @NonNull ParserNamespace<Unqualified, QNameModule> MODULE_NAME_TO_QNAME =
-        new ParserNamespace<>("module-name-to-qnamemodule");
-
-    /**
-     * Global mapping of modules to QNameModules.
-     */
-    public static final @NonNull ParserNamespace<StmtContext<?, ?, ?>, QNameModule> MODULECTX_TO_QNAME =
-        new ParserNamespace<>("modulectx-to-qnamemodule");
-
-    public static final @NonNull ParserNamespace<Empty, Set<QName>> SUPPORTED_FEATURES =
-        new ParserNamespace<>("supportedFeatures");
-
-    /**
-     * Source-specific mapping of prefixes to namespaces. This namespace is populated by all statements which have
-     * impact on the XML namespace, for example {@code import}, {@code belongs-to} and really anywhere a {@code prefix}
-     * statement is present.
-     *
-     * @see PrefixResolver
-     */
-    public static final @NonNull ParserNamespace<String, QNameModule> PREFIX_TO_MODULE =
-        new ParserNamespace<>("prefix-to-qnamemodule");
-
-    /**
-     * Namespace used for storing information about modules that support deviation resolution.
-     * Map key (QNameModule) denotes a module which can be deviated by the modules specified in the Map value.
-     */
-    public static final @NonNull ParserNamespace<Empty, SetMultimap<QNameModule, QNameModule>> MODULES_DEVIATED_BY =
-        new ParserNamespace<>("moduleDeviations");
-
-    /**
-     * Source-specific mapping of prefixes to namespaces.
-     */
-    // FIXME: bad javadoc
-    public static final @NonNull ParserNamespace<QNameModule, Unqualified> MODULE_NAMESPACE_TO_NAME =
-        new ParserNamespace<>("qnamemodule-to-name");
-
-    /**
-     * Pre-linkage global mapping of module names to namespaces.
-     */
-    public static final @NonNull ParserNamespace<Unqualified, XMLNamespace> MODULE_NAME_TO_NAMESPACE =
-        new ParserNamespace<>("module-name-to-xmlnamespace");
-
-    /**
-     * Global mapping of modules to source identifier.
-     */
-    public static final @NonNull ParserNamespace<StmtContext<?, ?, ?>, SourceIdentifier> MODULECTX_TO_SOURCE =
-        new ParserNamespace<>("modulectx-to-source");
-
-    private SourceParserNamespaces() {
-        // Hidden on purpose
-    }
-}