import java.io.File;
import java.io.InputStream;
-import java.net.URI;
import java.util.Collection;
import java.util.Optional;
import javax.ws.rs.core.MediaType;
import org.opendaylight.controller.md.sal.rest.common.TestRestconfUtils;
import org.opendaylight.mdsal.dom.api.DOMMountPoint;
import org.opendaylight.netconf.sal.rest.impl.JsonNormalizedNodeBodyReader;
-import org.opendaylight.restconf.common.context.NormalizedNodeContext;
+import org.opendaylight.netconf.sal.rest.impl.NormalizedNodeContext;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.common.QNameModule;
import org.opendaylight.yangtools.yang.common.Revision;
+import org.opendaylight.yangtools.yang.common.XMLNamespace;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
-import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.PathArgument;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.api.schema.DataContainerChild;
import org.opendaylight.yangtools.yang.data.api.schema.NormalizedNodes;
private static EffectiveModelContext schemaContext;
private static final QNameModule INSTANCE_IDENTIFIER_MODULE_QNAME = QNameModule.create(
- URI.create("instance:identifier:module"), Revision.of("2014-01-17"));
+ XMLNamespace.of("instance:identifier:module"), Revision.of("2014-01-17"));
public TestJsonBodyReaderMountPoint() throws NoSuchFieldException, SecurityException {
super(schemaContext, mock(DOMMountPoint.class));
- this.jsonBodyReader = new JsonNormalizedNodeBodyReader(controllerContext);
+ jsonBodyReader = new JsonNormalizedNodeBodyReader(controllerContext);
}
@Override
final DataSchemaNode dataSchemaNode = schemaContext
.getDataChildByName(QName.create(INSTANCE_IDENTIFIER_MODULE_QNAME, "cont"));
final String uri = "instance-identifier-module:cont/yang-ext:mount/instance-identifier-module:cont";
- mockBodyReader(uri, this.jsonBodyReader, false);
+ mockBodyReader(uri, jsonBodyReader, false);
final InputStream inputStream = TestJsonBodyReaderMountPoint.class
.getResourceAsStream("/instanceidentifier/json/jsondata.json");
- final NormalizedNodeContext returnValue = this.jsonBodyReader.readFrom(null,
- null, null, this.mediaType, null, inputStream);
+ final NormalizedNodeContext returnValue = jsonBodyReader.readFrom(null,
+ null, null, mediaType, null, inputStream);
checkMountPointNormalizedNodeContext(returnValue);
checkExpectValueNormalizeNodeContext(dataSchemaNode, returnValue);
}
final DataSchemaNode dataSchemaNode = schemaContext
.getDataChildByName(QName.create(INSTANCE_IDENTIFIER_MODULE_QNAME, "cont"));
final String uri = "instance-identifier-module:cont/yang-ext:mount/instance-identifier-module:cont/cont1";
- mockBodyReader(uri, this.jsonBodyReader, false);
+ mockBodyReader(uri, jsonBodyReader, false);
final InputStream inputStream = TestJsonBodyReaderMountPoint.class
.getResourceAsStream("/instanceidentifier/json/json_sub_container.json");
- final NormalizedNodeContext returnValue = this.jsonBodyReader.readFrom(null,
- null, null, this.mediaType, null, inputStream);
+ final NormalizedNodeContext returnValue = jsonBodyReader.readFrom(null,
+ null, null, mediaType, null, inputStream);
checkMountPointNormalizedNodeContext(returnValue);
checkExpectValueNormalizeNodeContext(dataSchemaNode, returnValue,
QName.create(dataSchemaNode.getQName(), "cont1"));
final DataSchemaNode dataSchemaNode = schemaContext
.getDataChildByName(QName.create(INSTANCE_IDENTIFIER_MODULE_QNAME, "cont"));
final String uri = "instance-identifier-module:cont/yang-ext:mount/instance-identifier-module:cont";
- mockBodyReader(uri, this.jsonBodyReader, true);
+ mockBodyReader(uri, jsonBodyReader, true);
final InputStream inputStream = TestJsonBodyReaderMountPoint.class
.getResourceAsStream("/instanceidentifier/json/json_sub_container.json");
- final NormalizedNodeContext returnValue = this.jsonBodyReader.readFrom(null,
- null, null, this.mediaType, null, inputStream);
+ final NormalizedNodeContext returnValue = jsonBodyReader.readFrom(null,
+ null, null, mediaType, null, inputStream);
checkMountPointNormalizedNodeContext(returnValue);
checkExpectValueNormalizeNodeContext(dataSchemaNode, returnValue);
}
@Test
public void rpcModuleInputTest() throws Exception {
final String uri = "instance-identifier-module:cont/yang-ext:mount/invoke-rpc-module:rpc-test";
- mockBodyReader(uri, this.jsonBodyReader, true);
- final InputStream inputStream = TestJsonBodyReaderMountPoint.class
- .getResourceAsStream("/invoke-rpc/json/rpc-input.json");
- final NormalizedNodeContext returnValue = this.jsonBodyReader.readFrom(null,
- null, null, this.mediaType, null, inputStream);
- checkNormalizedNodeContext(returnValue);
+ mockBodyReader(uri, jsonBodyReader, true);
+ final InputStream inputStream = TestJsonBodyReaderMountPoint.class.getResourceAsStream(
+ "/invoke-rpc/json/rpc-input.json");
+ final NormalizedNodeContext returnValue = jsonBodyReader.readFrom(null, null, null, mediaType, null,
+ inputStream);
+ checkNormalizedNodeContextRpc(returnValue);
final ContainerNode inputNode = (ContainerNode) returnValue.getData();
- final YangInstanceIdentifier yangCont = YangInstanceIdentifier.of(QName
- .create(inputNode.getNodeType(), "cont"));
- final Optional<DataContainerChild<? extends PathArgument, ?>> contDataNode = inputNode
- .getChild(yangCont.getLastPathArgument());
+ final YangInstanceIdentifier yangCont = YangInstanceIdentifier.of(
+ QName.create(inputNode.getIdentifier().getNodeType(), "cont"));
+ final Optional<DataContainerChild> contDataNode = inputNode.findChildByArg(yangCont.getLastPathArgument());
assertTrue(contDataNode.isPresent());
assertTrue(contDataNode.get() instanceof ContainerNode);
- final YangInstanceIdentifier yangleaf = YangInstanceIdentifier.of(QName.create(inputNode.getNodeType(), "lf"));
- final Optional<DataContainerChild<? extends PathArgument, ?>> leafDataNode =
- ((ContainerNode) contDataNode.get()).getChild(yangleaf.getLastPathArgument());
+ final YangInstanceIdentifier yangleaf = YangInstanceIdentifier.of(
+ QName.create(inputNode.getIdentifier().getNodeType(), "lf"));
+ final Optional<DataContainerChild> leafDataNode =
+ ((ContainerNode) contDataNode.get()).findChildByArg(yangleaf.getLastPathArgument());
assertTrue(leafDataNode.isPresent());
- assertTrue("lf-test".equalsIgnoreCase(leafDataNode.get().getValue().toString()));
+ assertTrue("lf-test".equalsIgnoreCase(leafDataNode.get().body().toString()));
}
- private void checkExpectValueNormalizeNodeContext(
- final DataSchemaNode dataSchemaNode,
+ private void checkExpectValueNormalizeNodeContext(final DataSchemaNode dataSchemaNode,
final NormalizedNodeContext nnContext) {
checkExpectValueNormalizeNodeContext(dataSchemaNode, nnContext, null);
}
- protected void checkExpectValueNormalizeNodeContext(
- final DataSchemaNode dataSchemaNode,
+ protected void checkExpectValueNormalizeNodeContext(final DataSchemaNode dataSchemaNode,
final NormalizedNodeContext nnContext, final QName qualifiedName) {
- YangInstanceIdentifier dataNodeIdent = YangInstanceIdentifier
- .of(dataSchemaNode.getQName());
- final DOMMountPoint mountPoint = nnContext
- .getInstanceIdentifierContext().getMountPoint();
- final DataSchemaNode mountDataSchemaNode = mountPoint.getSchemaContext().getDataChildByName(
+ YangInstanceIdentifier dataNodeIdent = YangInstanceIdentifier.of(dataSchemaNode.getQName());
+ final DOMMountPoint mountPoint = nnContext.getInstanceIdentifierContext().getMountPoint();
+ final DataSchemaNode mountDataSchemaNode = modelContext(mountPoint).getDataChildByName(
dataSchemaNode.getQName());
assertNotNull(mountDataSchemaNode);
if (qualifiedName != null && dataSchemaNode instanceof DataNodeContainer) {