Added sync and purge security group states

- Added list security groups CLI
- Removed unnecessary security group rule store

Change-Id: I62ac652e0af73c5f771f0caec87acd5dfe4abedd
diff --git a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkEvent.java b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkEvent.java
index bfad9ed..8bcdd44 100644
--- a/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkEvent.java
+++ b/apps/openstacknetworking/src/main/java/org/onosproject/openstacknetworking/api/OpenstackNetworkEvent.java
@@ -21,8 +21,6 @@
 import org.openstack4j.model.network.Port;
 import org.openstack4j.model.network.Subnet;
 
-import java.util.Collection;
-
 import static com.google.common.base.MoreObjects.toStringHelper;
 
 /**
@@ -32,7 +30,7 @@
 
     private final Port port;
     private final Subnet subnet;
-    private final Collection<String> sgRuleIds;
+    private final String securityGroupId;
 
     public enum Type {
         /**
@@ -83,12 +81,12 @@
         /**
          * Signifies that the OpenStack security group rule is added to a specific port.
          */
-        OPENSTACK_SECURITY_GROUP_ADDED_TO_PORT,
+        OPENSTACK_PORT_SECURITY_GROUP_ADDED,
 
         /**
          * Signifies that the OpenStack security group rule is removed from a specific port.
          */
-        OPENSTACK_SECURITY_GROUP_REMOVED_FROM_PORT
+        OPENSTACK_PORT_SECURITY_GROUP_REMOVED
     }
 
     /**
@@ -100,7 +98,7 @@
         super(type, network);
         this.port = null;
         this.subnet = null;
-        this.sgRuleIds = null;
+        this.securityGroupId = null;
     }
 
     /**
@@ -115,7 +113,7 @@
         super(type, network);
         this.port = port;
         this.subnet = null;
-        this.sgRuleIds = null;
+        this.securityGroupId = null;
     }
 
     /**
@@ -130,21 +128,21 @@
         super(type, network);
         this.port = null;
         this.subnet = subnet;
-        this.sgRuleIds = null;
+        this.securityGroupId = null;
     }
 
     /**
      * Creates an event of a given type for the specified port and security groups.
      *
      * @param type openstack network event type
-     * @param sgRuleIds openstack security group rules
      * @param port openstack port
+     * @param securityGroupId openstack security group
      */
-    public OpenstackNetworkEvent(Type type, Collection<String> sgRuleIds, Port port) {
+    public OpenstackNetworkEvent(Type type, Port port, String securityGroupId) {
         super(type, null);
         this.port = port;
-        this.sgRuleIds = sgRuleIds;
         this.subnet = null;
+        this.securityGroupId = securityGroupId;
     }
 
     /**
@@ -168,10 +166,10 @@
     /**
      * Returns the security group rule IDs updated.
      *
-     * @return collection of security group rule ID
+     * @return openstack security group
      */
-    public Collection<String> securityGroupRuleIds() {
-        return sgRuleIds;
+    public String securityGroupId() {
+        return securityGroupId;
     }
 
     @Override
@@ -185,7 +183,7 @@
                 .add("network", subject())
                 .add("port", port)
                 .add("subnet", subnet)
-                .add("security group rules", securityGroupRuleIds())
+                .add("security group", securityGroupId())
                 .toString();
     }
 }