From: Tom Pantelis Date: Wed, 4 Feb 2015 16:11:01 +0000 (+0000) Subject: Merge "BUG 2667 : Handle null value type" X-Git-Tag: release/lithium~637 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=commitdiff_plain;h=608c2722054a167e2e6817fa2901876228f7685f;hp=-c Merge "BUG 2667 : Handle null value type" --- 608c2722054a167e2e6817fa2901876228f7685f diff --combined opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java index 2c8e259711,fc381c19a9..088f4dfbe9 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java @@@ -21,9 -21,7 +21,9 @@@ import java.util.Map import java.util.Set; import org.opendaylight.yangtools.yang.common.QName; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; +import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; +import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeWriter; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@@ -54,8 -52,6 +54,8 @@@ public class NormalizedNodeOutputStream private final Map stringCodeMap = new HashMap<>(); + private NormalizedNodeWriter normalizedNodeWriter; + public NormalizedNodeOutputStreamWriter(OutputStream stream) throws IOException { Preconditions.checkNotNull(stream); output = new DataOutputStream(stream); @@@ -65,18 -61,6 +65,18 @@@ this.output = Preconditions.checkNotNull(output); } + private NormalizedNodeWriter normalizedNodeWriter() { + if(normalizedNodeWriter == null) { + normalizedNodeWriter = NormalizedNodeWriter.forStreamWriter(this); + } + + return normalizedNodeWriter; + } + + public void writeNormalizedNode(NormalizedNode node) throws IOException { + normalizedNodeWriter().write(node); + } + @Override public void leafNode(YangInstanceIdentifier.NodeIdentifier name, Object value) throws IOException, IllegalArgumentException { Preconditions.checkNotNull(name, "Node identifier should not be null"); @@@ -365,6 -349,8 +365,8 @@@ case ValueTypes.YANG_IDENTIFIER_TYPE: writeYangInstanceIdentifier((YangInstanceIdentifier) value); break; + case ValueTypes.NULL_TYPE : + break; default: output.writeUTF(value.toString()); break;