X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fdatastore%2Fnode%2Futils%2Fstream%2FAbstractNormalizedNodeDataOutput.java;h=2e5b804a992fe189951d2466abba830a0ec55828;hb=refs%2Fchanges%2F77%2F56077%2F1;hp=51a9c1c24eafe5ee29289f202679ce0e39730172;hpb=4e696d9795fe7eef40369c05c340d137394126f3;p=controller.git diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractNormalizedNodeDataOutput.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractNormalizedNodeDataOutput.java index 51a9c1c24e..2e5b804a99 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractNormalizedNodeDataOutput.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractNormalizedNodeDataOutput.java @@ -8,6 +8,7 @@ package org.opendaylight.controller.cluster.datastore.node.utils.stream; import com.google.common.base.Preconditions; +import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; import java.io.DataOutput; import java.io.IOException; import java.io.OutputStream; @@ -31,6 +32,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum 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.opendaylight.yangtools.yang.model.api.SchemaPath; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -162,7 +164,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut @Override public void leafNode(final NodeIdentifier name, final Object value) throws IOException, IllegalArgumentException { Preconditions.checkNotNull(name, "Node identifier should not be null"); - LOG.debug("Writing a new leaf node"); + LOG.trace("Writing a new leaf node"); startNode(name.getNodeType(), NodeTypes.LEAF_NODE); writeObject(value); @@ -173,7 +175,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut throws IOException, IllegalArgumentException { Preconditions.checkNotNull(name, "Node identifier should not be null"); - LOG.debug("Starting a new leaf set"); + LOG.trace("Starting a new leaf set"); lastLeafSetQName = name.getNodeType(); startNode(name.getNodeType(), NodeTypes.LEAF_SET); @@ -183,7 +185,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut public void startOrderedLeafSet(final NodeIdentifier name, final int childSizeHint) throws IOException, IllegalArgumentException { Preconditions.checkNotNull(name, "Node identifier should not be null"); - LOG.debug("Starting a new ordered leaf set"); + LOG.trace("Starting a new ordered leaf set"); lastLeafSetQName = name.getNodeType(); startNode(name.getNodeType(), NodeTypes.ORDERED_LEAF_SET); @@ -191,7 +193,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut @Override public void leafSetEntryNode(final QName name, final Object value) throws IOException, IllegalArgumentException { - LOG.debug("Writing a new leaf set entry node"); + LOG.trace("Writing a new leaf set entry node"); output.writeByte(NodeTypes.LEAF_SET_ENTRY_NODE); @@ -219,7 +221,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut throws IOException, IllegalArgumentException { Preconditions.checkNotNull(name, "Node identifier should not be null"); - LOG.debug("Starting a new yang modeled anyXml node"); + LOG.trace("Starting a new yang modeled anyXml node"); startNode(name.getNodeType(), NodeTypes.YANG_MODELED_ANY_XML_NODE); } @@ -228,7 +230,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut public void startUnkeyedList(final NodeIdentifier name, final int childSizeHint) throws IOException, IllegalArgumentException { Preconditions.checkNotNull(name, "Node identifier should not be null"); - LOG.debug("Starting a new unkeyed list"); + LOG.trace("Starting a new unkeyed list"); startNode(name.getNodeType(), NodeTypes.UNKEYED_LIST); } @@ -237,7 +239,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut public void startUnkeyedListItem(final NodeIdentifier name, final int childSizeHint) throws IOException, IllegalStateException { Preconditions.checkNotNull(name, "Node identifier should not be null"); - LOG.debug("Starting a new unkeyed list item"); + LOG.trace("Starting a new unkeyed list item"); startNode(name.getNodeType(), NodeTypes.UNKEYED_LIST_ITEM); } @@ -246,7 +248,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut public void startMapNode(final NodeIdentifier name, final int childSizeHint) throws IOException, IllegalArgumentException { Preconditions.checkNotNull(name, "Node identifier should not be null"); - LOG.debug("Starting a new map node"); + LOG.trace("Starting a new map node"); startNode(name.getNodeType(), NodeTypes.MAP_NODE); } @@ -255,7 +257,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut public void startMapEntryNode(final NodeIdentifierWithPredicates identifier, final int childSizeHint) throws IOException, IllegalArgumentException { Preconditions.checkNotNull(identifier, "Node identifier should not be null"); - LOG.debug("Starting a new map entry node"); + LOG.trace("Starting a new map entry node"); startNode(identifier.getNodeType(), NodeTypes.MAP_ENTRY_NODE); writeKeyValueMap(identifier.getKeyValues()); @@ -275,7 +277,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut public void startChoiceNode(final NodeIdentifier name, final int childSizeHint) throws IOException, IllegalArgumentException { Preconditions.checkNotNull(name, "Node identifier should not be null"); - LOG.debug("Starting a new choice node"); + LOG.trace("Starting a new choice node"); startNode(name.getNodeType(), NodeTypes.CHOICE_NODE); } @@ -284,7 +286,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut public void startAugmentationNode(final AugmentationIdentifier identifier) throws IOException, IllegalArgumentException { Preconditions.checkNotNull(identifier, "Node identifier should not be null"); - LOG.debug("Starting a new augmentation node"); + LOG.trace("Starting a new augmentation node"); output.writeByte(NodeTypes.AUGMENTATION_NODE); writeQNameSet(identifier.getPossibleChildNames()); @@ -293,7 +295,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut @Override public void anyxmlNode(final NodeIdentifier name, final Object value) throws IOException, IllegalArgumentException { Preconditions.checkNotNull(name, "Node identifier should not be null"); - LOG.debug("Writing any xml node"); + LOG.trace("Writing any xml node"); startNode(name.getNodeType(), NodeTypes.ANY_XML_NODE); @@ -308,7 +310,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut @Override public void endNode() throws IOException, IllegalStateException { - LOG.debug("Ending the node"); + LOG.trace("Ending the node"); output.writeByte(NodeTypes.END_NODE); } @@ -346,6 +348,18 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut } } + @Override + public void writeSchemaPath(final SchemaPath path) throws IOException { + ensureHeaderWritten(); + output.writeBoolean(path.isAbsolute()); + + final Collection qnames = path.getPath(); + output.writeInt(qnames.size()); + for (QName qname : qnames) { + writeQName(qname); + } + } + @Override public void writeYangInstanceIdentifier(final YangInstanceIdentifier identifier) throws IOException { ensureHeaderWritten(); @@ -361,6 +375,8 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut } } + @SuppressFBWarnings(value = "BC_UNCONFIRMED_CAST", + justification = "The casts in the switch clauses are indirectly confirmed via the determination of 'type'.") @Override public void writePathArgument(final PathArgument pathArgument) throws IOException { @@ -402,7 +418,7 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut break; default : throw new IllegalStateException("Unknown node identifier type is found : " - + pathArgument.getClass().toString() ); + + pathArgument.getClass().toString()); } } @@ -410,9 +426,9 @@ abstract class AbstractNormalizedNodeDataOutput implements NormalizedNodeDataOut if (keyValueMap != null && !keyValueMap.isEmpty()) { output.writeInt(keyValueMap.size()); - for (QName qname : keyValueMap.keySet()) { - writeQName(qname); - writeObject(keyValueMap.get(qname)); + for (Map.Entry entry : keyValueMap.entrySet()) { + writeQName(entry.getKey()); + writeObject(entry.getValue()); } } else { output.writeInt(0);