Add cluster config yang RPCs and provider wiring
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / config / yang / config / cluster_config_provider / ClusterConfigProviderModule.java
1 package org.opendaylight.controller.config.yang.config.cluster_config_provider;
2
3 import com.google.common.base.Preconditions;
4 import org.opendaylight.controller.cluster.datastore.DistributedDataStore;
5 import org.opendaylight.controller.cluster.datastore.config.ClusterConfigRpcService;
6 import org.opendaylight.controller.config.api.DependencyResolver;
7 import org.opendaylight.controller.config.api.ModuleIdentifier;
8
9 public class ClusterConfigProviderModule extends AbstractClusterConfigProviderModule {
10     public ClusterConfigProviderModule(ModuleIdentifier identifier, DependencyResolver dependencyResolver) {
11         super(identifier, dependencyResolver);
12     }
13
14     public ClusterConfigProviderModule(ModuleIdentifier identifier, DependencyResolver dependencyResolver,
15             ClusterConfigProviderModule oldModule, java.lang.AutoCloseable oldInstance) {
16         super(identifier, dependencyResolver, oldModule, oldInstance);
17     }
18
19     @Override
20     public void customValidation() {
21         // add custom validation form module attributes here.
22     }
23
24     @Override
25     public AutoCloseable createInstance() {
26         Preconditions.checkArgument(getConfigDataStoreDependency() instanceof DistributedDataStore,
27                 "Injected config DOMStore must be an instance of DistributedDataStore");
28         Preconditions.checkArgument(getOperDataStoreDependency() instanceof DistributedDataStore,
29                 "Injected operational DOMStore must be an instance of DistributedDataStore");
30         ClusterConfigRpcService service = new ClusterConfigRpcService((DistributedDataStore)getConfigDataStoreDependency(),
31                 (DistributedDataStore)getOperDataStoreDependency());
32         service.start(getRpcRegistryDependency());
33         return service;
34     }
35 }