Bug 3670 (part 1/5): Use of new statement parser in yang-maven-plugin
[yangtools.git] / yang / yang-parser-impl / src / main / java / org / opendaylight / yangtools / yang / parser / stmt / rfc6020 / effective / UnknownEffectiveStatementImpl.java
index 0493465c190ea5e26c8fc3973964f25ad959957d..00737b3feb3721006c263f91934bcd7d84a85d2a 100644 (file)
@@ -8,9 +8,6 @@
 
 package org.opendaylight.yangtools.yang.parser.stmt.rfc6020.effective;
 
-import java.util.Set;
-import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContextUtils;
-
 import java.util.ArrayList;
 import java.util.List;
 import org.opendaylight.yangtools.yang.common.QName;
@@ -50,7 +47,7 @@ public class UnknownEffectiveStatementImpl extends EffectiveStatementBase<String
 
         nodeType = extension.getQName();
         nodeParameter = argument();
-        qName = argument() != null ? QName.create(Utils.qNameFromArgument(ctx, ctx.getStatementArgument()).getModule(), argument()) : null;
+        qName = argument() != null ? QName.create(Utils.qNameFromArgument(ctx, ctx.getStatementArgument()).getModule(), argument()) : extension.getQName();
         path = Utils.getSchemaPath(ctx);
 
         // TODO init other fields (see Bug1412Test)
@@ -73,7 +70,7 @@ public class UnknownEffectiveStatementImpl extends EffectiveStatementBase<String
     private void initCopyType(
             final StmtContext<String, UnknownStatement<String>, ?> ctx) {
 
-        Set<TypeOfCopy> copyTypesFromOriginal = StmtContextUtils.getCopyTypesFromOriginal(ctx);
+        List<TypeOfCopy> copyTypesFromOriginal = ctx.getCopyHistory();
 
         if(copyTypesFromOriginal.contains(TypeOfCopy.ADDED_BY_AUGMENTATION)) {
             augmenting = true;
@@ -85,7 +82,7 @@ public class UnknownEffectiveStatementImpl extends EffectiveStatementBase<String
             addedByUses = augmenting = true;
         }
 
-        if (ctx.getTypeOfCopy() != TypeOfCopy.ORIGINAL) {
+        if (ctx.getOriginalCtx() != null) {
             original = (UnknownSchemaNode) ctx.getOriginalCtx().buildEffective();
         }
     }