|
FilterContentValidator always creates string key values:
final Optional<String> keyValue = childElements.get().getOnlyTextContentOptionally();
if (keyValue.isPresent())
{
keys.put(qName, keyValue.get());
}
...
as a consequence such YII cannot be translated to II using mdsal's BindingToNormalizedNodeCodec (issue similar to https://bugs.opendaylight.org/show_bug.cgi?id=7759):
2017-03-27 11:44:47.558 CEST [netconf-netty-1] ERROR o.o.n.i.o.NetconfOperationRouterImpl - Unexpected exception during netconf operation execution
java.lang.ClassCastException: java.lang.String cannot be cast to org.opendaylight.yangtools.yang.common.QName
at org.opendaylight.yangtools.binding.data.codec.impl.IdentityCodec.deserialize(IdentityCodec.java:17) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
at org.opendaylight.yangtools.binding.data.codec.impl.ValueContext.deserialize(ValueContext.java:50) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.deserialize(IdentifiableItemCodec.java:101) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
at org.opendaylight.yangtools.binding.data.codec.impl.IdentifiableItemCodec.deserialize(IdentifiableItemCodec.java:30) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
at org.opendaylight.yangtools.binding.data.codec.impl.KeyedListNodeCodecContext.getBindingPathArgument(KeyedListNodeCodecContext.java:73) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingCodecContext.getCodecContextNode(BindingCodecContext.java:169) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.deserialize(InstanceIdentifierCodec.java:36) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
at org.opendaylight.yangtools.binding.data.codec.impl.InstanceIdentifierCodec.deserialize(InstanceIdentifierCodec.java:19) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
at org.opendaylight.yangtools.binding.data.codec.impl.BindingNormalizedNodeCodecRegistry.fromYangInstanceIdentifier(BindingNormalizedNodeCodecRegistry.java:92) ~[mdsal-binding-dom-codec-0.9.3-SNAPSHOT.jar:na]
at org.opendaylight.controller.md.sal.binding.impl.BindingToNormalizedNodeCodec.fromYangInstanceIdentifier(BindingToNormalizedNodeCodec.java:171) ~[sal-binding-broker-impl-1.4.3-SNAPSHOT.jar:na]
Issue is present in Carbon (logs are for boron-SR3 with https://git.opendaylight.org/gerrit/#/c/53678/)
It applies only to netconf get/get-config.
Edit-config is fine (uses DomToNormalizedNodeParserFactory)
Restconf get/put are also fine (RestCodec is used).
|