[ONOS-2592] Bgp interface to initiate peer connection.

Change-Id: I54c4324eebb5d9ad3993de018cbaeda4b68453ea
diff --git a/bgp/api/src/main/java/org/onosproject/bgp/controller/BGPPeerCfg.java b/bgp/api/src/main/java/org/onosproject/bgp/controller/BGPPeerCfg.java
index 87ec031..e7c5d9b 100755
--- a/bgp/api/src/main/java/org/onosproject/bgp/controller/BGPPeerCfg.java
+++ b/bgp/api/src/main/java/org/onosproject/bgp/controller/BGPPeerCfg.java
@@ -163,4 +163,18 @@
      *          AS number
      */
     void setPeerRouterId(String peerId, int asNumber);
+
+    /**
+     * Set the peer connect instance.
+     *
+     * @param connectpeer connect peer instance
+     */
+    void setConnectPeer(BgpConnectPeer connectpeer);
+
+    /**
+     * Get the peer connect instance.
+     *
+     * @return peer connect instance
+     */
+    BgpConnectPeer connectPeer();
 }
diff --git a/bgp/api/src/main/java/org/onosproject/bgp/controller/BGPConnectPeer.java b/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpConnectPeer.java
similarity index 75%
rename from bgp/api/src/main/java/org/onosproject/bgp/controller/BGPConnectPeer.java
rename to bgp/api/src/main/java/org/onosproject/bgp/controller/BgpConnectPeer.java
index a2a6643..8f33ee8 100755
--- a/bgp/api/src/main/java/org/onosproject/bgp/controller/BGPConnectPeer.java
+++ b/bgp/api/src/main/java/org/onosproject/bgp/controller/BgpConnectPeer.java
@@ -12,17 +12,17 @@
  */
 package org.onosproject.bgp.controller;
 
-import java.util.concurrent.ExecutorService;
-
 /**
  * Abstraction of an BGP connect peer, initiate remote connection to BGP peer on configuration.
  */
-public interface BGPConnectPeer {
+public interface BgpConnectPeer {
+    /**
+    * Initiate bgp peer connection.
+    */
+    void connectPeer();
 
     /**
-     * Returns the executor initialized to connect peer.
-     *
-     * @return connectExecutor the connection executor
-     */
-    ExecutorService connectExecutor();
+    * End bgp peer connection.
+    */
+    void disconnectPeer();
 }
diff --git a/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BGPPeerConfig.java b/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BGPPeerConfig.java
index 51b95a4..14a68cf6 100755
--- a/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BGPPeerConfig.java
+++ b/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BGPPeerConfig.java
@@ -16,6 +16,7 @@
 package org.onosproject.bgp.controller.impl;
 
 import org.onlab.packet.Ip4Address;
+import org.onosproject.bgp.controller.BgpConnectPeer;
 import org.onosproject.bgp.controller.BGPPeerCfg;
 
 /**
@@ -28,6 +29,7 @@
     private Ip4Address peerId = null;
     private State state;
     private boolean selfInitiated;
+    private BgpConnectPeer connectPeer;
 
     /**
      * Constructor to initialize the values.
@@ -106,4 +108,14 @@
     public void setSelfInnitConnection(boolean selfInit) {
         this.selfInitiated = selfInit;
     }
+
+    @Override
+    public BgpConnectPeer connectPeer() {
+        return this.connectPeer;
+    }
+
+    @Override
+    public void setConnectPeer(BgpConnectPeer connectPeer) {
+        this.connectPeer = connectPeer;
+    }
 }