AnydataNode is not processed in ParameterAwareNormalizedNodeWriter
throwing IllegalStateException. Add a step to check/process AnydataNode
in wasProcessAsSimpleNode().
JIRA: NETCONF-868
Change-Id: I637890ff6779d0a532ee6d4182e4c36baa4f5231
Signed-off-by: Sangwook Ha <sangwook.ha@verizon.com>
(cherry picked from commit
0b55436b34f4c764da926d8a9318af68a8c3cc98)
import org.opendaylight.restconf.nb.rfc8040.jersey.providers.api.RestconfNormalizedNodeWriter;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
import org.opendaylight.restconf.nb.rfc8040.jersey.providers.api.RestconfNormalizedNodeWriter;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
+import org.opendaylight.yangtools.yang.data.api.schema.AnydataNode;
import org.opendaylight.yangtools.yang.data.api.schema.AnyxmlNode;
import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
import org.opendaylight.yangtools.yang.data.api.schema.AnyxmlNode;
import org.opendaylight.yangtools.yang.data.api.schema.AugmentationNode;
import org.opendaylight.yangtools.yang.data.api.schema.ChoiceNode;
writer.scalarValue(anyxmlNode.body());
}
writer.endNode();
writer.scalarValue(anyxmlNode.body());
}
writer.endNode();
+ return true;
+ }
+ } else if (node instanceof AnydataNode) {
+ final AnydataNode<?> anydataNode = (AnydataNode<?>)node;
+ final Class<?> objectModel = anydataNode.bodyObjectModel();
+ if (writer.startAnydataNode(anydataNode.getIdentifier(), objectModel)) {
+ writer.scalarValue(anydataNode.body());
+ writer.endNode();
+ return true;