Bug 6112 - UnionTypeCodec fails to non-identityref value 86/41886/1
authorIsaku Yamahata <isaku.yamahata@intel.com>
Wed, 13 Jul 2016 00:04:41 +0000 (17:04 -0700)
committerRobert Varga <nite@hq.sk>
Fri, 15 Jul 2016 10:06:33 +0000 (10:06 +0000)
commit7d64be5b1995171d040d304a9aa4f6e96bff5541
tree327000e34be164f4ce97cbb1d5118cc4389caf48
parent6c7cb52b3976b9153c2af840ec7dfb715fa71974
Bug 6112 - UnionTypeCodec fails to non-identityref value

When Non-identityref value is deserialized, ClassCastException exception occurs.
catch the exception and move to the next codec.

> java.lang.ClassCastException: java.lang.Short cannot be cast to org.opendaylight.yangtools.yang.common.QName
>         at org.opendaylight.yangtools.binding.data.codec.impl.IdentityCodec.deserialize(IdentityCodec.java:17)
>         at org.opendaylight.yangtools.binding.data.codec.impl.UnionTypeCodec.deserialize(UnionTypeCodec.java:103)
>         at org.opendaylight.yangtools.binding.data.codec.impl.LeafNodeCodecContext.deserializeObject(LeafNodeCodecContext.java:199)
>         at org.opendaylight.yangtools.binding.data.codec.impl.DataObjectCodecContext.getBindingChildValue(DataObjectCodecContext.java:328)
>         at org.opendaylight.yangtools.binding.data.codec.impl.LazyDataObject.getBindingData(LazyDataObject.java:148)
>         at org.opendaylight.yangtools.binding.data.codec.impl.LazyDataObject.invoke(LazyDataObject.java:71)
>         at com.sun.proxy.$Proxy3.getValue(Unknown Source)
>         at org.opendaylight.yangtools.binding.data.codec.test.UnionTypeWithIdentityrefTest.bug6112Test(UnionTypeWithIdentityrefTest.java:78)

Change-Id: If6d9bffbc8cecaca2894f889940c814919da6a4b
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
(cherry picked from commit 71a93cffcd04df6a5521b323c9afdadafc90bc47)
binding/mdsal-binding-dom-codec/src/main/java/org/opendaylight/yangtools/binding/data/codec/impl/UnionTypeCodec.java
binding/mdsal-binding-dom-codec/src/test/java/org/opendaylight/yangtools/binding/data/codec/test/UnionTypeWithIdentityrefTest.java
binding/mdsal-binding-test-model/src/main/java/org/opendaylight/yang/gen/v1/urn/opendaylight/params/xml/ns/yang/mdsal/test/bug/_6006/rev160607/UnionTypeBuilder.java