Merge "BUG 1623 - Clustering : Parsing Error thrown on startup"
[controller.git] / opendaylight / md-sal / sal-distributed-datastore / src / main / java / org / opendaylight / controller / config / yang / config / distributed_datastore_provider / DistributedOperationalDataStoreProviderModule.java
1 package org.opendaylight.controller.config.yang.config.distributed_datastore_provider;
2
3 import org.opendaylight.controller.cluster.datastore.DistributedDataStoreFactory;
4 import org.opendaylight.controller.cluster.datastore.DistributedDataStoreProperties;
5 import org.osgi.framework.BundleContext;
6
7 public class DistributedOperationalDataStoreProviderModule extends
8     org.opendaylight.controller.config.yang.config.distributed_datastore_provider.AbstractDistributedOperationalDataStoreProviderModule {
9     private BundleContext bundleContext;
10
11     public DistributedOperationalDataStoreProviderModule(
12         org.opendaylight.controller.config.api.ModuleIdentifier identifier,
13         org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
14         super(identifier, dependencyResolver);
15     }
16
17     public DistributedOperationalDataStoreProviderModule(
18         org.opendaylight.controller.config.api.ModuleIdentifier identifier,
19         org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
20         org.opendaylight.controller.config.yang.config.distributed_datastore_provider.DistributedOperationalDataStoreProviderModule oldModule,
21         java.lang.AutoCloseable oldInstance) {
22         super(identifier, dependencyResolver, oldModule, oldInstance);
23     }
24
25     @Override
26     public void customValidation() {
27         // add custom validation form module attributes here.
28     }
29
30     @Override
31     public java.lang.AutoCloseable createInstance() {
32
33         OperationalProperties props = getOperationalProperties();
34         if(props == null) {
35             props = new OperationalProperties();
36         }
37
38         return DistributedDataStoreFactory.createInstance("operational",
39                 getOperationalSchemaServiceDependency(),
40                 new DistributedDataStoreProperties(
41                         props.getMaxShardDataChangeExecutorPoolSize().getValue(),
42                         props.getMaxShardDataChangeExecutorQueueSize().getValue(),
43                         props.getMaxShardDataChangeListenerQueueSize().getValue(),
44                         props.getShardTransactionIdleTimeoutInMinutes().getValue(),
45                         props.getOperationTimeoutInSeconds().getValue()), bundleContext);
46     }
47
48     public void setBundleContext(BundleContext bundleContext) {
49         this.bundleContext = bundleContext;
50     }
51
52 }