Refactor AbstractEffectiveDocumentedNodeWithStatus
[yangtools.git] / yang / yang-parser-rfc7950 / src / main / java / org / opendaylight / yangtools / yang / parser / rfc7950 / stmt / UnknownEffectiveStatementBase.java
index 487f0049e74e1ccff5245ace8838efd8d1f85116..38362a952aff67d22a82cb39323f225545e24c64 100644 (file)
@@ -9,9 +9,6 @@ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt;
 
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableList.Builder;
-import java.util.List;
-import org.eclipse.jdt.annotation.NonNull;
 import org.opendaylight.yangtools.yang.common.QName;
 import org.opendaylight.yangtools.yang.model.api.ExtensionDefinition;
 import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode;
@@ -25,18 +22,18 @@ import org.opendaylight.yangtools.yang.parser.spi.meta.CopyType;
 import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext;
 
 public abstract class UnknownEffectiveStatementBase<A, D extends UnknownStatement<A>>
-        extends AbstractSchemaEffectiveDocumentedNode<A, D> implements UnknownSchemaNode {
+        extends AbstractEffectiveDocumentedNodeWithStatus<A, D> implements UnknownSchemaNode {
 
     private final boolean addedByUses;
     private final boolean addedByAugmentation;
 
     private final ExtensionDefinition extension;
-    private final @NonNull ImmutableList<UnknownSchemaNode> unknownNodes;
     private final QName nodeType;
     private final String nodeParameter;
 
-    protected UnknownEffectiveStatementBase(final StmtContext<A, D, ?> ctx) {
-        super(ctx);
+    protected UnknownEffectiveStatementBase(final StmtContext<A, D, ?> ctx,
+            final ImmutableList<? extends EffectiveStatement<?, ?>> substatements) {
+        super(ctx, substatements);
 
         final StmtContext<?, ExtensionStatement, ExtensionEffectiveStatement> extensionInit =
                 ctx.getFromNamespace(ExtensionNamespace.class, ctx.getPublicDefinition().getStatementName());
@@ -63,15 +60,6 @@ public abstract class UnknownEffectiveStatementBase<A, D extends UnknownStatemen
         }
 
         nodeParameter = ctx.rawStatementArgument() == null ? "" : ctx.rawStatementArgument();
-
-        // TODO init other fields (see Bug1412Test)
-        final Builder<UnknownSchemaNode> builder = ImmutableList.builder();
-        for (final EffectiveStatement<?, ?> effectiveStatement : effectiveSubstatements()) {
-            if (effectiveStatement instanceof UnknownSchemaNode) {
-                builder.add((UnknownSchemaNode) effectiveStatement);
-            }
-        }
-        unknownNodes = builder.build();
     }
 
     @Deprecated
@@ -101,11 +89,6 @@ public abstract class UnknownEffectiveStatementBase<A, D extends UnknownStatemen
         return extension;
     }
 
-    @Override
-    public List<UnknownSchemaNode> getUnknownSchemaNodes() {
-        return unknownNodes;
-    }
-
     @Override
     public String toString() {
         final QName type = getNodeType();