1 package org.opendaylight.controller.sal.binding.impl;
3 import java.util.HashSet;
5 import java.util.concurrent.Future;
7 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker;
8 import org.opendaylight.controller.sal.binding.api.BindingAwareBroker.ConsumerSession;
9 import org.opendaylight.controller.sal.binding.api.BindingAwareProvider.ProviderFunctionality;
10 import org.opendaylight.controller.sal.binding.api.BindingAwareService;
11 import org.opendaylight.controller.sal.binding.api.DataBrokerService;
12 import org.opendaylight.controller.sal.binding.api.DataCommitHandler;
13 import org.opendaylight.controller.sal.binding.api.DataProviderService;
14 import org.opendaylight.controller.sal.binding.api.DataValidator;
15 import org.opendaylight.controller.sal.binding.spi.MappingProvider;
16 import org.opendaylight.controller.sal.binding.spi.SALBindingModule;
17 import org.opendaylight.controller.sal.common.DataStoreIdentifier;
18 import org.opendaylight.controller.sal.binding.api.DataRefresher;
19 import org.opendaylight.controller.yang.binding.DataRoot;
20 import org.opendaylight.controller.yang.common.RpcResult;
21 import org.opendaylight.controller.yang.data.api.CompositeNode;
23 public class DataModule implements SALBindingModule {
25 private BindingAwareBroker broker;
26 private org.opendaylight.controller.sal.core.api.Broker.ProviderSession biSession;
27 private MappingProvider mappingProvider;
28 private final BIFacade biFacade = new BIFacade();
29 private org.opendaylight.controller.sal.core.api.data.DataProviderService biDataService;
32 public void setBroker(BindingAwareBroker broker) {
37 public void onBISessionAvailable(
38 org.opendaylight.controller.sal.core.api.Broker.ProviderSession session) {
39 this.biSession = session;
40 this.biDataService = session
41 .getService(org.opendaylight.controller.sal.core.api.data.DataProviderService.class);
42 // biDataService.addRefresher(store, refresher)
47 public void setMappingProvider(MappingProvider provider) {
48 this.mappingProvider = provider;
53 public Set<Class<? extends BindingAwareService>> getProvidedServices() {
54 Set<Class<? extends BindingAwareService>> ret = new HashSet<Class<? extends BindingAwareService>>();
55 ret.add(DataBrokerService.class);
56 ret.add(DataProviderService.class);
61 public <T extends BindingAwareService> T getServiceForSession(
62 Class<T> service, ConsumerSession session) {
63 // TODO Auto-generated method stub
68 public Set<Class<? extends ProviderFunctionality>> getSupportedProviderFunctionality() {
69 // TODO Auto-generated method stub
73 private class DataBrokerSession implements DataBrokerService {
76 public <T extends DataRoot> T getData(DataStoreIdentifier store,
78 // TODO Auto-generated method stub
83 public <T extends DataRoot> T getData(DataStoreIdentifier store,
85 // TODO Auto-generated method stub
90 public <T extends DataRoot> T getCandidateData(
91 DataStoreIdentifier store, Class<T> rootType) {
92 // TODO Auto-generated method stub
97 public <T extends DataRoot> T getCandidateData(
98 DataStoreIdentifier store, T filter) {
99 // TODO Auto-generated method stub
104 public RpcResult<DataRoot> editCandidateData(DataStoreIdentifier store,
105 DataRoot changeSet) {
106 // TODO Auto-generated method stub
111 public Future<RpcResult<Void>> commit(DataStoreIdentifier store) {
112 // TODO Auto-generated method stub
118 private class DataProviderSession extends DataBrokerSession implements
119 DataProviderService {
122 public void addValidator(DataStoreIdentifier store,
123 DataValidator validator) {
124 // TODO Auto-generated method stub
129 public void removeValidator(DataStoreIdentifier store,
130 DataValidator validator) {
131 // TODO Auto-generated method stub
136 public void addCommitHandler(DataStoreIdentifier store,
137 DataCommitHandler provider) {
138 // TODO Auto-generated method stub
143 public void removeCommitHandler(DataStoreIdentifier store,
144 DataCommitHandler provider) {
145 // TODO Auto-generated method stub
150 public void addRefresher(DataStoreIdentifier store,
151 DataRefresher refresher) {
152 // TODO Auto-generated method stub
157 public void removeRefresher(DataStoreIdentifier store,
158 DataRefresher refresher) {
159 // TODO Auto-generated method stub
165 private class BIFacade
167 org.opendaylight.controller.sal.core.api.data.DataCommitHandler,
168 org.opendaylight.controller.sal.core.api.data.DataValidator,
169 org.opendaylight.controller.sal.core.api.data.DataProviderService.DataRefresher {
172 public RpcResult<Void> validate(CompositeNode toValidate) {
173 // TODO Auto-generated method stub
178 public Set<DataStoreIdentifier> getSupportedDataStores() {
179 // TODO Auto-generated method stub
184 public RpcResult<CommitTransaction> requestCommit(
185 DataStoreIdentifier store) {
186 // TODO Auto-generated method stub
191 public void refreshData() {
192 // TODO Auto-generated method stub