This is an internal implementation class, hide it.
Change-Id: Ib79d5a48dcf967f832b7130b981e5c22a593ef80
Signed-off-by: Robert Varga <rovarga@cisco.com>
* Based on the each node, the node type is also written to the stream, that helps in reconstructing the object,
* while reading.
*/
* Based on the each node, the node type is also written to the stream, that helps in reconstructing the object,
* while reading.
*/
-public class NormalizedNodeOutputStreamWriter extends AbstractNormalizedNodeDataOutput {
+final class NormalizedNodeOutputStreamWriter extends AbstractNormalizedNodeDataOutput {
private final Map<String, Integer> stringCodeMap = new HashMap<>();
private final Map<String, Integer> stringCodeMap = new HashMap<>();
- /**
- * @deprecated Use {@link NormalizedNodeInputOutput#newDataOutput(DataOutput)} instead.
- */
- @Deprecated
- public NormalizedNodeOutputStreamWriter(final DataOutput output) {
+ NormalizedNodeOutputStreamWriter(final DataOutput output) {
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataInput;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataOutput;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputStreamReader;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataInput;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataOutput;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputStreamReader;
-import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeOutputStreamWriter;
+import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputOutput;
import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
import org.opendaylight.controller.cluster.raft.protobuff.client.messages.Payload;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
static DataTreeCandidatePayload create(final DataTreeCandidate candidate) {
final ByteArrayDataOutput out = ByteStreams.newDataOutput();
static DataTreeCandidatePayload create(final DataTreeCandidate candidate) {
final ByteArrayDataOutput out = ByteStreams.newDataOutput();
- try (final NormalizedNodeOutputStreamWriter writer = new NormalizedNodeOutputStreamWriter(out)) {
+ try (final NormalizedNodeDataOutput writer = NormalizedNodeInputOutput.newDataOutput(out)) {
writer.writeYangInstanceIdentifier(candidate.getRootPath());
final DataTreeCandidateNode node = candidate.getRootNode();
writer.writeYangInstanceIdentifier(candidate.getRootPath());
final DataTreeCandidateNode node = candidate.getRootNode();
import java.util.Map;
import java.util.Set;
import org.opendaylight.controller.cluster.datastore.DataStoreVersions;
import java.util.Map;
import java.util.Set;
import org.opendaylight.controller.cluster.datastore.DataStoreVersions;
+import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataOutput;
+import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputOutput;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputStreamReader;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputStreamReader;
-import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeOutputStreamWriter;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
import org.opendaylight.controller.md.sal.dom.store.impl.DOMImmutableDataChangeEvent;
import org.opendaylight.controller.md.sal.dom.store.impl.DOMImmutableDataChangeEvent.Builder;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataBroker.DataChangeScope;
import org.opendaylight.controller.md.sal.common.api.data.AsyncDataChangeEvent;
import org.opendaylight.controller.md.sal.dom.store.impl.DOMImmutableDataChangeEvent;
import org.opendaylight.controller.md.sal.dom.store.impl.DOMImmutableDataChangeEvent.Builder;
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.NormalizedNodeWriter;
public class DataChanged implements Externalizable {
private static final long serialVersionUID = 1L;
public class DataChanged implements Externalizable {
private static final long serialVersionUID = 1L;
public void writeExternal(ObjectOutput out) throws IOException {
out.writeShort(DataStoreVersions.CURRENT_VERSION);
public void writeExternal(ObjectOutput out) throws IOException {
out.writeShort(DataStoreVersions.CURRENT_VERSION);
- NormalizedNodeOutputStreamWriter streamWriter = new NormalizedNodeOutputStreamWriter(out);
- NormalizedNodeWriter nodeWriter = NormalizedNodeWriter.forStreamWriter(streamWriter);
+ NormalizedNodeDataOutput streamWriter = NormalizedNodeInputOutput.newDataOutput(out);
out.writeInt(createdData.size());
for(Map.Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> e: createdData.entrySet()) {
streamWriter.writeYangInstanceIdentifier(e.getKey());
out.writeInt(createdData.size());
for(Map.Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> e: createdData.entrySet()) {
streamWriter.writeYangInstanceIdentifier(e.getKey());
- nodeWriter.write(e.getValue());
+ streamWriter.writeNormalizedNode(e.getValue());
out.writeInt(updatedData.size());
for(Map.Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> e: updatedData.entrySet()) {
streamWriter.writeYangInstanceIdentifier(e.getKey());
out.writeInt(updatedData.size());
for(Map.Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> e: updatedData.entrySet()) {
streamWriter.writeYangInstanceIdentifier(e.getKey());
- nodeWriter.write(originalData.get(e.getKey()));
- nodeWriter.write(e.getValue());
+ streamWriter.writeNormalizedNode(originalData.get(e.getKey()));
+ streamWriter.writeNormalizedNode(e.getValue());
out.writeInt(removed.size());
for(YangInstanceIdentifier path: removed) {
streamWriter.writeYangInstanceIdentifier(path);
out.writeInt(removed.size());
for(YangInstanceIdentifier path: removed) {
streamWriter.writeYangInstanceIdentifier(path);
- nodeWriter.write(originalData.get(path));
+ streamWriter.writeNormalizedNode(originalData.get(path));
}
// Write original subtree
}
// Write original subtree
NormalizedNode<?, ?> originalSubtree = change.getOriginalSubtree();
out.writeBoolean(originalSubtree != null);
if(originalSubtree != null) {
NormalizedNode<?, ?> originalSubtree = change.getOriginalSubtree();
out.writeBoolean(originalSubtree != null);
if(originalSubtree != null) {
- nodeWriter.write(originalSubtree);
+ streamWriter.writeNormalizedNode(originalSubtree);
}
// Write original subtree
}
// Write original subtree
NormalizedNode<?, ?> updatedSubtree = change.getUpdatedSubtree();
out.writeBoolean(updatedSubtree != null);
if(updatedSubtree != null) {
NormalizedNode<?, ?> updatedSubtree = change.getUpdatedSubtree();
out.writeBoolean(updatedSubtree != null);
if(updatedSubtree != null) {
- nodeWriter.write(updatedSubtree);
+ streamWriter.writeNormalizedNode(updatedSubtree);
import java.util.ArrayList;
import java.util.List;
import org.opendaylight.controller.cluster.datastore.DataStoreVersions;
import java.util.ArrayList;
import java.util.List;
import org.opendaylight.controller.cluster.datastore.DataStoreVersions;
+import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputOutput;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputStreamReader;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputStreamReader;
-import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeOutputStreamWriter;
import org.opendaylight.controller.cluster.datastore.utils.SerializationUtils;
import org.opendaylight.controller.protobuff.messages.persistent.PersistentMessages;
import org.opendaylight.controller.sal.core.spi.data.DOMStoreWriteTransaction;
import org.opendaylight.controller.cluster.datastore.utils.SerializationUtils;
import org.opendaylight.controller.protobuff.messages.persistent.PersistentMessages;
import org.opendaylight.controller.sal.core.spi.data.DOMStoreWriteTransaction;
out.writeInt(modifications.size());
if(modifications.size() > 1) {
out.writeInt(modifications.size());
if(modifications.size() > 1) {
- SerializationUtils.REUSABLE_WRITER_TL.set(new NormalizedNodeOutputStreamWriter(out));
+ SerializationUtils.REUSABLE_WRITER_TL.set(NormalizedNodeInputOutput.newDataOutput(out));
import org.opendaylight.controller.cluster.datastore.node.utils.stream.InvalidNormalizedNodeStreamException;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataInput;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataOutput;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.InvalidNormalizedNodeStreamException;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataInput;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeDataOutput;
+import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputOutput;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputStreamReader;
import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeInputStreamReader;
-import org.opendaylight.controller.cluster.datastore.node.utils.stream.NormalizedNodeOutputStreamWriter;
import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
import org.opendaylight.controller.protobuff.messages.common.NormalizedNodeMessages;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode;
* @author Thomas Pantelis
*/
public final class SerializationUtils {
* @author Thomas Pantelis
*/
public final class SerializationUtils {
- public static final ThreadLocal<NormalizedNodeOutputStreamWriter> REUSABLE_WRITER_TL = new ThreadLocal<>();
+ public static final ThreadLocal<NormalizedNodeDataOutput> REUSABLE_WRITER_TL = new ThreadLocal<>();
public static final ThreadLocal<NormalizedNodeInputStreamReader> REUSABLE_READER_TL = new ThreadLocal<>();
public static interface Applier<T> {
public static final ThreadLocal<NormalizedNodeInputStreamReader> REUSABLE_READER_TL = new ThreadLocal<>();
public static interface Applier<T> {
}
private static NormalizedNodeDataOutput streamWriter(DataOutput out) throws IOException {
}
private static NormalizedNodeDataOutput streamWriter(DataOutput out) throws IOException {
- NormalizedNodeOutputStreamWriter streamWriter = REUSABLE_WRITER_TL.get();
+ NormalizedNodeDataOutput streamWriter = REUSABLE_WRITER_TL.get();
if(streamWriter == null) {
if(streamWriter == null) {
- streamWriter = new NormalizedNodeOutputStreamWriter(out);
+ streamWriter = NormalizedNodeInputOutput.newDataOutput(out);