import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-public abstract class SbRestAbstractDataListener<T extends DataObject> implements DataTreeChangeListener<T> {
- private DataBroker dataBroker;
- private InstanceIdentifier<T> instanceIdentifier;
- private ListenerRegistration<SbRestAbstractDataListener<T>> dataChangeListenerRegistration;
- private LogicalDatastoreType dataStoreType;
+public abstract class SbRestAbstractDataListener<T extends DataObject> implements DataTreeChangeListener<T>,
+ AutoCloseable {
+ private final DataBroker dataBroker;
+ private final ListenerRegistration<SbRestAbstractDataListener<T>> dataChangeListenerRegistration;
- public SbRestAbstractDataListener() {
- this.dataStoreType = LogicalDatastoreType.CONFIGURATION;
- }
-
- public DataBroker getDataBroker() {
- return dataBroker;
- }
-
- public void setDataBroker(DataBroker dataBroker) {
+ protected SbRestAbstractDataListener(DataBroker dataBroker, InstanceIdentifier<T> instanceIdentifier,
+ LogicalDatastoreType dataStoreType) {
this.dataBroker = dataBroker;
- }
- public void setDataStoreType(LogicalDatastoreType dataStoreType) {
- this.dataStoreType = dataStoreType;
- }
-
- public void setInstanceIdentifier(InstanceIdentifier<T> instanceIdentifier) {
- this.instanceIdentifier = instanceIdentifier;
- }
-
- public void registerAsDataChangeListener() {
- assert dataBroker != null;
dataChangeListenerRegistration = dataBroker.registerDataTreeChangeListener(new DataTreeIdentifier<>(
dataStoreType, instanceIdentifier), this);
}
- public void closeDataChangeListener() {
- if (dataChangeListenerRegistration != null) {
- dataChangeListenerRegistration.close();
- }
+ public DataBroker getDataBroker() {
+ return dataBroker;
+ }
+
+ @Override
+ public void close() {
+ dataChangeListenerRegistration.close();
}
}
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.sfc.provider.api.SfcInstanceIdentifiers;
import org.opendaylight.sfc.sbrest.provider.task.RestOperation;
import org.opendaylight.sfc.sbrest.provider.task.SbRestAclTask;
private static final Logger LOG = LoggerFactory.getLogger(SbRestAclEntryDataListener.class);
private final ExecutorService executor = Executors.newFixedThreadPool(10);
- public SbRestAclEntryDataListener() {
- setInstanceIdentifier(SfcInstanceIdentifiers.ACL_ENTRY_IID);
- }
-
- public void setDataProvider(DataBroker dataBroker) {
- setDataBroker(dataBroker);
- registerAsDataChangeListener();
+ public SbRestAclEntryDataListener(DataBroker dataBroker) {
+ super(dataBroker, SfcInstanceIdentifiers.ACL_ENTRY_IID, LogicalDatastoreType.CONFIGURATION);
}
@Override
private static final Logger LOG = LoggerFactory.getLogger(SbRestRspEntryDataListener.class);
private final ExecutorService executor = Executors.newFixedThreadPool(5);
- public SbRestRspEntryDataListener() {
- setInstanceIdentifier(SfcInstanceIdentifiers.RSP_ENTRY_IID);
- setDataStoreType(LogicalDatastoreType.OPERATIONAL);
- }
-
- public void setDataProvider(DataBroker dataBroker) {
- setDataBroker(dataBroker);
- registerAsDataChangeListener();
+ public SbRestRspEntryDataListener(DataBroker dataBroker) {
+ super(dataBroker, SfcInstanceIdentifiers.RSP_ENTRY_IID, LogicalDatastoreType.OPERATIONAL);
}
@Override
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.sfc.provider.api.SfcInstanceIdentifiers;
import org.opendaylight.sfc.provider.api.SfcProviderAclAPI;
import org.opendaylight.sfc.sbrest.provider.task.RestOperation;
private static final Logger LOG = LoggerFactory.getLogger(SbRestScfEntryDataListener.class);
private final ExecutorService executor = Executors.newFixedThreadPool(5);
- public SbRestScfEntryDataListener() {
- setInstanceIdentifier(SfcInstanceIdentifiers.SCF_ENTRY_IID);
- }
-
- public void setDataProvider(DataBroker dataBroker) {
- setDataBroker(dataBroker);
- registerAsDataChangeListener();
+ public SbRestScfEntryDataListener(DataBroker dataBroker) {
+ super(dataBroker, SfcInstanceIdentifiers.SCF_ENTRY_IID, LogicalDatastoreType.CONFIGURATION);
}
@Override
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.sfc.provider.api.SfcInstanceIdentifiers;
import org.opendaylight.sfc.sbrest.provider.task.RestOperation;
import org.opendaylight.sfc.sbrest.provider.task.SbRestSfTask;
private static final Logger LOG = LoggerFactory.getLogger(SbRestSfEntryDataListener.class);
private final ExecutorService executor = Executors.newFixedThreadPool(5);
- public SbRestSfEntryDataListener() {
- setInstanceIdentifier(SfcInstanceIdentifiers.SF_ENTRY_IID);
- }
-
- public void setDataProvider(DataBroker dataBroker) {
- setDataBroker(dataBroker);
- registerAsDataChangeListener();
+ public SbRestSfEntryDataListener(DataBroker dataBroker) {
+ super(dataBroker, SfcInstanceIdentifiers.SF_ENTRY_IID, LogicalDatastoreType.CONFIGURATION);
}
@Override
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.sfc.provider.api.SfcInstanceIdentifiers;
import org.opendaylight.sfc.sbrest.provider.task.RestOperation;
import org.opendaylight.sfc.sbrest.provider.task.SbRestSffTask;
private static final Logger LOG = LoggerFactory.getLogger(SbRestSffEntryDataListener.class);
private final ExecutorService executor = Executors.newFixedThreadPool(5);
- public SbRestSffEntryDataListener() {
- setInstanceIdentifier(SfcInstanceIdentifiers.SFF_ENTRY_IID);
- }
-
- public void setDataProvider(DataBroker dataBroker) {
- setDataBroker(dataBroker);
- registerAsDataChangeListener();
+ public SbRestSffEntryDataListener(DataBroker dataBroker) {
+ super(dataBroker, SfcInstanceIdentifiers.SFF_ENTRY_IID, LogicalDatastoreType.CONFIGURATION);
}
@Override
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.sfc.provider.api.SfcInstanceIdentifiers;
import org.opendaylight.sfc.sbrest.provider.task.RestOperation;
import org.opendaylight.sfc.sbrest.provider.task.SbRestSfgTask;
private static final Logger LOG = LoggerFactory.getLogger(SbRestSfgEntryDataListener.class);
private final ExecutorService executor = Executors.newFixedThreadPool(5);
- public SbRestSfgEntryDataListener() {
- setInstanceIdentifier(SfcInstanceIdentifiers.SFG_ENTRY_IID);
- }
-
- public void setDataProvider(DataBroker dataBroker) {
- setDataBroker(dataBroker);
- registerAsDataChangeListener();
+ public SbRestSfgEntryDataListener(DataBroker dataBroker) {
+ super(dataBroker, SfcInstanceIdentifiers.SFG_ENTRY_IID, LogicalDatastoreType.CONFIGURATION);
}
@Override
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.sfc.provider.api.SfcInstanceIdentifiers;
import org.opendaylight.sfc.sbrest.provider.task.RestOperation;
import org.opendaylight.sfc.sbrest.provider.task.SbRestSfstTask;
private static final Logger LOG = LoggerFactory.getLogger(SbRestSfstEntryDataListener.class);
private final ExecutorService executor = Executors.newFixedThreadPool(5);
- public SbRestSfstEntryDataListener() {
- setInstanceIdentifier(SfcInstanceIdentifiers.SFST_ENTRY_IID);
- }
-
- public void setDataProvider(DataBroker dataBroker) {
- setDataBroker(dataBroker);
- registerAsDataChangeListener();
+ public SbRestSfstEntryDataListener(DataBroker dataBroker) {
+ super(dataBroker, SfcInstanceIdentifiers.SFST_ENTRY_IID, LogicalDatastoreType.CONFIGURATION);
}
@Override
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.DataObjectModification;
import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
+import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.sfc.provider.api.SfcInstanceIdentifiers;
import org.opendaylight.sfc.sbrest.provider.task.RestOperation;
import org.opendaylight.sfc.sbrest.provider.task.SbRestSfstateTask;
private static final Logger LOG = LoggerFactory.getLogger(SbRestSfstateEntryDataListener.class);
private final ExecutorService executor = Executors.newFixedThreadPool(5);
- public SbRestSfstateEntryDataListener() {
- setInstanceIdentifier(SfcInstanceIdentifiers.SFSTATE_ENTRY_IID);
- }
-
- public void setDataProvider(DataBroker dataBroker) {
- setDataBroker(dataBroker);
- registerAsDataChangeListener();
+ public SbRestSfstateEntryDataListener(DataBroker dataBroker) {
+ super(dataBroker, SfcInstanceIdentifiers.SFSTATE_ENTRY_IID, LogicalDatastoreType.CONFIGURATION);
}
@Override
<bean id="sbRestSfEntryDataListener"
class="org.opendaylight.sfc.sbrest.provider.listener.SbRestSfEntryDataListener"
- destroy-method="closeDataChangeListener">
- <property name="dataProvider" ref="dataBroker"/>
+ destroy-method="close">
+ <argument ref="dataBroker"/>
</bean>
<bean id="sbRestSfgEntryDataListener"
class="org.opendaylight.sfc.sbrest.provider.listener.SbRestSfgEntryDataListener"
- destroy-method="closeDataChangeListener">
- <property name="dataProvider" ref="dataBroker"/>
+ destroy-method="close">
+ <argument ref="dataBroker"/>
</bean>
<bean id="sbRestSffEntryDataListener"
class="org.opendaylight.sfc.sbrest.provider.listener.SbRestSffEntryDataListener"
- destroy-method="closeDataChangeListener">
- <property name="dataProvider" ref="dataBroker"/>
+ destroy-method="close">
+ <argument ref="dataBroker"/>
</bean>
<bean id="sbRestRspEntryDataListener"
class="org.opendaylight.sfc.sbrest.provider.listener.SbRestRspEntryDataListener"
- destroy-method="closeDataChangeListener">
- <property name="dataProvider" ref="dataBroker"/>
+ destroy-method="close">
+ <argument ref="dataBroker"/>
</bean>
<bean id="sbRestAclEntryDataListener"
class="org.opendaylight.sfc.sbrest.provider.listener.SbRestAclEntryDataListener"
- destroy-method="closeDataChangeListener">
- <property name="dataProvider" ref="dataBroker"/>
+ destroy-method="close">
+ <argument ref="dataBroker"/>
</bean>
<bean id="sbRestScfEntryDataListener"
class="org.opendaylight.sfc.sbrest.provider.listener.SbRestScfEntryDataListener"
- destroy-method="closeDataChangeListener">
- <property name="dataProvider" ref="dataBroker"/>
+ destroy-method="close">
+ <argument ref="dataBroker"/>
</bean>
<bean id="sbRestSfstEntryDataListener"
class="org.opendaylight.sfc.sbrest.provider.listener.SbRestSfstEntryDataListener"
- destroy-method="closeDataChangeListener">
- <property name="dataProvider" ref="dataBroker"/>
+ destroy-method="close">
+ <argument ref="dataBroker"/>
</bean>
<bean id="sbRestSfstateEntryDataListener"
class="org.opendaylight.sfc.sbrest.provider.listener.SbRestSfstateEntryDataListener"
- destroy-method="closeDataChangeListener">
- <property name="dataProvider" ref="dataBroker"/>
+ destroy-method="close">
+ <argument ref="dataBroker"/>
</bean>
<bean id="sfcSbRestProviderModule"