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);
30 override getModules() {
31 throw new UnsupportedOperationException("TODO: auto-generated method stub")
35 throw new UnsupportedOperationException("TODO: auto-generated method stub")
39 override readData(String identifier) {
40 val instanceIdentifierWithSchemaNode = identifier.removePrefixes.toInstanceIdentifier
41 val data = broker.readOperationalData(instanceIdentifierWithSchemaNode.getInstanceIdentifier);
42 jsonMapper.convert(instanceIdentifierWithSchemaNode.getSchemaNode, data)
45 override createConfigurationData(String identifier, CompositeNode payload) {
46 return broker.commitConfigurationDataCreate(identifier.removePrefixes.toInstanceIdentifier.getInstanceIdentifier, payload);
50 override updateConfigurationData(String identifier, CompositeNode payload) {
51 return broker.commitConfigurationDataCreate(identifier.removePrefixes.toInstanceIdentifier.getInstanceIdentifier, payload);
54 override invokeRpc(String identifier, CompositeNode payload) {
55 val rpcResult = broker.invokeRpc(identifier.removePrefixes.toRpcQName, payload);
56 jsonMapper.convert(identifier.removePrefixes.toInstanceIdentifier.getSchemaNode, rpcResult.result);
59 private def String removePrefixes(String path) {