Add NamespaceBehaviour.toString() 08/75608/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 8 Aug 2018 15:54:06 +0000 (17:54 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Fri, 31 Aug 2018 08:26:42 +0000 (10:26 +0200)
A toString() method aids debugging immensely, define some basic
implementations.

Change-Id: I69c6b0027d81ae3a7c6a9304129feef6453e2f1f
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
(cherry picked from commit 02833cf71885aa15743e44e20f4202269c59de3e)

yang/yang-parser-reactor/src/main/java/org/opendaylight/yangtools/yang/parser/stmt/reactor/NamespaceBehaviourWithListeners.java
yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/DerivedNamespaceBehaviour.java
yang/yang-parser-spi/src/main/java/org/opendaylight/yangtools/yang/parser/spi/meta/NamespaceBehaviour.java

index 7f051757fff58c0e8b9963966e443cc41aa0e144..fab75626c454ea235ab086553723f9fb357e9398 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.parser.stmt.reactor;
 
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
 import java.util.ArrayList;
 import java.util.Iterator;
 import java.util.List;
@@ -115,4 +116,9 @@ abstract class NamespaceBehaviourWithListeners<K, V, N extends IdentifierNamespa
     public Map<K, V> getAllFrom(final NamespaceStorageNode storage) {
         return delegate.getAllFrom(storage);
     }
+
+    @Override
+    protected ToStringHelper addToStringAttributes(final ToStringHelper helper) {
+        return super.addToStringAttributes(helper).add("delegate", delegate);
+    }
 }
index 5a318402f081b5d1636ab6c88862740c266983a6..a8919aa153b8dfe31e287a4e859bb887d314a590 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.yangtools.yang.parser.spi.meta;
 
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.base.MoreObjects.ToStringHelper;
 import java.util.Map;
 import org.opendaylight.yangtools.yang.model.api.meta.IdentifierNamespace;
 
@@ -49,4 +50,9 @@ public abstract class DerivedNamespaceBehaviour<K, V, L, N extends IdentifierNam
     }
 
     public abstract L getSignificantKey(K key);
+
+    @Override
+    protected ToStringHelper addToStringAttributes(final ToStringHelper helper) {
+        return helper.add("derivedFrom", derivedFrom.getName());
+    }
 }
index 68b61dbe34b4807bf6c634703c02b1d8e6c586f4..54c3e0ccb858c881551b3cd920aac16ec910be1d 100644 (file)
@@ -9,6 +9,8 @@ package org.opendaylight.yangtools.yang.parser.spi.meta;
 
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.base.MoreObjects;
+import com.google.common.base.MoreObjects.ToStringHelper;
 import com.google.common.base.Verify;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -296,6 +298,11 @@ public abstract class NamespaceBehaviour<K, V, N extends IdentifierNamespace<K,
             NamespaceStorageNode current = findClosestTowardsRoot(storage, storageType);
             addToStorage(current, key, value);
         }
+
+        @Override
+        protected ToStringHelper addToStringAttributes(final ToStringHelper helper) {
+            return super.addToStringAttributes(helper.add("type", storageType));
+        }
     }
 
     static final class TreeScoped<K, V, N extends IdentifierNamespace<K, V>> extends NamespaceBehaviour<K, V, N> {
@@ -345,4 +352,14 @@ public abstract class NamespaceBehaviour<K, V, N extends IdentifierNamespace<K,
         }
         return current;
     }
+
+    @Override
+    // FIXME: 3.0.0: make this final
+    public String toString() {
+        return addToStringAttributes(MoreObjects.toStringHelper(this)).toString();
+    }
+
+    protected ToStringHelper addToStringAttributes(final ToStringHelper helper) {
+        return helper.add("identifier", identifier.getName());
+    }
 }