From 3b50c8991b5276de6e3a6a0bc3e14385f4261d83 Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Fri, 30 Apr 2021 17:44:33 +0200 Subject: [PATCH] Improve binding-dom-codec assertions We are using a plain checkState(boolean), improve it with a message, to get some diagnostic when things go wrong. Change-Id: Ided7ba1f546ea8b861cbb2ec99fae5a8305e97eb Signed-off-by: Robert Varga --- .../dom/codec/impl/BindingCodecContext.java | 2 +- .../dom/codec/impl/CaseNodeCodecContext.java | 14 ++++++++------ .../dom/codec/impl/ContainerNodeCodecContext.java | 7 ++++--- .../dom/codec/impl/NotificationCodecContext.java | 2 +- 4 files changed, 14 insertions(+), 11 deletions(-) diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java index e8484a4bb1..30527f50e6 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java @@ -442,7 +442,7 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri } else if (typeDef instanceof LeafrefTypeDefinition) { final Entry typeWithSchema = context.getTypeWithSchema(valueType); final WithStatus schema = typeWithSchema.getValue(); - checkState(schema instanceof TypeDefinition); + checkState(schema instanceof TypeDefinition, "Unexpected schema %s", schema); return getCodec(valueType, (TypeDefinition) schema); } return ValueTypeCodec.getCodecFor(valueType, typeDef); diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CaseNodeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CaseNodeCodecContext.java index 1041319e43..a42130f551 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CaseNodeCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/CaseNodeCodecContext.java @@ -7,7 +7,9 @@ */ package org.opendaylight.mdsal.binding.dom.codec.impl; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkArgument; +import static com.google.common.base.Preconditions.checkState; + import java.util.List; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier.Item; @@ -37,9 +39,9 @@ final class CaseNodeCodecContext extends DataObjectCodecCo } @Override - public D deserialize(final NormalizedNode normalizedNode) { - Preconditions.checkState(normalizedNode instanceof ChoiceNode); - return createBindingProxy((ChoiceNode) normalizedNode); + public D deserialize(final NormalizedNode data) { + checkState(data instanceof ChoiceNode, "Unexpected data %s", data); + return createBindingProxy((ChoiceNode) data); } @Override @@ -49,13 +51,13 @@ final class CaseNodeCodecContext extends DataObjectCodecCo @Override public YangInstanceIdentifier.PathArgument serializePathArgument(final PathArgument arg) { - Preconditions.checkArgument(arg == null); + checkArgument(arg == null, "Unexpected argument %s", arg); return null; } @Override public PathArgument deserializePathArgument(final YangInstanceIdentifier.PathArgument arg) { - Preconditions.checkArgument(arg == null); + checkArgument(arg == null, "Unexpected argument %s", arg); return null; } } diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ContainerNodeCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ContainerNodeCodecContext.java index e2c16411e0..4ff01b53e3 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ContainerNodeCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/ContainerNodeCodecContext.java @@ -7,7 +7,8 @@ */ package org.opendaylight.mdsal.binding.dom.codec.impl; -import com.google.common.base.Preconditions; +import static com.google.common.base.Preconditions.checkState; + import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; @@ -22,7 +23,7 @@ final class ContainerNodeCodecContext extends DataObjectCo @Override public D deserialize(final NormalizedNode data) { - Preconditions.checkState(data instanceof ContainerNode); + checkState(data instanceof ContainerNode, "Unexpected data %s", data); return createBindingProxy((ContainerNode) data); } @@ -30,4 +31,4 @@ final class ContainerNodeCodecContext extends DataObjectCo protected Object deserializeObject(final NormalizedNode normalizedNode) { return deserialize(normalizedNode); } -} \ No newline at end of file +} diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NotificationCodecContext.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NotificationCodecContext.java index a6fe0b5887..6a1f513911 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NotificationCodecContext.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/NotificationCodecContext.java @@ -101,7 +101,7 @@ final class NotificationCodecContext @Override public D deserialize(final NormalizedNode data) { - checkState(data instanceof ContainerNode); + checkState(data instanceof ContainerNode, "Unexpected data %s", data); return createBindingProxy((ContainerNode) data); } -- 2.36.6