fd2f6a88fa0544c0b4bd9889446d440a2a6edfec
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / config / yang / config / distributed_entity_ownership_service / DistributedEntityOwnershipServiceProviderModule.java
1 package org.opendaylight.controller.config.yang.config.distributed_entity_ownership_service;
2
3 import com.google.common.base.Preconditions;
4 import org.opendaylight.controller.cluster.datastore.DistributedDataStore;
5 import org.opendaylight.controller.cluster.datastore.entityownership.DistributedEntityOwnershipService;
6 import org.opendaylight.controller.sal.core.spi.data.DOMStore;
7
8
9 public class DistributedEntityOwnershipServiceProviderModule extends org.opendaylight.controller.config.yang.config.distributed_entity_ownership_service.AbstractDistributedEntityOwnershipServiceProviderModule {
10     public DistributedEntityOwnershipServiceProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
11         super(identifier, dependencyResolver);
12     }
13
14     public DistributedEntityOwnershipServiceProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.config.distributed_entity_ownership_service.DistributedEntityOwnershipServiceProviderModule oldModule, java.lang.AutoCloseable oldInstance) {
15         super(identifier, dependencyResolver, oldModule, oldInstance);
16     }
17
18     @Override
19     public void customValidation() {
20         // add custom validation form module attributes here.
21     }
22
23     @Override
24     public boolean canReuseInstance(AbstractDistributedEntityOwnershipServiceProviderModule oldModule) {
25         return true;
26     }
27
28     @Override
29     public java.lang.AutoCloseable createInstance() {
30         DOMStore dataStore = getDataStoreDependency();
31         Preconditions.checkArgument(dataStore instanceof DistributedDataStore,
32                 "Injected DOMStore must be an instance of DistributedDataStore");
33         DistributedEntityOwnershipService service = new DistributedEntityOwnershipService((DistributedDataStore)dataStore);
34         service.start();
35         return service;
36     }
37 }