1 package org.opendaylight.controller.sal.restconf.impl
3 import org.opendaylight.controller.sal.core.api.model.SchemaService
4 import org.opendaylight.yangtools.yang.data.api.CompositeNode
6 import static com.google.common.base.Preconditions.*
8 class RestconfImpl implements RestconfService {
14 extension ControllerContext controllerContext
16 val JsonMapper jsonMapper = new JsonMapper;
18 def init(SchemaService schemaService) {
19 checkState(broker !== null)
20 checkState(controllerContext !== null)
21 checkState(schemaService !== null)
22 controllerContext.schemas = schemaService.globalContext
25 override readAllData() {
26 return broker.readOperationalData("".removePrefixes.toInstanceIdentifier.getInstanceIdentifier);
29 override getModules() {
30 throw new UnsupportedOperationException("TODO: auto-generated method stub")
34 throw new UnsupportedOperationException("TODO: auto-generated method stub")
38 override readData(String identifier) {
39 val instanceIdentifierWithSchemaNode = identifier.removePrefixes.toInstanceIdentifier
40 val data = broker.readOperationalData(instanceIdentifierWithSchemaNode.getInstanceIdentifier);
41 jsonMapper.convert(instanceIdentifierWithSchemaNode.getSchemaNode, data)
44 override createConfigurationData(String identifier, CompositeNode payload) {
45 return broker.commitConfigurationDataCreate(identifier.removePrefixes.toInstanceIdentifier.getInstanceIdentifier, payload);
48 override updateConfigurationData(String identifier, CompositeNode payload) {
49 return broker.commitConfigurationDataCreate(identifier.removePrefixes.toInstanceIdentifier.getInstanceIdentifier, payload);
52 override invokeRpc(String identifier, CompositeNode payload) {
53 val rpcResult = broker.invokeRpc(identifier.removePrefixes.toRpcQName, payload);
54 jsonMapper.convert(identifier.removePrefixes.toInstanceIdentifier.getSchemaNode, rpcResult.result);
57 private def String removePrefixes(String path) {