1 package org.opendaylight.controller.config.yang.config.distributed_entity_ownership_service;
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.cluster.datastore.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfig;
7 import org.opendaylight.controller.cluster.datastore.entityownership.selectionstrategy.EntityOwnerSelectionStrategyConfigReader;
8 import org.opendaylight.controller.sal.core.spi.data.DOMStore;
9 import org.osgi.framework.BundleContext;
12 public class DistributedEntityOwnershipServiceProviderModule extends org.opendaylight.controller.config.yang.config.distributed_entity_ownership_service.AbstractDistributedEntityOwnershipServiceProviderModule {
13 private BundleContext bundleContext;
15 public DistributedEntityOwnershipServiceProviderModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
16 super(identifier, dependencyResolver);
19 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) {
20 super(identifier, dependencyResolver, oldModule, oldInstance);
24 public void customValidation() {
25 // add custom validation form module attributes here.
29 public boolean canReuseInstance(AbstractDistributedEntityOwnershipServiceProviderModule oldModule) {
34 public java.lang.AutoCloseable createInstance() {
35 DOMStore dataStore = getDataStoreDependency();
36 Preconditions.checkArgument(dataStore instanceof DistributedDataStore,
37 "Injected DOMStore must be an instance of DistributedDataStore");
38 EntityOwnerSelectionStrategyConfig strategyConfig = new EntityOwnerSelectionStrategyConfigReader(bundleContext).getConfig();
39 DistributedEntityOwnershipService service = new DistributedEntityOwnershipService((DistributedDataStore)dataStore, strategyConfig);
44 public void setBundleContext(BundleContext bundleContext) {
45 this.bundleContext = bundleContext;