Details
-
Bug
-
Status: Resolved
-
Resolution: Duplicate
-
None
-
None
-
None
-
None
-
Operating System: All
Platform: All
-
8901
Description
for example
if the yang is :
container default-policy{
leaf action {
type boolean;
}
}
then I call toNormalizedNode(final InstanceIdentifier<T> path, final T data), it works normal.
But if the yang is :
typedef policy-logging-flag
container default-policy{
leaf action {
type policy-logging-flag;
}
}
I call toNormalizedNode(final InstanceIdentifier<T> path, final T data), it would throw abnormal:
Caused by: java.lang.IllegalStateException: Unable to find type for child node AbsoluteSchemaPath
. Expected child nodes:
{getGlobalIp=GeneratedTransferObject [packageName=org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.huawei.security.policy.rev170415.sec.policy.rule._default, name=GlobalIp, comment=null, annotations=[], implements=[Type (org.opendaylight.yangtools.yang.binding.ChildOf), Type (org.opendaylight.yangtools.yang.binding.Augmentable)], enclosedTypes=[], constants=[Constant [type=Type (org.opendaylight.yangtools.yang.common.QName), name=QNAME, value=org.opendaylight.yangtools.yang.common.QName.cachedReference(org.opendaylight.yangtools.yang.common.QName.create("urn:huawei:params:xml:ns:yang:huawei-security-policy","2017-04-15","global-ip")), definingType=org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.huawei.security.policy.rev170415.sec.policy.rule._default.GlobalIp]], enumerations=[], properties=, methods=[MethodSignatureBuilderImpl [name=isDestination, returnType=Type (java.lang.Boolean), parameters=[], annotationBuilders=[], comment=Enable or disable destination global ip. True means enable and false means disable.]]], getPolicylog=org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.huawei.security.policy.rev170415.PolicyLoggingFlag, getAction=org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.huawei.security.policy.rev170415.ActionPolicyFlag, getSessionlog=org.opendaylight.yang.gen.v1.urn.huawei.params.xml.ns.yang.huawei.security.policy.rev170415.SessionLoggingFlag} at org.opendaylight.yangtools.binding.data.codec.gen.impl.DataNodeContainerSerializerSource.emitBody(DataNodeContainerSerializerSource.java:149)
at org.opendaylight.yangtools.binding.data.codec.gen.impl.DataNodeContainerSerializerSource.getSerializerBody(DataNodeContainerSerializerSource.java:80)
at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator$1.get(AbstractStreamWriterGenerator.java:203)
at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator$1.get(AbstractStreamWriterGenerator.java:200)
at org.opendaylight.yangtools.util.ClassLoaderUtils.withClassLoader(ClassLoaderUtils.java:53)
at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator.generateEmitter0(AbstractStreamWriterGenerator.java:200)
at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator.access$300(AbstractStreamWriterGenerator.java:46)
at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator$SerializerImplementationLoader.generateSerializer(AbstractStreamWriterGenerator.java:136)
at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator$SerializerImplementationLoader.load(AbstractStreamWriterGenerator.java:124)
at org.opendaylight.yangtools.binding.data.codec.gen.impl.AbstractStreamWriterGenerator$SerializerImplementationLoader.load(AbstractStreamWriterGenerator.java:102)
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3527)
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2319)
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2282)
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2197)
... 177 more
This could be a bug, Should we work it out?
Attachments
Issue Links
- duplicates
-
MDSAL-277 binding-data-codec does not work with boolean type using typedef
- Resolved