1 package org.opendaylight.controller.config.yang.config.groupbasedpolicy;
3 import com.google.common.base.Preconditions;
4 import org.opendaylight.controller.md.sal.binding.api.DataBroker;
5 import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
6 import org.opendaylight.groupbasedpolicy.sf.SubjectFeatureDefinitionProvider;
7 import org.opendaylight.groupbasedpolicy.sf.SupportedActionDefinitionListener;
8 import org.opendaylight.groupbasedpolicy.sf.SupportedClassifierDefinitionListener;
9 import org.slf4j.Logger;
10 import org.slf4j.LoggerFactory;
12 public class GroupbasedpolicyModule extends org.opendaylight.controller.config.yang.config.groupbasedpolicy.AbstractGroupbasedpolicyModule {
14 private static final Logger LOG = LoggerFactory.getLogger(GroupbasedpolicyModule.class);
16 public GroupbasedpolicyModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver) {
17 super(identifier, dependencyResolver);
20 public GroupbasedpolicyModule(org.opendaylight.controller.config.api.ModuleIdentifier identifier, org.opendaylight.controller.config.api.DependencyResolver dependencyResolver, org.opendaylight.controller.config.yang.config.groupbasedpolicy.GroupbasedpolicyModule oldModule, java.lang.AutoCloseable oldInstance) {
21 super(identifier, dependencyResolver, oldModule, oldInstance);
25 public void customValidation() {
26 // add custom validation form module attributes here.
30 * On module start, creates SubjectFeatureDefinitionProvider instance, in order to put known Subject Feature Definitions to operational Datastore
32 * @return SubjectFeatureDefinitionProvider
35 public java.lang.AutoCloseable createInstance() {
36 final DataBroker dataProvider = Preconditions.checkNotNull(getDataBrokerDependency());
38 return new AutoCloseable() {
40 SubjectFeatureDefinitionProvider sfdp = new SubjectFeatureDefinitionProvider(dataProvider);
41 SupportedClassifierDefinitionListener supportedClassifierDefinitionListener =
42 new SupportedClassifierDefinitionListener(dataProvider);
43 SupportedActionDefinitionListener supportedActionDefinitionListener =
44 new SupportedActionDefinitionListener(dataProvider);
46 public void close() throws Exception {
48 supportedClassifierDefinitionListener.close();
49 supportedActionDefinitionListener.close();
52 } catch (TransactionCommitFailedException e) {
54 "Error creating instance of SubjectFeatureDefinitionProvider; Subject Feature Definitions were not put to Datastore");
55 throw new RuntimeException(e);