Bug 2062 - StreamWriter APIs loses information about leaf-set ordering 36/32236/4
authorJan Hajnar <jhajnar@cisco.com>
Mon, 10 Nov 2014 15:16:57 +0000 (16:16 +0100)
committerRobert Varga <nite@hq.sk>
Fri, 8 Jan 2016 20:27:25 +0000 (20:27 +0000)
* modified clustering NormalizedNodeStreamWriter implementation to use
OrderedLeafSet

Change-Id: I663f6b6d894b8366b7a54a3c56be05f20fef43c2
Signed-off-by: Jan Hajnar <jhajnar@cisco.com>
Signed-off-by: Robert Varga <robert.varga@pantheon.sk>
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NodeTypes.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeInputStreamReader.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/stream/NormalizedNodeOutputStreamWriter.java
opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/datastore/node/utils/transformer/NormalizedNodePruner.java
opendaylight/md-sal/sal-rest-connector/src/main/java/org/opendaylight/controller/sal/rest/impl/RestconfDocumentedExceptionMapper.java

index debf328dcdacba7152aa8562c6a0ed09fda3efb1..b4beeaeb99a2bc96013e4a6261cf32c3acfb4c14 100644 (file)
@@ -23,6 +23,7 @@ final class NodeTypes {
     public static final byte AUGMENTATION_NODE = 11;
     public static final byte ANY_XML_NODE = 12;
     public static final byte END_NODE = 13;
+    public static final byte ORDERED_LEAF_SET = 14;
 
     private NodeTypes() {
         throw new UnsupportedOperationException("utility class");
index aa6675da673840ce0b960efc99e6f0ab11e76a85..401d5af144f0a9865a8bc476a0012cb6a02b7a7b 100644 (file)
@@ -208,6 +208,13 @@ public class NormalizedNodeInputStreamReader implements NormalizedNodeStreamRead
                 return addLeafSetChildren(identifier.getNodeType(),
                         Builders.leafSetBuilder().withNodeIdentifier(identifier)).build();
 
+            case NodeTypes.ORDERED_LEAF_SET:
+                LOG.debug("Read leaf set node");
+                ListNodeBuilder<Object, LeafSetEntryNode<Object>> orderedLeafSetBuilder =
+                        Builders.orderedLeafSetBuilder().withNodeIdentifier(identifier);
+                orderedLeafSetBuilder = addLeafSetChildren(identifier.getNodeType(), orderedLeafSetBuilder);
+                return orderedLeafSetBuilder.build();
+
             default :
                 return null;
         }
index d9e04145c0761488a3b1d187adcb53625d18f9cc..24c963c1d4b33fc9c9dffb6c2a0dc7ea95a49360 100644 (file)
@@ -109,6 +109,14 @@ public class NormalizedNodeOutputStreamWriter implements NormalizedNodeStreamWri
         startNode(name.getNodeType(), NodeTypes.LEAF_SET);
     }
 
+    @Override
+    public void startOrderedLeafSet(YangInstanceIdentifier.NodeIdentifier name, int childSizeHint) throws IOException, IllegalArgumentException {
+        Preconditions.checkNotNull(name, "Node identifier should not be null");
+        LOG.debug("Starting a new ordered leaf set");
+
+        startNode(name.getNodeType(), NodeTypes.ORDERED_LEAF_SET);
+    }
+
     @Override
     public void leafSetEntryNode(Object value) throws IOException, IllegalArgumentException {
         LOG.debug("Writing a new leaf set entry node");
index 6877a54a8a83a0d47f4375f529f689a1dc954ed5..65df98dfc72f0eadf81008eb18bee7b81c33f239 100644 (file)
@@ -71,6 +71,14 @@ public class NormalizedNodePruner implements NormalizedNodeStreamWriter {
         addBuilder(Builders.leafSetBuilder().withNodeIdentifier(nodeIdentifier), nodeIdentifier);
     }
 
+    @Override
+    public void startOrderedLeafSet(YangInstanceIdentifier.NodeIdentifier nodeIdentifier, int i) throws IOException, IllegalArgumentException {
+
+        checkNotSealed();
+
+        addBuilder(Builders.orderedLeafSetBuilder().withNodeIdentifier(nodeIdentifier), nodeIdentifier);
+    }
+
     @Override
     public void leafSetEntryNode(Object o) throws IOException, IllegalArgumentException {
 
index 2e4e00de90905960b19313e945a7cf72a23e5cbc..d0c2dffa2b5caaa1cbc6172d2b7223555a63f1f1 100644 (file)
@@ -386,6 +386,11 @@ public class RestconfDocumentedExceptionMapper implements ExceptionMapper<Restco
             delegate.startLeafSet(name, childSizeHint);
         }
 
+        @Override
+        public void startOrderedLeafSet(NodeIdentifier name, int childSizeHint) throws IOException, IllegalArgumentException {
+            delegate.startOrderedLeafSet(name, childSizeHint);
+        }
+
         @Override
         public void leafSetEntryNode(Object value) throws IOException, IllegalArgumentException {
             delegate.leafSetEntryNode(value);