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%2FAbstractLithiumDataOutput.java;h=47082698f98b622dac1f1496f170711194b0ca12;hb=2059bc2827d6f23593dd54ed00e1a9287f5fa8f5;hp=2320775d5f50d3949def25bfebca9945de5edab7;hpb=199bd8bd241936b9fb84dccaf0af71d169e35553;p=controller.git diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractLithiumDataOutput.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractLithiumDataOutput.java index 2320775d5f..47082698f9 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractLithiumDataOutput.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/AbstractLithiumDataOutput.java @@ -22,6 +22,7 @@ import java.math.BigDecimal; import java.math.BigInteger; import java.nio.charset.StandardCharsets; import java.util.HashMap; +import java.util.List; import java.util.Map; import java.util.Map.Entry; import java.util.Optional; @@ -82,20 +83,20 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu @Override public final void startLeafNode(final NodeIdentifier name) throws IOException { LOG.trace("Starting a new leaf node"); - startNode(name, NodeTypes.LEAF_NODE); + startNode(name, LithiumNode.LEAF_NODE); inSimple = true; } @Override public final void startLeafSet(final NodeIdentifier name, final int childSizeHint) throws IOException { LOG.trace("Starting a new leaf set"); - commonStartLeafSet(name, NodeTypes.LEAF_SET); + commonStartLeafSet(name, LithiumNode.LEAF_SET); } @Override public final void startOrderedLeafSet(final NodeIdentifier name, final int childSizeHint) throws IOException { LOG.trace("Starting a new ordered leaf set"); - commonStartLeafSet(name, NodeTypes.ORDERED_LEAF_SET); + commonStartLeafSet(name, LithiumNode.ORDERED_LEAF_SET); } private void commonStartLeafSet(final NodeIdentifier name, final byte nodeType) throws IOException { @@ -107,7 +108,7 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu public final void startLeafSetEntryNode(final NodeWithValue name) throws IOException { LOG.trace("Starting a new leaf set entry node"); - output.writeByte(NodeTypes.LEAF_SET_ENTRY_NODE); + output.writeByte(LithiumNode.LEAF_SET_ENTRY_NODE); // lastLeafSetQName is set if the parent LeafSetNode was previously written. Otherwise this is a // stand alone LeafSetEntryNode so write out it's name here. @@ -120,52 +121,52 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu @Override public final void startContainerNode(final NodeIdentifier name, final int childSizeHint) throws IOException { LOG.trace("Starting a new container node"); - startNode(name, NodeTypes.CONTAINER_NODE); + startNode(name, LithiumNode.CONTAINER_NODE); } @Override public final void startYangModeledAnyXmlNode(final NodeIdentifier name, final int childSizeHint) throws IOException { LOG.trace("Starting a new yang modeled anyXml node"); - startNode(name, NodeTypes.YANG_MODELED_ANY_XML_NODE); + startNode(name, LithiumNode.YANG_MODELED_ANY_XML_NODE); } @Override public final void startUnkeyedList(final NodeIdentifier name, final int childSizeHint) throws IOException { LOG.trace("Starting a new unkeyed list"); - startNode(name, NodeTypes.UNKEYED_LIST); + startNode(name, LithiumNode.UNKEYED_LIST); } @Override public final void startUnkeyedListItem(final NodeIdentifier name, final int childSizeHint) throws IOException { LOG.trace("Starting a new unkeyed list item"); - startNode(name, NodeTypes.UNKEYED_LIST_ITEM); + startNode(name, LithiumNode.UNKEYED_LIST_ITEM); } @Override public final void startMapNode(final NodeIdentifier name, final int childSizeHint) throws IOException { LOG.trace("Starting a new map node"); - startNode(name, NodeTypes.MAP_NODE); + startNode(name, LithiumNode.MAP_NODE); } @Override public final void startMapEntryNode(final NodeIdentifierWithPredicates identifier, final int childSizeHint) throws IOException { LOG.trace("Starting a new map entry node"); - startNode(identifier, NodeTypes.MAP_ENTRY_NODE); + startNode(identifier, LithiumNode.MAP_ENTRY_NODE); writeKeyValueMap(identifier.entrySet()); } @Override public final void startOrderedMapNode(final NodeIdentifier name, final int childSizeHint) throws IOException { LOG.trace("Starting a new ordered map node"); - startNode(name, NodeTypes.ORDERED_MAP_NODE); + startNode(name, LithiumNode.ORDERED_MAP_NODE); } @Override public final void startChoiceNode(final NodeIdentifier name, final int childSizeHint) throws IOException { LOG.trace("Starting a new choice node"); - startNode(name, NodeTypes.CHOICE_NODE); + startNode(name, LithiumNode.CHOICE_NODE); } @Override @@ -173,14 +174,14 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu requireNonNull(identifier, "Node identifier should not be null"); LOG.trace("Starting a new augmentation node"); - output.writeByte(NodeTypes.AUGMENTATION_NODE); + output.writeByte(LithiumNode.AUGMENTATION_NODE); writeAugmentationIdentifier(identifier); } @Override public final void startAnyxmlNode(final NodeIdentifier name) throws IOException { LOG.trace("Starting any xml node"); - startNode(name, NodeTypes.ANY_XML_NODE); + startNode(name, LithiumNode.ANY_XML_NODE); inSimple = true; } @@ -205,7 +206,7 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu LOG.trace("Ending the node"); if (!inSimple) { lastLeafSetQName = null; - output.writeByte(NodeTypes.END_NODE); + output.writeByte(LithiumNode.END_NODE); } inSimple = false; } @@ -214,26 +215,26 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu @SuppressFBWarnings(value = "BC_UNCONFIRMED_CAST", justification = "The casts in the switch clauses are indirectly confirmed via the determination of 'type'.") final void writePathArgumentInternal(final PathArgument pathArgument) throws IOException { - final byte type = PathArgumentTypes.getSerializablePathArgumentType(pathArgument); + final byte type = LithiumPathArgument.getSerializablePathArgumentType(pathArgument); output.writeByte(type); switch (type) { - case PathArgumentTypes.NODE_IDENTIFIER: + case LithiumPathArgument.NODE_IDENTIFIER: NodeIdentifier nodeIdentifier = (NodeIdentifier) pathArgument; writeQNameInternal(nodeIdentifier.getNodeType()); break; - case PathArgumentTypes.NODE_IDENTIFIER_WITH_PREDICATES: + case LithiumPathArgument.NODE_IDENTIFIER_WITH_PREDICATES: NodeIdentifierWithPredicates nodeIdentifierWithPredicates = (NodeIdentifierWithPredicates) pathArgument; writeQNameInternal(nodeIdentifierWithPredicates.getNodeType()); writeKeyValueMap(nodeIdentifierWithPredicates.entrySet()); break; - case PathArgumentTypes.NODE_IDENTIFIER_WITH_VALUE: + case LithiumPathArgument.NODE_IDENTIFIER_WITH_VALUE: NodeWithValue nodeWithValue = (NodeWithValue) pathArgument; writeQNameInternal(nodeWithValue.getNodeType()); writeObject(nodeWithValue.getValue()); break; - case PathArgumentTypes.AUGMENTATION_IDENTIFIER: + case LithiumPathArgument.AUGMENTATION_IDENTIFIER: // No Qname in augmentation identifier writeAugmentationIdentifier((AugmentationIdentifier) pathArgument); break; @@ -243,6 +244,16 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu } } + @Override + final void writeYangInstanceIdentifierInternal(final YangInstanceIdentifier identifier) throws IOException { + List pathArguments = identifier.getPathArguments(); + output.writeInt(pathArguments.size()); + + for (PathArgument pathArgument : pathArguments) { + writePathArgumentInternal(pathArgument); + } + } + final void defaultWriteAugmentationIdentifier(final @NonNull AugmentationIdentifier aid) throws IOException { final Set qnames = aid.getPossibleChildNames(); // Write each child's qname separately, if list is empty send count as 0 @@ -268,7 +279,7 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu if (revision.isPresent()) { writeString(revision.get().toString()); } else { - writeByte(TokenTypes.IS_NULL_VALUE); + writeByte(LithiumTokens.IS_NULL_VALUE); } } @@ -358,10 +369,10 @@ abstract class AbstractLithiumDataOutput extends AbstractNormalizedNodeDataOutpu final Integer value = stringCodeMap.get(verifyNotNull(string)); if (value == null) { stringCodeMap.put(string, stringCodeMap.size()); - writeByte(TokenTypes.IS_STRING_VALUE); + writeByte(LithiumTokens.IS_STRING_VALUE); writeUTF(string); } else { - writeByte(TokenTypes.IS_CODE_VALUE); + writeByte(LithiumTokens.IS_CODE_VALUE); writeInt(value); } }