1 package org.opendaylight.controller.sal.restconf.impl
3 import org.opendaylight.yangtools.yang.data.api.CompositeNode
4 import org.opendaylight.controller.sal.rest.api.RestconfService
6 class RestconfImpl implements RestconfService {
8 val static RestconfImpl INSTANCE = new RestconfImpl
14 extension ControllerContext controllerContext
17 if (INSTANCE != null) {
18 throw new IllegalStateException("Already instantiated");
22 static def getInstance() {
26 override readAllData() {
27 // return broker.readOperationalData("".toInstanceIdentifier.getInstanceIdentifier);
28 throw new UnsupportedOperationException("Reading all data is currently not supported.")
31 override getModules() {
32 throw new UnsupportedOperationException("TODO: auto-generated method stub")
39 override readData(String identifier) {
40 val instanceIdentifierWithSchemaNode = identifier.toInstanceIdentifier
41 val data = broker.readOperationalData(instanceIdentifierWithSchemaNode.getInstanceIdentifier);
42 return new StructuredData(data, instanceIdentifierWithSchemaNode.schemaNode)
45 override createConfigurationData(String identifier, CompositeNode payload) {
46 val identifierWithSchemaNode = identifier.toInstanceIdentifier
47 return broker.commitConfigurationDataPut(identifierWithSchemaNode.instanceIdentifier,payload).get();
50 override updateConfigurationData(String identifier, CompositeNode payload) {
51 val identifierWithSchemaNode = identifier.toInstanceIdentifier
52 return broker.commitConfigurationDataPut(identifierWithSchemaNode.instanceIdentifier,payload).get();
55 override invokeRpc(String identifier, CompositeNode payload) {
56 val rpc = identifier.toQName;
57 val rpcResult = broker.invokeRpc(rpc, payload);
58 val schema = controllerContext.getRpcOutputSchema(rpc);
59 return new StructuredData(rpcResult.result, schema);
62 override readConfigurationData(String identifier) {
63 val instanceIdentifierWithSchemaNode = identifier.toInstanceIdentifier
64 val data = broker.readOperationalData(instanceIdentifierWithSchemaNode.getInstanceIdentifier);
65 return new StructuredData(data, instanceIdentifierWithSchemaNode.schemaNode)
68 override readOperationalData(String identifier) {
69 val instanceIdentifierWithSchemaNode = identifier.toInstanceIdentifier
70 val data = broker.readOperationalData(instanceIdentifierWithSchemaNode.getInstanceIdentifier);
71 return new StructuredData(data, instanceIdentifierWithSchemaNode.schemaNode)
74 override updateConfigurationDataLegacy(String identifier, CompositeNode payload) {
75 updateConfigurationData(identifier,payload);
78 override createConfigurationDataLegacy(String identifier, CompositeNode payload) {
79 createConfigurationData(identifier,payload);
82 override createOperationalData(String identifier, CompositeNode payload) {
83 val identifierWithSchemaNode = identifier.toInstanceIdentifier
84 return broker.commitOperationalDataPut(identifierWithSchemaNode.instanceIdentifier,payload).get();
87 override updateOperationalData(String identifier, CompositeNode payload) {
88 val identifierWithSchemaNode = identifier.toInstanceIdentifier
89 return broker.commitOperationalDataPut(identifierWithSchemaNode.instanceIdentifier,payload).get();