Merge "Small fix to xsql dependencies"
[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
6 public class DistributedOperationalDataStoreProviderModule extends
7     org.opendaylight.controller.config.yang.config.distributed_datastore_provider.AbstractDistributedOperationalDataStoreProviderModule {
8     public DistributedOperationalDataStoreProviderModule(
9         org.opendaylight.controller.config.api.ModuleIdentifier identifier,
10         org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
11         super(identifier, dependencyResolver);
12     }
13
14     public DistributedOperationalDataStoreProviderModule(
15         org.opendaylight.controller.config.api.ModuleIdentifier identifier,
16         org.opendaylight.controller.config.api.DependencyResolver dependencyResolver,
17         org.opendaylight.controller.config.yang.config.distributed_datastore_provider.DistributedOperationalDataStoreProviderModule oldModule,
18         java.lang.AutoCloseable oldInstance) {
19         super(identifier, dependencyResolver, oldModule, oldInstance);
20     }
21
22     @Override
23     public void customValidation() {
24         // add custom validation form module attributes here.
25     }
26
27     @Override
28     public java.lang.AutoCloseable createInstance() {
29
30         OperationalProperties props = getOperationalProperties();
31         if(props == null) {
32             props = new OperationalProperties();
33         }
34
35         return DistributedDataStoreFactory.createInstance("operational",
36                 getOperationalSchemaServiceDependency(),
37                 new DistributedDataStoreProperties(props.getMaxShardDataChangeExecutorPoolSize(),
38                         props.getMaxShardDataChangeExecutorQueueSize(),
39                         props.getMaxShardDataChangeListenerQueueSize(),
40                         props.getShardTransactionIdleTimeoutInMinutes()));
41     }
42
43 }