Move more statements
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / import_ / ImportEffectiveStatementImpl.java
index 812a39f64a78e4873063dd4745efa926914e283d..f69d3319f69ba38d854ebd67866cf589ec43d29f 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.import_;
 import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableList;
 import java.util.Optional;
+import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
 import org.opendaylight.yangtools.concepts.SemVer;
 import org.opendaylight.yangtools.yang.common.Revision;
@@ -17,8 +18,10 @@ import org.opendaylight.yangtools.yang.model.api.ModuleImport;
 import org.opendaylight.yangtools.yang.model.api.meta.EffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ImportEffectiveStatement;
 import org.opendaylight.yangtools.yang.model.api.stmt.ImportStatement;
-import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements;
-import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.EffectiveStatementMixins.DocumentedNodeMixin;
+import org.opendaylight.yangtools.yang.model.repo.api.SemVerSourceIdentifier;
+import org.opendaylight.yangtools.yang.model.repo.api.SourceIdentifier;
+import org.opendaylight.yangtools.yang.model.spi.meta.AbstractDeclaredEffectiveStatement.DefaultArgument.WithSubstatements;
+import org.opendaylight.yangtools.yang.model.spi.meta.EffectiveStatementMixins.DocumentedNodeMixin;
 
 final class ImportEffectiveStatementImpl extends WithSubstatements<String, ImportStatement>
         implements ImportEffectiveStatement, ModuleImport, DocumentedNodeMixin<String, ImportStatement> {
@@ -27,10 +30,12 @@ final class ImportEffectiveStatementImpl extends WithSubstatements<String, Impor
 
     ImportEffectiveStatementImpl(final ImportStatement declared,
             final ImmutableList<? extends EffectiveStatement<?, ?>> substatements,
-            final @Nullable Revision revision, final @Nullable SemVer semVer) {
+            final @NonNull SourceIdentifier importedSource) {
         super(declared, substatements);
-        this.revision = revision;
-        this.semVer = semVer;
+        this.revision = importedSource.getRevision().orElse(null);
+        this.semVer = importedSource instanceof SemVerSourceIdentifier
+            ? ((SemVerSourceIdentifier) importedSource).getSemanticVersion().orElse(null)
+                : null;
     }
 
     @Override
@@ -45,7 +50,7 @@ final class ImportEffectiveStatementImpl extends WithSubstatements<String, Impor
 
     @Override
     public String getPrefix() {
-        return getDeclared().getPrefix().getValue();
+        return getDeclared().getPrefix().argument();
     }
 
     @Override