[SEBA-532] Removing dependencies on aaa, olt and dhcpl2realy from kafka
Change-Id: I3fc8dc497b71e6a4d88ad049f0b322a3830ea279
diff --git a/src/main/java/org/opencord/kafka/integrations/AccessDeviceKafkaIntegration.java b/src/main/java/org/opencord/kafka/integrations/AccessDeviceKafkaIntegration.java
index 7367660..da6b4a3 100644
--- a/src/main/java/org/opencord/kafka/integrations/AccessDeviceKafkaIntegration.java
+++ b/src/main/java/org/opencord/kafka/integrations/AccessDeviceKafkaIntegration.java
@@ -45,7 +45,9 @@
@Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
protected EventBusService eventBusService;
- @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
+ @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY,
+ bind = "bindAccessDeviceService",
+ unbind = "unbindAccessDeviceService")
protected AccessDeviceService accessDeviceService;
private final AccessDeviceListener listener = new InternalAccessDeviceListener();
@@ -63,15 +65,35 @@
private static final String ACTIVATED = "activated";
private static final String DISABLED = "disabled";
+ protected void bindAccessDeviceService(AccessDeviceService accessDeviceService) {
+ if (this.accessDeviceService == null) {
+ log.info("Binding AccessDeviceService");
+ this.accessDeviceService = accessDeviceService;
+ log.info("Adding listener on AccessDeviceService");
+ accessDeviceService.addListener(listener);
+ } else {
+ log.warn("Trying to bind AccessDeviceService but it is already bound");
+ }
+ }
+
+ protected void unbindAccessDeviceService(AccessDeviceService accessDeviceService) {
+ if (this.accessDeviceService == accessDeviceService) {
+ log.info("Unbinding AccessDeviceService");
+ this.accessDeviceService = null;
+ log.info("Removing listener on AccessDeviceService");
+ accessDeviceService.removeListener(listener);
+ } else {
+ log.warn("Trying to unbind AccessDeviceService but it is already unbound");
+ }
+ }
+
@Activate
public void activate() {
- accessDeviceService.addListener(listener);
log.info("Started");
}
@Deactivate
public void deactivate() {
- accessDeviceService.removeListener(listener);
log.info("Stopped");
}