sort by descending number of suspected transaction leaks in trace output
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / cluster / datastore / messages / DataChanged.java
index fe81e27e3dcdec117efc637f8dd392c37e0c8c13..c753ad27646f213237e0171a38d965922b23de2e 100644 (file)
@@ -15,15 +15,15 @@ import java.io.ObjectOutput;
 import java.util.Map;
 import java.util.Set;
 import org.opendaylight.controller.cluster.datastore.DataStoreVersions;
-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.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.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;
@@ -43,9 +43,10 @@ public class DataChanged implements Externalizable {
 
     @Override
     public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException {
-        in.readShort(); // Read the version
+        // Read the version
+        in.readShort();
 
-        NormalizedNodeInputStreamReader streamReader = new NormalizedNodeInputStreamReader(in);
+        NormalizedNodeDataInput streamReader = NormalizedNodeInputOutput.newDataInputWithoutValidation(in);
 
         // Note: the scope passed to builder is not actually used.
         Builder builder = DOMImmutableDataChangeEvent.builder(DataChangeScope.SUBTREE);
@@ -53,7 +54,7 @@ public class DataChanged implements Externalizable {
         // Read created data
 
         int size = in.readInt();
-        for(int i = 0; i < size; i++) {
+        for (int i = 0; i < size; i++) {
             YangInstanceIdentifier path = streamReader.readYangInstanceIdentifier();
             NormalizedNode<?, ?> node = streamReader.readNormalizedNode();
             builder.addCreated(path, node);
@@ -62,7 +63,7 @@ public class DataChanged implements Externalizable {
         // Read updated data
 
         size = in.readInt();
-        for(int i = 0; i < size; i++) {
+        for (int i = 0; i < size; i++) {
             YangInstanceIdentifier path = streamReader.readYangInstanceIdentifier();
             NormalizedNode<?, ?> before = streamReader.readNormalizedNode();
             NormalizedNode<?, ?> after = streamReader.readNormalizedNode();
@@ -72,7 +73,7 @@ public class DataChanged implements Externalizable {
         // Read removed data
 
         size = in.readInt();
-        for(int i = 0; i < size; i++) {
+        for (int i = 0; i < size; i++) {
             YangInstanceIdentifier path = streamReader.readYangInstanceIdentifier();
             NormalizedNode<?, ?> node = streamReader.readNormalizedNode();
             builder.addRemoved(path, node);
@@ -81,14 +82,14 @@ public class DataChanged implements Externalizable {
         // Read original subtree
 
         boolean present = in.readBoolean();
-        if(present) {
+        if (present) {
             builder.setBefore(streamReader.readNormalizedNode());
         }
 
         // Read updated subtree
 
         present = in.readBoolean();
-        if(present) {
+        if (present) {
             builder.setAfter(streamReader.readNormalizedNode());
         }
 
@@ -99,16 +100,15 @@ public class DataChanged implements Externalizable {
     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);
 
         // Write created data
 
         Map<YangInstanceIdentifier, NormalizedNode<?, ?>> createdData = change.getCreatedData();
         out.writeInt(createdData.size());
-        for(Map.Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> e: createdData.entrySet()) {
+        for (Map.Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> e: createdData.entrySet()) {
             streamWriter.writeYangInstanceIdentifier(e.getKey());
-            nodeWriter.write(e.getValue());
+            streamWriter.writeNormalizedNode(e.getValue());
         }
 
         // Write updated data
@@ -116,35 +116,35 @@ public class DataChanged implements Externalizable {
         Map<YangInstanceIdentifier, NormalizedNode<?, ?>> originalData = change.getOriginalData();
         Map<YangInstanceIdentifier, NormalizedNode<?, ?>> updatedData = change.getUpdatedData();
         out.writeInt(updatedData.size());
-        for(Map.Entry<YangInstanceIdentifier, NormalizedNode<?, ?>> e: updatedData.entrySet()) {
+        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());
         }
 
         // Write removed data
 
         Set<YangInstanceIdentifier> removed = change.getRemovedPaths();
         out.writeInt(removed.size());
-        for(YangInstanceIdentifier path: removed) {
+        for (YangInstanceIdentifier path: removed) {
             streamWriter.writeYangInstanceIdentifier(path);
-            nodeWriter.write(originalData.get(path));
+            streamWriter.writeNormalizedNode(originalData.get(path));
         }
 
         // Write original subtree
 
         NormalizedNode<?, ?> originalSubtree = change.getOriginalSubtree();
         out.writeBoolean(originalSubtree != null);
-        if(originalSubtree != null) {
-            nodeWriter.write(originalSubtree);
+        if (originalSubtree != null) {
+            streamWriter.writeNormalizedNode(originalSubtree);
         }
 
         // Write original subtree
 
         NormalizedNode<?, ?> updatedSubtree = change.getUpdatedSubtree();
         out.writeBoolean(updatedSubtree != null);
-        if(updatedSubtree != null) {
-            nodeWriter.write(updatedSubtree);
+        if (updatedSubtree != null) {
+            streamWriter.writeNormalizedNode(updatedSubtree);
         }
     }
 }