Distributed Datastore integration with config subsystem
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / config / yang / config / distributed_datastore_provider / DistributedConfigDataStoreProviderModule.java
1 package org.opendaylight.controller.config.yang.config.distributed_datastore_provider;
2
3 import akka.actor.ActorSystem;
4 import com.typesafe.config.ConfigFactory;
5 import org.opendaylight.controller.cluster.datastore.DistributedDataStore;
6
7 public class DistributedConfigDataStoreProviderModule extends org.opendaylight.controller.config.yang.config.distributed_datastore_provider.AbstractDistributedConfigDataStoreProviderModule {
8     public DistributedConfigDataStoreProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
9         super(identifier, dependencyResolver);
10     }
11
12     public DistributedConfigDataStoreProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.config.distributed_datastore_provider.DistributedConfigDataStoreProviderModule oldModule, java.lang.AutoCloseable oldInstance) {
13         super(identifier, dependencyResolver, oldModule, oldInstance);
14     }
15
16     @Override
17     public void customValidation() {
18         // add custom validation form module attributes here.
19     }
20
21     @Override
22     public java.lang.AutoCloseable createInstance() {
23      final ActorSystem actorSystem = ActorSystem.create("opendaylight-cluster-system", ConfigFactory
24           .load().getConfig("ODLCluster"));
25
26
27       final DistributedDataStore configDatastore = new DistributedDataStore(actorSystem, "config");
28
29       final class AutoCloseableDistributedDataStore implements AutoCloseable {
30
31         @Override
32         public void close() throws Exception {
33           actorSystem.shutdown();
34         }
35       }
36
37       return new AutoCloseableDistributedDataStore();
38     }
39
40 }