BGP encode multiple flow spec action issue fix.

Change-Id: Ieb173be9edb86bc717bfe1e55271873645e4a5b1
diff --git a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpPeerImpl.java b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpPeerImpl.java
index ce7a33c..b7480b0 100644
--- a/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpPeerImpl.java
+++ b/protocols/bgp/ctl/src/main/java/org/onosproject/bgp/controller/impl/BgpPeerImpl.java
@@ -252,8 +252,20 @@
 
         if (operType == FlowSpecOperation.ADD) {
             if (flowSpec.routeDistinguisher() == null) {
+                if (flowSpecRibOut.flowSpecTree().containsKey(prefix)) {
+                    sendFlowSpecUpdateMessageToPeer(FlowSpecOperation.DELETE,
+                                                    flowSpecRibOut.flowSpecTree().get(prefix));
+                }
                 flowSpecRibOut.add(prefix, flowSpec);
             } else {
+                if (vpnFlowSpecRibOut.vpnFlowSpecTree().containsKey(flowSpec.routeDistinguisher())) {
+                    Map<BgpFlowSpecPrefix, BgpFlowSpecDetails> fsTree;
+                    fsTree = vpnFlowSpecRibOut.vpnFlowSpecTree().get(flowSpec.routeDistinguisher());
+                    if (fsTree.containsKey(prefix)) {
+                        sendFlowSpecUpdateMessageToPeer(FlowSpecOperation.DELETE,
+                                                        fsTree.get(prefix));
+                    }
+                }
                 vpnFlowSpecRibOut.add(flowSpec.routeDistinguisher(), prefix, flowSpec);
             }
         } else if (operType == FlowSpecOperation.DELETE) {