YANGTOOLS-706: split out rfc8040-model-api
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / effective / UnknownEffectiveStatementImpl.java
index 6e197561dc67f9b5ae6b387c21c3d983af5b3fe7..2c4a15476714541b76ee92484e6b3935651f6bbc 100644 (file)
@@ -9,14 +9,16 @@
 package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 
 import java.util.Objects;
+import javax.annotation.Nonnull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.SchemaPath;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
 import org.opendaylight.yangtools.yang.model.api.stmt.UnknownStatement;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
-import org.opendaylight.yangtools.yang.parser.stmt.rfc6020.Utils;
+import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
 
-public final class UnknownEffectiveStatementImpl extends UnknownEffectiveStatementBase<String> {
+public final class UnknownEffectiveStatementImpl
+        extends UnknownEffectiveStatementBase<String, UnknownStatement<String>> {
 
     private final QName maybeQNameArgument;
     private final SchemaPath path;
@@ -25,14 +27,14 @@ public final class UnknownEffectiveStatementImpl extends UnknownEffectiveStateme
         super(ctx);
 
         // FIXME: Remove following section after fixing 4380
-        final UnknownSchemaNode original = ctx.getOriginalCtx() == null ? null : (UnknownSchemaNode) ctx
-                .getOriginalCtx().buildEffective();
+        final UnknownSchemaNode original = (UnknownSchemaNode) ctx.getOriginalCtx().map(StmtContext::buildEffective)
+                .orElse(null);
         if (original != null) {
             this.maybeQNameArgument = original.getQName();
         } else {
             QName maybeQNameArgumentInit = null;
             try {
-                maybeQNameArgumentInit = Utils.qNameFromArgument(ctx, argument());
+                maybeQNameArgumentInit = StmtContextUtils.qnameFromArgument(ctx, argument());
             } catch (IllegalArgumentException e) {
                 maybeQNameArgumentInit = getNodeType();
             }
@@ -41,11 +43,13 @@ public final class UnknownEffectiveStatementImpl extends UnknownEffectiveStateme
         path = ctx.getParentContext().getSchemaPath().get().createChild(maybeQNameArgument);
     }
 
+    @Nonnull
     @Override
     public QName getQName() {
         return maybeQNameArgument;
     }
 
+    @Nonnull
     @Override
     public SchemaPath getPath() {
         return path;