From a0152cab742a702b57c4f537c58721f17820a8ec Mon Sep 17 00:00:00 2001 From: Robert Varga Date: Sun, 28 May 2023 17:26:11 +0200 Subject: [PATCH] Improve BindingNormalizedNodeSerializer API Allow users to specifically ask for an explicit dataobject or augmentation serialization. JIRA: MDSAL-820 Change-Id: Ic929620d2c23c8ac1ab7eb7a5f2f46d627833a73 Signed-off-by: Robert Varga --- .../api/BindingNormalizedNodeSerializer.java | 21 +++++++++++++++ .../ForwardingBindingDOMCodecServices.java | 12 +++++++++ .../dom/codec/impl/BindingCodecContext.java | 19 +++++++++++++ .../codec/impl/AbstractBindingCodecTest.java | 3 +-- .../dom/codec/impl/AnydataLeafTest.java | 5 ++-- .../dom/codec/impl/AnyxmlLeafTest.java | 5 ++-- .../impl/AugmentationSubstitutionTest.java | 7 +++-- .../binding/dom/codec/impl/BinaryKeyTest.java | 3 +-- .../dom/codec/impl/CaseSubstitutionTest.java | 5 ++-- .../binding/dom/codec/impl/EmptyLeafTest.java | 4 +-- .../dom/codec/impl/KeyInheritenceTest.java | 11 ++++---- .../dom/codec/impl/LeafReferenceTest.java | 4 +-- .../impl/LeafrefSerializeDeserializeTest.java | 5 ++-- .../binding/dom/codec/impl/Mdsal668Test.java | 5 ++-- ...ormalizedNodeSerializeDeserializeTest.java | 27 ++++++++----------- .../codec/impl/SpecializingLeafrefTest.java | 7 +++-- .../binding/dom/codec/impl/TypedefTest.java | 5 ++-- ...UnionTypeWithMultipleIdentityrefsTest.java | 5 ++-- 18 files changed, 92 insertions(+), 61 deletions(-) diff --git a/binding/mdsal-binding-dom-codec-api/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeSerializer.java b/binding/mdsal-binding-dom-codec-api/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeSerializer.java index b026c7412b..675708b10a 100644 --- a/binding/mdsal-binding-dom-codec-api/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeSerializer.java +++ b/binding/mdsal-binding-dom-codec-api/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeSerializer.java @@ -109,6 +109,27 @@ public interface BindingNormalizedNodeSerializer { */ @NonNull NormalizedResult toNormalizedNode(InstanceIdentifier path, T data); + /** + * Translates supplied Binding Instance Identifier and data into NormalizedNode representation. + * + * @param path Binding Instance Identifier pointing to data + * @param data Data object representing data + * @return {@link NormalizedResult} representation + * @throws IllegalArgumentException If supplied Instance Identifier is not valid. + */ + > @NonNull AugmentationResult toNormalizedAugmentation(InstanceIdentifier path, + A data); + + /** + * Translates supplied Binding Instance Identifier and data into NormalizedNode representation. + * + * @param path Binding Instance Identifier pointing to data + * @param data Data object representing data + * @return {@link NormalizedResult} representation + * @throws IllegalArgumentException If supplied Instance Identifier is not valid. + */ + @NonNull NodeResult toNormalizedDataObject(InstanceIdentifier path, T data); + /** * Translates supplied YANG Instance Identifier and NormalizedNode into Binding data. * diff --git a/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/ForwardingBindingDOMCodecServices.java b/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/ForwardingBindingDOMCodecServices.java index f3a4c3f273..8eb9dee6a5 100644 --- a/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/ForwardingBindingDOMCodecServices.java +++ b/binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/ForwardingBindingDOMCodecServices.java @@ -69,6 +69,18 @@ public abstract class ForwardingBindingDOMCodecServices extends ForwardingObject return delegate().toNormalizedNode(path, data); } + @Override + public > @NonNull AugmentationResult toNormalizedAugmentation( + final InstanceIdentifier path, final A data) { + return delegate().toNormalizedAugmentation(path, data); + } + + @Override + public @NonNull NodeResult toNormalizedDataObject(final InstanceIdentifier path, + final T data) { + return delegate().toNormalizedDataObject(path, data); + } + @Override public ContainerNode toNormalizedNodeNotification(final Notification data) { return delegate().toNormalizedNodeNotification(data); 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 9842c0f0dd..dd108c2c81 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 @@ -569,6 +569,25 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri return instanceIdentifierCodec.toBinding(dom); } + @Override + public > AugmentationResult toNormalizedAugmentation(final InstanceIdentifier path, + final A data) { + final var result = toNormalizedNode(path, data); + if (result instanceof AugmentationResult augment) { + return augment; + } + throw new IllegalArgumentException(path + " does not identify an Augmentation"); + } + + @Override + public NodeResult toNormalizedDataObject(final InstanceIdentifier path, final T data) { + final var result = toNormalizedNode(path, data); + if (result instanceof NodeResult node) { + return node; + } + throw new IllegalArgumentException(path + " does not identify a plain DataObject"); + } + @Override public NormalizedResult toNormalizedNode(final InstanceIdentifier path, final T data) { // We create Binding Stream Writer which translates from Binding to Normalized Nodes diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingCodecTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingCodecTest.java index 78bc227483..dfc64391c5 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingCodecTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingCodecTest.java @@ -12,7 +12,6 @@ import static org.junit.Assert.assertEquals; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @@ -36,7 +35,7 @@ public abstract class AbstractBindingCodecTest extends AbstractBindingRuntimeTes @SuppressWarnings("unchecked") protected T thereAndBackAgain(final InstanceIdentifier path, final T data) { - final var there = (NodeResult) codecContext.toNormalizedNode(path, data); + final var there = codecContext.toNormalizedDataObject(path, data); final var backAgain = codecContext.fromNormalizedNode(there.path(), there.node()); assertEquals(path, backAgain.getKey()); return (T) backAgain.getValue(); diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AnydataLeafTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AnydataLeafTest.java index ff38a99f3d..33e4b31e55 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AnydataLeafTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AnydataLeafTest.java @@ -18,7 +18,6 @@ import static org.junit.Assert.assertSame; import java.util.Map.Entry; import javax.xml.transform.dom.DOMSource; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.mdsal438.norev.Cont; import org.opendaylight.yang.gen.v1.mdsal438.norev.ContBuilder; import org.opendaylight.yang.gen.v1.mdsal438.norev.cont.ContAny; @@ -97,8 +96,8 @@ public class AnydataLeafTest extends AbstractBindingCodecTest { @Test public void testAnydataFromBinding() { - final var entry = (NodeResult) codecContext.toNormalizedNode( - InstanceIdentifier.create(Cont.class), new ContBuilder().setContAny(new FakeCont()).build()); + final var entry = codecContext.toNormalizedDataObject(InstanceIdentifier.create(Cont.class), + new ContBuilder().setContAny(new FakeCont()).build()); assertEquals(YangInstanceIdentifier.of(CONT_NODE_ID), entry.path()); assertEquals(cont, entry.node()); } diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AnyxmlLeafTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AnyxmlLeafTest.java index aee44699df..ee221b0adf 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AnyxmlLeafTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AnyxmlLeafTest.java @@ -18,7 +18,6 @@ import static org.junit.Assert.assertSame; import java.util.Map.Entry; import javax.xml.transform.dom.DOMSource; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.mdsal437.norev.Cont; import org.opendaylight.yang.gen.v1.mdsal437.norev.ContBuilder; import org.opendaylight.yang.gen.v1.mdsal437.norev.cont.ContAny; @@ -97,8 +96,8 @@ public class AnyxmlLeafTest extends AbstractBindingCodecTest { @Test public void testAnyxmlFromBinding() { - final var entry = (NodeResult) codecContext.toNormalizedNode( - InstanceIdentifier.create(Cont.class), new ContBuilder().setContAny(new FakeCont()).build()); + final var entry = codecContext.toNormalizedDataObject(InstanceIdentifier.create(Cont.class), + new ContBuilder().setContAny(new FakeCont()).build()); assertEquals(YangInstanceIdentifier.of(CONT_NODE_ID), entry.path()); assertEquals(cont, entry.node()); } diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AugmentationSubstitutionTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AugmentationSubstitutionTest.java index 314fc5a463..105b31c7e2 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AugmentationSubstitutionTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AugmentationSubstitutionTest.java @@ -10,7 +10,6 @@ package org.opendaylight.mdsal.binding.dom.codec.impl; import static org.junit.Assert.assertEquals; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.RpcComplexUsesAugment; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.RpcComplexUsesAugmentBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.TreeComplexUsesAugmentBuilder; @@ -36,8 +35,8 @@ public class AugmentationSubstitutionTest extends AbstractBindingCodecTest { .withKey(TOP_FOO_KEY) .addAugmentation(new TreeComplexUsesAugmentBuilder(createComplexData()).build()) .build(); - final var domTreeEntry = ((NodeResult) codecContext.toNormalizedNode(BA_TOP_LEVEL_LIST, baTree)).node(); - final var domRpcEntry = ((NodeResult) codecContext.toNormalizedNode(BA_TOP_LEVEL_LIST, baRpc)).node(); + final var domTreeEntry = codecContext.toNormalizedDataObject(BA_TOP_LEVEL_LIST, baTree).node(); + final var domRpcEntry = codecContext.toNormalizedDataObject(BA_TOP_LEVEL_LIST, baRpc).node(); assertEquals(domTreeEntry, domRpcEntry); } @@ -48,7 +47,7 @@ public class AugmentationSubstitutionTest extends AbstractBindingCodecTest { .addAugmentation(new TreeComplexUsesAugmentBuilder(createComplexData()).build()) .build(); - final var result = (NodeResult) codecContext.toNormalizedNode(BA_TOP_LEVEL_LIST, manuallyConstructed); + final var result = codecContext.toNormalizedDataObject(BA_TOP_LEVEL_LIST, manuallyConstructed); final TopLevelList deserialized = (TopLevelList) codecContext.fromNormalizedNode(result.path(), result.node()).getValue(); assertEquals(manuallyConstructed, deserialized); diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/BinaryKeyTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/BinaryKeyTest.java index 250320fb4f..58883afd77 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/BinaryKeyTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/BinaryKeyTest.java @@ -11,7 +11,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotEquals; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.odl.test.binary.key.rev160101.BinaryList; import org.opendaylight.yang.gen.v1.odl.test.binary.key.rev160101.BinaryListBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; @@ -44,7 +43,7 @@ public class BinaryKeyTest extends AbstractBindingCodecTest { } private BinaryList process(final BinaryList binaryList) { - final var entry = (NodeResult) codecContext.toNormalizedNode(instanceIdentifier, binaryList); + final var entry = codecContext.toNormalizedDataObject(instanceIdentifier, binaryList); return (BinaryList) codecContext.fromNormalizedNode(entry.path(), entry.node()).getValue(); } } diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/CaseSubstitutionTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/CaseSubstitutionTest.java index b8b4f84b22..06fc9b2136 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/CaseSubstitutionTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/CaseSubstitutionTest.java @@ -11,7 +11,6 @@ import static org.junit.Assert.assertEquals; import java.util.Collections; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.RpcComplexUsesAugment; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.RpcComplexUsesAugmentBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.TreeComplexUsesAugment; @@ -53,8 +52,8 @@ public class CaseSubstitutionTest extends AbstractBindingCodecTest { .withKey(CHOICE_FOO_KEY) .setChoiceInChoiceList(new ComplexViaUsesBuilder(createComplexData()).build()) .build(); - final var domTreeEntry = ((NodeResult) codecContext.toNormalizedNode(BA_CHOICE_LIST, baTree)).node(); - final var domRpcEntry = ((NodeResult) codecContext.toNormalizedNode(BA_CHOICE_LIST, baRpc)).node(); + final var domTreeEntry = codecContext.toNormalizedDataObject(BA_CHOICE_LIST, baTree).node(); + final var domRpcEntry = codecContext.toNormalizedDataObject(BA_CHOICE_LIST, baRpc).node(); assertEquals(domTreeEntry, domRpcEntry); } diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/EmptyLeafTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/EmptyLeafTest.java index 467d7244c1..7dfdca7f7c 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/EmptyLeafTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/EmptyLeafTest.java @@ -12,7 +12,6 @@ import static org.junit.Assert.assertTrue; import java.util.Map; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.RpcComplexUsesAugment; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.RpcComplexUsesAugmentBuilder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.complex.from.grouping.ContainerWithUsesBuilder; @@ -38,8 +37,7 @@ public class EmptyLeafTest extends AbstractBindingCodecTest { .withKey(TOP_FOO_KEY) .setChoiceInList(new EmptyLeafBuilder().setEmptyType(Empty.value()).build()) .build(); - final var dom = (NodeResult) codecContext.toNormalizedNode(BA_TOP_LEVEL_LIST, - withEmptyCase); + final var dom = codecContext.toNormalizedDataObject(BA_TOP_LEVEL_LIST, withEmptyCase); final var readed = codecContext.fromNormalizedNode(dom.path(), dom.node()); final ChoiceInList list = ((TopLevelList) readed.getValue()).getChoiceInList(); assertTrue(list instanceof EmptyLeaf); diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyInheritenceTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyInheritenceTest.java index ec9bfe4cc1..912244c8c5 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyInheritenceTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyInheritenceTest.java @@ -12,7 +12,6 @@ import static org.junit.Assert.assertEquals; import com.google.common.collect.ImmutableMap; import java.util.Map.Entry; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.mdsal442.keydef.norev.Def; import org.opendaylight.yang.gen.v1.mdsal442.keydef.norev.DefBuilder; import org.opendaylight.yang.gen.v1.mdsal442.keydef.norev.grp.LstBuilder; @@ -36,24 +35,24 @@ public class KeyInheritenceTest extends AbstractBindingCodecTest { @Test public void testFromBinding() { - final var domDef = (NodeResult) codecContext.toNormalizedNode(DEF_IID, DEF); + final var domDef = codecContext.toNormalizedDataObject(DEF_IID, DEF); Entry, DataObject> entry = codecContext.fromNormalizedNode(domDef.path(), domDef.node()); assertEquals(DEF_IID, entry.getKey()); final Def codecDef = (Def) entry.getValue(); - final var domUse = (NodeResult) codecContext.toNormalizedNode(USE_IID, USE); + final var domUse = codecContext.toNormalizedDataObject(USE_IID, USE); entry = codecContext.fromNormalizedNode(domUse.path(), domUse.node()); assertEquals(USE_IID, entry.getKey()); final Use codecUse = (Use) entry.getValue(); Use copiedUse = new UseBuilder(DEF).build(); assertEquals(USE, copiedUse); - assertEquals(domUse.node(), ((NodeResult) codecContext.toNormalizedNode(USE_IID, copiedUse)).node()); + assertEquals(domUse.node(), codecContext.toNormalizedDataObject(USE_IID, copiedUse).node()); copiedUse = new UseBuilder(codecDef).build(); assertEquals(USE, copiedUse); - assertEquals(domUse.node(), ((NodeResult) codecContext.toNormalizedNode(USE_IID, copiedUse)).node()); + assertEquals(domUse.node(), codecContext.toNormalizedDataObject(USE_IID, copiedUse).node()); copiedUse = new UseBuilder(codecUse).build(); assertEquals(USE, copiedUse); - assertEquals(domUse.node(), ((NodeResult) codecContext.toNormalizedNode(USE_IID, copiedUse)).node()); + assertEquals(domUse.node(), codecContext.toNormalizedDataObject(USE_IID, copiedUse).node()); } } diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafReferenceTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafReferenceTest.java index 099eb0aa42..a3aa234195 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafReferenceTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafReferenceTest.java @@ -10,7 +10,6 @@ package org.opendaylight.mdsal.binding.dom.codec.impl; import static org.junit.Assert.assertEquals; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.ThirdParty; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.TreeComplexLeaves; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.TreeComplexLeavesBuilder; @@ -41,8 +40,7 @@ public class LeafReferenceTest extends AbstractBindingCodecTest { .setName("foo") .addAugmentation(augment) .build(); - final var dom = (NodeResult) codecContext.toNormalizedNode(BA_TOP_LEVEL_LIST, - list); + final var dom = codecContext.toNormalizedDataObject(BA_TOP_LEVEL_LIST, list); final var readed = codecContext.fromNormalizedNode(dom.path(), dom.node()); final var readAugment = ((TopLevelList) readed.getValue()).augmentation(TreeComplexLeaves.class); diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafrefSerializeDeserializeTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafrefSerializeDeserializeTest.java index 7fecd0b8ba..488d8dd24a 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafrefSerializeDeserializeTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafrefSerializeDeserializeTest.java @@ -11,7 +11,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.bug8449.rev170516.Cont; import org.opendaylight.yang.gen.v1.bug8449.rev170516.Cont.Ref; import org.opendaylight.yang.gen.v1.bug8449.rev170516.ContBuilder; @@ -33,7 +32,7 @@ public class LeafrefSerializeDeserializeTest extends AbstractBindingCodecTest { final InstanceIdentifier BA_II_CONT = InstanceIdentifier.builder(Cont.class).build(); final Ref refVal = new Ref("myvalue"); final Cont data = new ContBuilder().setRef(refVal).build(); - final var normalizedNode = (NodeResult) codecContext.toNormalizedNode(BA_II_CONT, data); + final var normalizedNode = codecContext.toNormalizedDataObject(BA_II_CONT, data); assertNotNull(normalizedNode); final var fromNormalizedNode = codecContext.fromNormalizedNode(contYII, normalizedNode.node()); @@ -51,7 +50,7 @@ public class LeafrefSerializeDeserializeTest extends AbstractBindingCodecTest { final InstanceIdentifier BA_II_CONT = InstanceIdentifier.builder(ContInt32.class).build(); final RefUnionInt32 refVal = new RefUnionInt32(Uint32.valueOf(5)); final ContInt32 data = new ContInt32Builder().setRefUnionInt32(refVal).build(); - final var normalizedNode = (NodeResult) codecContext.toNormalizedNode(BA_II_CONT, data); + final var normalizedNode = codecContext.toNormalizedDataObject(BA_II_CONT, data); assertNotNull(normalizedNode); final var fromNormalizedNode = codecContext.fromNormalizedNode(contYII, normalizedNode.node()); diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/Mdsal668Test.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/Mdsal668Test.java index 5ddbdec5b9..a1cbdb2f3d 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/Mdsal668Test.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/Mdsal668Test.java @@ -11,7 +11,6 @@ import static org.junit.Assert.assertEquals; import java.util.Set; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.mdsal668.norev.Foo; import org.opendaylight.yang.gen.v1.mdsal668.norev.FooBuilder; import org.opendaylight.yang.gen.v1.mdsal668.norev.bar.Bar; @@ -41,7 +40,7 @@ public class Mdsal668Test extends AbstractBindingCodecTest { .build()) .build()) .build(), - ((NodeResult) codecContext.toNormalizedNode(FOO_IID, - new FooBuilder().setBar(new BarBuilder().setBar(Set.of(FOO_IID)).build()).build())).node()); + codecContext.toNormalizedDataObject(FOO_IID, + new FooBuilder().setBar(new BarBuilder().setBar(Set.of(FOO_IID)).build()).build()).node()); } } diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/NormalizedNodeSerializeDeserializeTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/NormalizedNodeSerializeDeserializeTest.java index 5e7c032507..59423ce3c2 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/NormalizedNodeSerializeDeserializeTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/NormalizedNodeSerializeDeserializeTest.java @@ -30,7 +30,6 @@ import java.util.Map; import java.util.Map.Entry; import java.util.Set; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.TopChoiceAugment1Builder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.TopChoiceAugment2Builder; import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.mdsal.test.augment.rev140709.TreeComplexUsesAugment; @@ -97,7 +96,7 @@ public class NormalizedNodeSerializeDeserializeTest extends AbstractBindingCodec @Test public void containerToNormalized() { - final var entry = (NodeResult) codecContext.toNormalizedNode(InstanceIdentifier.create(Top.class), top()); + final var entry = codecContext.toNormalizedDataObject(InstanceIdentifier.create(Top.class), top()); assertEquals(getEmptyTop(), entry.node()); } @@ -122,10 +121,8 @@ public class NormalizedNodeSerializeDeserializeTest extends AbstractBindingCodec getNormalizedTopWithChildren(leafNode(AGUMENT_STRING_Q, AUGMENT_STRING_VALUE)); final ContainerNode topNormalized = getEmptyTop(); - final Entry, DataObject> entry = codecContext.fromNormalizedNode(BI_TOP_PATH, - topNormalized); - final Entry, DataObject> entryWithAugments = codecContext.fromNormalizedNode(BI_TOP_PATH, - topNormalizedWithAugments); + final var entry = codecContext.fromNormalizedNode(BI_TOP_PATH, topNormalized); + final var entryWithAugments = codecContext.fromNormalizedNode(BI_TOP_PATH, topNormalizedWithAugments); // Equals on other with no augmentation should be false assertNotEquals(top(), entryWithAugments.getValue()); @@ -156,8 +153,7 @@ public class NormalizedNodeSerializeDeserializeTest extends AbstractBindingCodec final ContainerNode topNormalizedWithAugments = getNormalizedTopWithChildren( leafNode(AGUMENT_STRING_Q, AUGMENT_STRING_VALUE), leafNode(AUGMENT_INT_Q, AUGMENT_INT_VALUE)); - final Entry, DataObject> entryWithAugments = codecContext.fromNormalizedNode(BI_TOP_PATH, - topNormalizedWithAugments); + final var entryWithAugments = codecContext.fromNormalizedNode(BI_TOP_PATH, topNormalizedWithAugments); Top topWithAugments = topWithAugments(Map.of( Top1.class, new Top1Builder().setAugmentedString(AUGMENT_STRING_VALUE).build(), Top2.class, new Top2Builder().setAugmentedInt(AUGMENT_INT_VALUE).build())); @@ -193,8 +189,7 @@ public class NormalizedNodeSerializeDeserializeTest extends AbstractBindingCodec @Test public void listWithKeysToNormalized() { - final var entry = (NodeResult) codecContext.toNormalizedNode(BA_TOP_LEVEL_LIST, - topLevelList(TOP_LEVEL_LIST_FOO_KEY)); + final var entry = codecContext.toNormalizedDataObject(BA_TOP_LEVEL_LIST, topLevelList(TOP_LEVEL_LIST_FOO_KEY)); assertEquals(mapEntryBuilder() .withNodeIdentifier(NodeIdentifierWithPredicates.of(TOP_LEVEL_LIST_QNAME, TOP_LEVEL_LIST_KEY_QNAME, TOP_LEVEL_LIST_FOO_KEY_VALUE)) @@ -215,7 +210,7 @@ public class NormalizedNodeSerializeDeserializeTest extends AbstractBindingCodec @Test public void leafOnlyAugmentationToNormalized() { - final var entry = (NodeResult) codecContext.toNormalizedNode(BA_TOP_LEVEL_LIST, + final var entry = codecContext.toNormalizedDataObject(BA_TOP_LEVEL_LIST, topLevelList(TOP_LEVEL_LIST_FOO_KEY, new TreeLeafOnlyAugmentBuilder().setSimpleValue("simpleValue").build())); assertEquals(mapEntryBuilder() @@ -243,7 +238,7 @@ public class NormalizedNodeSerializeDeserializeTest extends AbstractBindingCodec @Test public void orderedleafListToNormalized() { - final var entry = (NodeResult) codecContext.toNormalizedNode(InstanceIdentifier.create(Top.class), + final var entry = codecContext.toNormalizedDataObject(InstanceIdentifier.create(Top.class), new TopBuilder().setTopLevelOrderedLeafList(List.of("foo")).build()); assertEquals(containerBuilder() .withNodeIdentifier(new NodeIdentifier(TOP_QNAME)) @@ -260,7 +255,7 @@ public class NormalizedNodeSerializeDeserializeTest extends AbstractBindingCodec @Test public void leafListToNormalized() { - final var entry = (NodeResult) codecContext.toNormalizedNode( + final var entry = codecContext.toNormalizedDataObject( InstanceIdentifier.create(Top.class), new TopBuilder().setTopLevelLeafList(Set.of("foo")).build()); assertEquals(containerBuilder() .withNodeIdentifier(new NodeIdentifier(TOP_QNAME)) @@ -306,7 +301,7 @@ public class NormalizedNodeSerializeDeserializeTest extends AbstractBindingCodec @Test public void choiceToNormalized() { - final var entry = (NodeResult) codecContext.toNormalizedNode(InstanceIdentifier.create(ChoiceContainer.class), + final var entry = codecContext.toNormalizedDataObject(InstanceIdentifier.create(ChoiceContainer.class), new ChoiceContainerBuilder() .setIdentifier(new ExtendedBuilder() .setExtendedId(new ExtendedIdBuilder().setId("identifier_value").build()) @@ -423,7 +418,7 @@ public class NormalizedNodeSerializeDeserializeTest extends AbstractBindingCodec @Test public void orderedLisToNormalized() { - final var entry = (NodeResult) codecContext.toNormalizedNode(BA_TOP_LEVEL_LIST, new TopLevelListBuilder() + final var entry = codecContext.toNormalizedDataObject(BA_TOP_LEVEL_LIST, new TopLevelListBuilder() .withKey(TOP_LEVEL_LIST_FOO_KEY) .setNestedList(List.of( new NestedListBuilder().withKey(new NestedListKey("foo")).build(), @@ -489,7 +484,7 @@ public class NormalizedNodeSerializeDeserializeTest extends AbstractBindingCodec ).build() ).build(); - final var biResult = (NodeResult) codecContext.toNormalizedNode(InstanceIdentifier.create(Top.class), top); + final var biResult = codecContext.toNormalizedDataObject(InstanceIdentifier.create(Top.class), top); final var topNormalized = containerBuilder() .withNodeIdentifier(new NodeIdentifier(TOP_QNAME)) diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/SpecializingLeafrefTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/SpecializingLeafrefTest.java index e09f5d9cf0..bc577d9147 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/SpecializingLeafrefTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/SpecializingLeafrefTest.java @@ -12,7 +12,6 @@ import static org.junit.Assert.assertEquals; import java.util.Set; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.mdsal426.norev.BarCont; import org.opendaylight.yang.gen.v1.mdsal426.norev.BarContBuilder; import org.opendaylight.yang.gen.v1.mdsal426.norev.BooleanCont; @@ -30,7 +29,7 @@ public class SpecializingLeafrefTest extends AbstractBindingCodecTest { public void specifiedBooleanLeafTest() { final BooleanCont booleanCont = new BooleanContBuilder().setIsFoo(true).build(); - final var res = (NodeResult) codecContext.toNormalizedNode(BOOLEAN_CONT_II, booleanCont); + final var res = codecContext.toNormalizedDataObject(BOOLEAN_CONT_II, booleanCont); final var booleanContBinding = (BooleanCont) codecContext.fromNormalizedNode(res.path(), res.node()).getValue(); @@ -41,7 +40,7 @@ public class SpecializingLeafrefTest extends AbstractBindingCodecTest { public void specifiedCommonLeafTest() { final BarCont barCont = new BarContBuilder().setLeaf2("foo").build(); - final var res = (NodeResult) codecContext.toNormalizedNode(BAR_CONT_II, barCont); + final var res = codecContext.toNormalizedDataObject(BAR_CONT_II, barCont); final var booleanContBinding = (BarCont) codecContext.fromNormalizedNode(res.path(), res.node()).getValue(); @@ -53,7 +52,7 @@ public class SpecializingLeafrefTest extends AbstractBindingCodecTest { final Set testSet = Set.of("test"); final BarCont barCont = new BarContBuilder().setLeafList1(testSet).build(); - final var res = (NodeResult) codecContext.toNormalizedNode(BAR_CONT_II, barCont); + final var res = codecContext.toNormalizedDataObject(BAR_CONT_II, barCont); final var barContAfterConverting = (BarCont) codecContext.fromNormalizedNode(res.path(), res.node()).getValue(); diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/TypedefTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/TypedefTest.java index 89762a0721..efe975230f 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/TypedefTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/TypedefTest.java @@ -10,7 +10,6 @@ package org.opendaylight.mdsal.binding.dom.codec.impl; import static org.junit.Assert.assertEquals; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.bug8903.rev170829.DefaultPolicy; import org.opendaylight.yang.gen.v1.bug8903.rev170829.DefaultPolicyBuilder; import org.opendaylight.yang.gen.v1.bug8903.rev170829.PolicyLoggingFlag; @@ -33,7 +32,7 @@ public class TypedefTest extends AbstractBindingCodecTest { .setAction2(new PolicyLoggingFlag(false)) .setAction3(true) .build(); - final var dom = (NodeResult) codecContext.toNormalizedNode(BA_DEFAULT_POLICY, binding); + final var dom = codecContext.toNormalizedDataObject(BA_DEFAULT_POLICY, binding); final var readed = codecContext.fromNormalizedNode(dom.path(),dom.node()); assertEquals(binding, readed.getValue()); @@ -46,7 +45,7 @@ public class TypedefTest extends AbstractBindingCodecTest { .setEmptyLeaf2(new TypedefEmpty(Empty.value())) .setEmptyLeaf3(Empty.value()) .build(); - final var dom = (NodeResult) codecContext.toNormalizedNode(BA_TEST_CONT, binding); + final var dom = codecContext.toNormalizedDataObject(BA_TEST_CONT, binding); final var readed = codecContext.fromNormalizedNode(dom.path(),dom.node()); assertEquals(binding, readed.getValue()); diff --git a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeWithMultipleIdentityrefsTest.java b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeWithMultipleIdentityrefsTest.java index 5be7477d55..ef766a0da5 100644 --- a/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeWithMultipleIdentityrefsTest.java +++ b/binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeWithMultipleIdentityrefsTest.java @@ -14,7 +14,6 @@ import static org.junit.Assert.assertTrue; import java.util.Optional; import org.junit.Test; -import org.opendaylight.mdsal.binding.dom.codec.api.BindingNormalizedNodeSerializer.NodeResult; import org.opendaylight.yang.gen.v1.urn.opendaylight.yang.union.test.rev220428.IdentOne; import org.opendaylight.yang.gen.v1.urn.opendaylight.yang.union.test.rev220428.IdentTwo; import org.opendaylight.yang.gen.v1.urn.opendaylight.yang.union.test.rev220428.Top; @@ -47,7 +46,7 @@ public class UnionTypeWithMultipleIdentityrefsTest extends AbstractBindingCodecT } @Test - public void fromNNToBindingTest() throws NoSuchFieldException { + public void fromNNToBindingTest() { verifyIdentityWasTranslatedToBindingCorrectly(IDENTITY_ONE_QNAME, new UnionType(IdentOne.VALUE)); verifyIdentityWasTranslatedToBindingCorrectly(IDENTITY_TWO_QNAME, new UnionType(IdentTwo.VALUE)); } @@ -80,7 +79,7 @@ public class UnionTypeWithMultipleIdentityrefsTest extends AbstractBindingCodecT // create binding instance with identity final Top topContainer = new TopBuilder().setTestUnionLeaf(chosenIdentity).build(); // translate via codec into NN - final var translated = (NodeResult) codecContext.toNormalizedNode(InstanceIdentifier.builder(Top.class).build(), + final var translated = codecContext.toNormalizedDataObject(InstanceIdentifier.builder(Top.class).build(), topContainer); assertNotNull(translated); // verify translation worked -- 2.36.6