BUG-509: StoreUtils should operate on NormalizedNode 13/7013/1
authorRobert Varga <rovarga@cisco.com>
Thu, 15 May 2014 08:47:00 +0000 (10:47 +0200)
committerRobert Varga <rovarga@cisco.com>
Thu, 15 May 2014 08:47:00 +0000 (10:47 +0200)
This prunes the use of MetadataNode from StoreUtils. It turns out it is
completely unnecessary. This removes the last user of
Metadata.getChildren(), which will be removed in a subsequent patch.

Change-Id: I778e77b826576b8fa53e040a825d615dab7d253f
Signed-off-by: Robert Varga <rovarga@cisco.com>
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java
opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/StoreUtils.java

index 005e3b7..e848a51 100644 (file)
@@ -152,7 +152,7 @@ public class InMemoryDOMDataStore implements DOMStore, Identifiable<String>, Sch
                 .getSubtreeVersion(), newDataTree.getSubtreeVersion());
 
         if (LOG.isTraceEnabled()) {
-            LOG.trace("Data Tree is {}", StoreUtils.toStringTree(newDataTree));
+            LOG.trace("Data Tree is {}", StoreUtils.toStringTree(newDataTree.getData()));
         }
 
         final DataAndMetadataSnapshot newSnapshot = DataAndMetadataSnapshot.builder() //
index 0f77ac5..c2ca1b4 100644 (file)
@@ -29,6 +29,7 @@ import com.google.common.collect.ImmutableMap;
 import com.google.common.primitives.UnsignedLong;
 
 public final class StoreUtils {
+    private static final int STRINGTREE_INDENT = 4;
 
     private final static Function<Identifiable<Object>, Object> EXTRACT_IDENTIFIER = new Function<Identifiable<Object>, Object>() {
         @Override
@@ -37,6 +38,10 @@ public final class StoreUtils {
         }
     };
 
+    private StoreUtils() {
+        throw new UnsupportedOperationException("Utility class should not be instantiated");
+    }
+
     public static final UnsignedLong increase(final UnsignedLong original) {
         return original.plus(UnsignedLong.ONE);
     }
@@ -107,24 +112,27 @@ public final class StoreUtils {
         return FluentIterable.from(children).transform(StoreUtils.<V> identifierExtractor()).toSet();
     }
 
-    public static String toStringTree(final StoreMetadataNode metaNode) {
+    public static String toStringTree(final NormalizedNode<?, ?> node) {
         StringBuilder builder = new StringBuilder();
-        toStringTree(builder, metaNode, 0);
+        toStringTree(builder, node, 0);
         return builder.toString();
     }
 
-    private static void toStringTree(final StringBuilder builder, final StoreMetadataNode metaNode, final int offset) {
-        String prefix = Strings.repeat(" ", offset);
-        builder.append(prefix).append(toStringTree(metaNode.getIdentifier()));
-        NormalizedNode<?, ?> dataNode = metaNode.getData();
-        if (dataNode instanceof NormalizedNodeContainer<?, ?, ?>) {
+    private static void toStringTree(final StringBuilder builder, final NormalizedNode<?, ?> node, final int offset) {
+        final String prefix = Strings.repeat(" ", offset);
+
+        builder.append(prefix).append(toStringTree(node.getIdentifier()));
+        if (node instanceof NormalizedNodeContainer<?, ?, ?>) {
+            final NormalizedNodeContainer<?, ?, ?> container = (NormalizedNodeContainer<?, ?, ?>) node;
+
             builder.append(" {\n");
-            for (StoreMetadataNode child : metaNode.getChildren()) {
-                toStringTree(builder, child, offset + 4);
+            for (NormalizedNode<?, ?> child : container.getValue()) {
+                toStringTree(builder, child, offset + STRINGTREE_INDENT);
             }
+
             builder.append(prefix).append('}');
         } else {
-            builder.append(' ').append(dataNode.getValue());
+            builder.append(' ').append(node.getValue());
         }
         builder.append('\n');
     }