Adding resources for a testing
[controller.git] / opendaylight / md-sal / sal-rest-connector / src / main / java / org / opendaylight / controller / sal / restconf / impl / BrokerFacade.xtend
1 package org.opendaylight.controller.sal.restconf.impl
2
3 import org.opendaylight.controller.md.sal.common.api.data.DataReader
4 import org.opendaylight.controller.sal.core.api.Broker.ConsumerSession
5 import org.opendaylight.controller.sal.core.api.data.DataBrokerService
6 import org.opendaylight.yangtools.yang.common.QName
7 import org.opendaylight.yangtools.yang.common.RpcResult
8 import org.opendaylight.yangtools.yang.data.api.CompositeNode
9 import org.opendaylight.yangtools.yang.data.api.InstanceIdentifier
10
11 class BrokerFacade implements DataReader<InstanceIdentifier, CompositeNode> {
12
13     @Property
14     private ConsumerSession context;
15     
16     @Property
17     private DataBrokerService dataService;
18     
19     override readConfigurationData(InstanceIdentifier path) {
20         return dataService.readConfigurationData(path);
21     }
22
23     override readOperationalData(InstanceIdentifier path) {
24         return dataService.readOperationalData(path);
25     }
26     
27     def RpcResult<CompositeNode> invokeRpc(QName type, CompositeNode payload) {
28         val future = context.rpc(type, payload);
29         return future.get;
30     }
31     
32     def commitConfigurationDataUpdate(InstanceIdentifier path, CompositeNode payload) {
33         val transaction = dataService.beginTransaction;
34         transaction.putConfigurationData(path, payload);
35         return transaction.commit()
36     }
37     
38     def commitConfigurationDataCreate(InstanceIdentifier path, CompositeNode payload) {
39         val transaction = dataService.beginTransaction;
40         transaction.putConfigurationData(path, payload);
41         return transaction.commit()
42     }
43     
44 }