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.IncludedModuleContext;
-import org.opendaylight.yangtools.yang.parser.spi.source.IncludedSubmoduleNameToIdentifier;
+import org.opendaylight.yangtools.yang.parser.spi.source.IncludedSubmoduleNameToModuleCtx;
import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective.IncludeEffectiveStatementImpl;
public class IncludeStatementImpl extends AbstractDeclaredStatement<String> implements IncludeStatement {
stmt.addToNs(IncludedModuleContext.class, includeSubmoduleIdentifier,
includedSubModuleContext);
- stmt.addToNs(IncludedSubmoduleNameToIdentifier.class,
- stmt.getStatementArgument(), includeSubmoduleIdentifier);
+ stmt.addToNs(IncludedSubmoduleNameToModuleCtx.class, stmt.getStatementArgument(),
+ includedSubModuleContext);
}
@Override
import org.opendaylight.yangtools.yang.parser.spi.source.ImportPrefixToSemVerSourceIdentifier;
import org.opendaylight.yangtools.yang.parser.spi.source.ImportedModuleContext;
import org.opendaylight.yangtools.yang.parser.spi.source.IncludedModuleContext;
-import org.opendaylight.yangtools.yang.parser.spi.source.IncludedSubmoduleNameToIdentifier;
+import org.opendaylight.yangtools.yang.parser.spi.source.IncludedSubmoduleNameToModuleCtx;
import org.opendaylight.yangtools.yang.parser.spi.source.ModuleCtxToModuleIdentifier;
import org.opendaylight.yangtools.yang.parser.spi.source.ModuleCtxToModuleQName;
import org.opendaylight.yangtools.yang.parser.spi.source.ModuleIdentifierToModuleQName;
.addSupport(QNameCacheNamespace.getInstance())
.addSupport(sourceLocal(ImportedModuleContext.class))
.addSupport(sourceLocal(IncludedModuleContext.class))
- .addSupport(sourceLocal(IncludedSubmoduleNameToIdentifier.class))
+ .addSupport(sourceLocal(IncludedSubmoduleNameToModuleCtx.class))
.addSupport(sourceLocal(ImpPrefixToModuleIdentifier.class))
.addSupport(sourceLocal(BelongsToPrefixToModuleCtx.class))
.addSupport(sourceLocal(URIStringToImpPrefix.class))
import org.opendaylight.yangtools.yang.model.api.GroupingDefinition;
import org.opendaylight.yangtools.yang.model.api.IdentitySchemaNode;
import org.opendaylight.yangtools.yang.model.api.Module;
-import org.opendaylight.yangtools.yang.model.api.ModuleIdentifier;
import org.opendaylight.yangtools.yang.model.api.ModuleImport;
import org.opendaylight.yangtools.yang.model.api.NotificationDefinition;
import org.opendaylight.yangtools.yang.model.api.RpcDefinition;
import org.opendaylight.yangtools.yang.model.api.meta.DeclaredStatement;
import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
import org.opendaylight.yangtools.yang.model.api.stmt.SubmoduleStatement;
-import org.opendaylight.yangtools.yang.parser.spi.SubmoduleNamespace;
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.meta.StmtContext.Mutable;
-import org.opendaylight.yangtools.yang.parser.spi.source.IncludedSubmoduleNameToIdentifier;
+import org.opendaylight.yangtools.yang.parser.spi.source.IncludedSubmoduleNameToModuleCtx;
import org.opendaylight.yangtools.yang.parser.spi.source.SourceException;
abstract class AbstractEffectiveModule<D extends DeclaredStatement<String>> extends
// init submodules and substatements of submodules
final List<EffectiveStatement<?, ?>> substatementsOfSubmodules;
- final Map<String, ModuleIdentifier> includedSubmodulesMap = ctx
- .getAllFromCurrentStmtCtxNamespace(IncludedSubmoduleNameToIdentifier.class);
+ final Map<String, StmtContext<?, ?, ?>> includedSubmodulesMap = ctx
+ .getAllFromCurrentStmtCtxNamespace(IncludedSubmoduleNameToModuleCtx.class);
if (includedSubmodulesMap == null || includedSubmodulesMap.isEmpty()) {
this.submodules = ImmutableSet.of();
* for modules. In case of submodules it does not make sense because
* of possible circular chains of includes between submodules.
*/
- final Collection<ModuleIdentifier> includedSubmodules = includedSubmodulesMap.values();
+ final Collection<StmtContext<?, ?, ?>> includedSubmodules = includedSubmodulesMap.values();
final Set<Module> submodulesInit = new HashSet<>();
final List<EffectiveStatement<?, ?>> substatementsOfSubmodulesInit = new ArrayList<>();
- for (final ModuleIdentifier submoduleIdentifier : includedSubmodules) {
- @SuppressWarnings("unchecked")
- final Mutable<String, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>> submoduleCtx =
- (Mutable<String, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>>) ctx
- .getFromNamespace(SubmoduleNamespace.class, submoduleIdentifier);
+ for (final StmtContext<?, ?, ?> submoduleCtx : includedSubmodules) {
final SubmoduleEffectiveStatementImpl submodule = (SubmoduleEffectiveStatementImpl) submoduleCtx
.buildEffective();
submodulesInit.add(submodule);
*/
final Set<StmtContext<?, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>>>
submoduleContextsInit = new HashSet<>();
- for (final ModuleIdentifier submoduleIdentifier : includedSubmodulesMap.values()) {
- final StmtContext<?, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>> submoduleCtx =
- ctx.getFromNamespace(SubmoduleNamespace.class, submoduleIdentifier);
- submoduleContextsInit.add(submoduleCtx);
+ for (final StmtContext<?, ?, ?> submoduleCtx : includedSubmodulesMap.values()) {
+ submoduleContextsInit.add(
+ (StmtContext<?, SubmoduleStatement, EffectiveStatement<String, SubmoduleStatement>>)submoduleCtx);
}
this.submoduleContextsToBuild = ImmutableSet.copyOf(submoduleContextsInit);