Add AbstractConstraint.toString() 81/101281/1
authorRobert Varga <robert.varga@pantheon.tech>
Wed, 25 May 2022 09:18:08 +0000 (11:18 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Wed, 25 May 2022 09:19:22 +0000 (11:19 +0200)
Resolved constraints do not have a nice toString() method, making
debugging harder than it needs to be. Add a toString() method which
exposes allowed ranges, which is usually what we need to know.

Change-Id: Ib3a8caa67a765cb29db0b2b28509f07a4c1058ce
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
model/yang-model-ri/src/main/java/org/opendaylight/yangtools/yang/model/ri/type/AbstractConstraint.java

index 78be773de82b6a7773653adb458ff03d78ea6d57..355b4e1ce8979654fe4e35316177b10b98a8cc56 100644 (file)
@@ -10,6 +10,7 @@ package org.opendaylight.yangtools.yang.model.ri.type;
 import static com.google.common.base.Verify.verify;
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.base.MoreObjects;
 import com.google.common.collect.ImmutableRangeSet;
 import com.google.common.collect.Range;
 import com.google.common.collect.RangeSet;
@@ -30,11 +31,7 @@ abstract class AbstractConstraint<T extends Number & Comparable<T>> implements C
         this.meta = requireNonNull(meta);
 
         final var tmp = ranges.asRanges();
-        if (tmp.size() == 1) {
-            this.ranges = tmp.iterator().next();
-        } else {
-            this.ranges = ImmutableRangeSet.copyOf(ranges);
-        }
+        this.ranges = tmp.size() == 1 ? tmp.iterator().next() : ImmutableRangeSet.copyOf(ranges);
     }
 
     @Override
@@ -57,6 +54,11 @@ abstract class AbstractConstraint<T extends Number & Comparable<T>> implements C
         return meta.getReference();
     }
 
+    @Override
+    public final String toString() {
+        return MoreObjects.toStringHelper(this).add("ranges", ranges()).toString();
+    }
+
     @SuppressWarnings("unchecked")
     final @NonNull ImmutableRangeSet<T> ranges() {
         if (ranges instanceof ImmutableRangeSet) {