Improve UnknownObject observability 62/97662/2
authorRobert Varga <robert.varga@pantheon.tech>
Tue, 28 Sep 2021 12:36:15 +0000 (14:36 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Tue, 28 Sep 2021 13:01:23 +0000 (15:01 +0200)
Add an UnknownObject.toString() method, so that UnknownObjects expose
their state for debugging purposes.

JIRA: BGPCEP-981
Change-Id: I414e5cbd6967811bb6174f6d289f88fba1d1db08
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
pcep/spi/src/main/java/org/opendaylight/protocol/pcep/spi/UnknownObject.java

index 2852c39e85c033e7e071c38edf9be3f0ad2ff1bc..968087ad13175d1b2457cd8020ed3960cf565344 100644 (file)
@@ -9,6 +9,7 @@ package org.opendaylight.protocol.pcep.spi;
 
 import static java.util.Objects.requireNonNull;
 
+import com.google.common.base.MoreObjects;
 import java.util.Collections;
 import java.util.List;
 import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.pcep.types.rev181109.Object;
@@ -30,24 +31,23 @@ public final class UnknownObject implements Object {
     }
 
     public UnknownObject(final PCEPErrors error, final Object invalidObject) {
-        this.err = requireNonNull(error);
-
-        this.error = new ErrorsBuilder().setErrorObject(
-                new ErrorObjectBuilder().setType(error.getErrorType()).setValue(
-                        error.getErrorValue()).build()).build();
+        err = requireNonNull(error);
         this.invalidObject = invalidObject;
+        this.error = new ErrorsBuilder()
+            .setErrorObject(new ErrorObjectBuilder().setType(err.getErrorType()).setValue(err.getErrorValue()).build())
+            .build();
     }
 
     public List<Errors> getErrors() {
-        return Collections.singletonList(this.error);
+        return Collections.singletonList(error);
     }
 
     public PCEPErrors getError() {
-        return this.err;
+        return err;
     }
 
     public Object getInvalidObject() {
-        return this.invalidObject;
+        return invalidObject;
     }
 
     @Override
@@ -64,4 +64,12 @@ public final class UnknownObject implements Object {
     public Boolean getProcessingRule() {
         return Boolean.FALSE;
     }
+
+    @Override
+    public String toString() {
+        return MoreObjects.toStringHelper(UnknownObject.class).omitNullValues()
+            .add("error", error)
+            .add("object", invalidObject)
+            .toString();
+    }
 }