X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=parser%2Fyang-parser-rfc7950%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Frfc7950%2Fstmt%2Fimport_%2FRevisionImport.java;h=f92094a8789f20fd4ab41ac0cea242ef65a03cba;hb=bf25c16c89625837be48ee685184707339f487ff;hp=57f95eefe68fe4d8983b428179e02d298b749b58;hpb=083ef931709258bed6e0fede5eea7fe3f63ddecc;p=yangtools.git diff --git a/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/RevisionImport.java b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/RevisionImport.java index 57f95eefe6..f92094a878 100644 --- a/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/RevisionImport.java +++ b/parser/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/import_/RevisionImport.java @@ -12,15 +12,14 @@ import static org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils.f import static org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils.firstAttributeOf; import java.util.Collection; -import java.util.Optional; import org.opendaylight.yangtools.yang.common.Empty; import org.opendaylight.yangtools.yang.common.QNameModule; import org.opendaylight.yangtools.yang.common.Revision; +import org.opendaylight.yangtools.yang.common.UnresolvedQName.Unqualified; import org.opendaylight.yangtools.yang.model.api.stmt.ImportEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.ImportStatement; import org.opendaylight.yangtools.yang.model.api.stmt.PrefixStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RevisionDateStatement; -import org.opendaylight.yangtools.yang.model.repo.api.RevisionSourceIdentifier; import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier; import org.opendaylight.yangtools.yang.parser.rfc7950.namespace.ModuleQNameToPrefix; import org.opendaylight.yangtools.yang.parser.spi.ModuleNamespace; @@ -42,21 +41,20 @@ final class RevisionImport { // Hidden on purpose } - static void onLinkageDeclared(final Mutable stmt) { + static void onLinkageDeclared(final Mutable stmt) { final ModelActionBuilder importAction = stmt.newInferenceAction(SOURCE_LINKAGE); final Prerequisite> imported; - final String moduleName = stmt.getArgument(); + final Unqualified moduleName = stmt.getArgument(); final Revision revision = firstAttributeOf(stmt.declaredSubstatements(), RevisionDateStatement.class); if (revision == null) { imported = importAction.requiresCtx(stmt, ModuleNamespace.class, NamespaceKeyCriterion.latestRevisionModule(moduleName), SOURCE_LINKAGE); } else { - imported = importAction.requiresCtx(stmt, ModuleNamespace.class, - RevisionSourceIdentifier.create(moduleName, Optional.of(revision)), SOURCE_LINKAGE); + imported = importAction.requiresCtx(stmt, ModuleNamespace.class, new SourceIdentifier(moduleName, revision), + SOURCE_LINKAGE); } - final Prerequisite> linkageTarget = importAction.mutatesCtx(stmt.getRoot(), - SOURCE_LINKAGE); + final Prerequisite> linkageTarget = importAction.mutatesCtx(stmt.getRoot(), SOURCE_LINKAGE); importAction.apply(new InferenceAction() { @Override @@ -65,7 +63,7 @@ final class RevisionImport { final SourceIdentifier importedModuleIdentifier = stmt.getFromNamespace(ModuleCtxToSourceIdentifier.class, importedModule); - stmt.addToNs(ImportedVersionNamespace.class, Empty.getInstance(), importedModuleIdentifier); + stmt.addToNs(ImportedVersionNamespace.class, Empty.value(), importedModuleIdentifier); final QNameModule mod = InferenceException.throwIfNull(stmt.getFromNamespace( ModuleCtxToModuleQName.class, importedModule), stmt, "Failed to find module of %s", importedModule); @@ -80,16 +78,15 @@ final class RevisionImport { @Override public void prerequisiteFailed(final Collection> failed) { if (failed.contains(imported)) { - throw new InferenceException(stmt, "Imported module [%s] was not found.", moduleName); + throw new InferenceException(stmt, "Imported module [%s] was not found.", + moduleName.getLocalName()); } } }); } - static SourceIdentifier getImportedSourceIdentifier(final StmtContext stmt) { - final StmtContext revision = findFirstDeclaredSubstatement(stmt, - RevisionDateStatement.class); - return revision == null ? RevisionSourceIdentifier.create(stmt.argument()) - : RevisionSourceIdentifier.create(stmt.argument(), revision.argument()); + static SourceIdentifier getImportedSourceIdentifier(final StmtContext stmt) { + final var revision = findFirstDeclaredSubstatement(stmt, RevisionDateStatement.class); + return new SourceIdentifier(stmt.getArgument(), revision != null ? revision.getArgument() : null); } }