Adjust to PropertyIdentifier existing 65/112465/1
authorRobert Varga <robert.varga@pantheon.tech>
Sat, 6 Jul 2024 19:26:25 +0000 (21:26 +0200)
committerRobert Varga <robert.varga@pantheon.tech>
Sat, 6 Jul 2024 19:32:35 +0000 (21:32 +0200)
We have BindingInstanceIdentifier on input, use the correct
InstanceIdentifier.fromBinding() method to deal with that.

Change-Id: I7ec7af7a4c599e88442d91712eb103a4dddaa798
Signed-off-by: Robert Varga <robert.varga@pantheon.tech>
binding/mdsal-binding-dom-adapter/src/main/java/org/opendaylight/mdsal/binding/dom/adapter/CurrentAdapterSerializer.java
binding/mdsal-binding-dom-adapter/src/test/java/org/opendaylight/mdsal/binding/dom/adapter/BindingDOMMountPointServiceAdapterTest.java

index cd96131e0796760b4067902f04dafc31603299c1..d1b00f4a9ae76ca19a61ce70f3d1c1586c3b1949 100644 (file)
@@ -28,7 +28,6 @@ import org.opendaylight.mdsal.binding.api.InstanceNotificationSpec;
 import org.opendaylight.yangtools.binding.BindingContract;
 import org.opendaylight.yangtools.binding.BindingInstanceIdentifier;
 import org.opendaylight.yangtools.binding.DataObject;
-import org.opendaylight.yangtools.binding.DataObjectIdentifier;
 import org.opendaylight.yangtools.binding.DataObjectReference;
 import org.opendaylight.yangtools.binding.data.codec.spi.BindingDOMCodecServices;
 import org.opendaylight.yangtools.binding.data.codec.spi.ForwardingBindingDOMCodecServices;
@@ -54,13 +53,7 @@ public final class CurrentAdapterSerializer extends ForwardingBindingDOMCodecSer
             .softValues().build(new CacheLoader<BindingInstanceIdentifier, YangInstanceIdentifier>() {
                 @Override
                 public YangInstanceIdentifier load(final BindingInstanceIdentifier key) {
-                    return switch (key) {
-                        case DataObjectIdentifier<?> id -> {
-                            final var yiid = toYangInstanceIdentifier(id);
-                            verify(!yiid.isEmpty(), "Bad conversion of %s to %s", id, yiid);
-                            yield yiid;
-                        }
-                    };
+                    return getInstanceIdentifierCodec().fromBinding(key);
                 }
             });
 
index 7120247882fe03561a8295815d67463aa3928ec9..f5fc708eedd7372361207b512e3dec1ecdb3bb0f 100644 (file)
@@ -22,6 +22,8 @@ import org.opendaylight.mdsal.binding.api.MountPointService.MountPointListener;
 import org.opendaylight.mdsal.dom.api.DOMMountPoint;
 import org.opendaylight.mdsal.dom.api.DOMMountPointService;
 import org.opendaylight.yang.gen.v1.urn.yang.foo.rev160101.BooleanContainer;
+import org.opendaylight.yangtools.binding.BindingInstanceIdentifier;
+import org.opendaylight.yangtools.binding.data.codec.api.BindingInstanceIdentifierCodec;
 import org.opendaylight.yangtools.binding.data.codec.spi.BindingDOMCodecServices;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
@@ -36,12 +38,15 @@ class BindingDOMMountPointServiceAdapterTest {
     private DOMMountPoint mountPoint;
     @Mock
     private MountPointListener mountPointListener;
+    @Mock
+    private BindingInstanceIdentifierCodec iiCodec;
 
     @Test
     void basicTest() {
         final var codec = new ConstantAdapterContext(registry);
         final var yiid = YangInstanceIdentifier.of(BooleanContainer.QNAME);
-        doReturn(yiid).when(registry).toYangInstanceIdentifier(any());
+        doReturn(iiCodec).when(registry).getInstanceIdentifierCodec();
+        doReturn(yiid).when(iiCodec).fromBinding(any(BindingInstanceIdentifier.class));
         doReturn(InstanceIdentifier.create(BooleanContainer.class)).when(registry).fromYangInstanceIdentifier(yiid);
 
         final var adapter = new BindingDOMMountPointServiceAdapter(codec, mountPointService);