X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=binding%2Fmdsal-binding-dom-codec%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fmdsal%2Fbinding%2Fdom%2Fcodec%2Fimpl%2FInstanceIdentifierCodec.java;h=b7f60447f3aa50f4bf007c4e96d823a01e7d0301;hb=ed1d404afce15a852d46c1b7f19cba1a57eb87a5;hp=2138c777bddab94602ac5e9e8a5698d0279f700a;hpb=2f25664c714829303174a18fbd960d07f101507e;p=mdsal.git diff --git a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/InstanceIdentifierCodec.java b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/InstanceIdentifierCodec.java index 2138c777bd..b7f60447f3 100644 --- a/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/InstanceIdentifierCodec.java +++ b/binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/mdsal/binding/dom/codec/impl/InstanceIdentifierCodec.java @@ -15,7 +15,6 @@ import java.util.List; import org.eclipse.jdt.annotation.NonNull; import org.opendaylight.mdsal.binding.dom.codec.api.BindingDataObjectCodecTreeNode; import org.opendaylight.mdsal.binding.dom.codec.api.BindingInstanceIdentifierCodec; -import org.opendaylight.yangtools.concepts.IllegalArgumentCodec; import org.opendaylight.yangtools.yang.binding.DataObject; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; @@ -23,7 +22,7 @@ import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgum final class InstanceIdentifierCodec implements BindingInstanceIdentifierCodec, //FIXME: this is not really an IllegalArgumentCodec, as it can legally return null from deserialize() - IllegalArgumentCodec> { + ValueCodec> { private final BindingCodecContext context; InstanceIdentifierCodec(final BindingCodecContext context) { @@ -37,21 +36,20 @@ final class InstanceIdentifierCodec implements BindingInstanceIdentifierCodec, if (codec == null) { return null; } - if (codec instanceof ListNodeCodecContext && Iterables.getLast(builder) instanceof InstanceIdentifier.Item) { + if (codec instanceof ListCodecContext && Iterables.getLast(builder) instanceof InstanceIdentifier.Item) { // We ended up in list, but without key, which means it represent list as a whole, // which is not binding representable. return null; } - @SuppressWarnings("unchecked") - final InstanceIdentifier ret = (InstanceIdentifier) InstanceIdentifier.create(builder); - return ret; + + return InstanceIdentifier.unsafeOf(builder); } @Override public @NonNull YangInstanceIdentifier fromBinding(@NonNull final InstanceIdentifier bindingPath) { final List domArgs = new ArrayList<>(); context.getCodecContextNode(bindingPath, domArgs); - return YangInstanceIdentifier.create(domArgs); + return YangInstanceIdentifier.of(domArgs); } @Override