import org.opendaylight.mdsal.dom.api.DOMDataBroker.DataTreeChangeExtension;
import org.opendaylight.restconf.common.errors.RestconfDocumentedException;
import org.opendaylight.restconf.common.errors.RestconfFuture;
-import org.opendaylight.restconf.server.api.OperationsPostResult;
import org.opendaylight.restconf.server.spi.ApiPathCanonizer;
import org.opendaylight.restconf.server.spi.DatabindProvider;
import org.opendaylight.restconf.server.spi.OperationInput;
import org.opendaylight.yangtools.yang.common.QName;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier;
import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier.NodeIdentifier;
+import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
import org.opendaylight.yangtools.yang.data.spi.node.ImmutableNodes;
import org.osgi.service.component.annotations.Activate;
import org.osgi.service.component.annotations.Component;
* </pre>
*/
@Override
- public RestconfFuture<OperationsPostResult> invoke(final URI restconfURI, final OperationInput input) {
+ public RestconfFuture<ContainerNode> invoke(final URI restconfURI, final OperationInput input) {
final var body = input.input();
final var datastoreName = leaf(body, DATASTORE_NODEID, String.class);
final var datastore = datastoreName != null ? LogicalDatastoreType.valueOf(datastoreName)
new RestconfDocumentedException("missing path", ErrorType.APPLICATION, ErrorTag.MISSING_ELEMENT));
}
- final var operPath = input.path();
-
return streamRegistry.createStream(restconfURI,
new DataTreeChangeSource(databindProvider, changeService, datastore, path),
"Events occuring in " + datastore + " datastore under /"
- + new ApiPathCanonizer(operPath.databind()).dataToApiPath(path).toString())
- .transform(stream -> new OperationsPostResult(operPath, ImmutableNodes.newContainerBuilder()
+ + new ApiPathCanonizer(input.path().databind()).dataToApiPath(path).toString())
+ .transform(stream -> ImmutableNodes.newContainerBuilder()
.withNodeIdentifier(OUTPUT_NODEID)
.withChild(ImmutableNodes.leafNode(STREAM_NAME_NODEID, stream.name()))
- .build()));
+ .build());
}
}