[SEBA-532] Removing dependencies on aaa, olt and dhcpl2realy from kafka

Change-Id: I3fc8dc497b71e6a4d88ad049f0b322a3830ea279
diff --git a/src/main/java/org/opencord/kafka/integrations/DhcpL2RelayKafkaIntegration.java b/src/main/java/org/opencord/kafka/integrations/DhcpL2RelayKafkaIntegration.java
index 786be87..3eca723 100644
--- a/src/main/java/org/opencord/kafka/integrations/DhcpL2RelayKafkaIntegration.java
+++ b/src/main/java/org/opencord/kafka/integrations/DhcpL2RelayKafkaIntegration.java
@@ -45,8 +45,10 @@
     @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
     protected EventBusService eventBusService;
 
-    @Reference(cardinality = ReferenceCardinality.MANDATORY_UNARY)
-    protected DhcpL2RelayService authenticationService;
+    @Reference(cardinality = ReferenceCardinality.OPTIONAL_UNARY,
+            bind = "bindDhcpL2RelayService",
+            unbind = "unbindDhcpL2RelayService")
+    protected DhcpL2RelayService dhcpL2RelayService;
 
     private final DhcpL2RelayListener listener = new InternalDhcpL2RelayListener();
 
@@ -60,15 +62,35 @@
     private static final String MAC_ADDRESS = "macAddress";
     private static final String IP_ADDRESS = "ipAddress";
 
+    protected void bindDhcpL2RelayService(DhcpL2RelayService dhcpL2RelayService) {
+        if (this.dhcpL2RelayService == null) {
+            log.info("Binding DhcpL2RelayService");
+            this.dhcpL2RelayService = dhcpL2RelayService;
+            log.info("Adding listener on DhcpL2RelayService");
+            dhcpL2RelayService.addListener(listener);
+        } else {
+            log.warn("Trying to bind DhcpL2RelayService but it is already bound");
+        }
+    }
+
+    protected void unbindDhcpL2RelayService(DhcpL2RelayService dhcpL2RelayService) {
+        if (this.dhcpL2RelayService == dhcpL2RelayService) {
+            log.info("Unbinding DhcpL2RelayService");
+            this.dhcpL2RelayService = null;
+            log.info("Removing listener on DhcpL2RelayService");
+            dhcpL2RelayService.removeListener(listener);
+        } else {
+            log.warn("Trying to unbind DhcpL2RelayService but it is already unbound");
+        }
+    }
+
     @Activate
     public void activate() {
-        authenticationService.addListener(listener);
         log.info("Started");
     }
 
     @Deactivate
     public void deactivate() {
-        authenticationService.removeListener(listener);
         log.info("Stopped");
     }