X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=yang%2Fyang-data-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fyangtools%2Fyang%2Fdata%2Fimpl%2Fschema%2FImmutableNormalizedNodeStreamWriter.java;h=c0f800f07f2031b1116d36e9d149d5bc8fcaa632;hb=1dff2e9ac6d7a70deaf9d86f1e314717827c9ba4;hp=3ac6f32b0871a27a5982e77c25af8c83eb8ae642;hpb=c696a99dc6659f418e93fdaebaae2933331c85c7;p=yangtools.git diff --git a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java index 3ac6f32b08..c0f800f07f 100644 --- a/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java +++ b/yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/ImmutableNormalizedNodeStreamWriter.java @@ -8,10 +8,9 @@ package org.opendaylight.yangtools.yang.data.impl.schema; import com.google.common.base.Preconditions; -import java.io.IOException; import java.util.ArrayDeque; +import java.util.Collection; import java.util.Deque; -import java.util.List; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; @@ -61,10 +60,14 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream private final Deque builders = new ArrayDeque<>(); @SuppressWarnings("rawtypes") - private ImmutableNormalizedNodeStreamWriter( final NormalizedNodeContainerBuilder topLevelBuilder) { + protected ImmutableNormalizedNodeStreamWriter(final NormalizedNodeContainerBuilder topLevelBuilder) { builders.push(topLevelBuilder); } + protected ImmutableNormalizedNodeStreamWriter(final NormalizedNodeResult result) { + this(new NormalizedNodeResultBuilder(result)); + } + /** * Creates a {@link NormalizedNodeStreamWriter} which creates instances of supplied * {@link NormalizedNode}s and writes them to supplied builder as child nodes. @@ -100,7 +103,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream * @return {@link NormalizedNodeStreamWriter} which will write item to supplied result holder. */ public static final NormalizedNodeStreamWriter from(final NormalizedNodeResult result) { - return new ImmutableNormalizedNodeStreamWriter(new NormalizedNodeResultBuilder(result)); + return new ImmutableNormalizedNodeStreamWriter(result); } @@ -115,7 +118,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream } @SuppressWarnings("unchecked") - private void writeChild(final NormalizedNode child) { + protected void writeChild(final NormalizedNode child) { getCurrent().addChild(child); } @@ -124,42 +127,42 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream public void endNode() { final NormalizedNodeContainerBuilder finishedBuilder = builders.poll(); Preconditions.checkState(finishedBuilder != null, "Node which should be closed does not exists."); - NormalizedNodeContainerBuilder current = getCurrent(); + final NormalizedNodeContainerBuilder current = getCurrent(); Preconditions.checkState(current != null, "Reached top level node, which could not be closed in this writer."); - NormalizedNode product = finishedBuilder.build(); + final NormalizedNode product = finishedBuilder.build(); current.addChild(product); } @Override - public void leafNode(final NodeIdentifier name, final Object value) throws IllegalArgumentException { + public void leafNode(final NodeIdentifier name, final Object value) { checkDataNodeContainer(); writeChild(ImmutableNodes.leafNode(name, value)); } @Override - public void startLeafSet(final NodeIdentifier name, final int childSizeHint) throws IllegalArgumentException { + public void startLeafSet(final NodeIdentifier name, final int childSizeHint) { checkDataNodeContainer(); - ListNodeBuilder> builder = UNKNOWN_SIZE == childSizeHint ? + final ListNodeBuilder> builder = UNKNOWN_SIZE == childSizeHint ? ImmutableLeafSetNodeBuilder.create() : ImmutableLeafSetNodeBuilder.create(childSizeHint); builder.withNodeIdentifier(name); enter(builder); } @Override - public void leafSetEntryNode(final Object value) throws IllegalArgumentException { + public void leafSetEntryNode(final Object value) { Preconditions.checkArgument(getCurrent() instanceof ImmutableLeafSetNodeBuilder); @SuppressWarnings("unchecked") - ListNodeBuilder> builder = ((ImmutableLeafSetNodeBuilder) getCurrent()); + final ListNodeBuilder> builder = ((ImmutableLeafSetNodeBuilder) getCurrent()); builder.withChildValue(value); } @Override - public void anyxmlNode(final NodeIdentifier name, final Object value) throws IllegalArgumentException { + public void anyxmlNode(final NodeIdentifier name, final Object value) { checkDataNodeContainer(); } @Override - public void startContainerNode(final NodeIdentifier name, final int childSizeHint) throws IllegalArgumentException { + public void startContainerNode(final NodeIdentifier name, final int childSizeHint) { checkDataNodeContainer(); final DataContainerNodeAttrBuilder builder = UNKNOWN_SIZE == childSizeHint ? @@ -168,7 +171,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream } @Override - public void startUnkeyedList(final NodeIdentifier name, final int childSizeHint) throws IllegalArgumentException { + public void startUnkeyedList(final NodeIdentifier name, final int childSizeHint) { checkDataNodeContainer(); final CollectionNodeBuilder builder = UNKNOWN_SIZE == childSizeHint ? @@ -177,7 +180,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream } @Override - public void startUnkeyedListItem(final NodeIdentifier name, final int childSizeHint) throws IllegalStateException { + public void startUnkeyedListItem(final NodeIdentifier name, final int childSizeHint) { Preconditions.checkArgument(getCurrent() instanceof ImmutableUnkeyedListNodeBuilder); final DataContainerNodeAttrBuilder builder = UNKNOWN_SIZE == childSizeHint ? @@ -186,7 +189,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream } @Override - public void startMapNode(final NodeIdentifier name, final int childSizeHint) throws IllegalArgumentException { + public void startMapNode(final NodeIdentifier name, final int childSizeHint) { checkDataNodeContainer(); final CollectionNodeBuilder builder = UNKNOWN_SIZE == childSizeHint ? @@ -195,7 +198,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream } @Override - public void startMapEntryNode(final NodeIdentifierWithPredicates identifier, final int childSizeHint) throws IllegalArgumentException { + public void startMapEntryNode(final NodeIdentifierWithPredicates identifier, final int childSizeHint) { if(!(getCurrent() instanceof NormalizedNodeResultBuilder)) { Preconditions.checkArgument(getCurrent() instanceof ImmutableMapNodeBuilder || getCurrent() instanceof ImmutableOrderedMapNodeBuilder); } @@ -206,7 +209,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream } @Override - public void startOrderedMapNode(final NodeIdentifier name, final int childSizeHint) throws IllegalArgumentException { + public void startOrderedMapNode(final NodeIdentifier name, final int childSizeHint) { checkDataNodeContainer(); final CollectionNodeBuilder builder = UNKNOWN_SIZE == childSizeHint ? @@ -215,7 +218,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream } @Override - public void startChoiceNode(final NodeIdentifier name, final int childSizeHint) throws IllegalArgumentException { + public void startChoiceNode(final NodeIdentifier name, final int childSizeHint) { checkDataNodeContainer(); final DataContainerNodeBuilder builder = UNKNOWN_SIZE == childSizeHint ? @@ -224,7 +227,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream } @Override - public void startAugmentationNode(final AugmentationIdentifier identifier) throws IllegalArgumentException { + public void startAugmentationNode(final AugmentationIdentifier identifier) { checkDataNodeContainer(); Preconditions.checkArgument(!(getCurrent() instanceof ImmutableAugmentationNodeBuilder)); enter(Builders.augmentationBuilder().withNodeIdentifier(identifier)); @@ -232,9 +235,10 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream private void checkDataNodeContainer() { @SuppressWarnings("rawtypes") + final NormalizedNodeContainerBuilder current = getCurrent(); - if(!(current instanceof NormalizedNodeResultBuilder)) { - Preconditions.checkArgument(current instanceof DataContainerNodeBuilder, "Invalid nesting of data."); + if (!(current instanceof NormalizedNodeResultBuilder)) { + Preconditions.checkArgument(current instanceof DataContainerNodeBuilder, "Invalid nesting of data."); } } @@ -263,7 +267,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream } @Override - public NormalizedNodeContainerBuilder withValue(final List value) { + public NormalizedNodeContainerBuilder withValue(final Collection value) { throw new UnsupportedOperationException(); } @@ -286,9 +290,7 @@ public class ImmutableNormalizedNodeStreamWriter implements NormalizedNodeStream } @Override - public void close() throws IOException { - // TODO Auto-generated method stub - + public void close() { + // no-op } - }