X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-parser-rfc7950%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fparser%2Frfc7950%2Fstmt%2Frefine%2FRefineEffectiveStatementImpl.java;h=772db16619670c11e88a5db80c2a84e012b18dc2;hb=581000862db3d4ac5324cc9502fa0857ac6dc9d7;hp=f2f304f12476de6b432d4c354c9cebda03863b49;hpb=5f9139337eaf713201b1d7c9d5e356d55a9689e9;p=yangtools.git diff --git a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineEffectiveStatementImpl.java b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineEffectiveStatementImpl.java index f2f304f124..772db16619 100644 --- a/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineEffectiveStatementImpl.java +++ b/yang/yang-parser-rfc7950/src/main/java/org/opendaylight/yangtools/yang/parser/rfc7950/stmt/refine/RefineEffectiveStatementImpl.java @@ -7,64 +7,45 @@ */ package org.opendaylight.yangtools.yang.parser.rfc7950.stmt.refine; -import static com.google.common.base.Verify.verifyNotNull; - -import com.google.common.collect.ImmutableList; -import java.util.List; -import java.util.stream.Collectors; -import javax.annotation.Nonnull; +import com.google.common.collect.Iterables; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.model.api.SchemaNode; import org.opendaylight.yangtools.yang.model.api.SchemaPath; -import org.opendaylight.yangtools.yang.model.api.UnknownSchemaNode; import org.opendaylight.yangtools.yang.model.api.stmt.RefineEffectiveStatement; import org.opendaylight.yangtools.yang.model.api.stmt.RefineStatement; -import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier; +import org.opendaylight.yangtools.yang.model.api.stmt.SchemaNodeIdentifier.Descendant; import org.opendaylight.yangtools.yang.parser.rfc7950.stmt.AbstractEffectiveDocumentedNode; import org.opendaylight.yangtools.yang.parser.spi.meta.StmtContext; -// FIXME: hide this class +// FIXME: 6.0.0: hide this class public final class RefineEffectiveStatementImpl - extends AbstractEffectiveDocumentedNode + extends AbstractEffectiveDocumentedNode implements RefineEffectiveStatement, SchemaNode { private final @NonNull QName qname; private final @NonNull SchemaPath path; - private final @NonNull List unknownNodes; private final SchemaNode refineTargetNode; - RefineEffectiveStatementImpl(final StmtContext ctx) { + RefineEffectiveStatementImpl(final StmtContext ctx) { super(ctx); - qname = verifyNotNull(ctx.getStatementArgument().getLastComponent()); + qname = Iterables.getLast(ctx.coerceStatementArgument().getNodeIdentifiers()); path = ctx.getSchemaPath().get(); refineTargetNode = (SchemaNode) ctx.getEffectOfStatement().iterator().next().buildEffective(); - - // initSubstatementCollectionsAndFields - this.unknownNodes = ImmutableList.copyOf(effectiveSubstatements().stream() - .filter(UnknownSchemaNode.class::isInstance) - .map(UnknownSchemaNode.class::cast) - .collect(Collectors.toList())); } public SchemaNode getRefineTargetNode() { return refineTargetNode; } - @Nonnull @Override public QName getQName() { return qname; } - @Nonnull @Override + @Deprecated public SchemaPath getPath() { return path; } - - @Override - public List getUnknownSchemaNodes() { - return unknownNodes; - } } \ No newline at end of file