Improve BindingNormalizedNodeSerializer API 95/106195/1
authorRobert Varga <robert.varga@pantheon.tech>
Sun, 28 May 2023 15:26:11 +0000 (17:26 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sun, 28 May 2023 16:37:28 +0000 (18:37 +0200)
Allow users to specifically ask for an explicit dataobject or
augmentation serialization.

JIRA: MDSAL-820
Change-Id: Ic929620d2c23c8ac1ab7eb7a5f2f46d627833a73
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
18 files changed:
binding/mdsal-binding-dom-codec-api/src/main/java/org/opendaylight/mdsal/binding/dom/codec/api/BindingNormalizedNodeSerializer.java
binding/mdsal-binding-dom-codec-spi/src/main/java/org/opendaylight/mdsal/binding/dom/codec/spi/ForwardingBindingDOMCodecServices.java
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/BindingCodecContext.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AbstractBindingCodecTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AnydataLeafTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AnyxmlLeafTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/AugmentationSubstitutionTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/BinaryKeyTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/CaseSubstitutionTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/EmptyLeafTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/KeyInheritenceTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafReferenceTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/LeafrefSerializeDeserializeTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/Mdsal668Test.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/NormalizedNodeSerializeDeserializeTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/SpecializingLeafrefTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/TypedefTest.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/mdsal/binding/dom/codec/impl/UnionTypeWithMultipleIdentityrefsTest.java

index b026c7412bacbf003447afb79da73d965e79ddbc..675708b10a07c81e923fc94a81d0b11cd2c20896 100644 (file)
@@ -109,6 +109,27 @@ public interface BindingNormalizedNodeSerializer {
      */
     <T extends DataObject> @NonNull NormalizedResult toNormalizedNode(InstanceIdentifier<T> 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.
+     */
+    <A extends Augmentation<?>> @NonNull AugmentationResult toNormalizedAugmentation(InstanceIdentifier<A> 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.
+     */
+    <T extends DataObject> @NonNull NodeResult toNormalizedDataObject(InstanceIdentifier<T> path, T data);
+
     /**
      * Translates supplied YANG Instance Identifier and NormalizedNode into Binding data.
      *
index f3a4c3f273378a287679b0bd73e27216be426a1d..8eb9dee6a57b70711fc5fbafcdb68b4a1064be38 100644 (file)
@@ -69,6 +69,18 @@ public abstract class ForwardingBindingDOMCodecServices extends ForwardingObject
         return delegate().toNormalizedNode(path, data);
     }
 
+    @Override
+    public <A extends Augmentation<?>> @NonNull AugmentationResult toNormalizedAugmentation(
+            final InstanceIdentifier<A> path, final A data) {
+        return delegate().toNormalizedAugmentation(path, data);
+    }
+
+    @Override
+    public <T extends DataObject> @NonNull NodeResult toNormalizedDataObject(final InstanceIdentifier<T> path,
+            final T data) {
+        return delegate().toNormalizedDataObject(path, data);
+    }
+
     @Override
     public ContainerNode toNormalizedNodeNotification(final Notification<?> data) {
         return delegate().toNormalizedNodeNotification(data);
index 9842c0f0dde47c106fe2939cb7e6f9e0cff797ac..dd108c2c818d5d33ac99510d1352706575341df9 100644 (file)
@@ -569,6 +569,25 @@ public final class BindingCodecContext extends AbstractBindingNormalizedNodeSeri
         return instanceIdentifierCodec.toBinding(dom);
     }
 
+    @Override
+    public <A extends Augmentation<?>> AugmentationResult toNormalizedAugmentation(final InstanceIdentifier<A> 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 <T extends DataObject> NodeResult toNormalizedDataObject(final InstanceIdentifier<T> 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 <T extends DataObject> NormalizedResult toNormalizedNode(final InstanceIdentifier<T> path, final T data) {
         // We create Binding Stream Writer which translates from Binding to Normalized Nodes
index 78bc227483fb7a00c5c2f5160cc08d06e736c19a..dfc64391c50b7cbe96a0c74ba96f71e29e6c7876 100644 (file)
@@ -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 extends DataObject> T thereAndBackAgain(final InstanceIdentifier<T> 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();
index ff38a99f3d5a8aee8ba0ee155fc18900ca2a11a3..33e4b31e551e29bd7ca131b3c44c881cec3a304a 100644 (file)
@@ -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());
     }
index aee44699dfb283dffea2d8593757e239cff78934..ee221b0adf8d504edb016e6cc50ac490b082593f 100644 (file)
@@ -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());
     }
index 314fc5a463888f26c4baa0020ea623fd1fd90a6d..105b31c7e269af6a2192d1c269583c9ecf9a301c 100644 (file)
@@ -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);
index 250320fb4f2dd401f28f8f89429214bdb72088aa..58883afd77f360cc8f6a4c03e0a500e4c641f35f 100644 (file)
@@ -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();
     }
 }
index b8b4f84b22fd615a5f9e029272245e0c80c80161..06fc9b2136287a644baec1d03fd37f37e839e439 100644 (file)
@@ -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);
     }
 
index 467d7244c151d85183ff451aea0af00c11300072..7dfdca7f7cc12a44650709459442edd90b2bc3c6 100644 (file)
@@ -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);
index ec9bfe4cc1d48125bd788fd5d8d0d73f56d399a3..912244c8c59beaff763c897975466e9e6b2a5cc8 100644 (file)
@@ -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<InstanceIdentifier<?>, 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());
     }
 }
index 099eb0aa42cfb7d9da3d43491a867d7a5e9b9660..a3aa2341958fbbcf01c8732948be899ce7f53889 100644 (file)
@@ -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);
 
index 7fecd0b8baf0fc8b7d7c6e8941f7e4c719f3b23d..488d8dd24a3bb8b4b779e03acde0f9e8291cc411 100644 (file)
@@ -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<Cont> 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<ContInt32> 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());
index 5ddbdec5b9d7f699b504f4a282f8a34f459c9e50..a1cbdb2f3d1d874dcefd578bedf83d6c1264dbbc 100644 (file)
@@ -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());
     }
 }
index 5e7c0325070954f0a948c38f987d2c399116640d..59423ce3c2d473716f53bbf9ca97ce24fca14dd3 100644 (file)
@@ -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<InstanceIdentifier<?>, DataObject> entry = codecContext.fromNormalizedNode(BI_TOP_PATH,
-            topNormalized);
-        final Entry<InstanceIdentifier<?>, 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<InstanceIdentifier<?>, 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))
index e09f5d9cf048697a8c5c09958c1a6307f93c9149..bc577d9147aece7cb37459515ac1017aed9620a0 100644 (file)
@@ -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<String> 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();
 
index 89762a0721b207fc0417f66fc705ce39e03f9107..efe975230fdc8b40e21263e5b3d2e7834ad03dc2 100644 (file)
@@ -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());
index 5be7477d55cd80d9d2c4e2e28c933aeb11f2c0c0..ef766a0da56ead3caf9da8fd0ee8c62d2e9b7350 100644 (file)
@@ -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