Implement BGP Prefix Listener for BGP Controler

Change-Id: I8cbb43df45104e5cfd7dc7aa7225e5bf99a8ee37
diff --git a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpControllerImpl.java b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpControllerImpl.java
index 804fb80..e23b838 100644
--- a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpControllerImpl.java
+++ b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpControllerImpl.java
@@ -24,6 +24,7 @@
 import org.onosproject.bgp.controller.BgpNodeListener;
 import org.onosproject.bgp.controller.BgpPeer;
 import org.onosproject.bgp.controller.BgpPeerManager;
+import org.onosproject.bgp.controller.BgpPrefixListener;
 import org.onosproject.bgp.controller.BgpRouteListener;
 import org.onosproject.bgpio.exceptions.BgpParseException;
 import org.onosproject.bgpio.protocol.BgpMessage;
@@ -62,6 +63,7 @@
 
     protected Set<BgpNodeListener> bgpNodeListener = new CopyOnWriteArraySet<>();
     protected Set<BgpLinkListener> bgpLinkListener = new CopyOnWriteArraySet<>();
+    protected Set<BgpPrefixListener> bgpPrefixListener = new CopyOnWriteArraySet<>();
     protected BgpController bgpController;
     private BgpConfig bgpconfig = new BgpConfig(this);
     private List<String> activeExceptionList = new LinkedList();
@@ -366,4 +368,19 @@
     public Set<BgpLinkListener> linkListener() {
         return bgpLinkListener;
     }
+
+    @Override
+    public void addPrefixListener(BgpPrefixListener listener) {
+        bgpPrefixListener.add(listener);
+    }
+
+    @Override
+    public void removePrefixListener(BgpPrefixListener listener) {
+        bgpPrefixListener.remove(listener);
+    }
+
+    @Override
+    public Set<BgpPrefixListener> prefixListener() {
+        return bgpPrefixListener;
+    }
 }