import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder;
import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.InferenceAction;
import org.opendaylight.yangtools.yang.parser.spi.meta.ModelActionBuilder.Prerequisite;
-import org.opendaylight.yangtools.yang.parser.spi.meta.OpenconfigVersionModuleNamespace;
-import org.opendaylight.yangtools.yang.parser.spi.meta.OpenconfigVersionNamespace;
+import org.opendaylight.yangtools.yang.parser.spi.meta.SemanticVersionModuleNamespace;
+import org.opendaylight.yangtools.yang.parser.spi.meta.SemanticVersionNamespace;
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.ImpPrefixToModuleIdentifier;
import org.opendaylight.yangtools.yang.parser.spi.source.ImpPrefixToNamespace;
-import org.opendaylight.yangtools.yang.parser.spi.source.ImpPrefixToOpenconfigVerModuleIdentifier;
+import org.opendaylight.yangtools.yang.parser.spi.source.ImpPrefixToSemVerModuleIdentifier;
import org.opendaylight.yangtools.yang.parser.spi.source.ImportedModuleContext;
import org.opendaylight.yangtools.yang.parser.spi.source.ModuleCtxToModuleIdentifier;
import org.opendaylight.yangtools.yang.parser.spi.source.ModuleNameToNamespace;
.builder(YangStmtMapping.IMPORT)
.addMandatory(YangStmtMapping.PREFIX)
.addOptional(YangStmtMapping.REVISION_DATE)
- .addOptional(SupportedExtensionsMapping.OPENCONFIG_VERSION)
+ .addOptional(SupportedExtensionsMapping.SEMANTIC_VERSION)
.build();
public ImportStatementDefinition() {
@Override
public void onLinkageDeclared(
final Mutable<String, ImportStatement, EffectiveStatement<String, ImportStatement>> stmt) {
- if (stmt.isEnabledOpenconfigVersioning()) {
- OpenconfigVersionImport.onLinkageDeclared(stmt);
+ if (stmt.isEnabledSemanticVersioning()) {
+ SemanticVersionImport.onLinkageDeclared(stmt);
} else {
RevisionImport.onLinkageDeclared(stmt);
}
}
}
- private static class OpenconfigVersionImport {
- private OpenconfigVersionImport() {
+ private static class SemanticVersionImport {
+ private SemanticVersionImport() {
throw new UnsupportedOperationException("Utility class");
}
if (importedModuleEntry != null) {
importedModule = importedModuleEntry.getValue();
importedModuleIdentifier = importedModule.getFromNamespace(ModuleCtxToModuleIdentifier.class, importedModule);
- semVerModuleIdentifier = createOpenconfigVerModuleIdentifier(importedModuleIdentifier, importedModuleEntry.getKey());
+ semVerModuleIdentifier = createSemVerModuleIdentifier(importedModuleIdentifier, importedModuleEntry.getKey());
} else {
throw new InferenceException(stmt.getStatementSourceReference(),
"Unable to find module compatible with requested import [%s(%s)].", impIdentifier
linkageTarget.get().addToNs(ImportedModuleContext.class, importedModuleIdentifier, importedModule);
final String impPrefix = firstAttributeOf(stmt.declaredSubstatements(), PrefixStatement.class);
stmt.addToNs(ImpPrefixToModuleIdentifier.class, impPrefix, importedModuleIdentifier);
- stmt.addToNs(ImpPrefixToOpenconfigVerModuleIdentifier.class, impPrefix, semVerModuleIdentifier);
+ stmt.addToNs(ImpPrefixToSemVerModuleIdentifier.class, impPrefix, semVerModuleIdentifier);
final URI modNs = firstAttributeOf(importedModule.declaredSubstatements(), NamespaceStatement.class);
stmt.addToNs(URIStringToImpPrefix.class, modNs.toString(), impPrefix);
}
private static SemVer getRequestedImportVersion(final Mutable<?, ?, ?> impStmt) {
- SemVer requestedImportVersion = impStmt.getFromNamespace(OpenconfigVersionNamespace.class, impStmt);
+ SemVer requestedImportVersion = impStmt.getFromNamespace(SemanticVersionNamespace.class, impStmt);
if (requestedImportVersion == null) {
- requestedImportVersion = Module.DEFAULT_OPENCONFIG_VERSION;
+ requestedImportVersion = Module.DEFAULT_SEMANTIC_VERSION;
}
return requestedImportVersion;
}
private static Entry<SemVer, StmtContext<?, ?, ?>> findRecentCompatibleModuleEntry(final String moduleName,
final Mutable<String, ImportStatement, EffectiveStatement<String, ImportStatement>> impStmt) {
NavigableMap<SemVer, StmtContext<?, ?, ?>> allRelevantModulesMap = impStmt.getFromNamespace(
- OpenconfigVersionModuleNamespace.class, moduleName);
+ SemanticVersionModuleNamespace.class, moduleName);
if (allRelevantModulesMap == null) {
return null;
}
Optional.of(SimpleDateFormatUtil.DEFAULT_DATE_IMP));
}
- private static ModuleIdentifier createOpenconfigVerModuleIdentifier(final ModuleIdentifier importedModuleIdentifier,
+ private static ModuleIdentifier createSemVerModuleIdentifier(final ModuleIdentifier importedModuleIdentifier,
final SemVer semVer) {
return ModuleIdentifierImpl.create(importedModuleIdentifier.getName(),
Optional.ofNullable(importedModuleIdentifier.getNamespace()),