From f2a340f0a8ec957382fb48ab7694d9c20d916a7f Mon Sep 17 00:00:00 2001 From: Ivan Hrasko Date: Wed, 9 Mar 2022 16:32:15 +0100 Subject: [PATCH] Eliminate use of SchemaNode.getPath() in TestRestconfUtils Replace SchemaNode#getPath usage with SchemaInference. JIRA: NETCONF-818 Change-Id: I8f64605f71eb9cdc8d17a5381e2e6c102dac7d0b Signed-off-by: Ivan Hrasko --- .../restconf/nb/rfc8040/TestRestconfUtils.java | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/TestRestconfUtils.java b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/TestRestconfUtils.java index c1682dc7cc..1ecdef936d 100644 --- a/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/TestRestconfUtils.java +++ b/restconf/restconf-nb-rfc8040/src/test/java/org/opendaylight/restconf/nb/rfc8040/TestRestconfUtils.java @@ -24,6 +24,8 @@ import org.opendaylight.restconf.nb.rfc8040.legacy.NormalizedNodePayload; import org.opendaylight.restconf.nb.rfc8040.utils.parser.ParserIdentifier; import org.opendaylight.yangtools.util.xml.UntrustedXML; import org.opendaylight.yangtools.yang.common.YangConstants; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.AugmentationIdentifier; +import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifierWithPredicates; import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNode; import org.opendaylight.yangtools.yang.data.api.schema.stream.NormalizedNodeStreamWriter; import org.opendaylight.yangtools.yang.data.codec.xml.XmlParserStream; @@ -117,8 +119,14 @@ public final class TestRestconfUtils { final NormalizedNodeResult resultHolder = new NormalizedNodeResult(); final NormalizedNodeStreamWriter writer = ImmutableNormalizedNodeStreamWriter.from(resultHolder); - final XmlParserStream xmlParser = XmlParserStream.create(writer, - SchemaInferenceStack.ofInstantiatedPath(iiContext.getSchemaContext(), schemaNode.getPath()).toInference()); + + final SchemaInferenceStack stack = SchemaInferenceStack.of(iiContext.getSchemaContext()); + iiContext.getInstanceIdentifier().getPathArguments().stream() + .filter(p -> !(p instanceof NodeIdentifierWithPredicates)) + .filter(p -> !(p instanceof AugmentationIdentifier)) + .forEach(p -> stack.enterSchemaTree(p.getNodeType())); + + final XmlParserStream xmlParser = XmlParserStream.create(writer, stack.toInference()); if (schemaNode instanceof ContainerSchemaNode || schemaNode instanceof ListSchemaNode) { xmlParser.traverse(new DOMSource(doc.getDocumentElement())); -- 2.36.6