From efa9b386dcc067c3025556e368421575abf0b488 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Thu, 15 May 2014 10:47:00 +0200 Subject: [PATCH] BUG-509: StoreUtils should operate on NormalizedNode 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 --- .../dom/store/impl/InMemoryDOMDataStore.java | 2 +- .../md/sal/dom/store/impl/StoreUtils.java | 28 ++++++++++++------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java index 005e3b772d..e848a51a66 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/InMemoryDOMDataStore.java @@ -152,7 +152,7 @@ public class InMemoryDOMDataStore implements DOMStore, Identifiable, 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() // diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/StoreUtils.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/StoreUtils.java index 0f77ac504a..c2ca1b4c54 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/StoreUtils.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/md/sal/dom/store/impl/StoreUtils.java @@ -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, Object> EXTRACT_IDENTIFIER = new Function, 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. 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'); } -- 2.36.6