BUG-2470: implement InMemoryDataTree.toString() 83/13483/1
authorRobert Varga <rovarga@cisco.com>
Tue, 9 Dec 2014 17:09:57 +0000 (18:09 +0100)
committerRobert Varga <rovarga@cisco.com>
Tue, 9 Dec 2014 18:04:06 +0000 (19:04 +0100)
For debugging purposes, we need a way to dump the current state of the
data tree. Implement proper toString() method.

Change-Id: I808b83b1e89eaa79d2a8d19b2e551884e7a3dc50
Signed-off-by: Robert Varga <rovarga@cisco.com>
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/DataTreeState.java
yang/yang-data-impl/src/main/java/org/opendaylight/yangtools/yang/data/impl/schema/tree/InMemoryDataTree.java

index db1a8d17b127e743660f273e50d777cf70d74b94..9419d08f67566b36643348972afcbb6da2b8bef0 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.tree;
 
+import com.google.common.base.Objects;
 import com.google.common.base.Preconditions;
 import org.opendaylight.yangtools.yang.data.api.schema.tree.spi.TreeNode;
 import org.opendaylight.yangtools.yang.model.api.SchemaContext;
@@ -54,4 +55,10 @@ final class DataTreeState {
     DataTreeState withRoot(final TreeNode newRoot) {
         return new DataTreeState(newRoot, holder, schemaContext);
     }
+
+    @Override
+    public String toString() {
+        final TreeNode r = root;
+        return Objects.toStringHelper(this).add("data", StoreUtils.toStringTree(r.getData())).toString();
+    }
 }
\ No newline at end of file
index dd1f00ed5e21a67cba5706e303ba90c43322c7df..9d60ed0a9b022f40e53384f60b6a0b9c06f85de5 100644 (file)
@@ -7,6 +7,7 @@
  */
 package org.opendaylight.yangtools.yang.data.impl.schema.tree;
 
+import com.google.common.base.Objects;
 import com.google.common.base.Optional;
 import com.google.common.base.Preconditions;
 import java.util.Collections;
@@ -122,4 +123,9 @@ final class InMemoryDataTree implements DataTree {
             LOG.trace("Updated state from {} to {}", currentState, newState);
         } while (!STATE_UPDATER.compareAndSet(this, currentState, newState));
     }
+
+    @Override
+    public String toString() {
+        return Objects.toStringHelper(this).add("object", super.toString()).add("state", state).toString();
+    }
 }