Refactor OpenstackTelemetry App for better readability

Change-Id: I93353de31fb9671d8670ee44fc248fe7f36ac12b
diff --git a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/FlowInfo.java b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/FlowInfo.java
index 7507482..5efd77d 100644
--- a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/FlowInfo.java
+++ b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/FlowInfo.java
@@ -124,6 +124,16 @@
      */
     StatsInfo statsInfo();
 
+    /**
+     * Checks the rough equality of old flow info and new flow info.
+     * Note that we only test the equality for deviceId, srcIp, dstIP, srcPort,
+     * dstPort, protocol
+     *
+     * @param flowInfo flow info object ot be compared
+     * @return true if the two objects are identical, false otherwise
+     */
+    boolean roughEquals(FlowInfo flowInfo);
+
     interface Builder {
 
         /**
diff --git a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/OpenstackTelemetryService.java b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/OpenstackTelemetryService.java
index 8092f1e..52ff745 100644
--- a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/OpenstackTelemetryService.java
+++ b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/OpenstackTelemetryService.java
@@ -15,6 +15,8 @@
  */
 package org.onosproject.openstacktelemetry.api;
 
+import java.util.Set;
+
 /**
  * Openstack telemetry service interface.
  */
@@ -38,7 +40,7 @@
      * Publishes new flow information to off-platform application through
      * various northbound interfaces.
      *
-     * @param flowInfo virtual flow information
+     * @param flowInfos virtual flow information
      */
-    void publish(FlowInfo flowInfo);
+    void publish(Set<FlowInfo> flowInfos);
 }
diff --git a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/StatsFlowRule.java b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/StatsFlowRule.java
index a5fd61a..86caca6 100644
--- a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/StatsFlowRule.java
+++ b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/StatsFlowRule.java
@@ -36,7 +36,6 @@
      */
     IpPrefix dstIpPrefix();
 
-
     /**
      * Returns IP protocol.
      *
@@ -59,9 +58,6 @@
      */
     TpPort dstTpPort();
 
-
-
-
     /**
      * Builder of new flow rule entities.
      */
@@ -82,7 +78,6 @@
          */
         Builder srcIpPrefix(IpPrefix srcIpPrefix);
 
-
         /**
          * Returns openstack flow rule builder with supplied srcIpPrefix.
          *
@@ -91,7 +86,6 @@
          */
         Builder dstIpPrefix(IpPrefix dstIpPrefix);
 
-
         /**
          * Returns openstack flow rule builder with supplied ipProtocol.
          *
@@ -100,7 +94,6 @@
          */
         Builder ipProtocol(byte ipProtocol);
 
-
         /**
          * Returns openstack flow rule builder with supplied srcTpPort.
          *
diff --git a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/StatsFlowRuleAdminService.java b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/StatsFlowRuleAdminService.java
index c0e5e5d..7fed73a 100644
--- a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/StatsFlowRuleAdminService.java
+++ b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/StatsFlowRuleAdminService.java
@@ -23,39 +23,33 @@
 public interface StatsFlowRuleAdminService {
 
     /**
-     * Start this service.
+     * Starts this service.
      */
     void start();
 
     /**
-     * Stop this service.
+     * Stops this service.
      */
     void stop();
 
     /**
-     * Craete a flow rule.
+     * Creates a stat flow rule.
      *
-     * @param flowRule  Flow rule for a VM
+     * @param statFlowRule stat flow rule for a VM
      */
-    void createFlowRule(StatsFlowRule flowRule);
+    void createStatFlowRule(StatsFlowRule statFlowRule);
 
     /**
-     * Get flow rule list.
-     * @return flow rule list.
-     */
-    Set<FlowInfo> getFlowRule();
-
-    /**
-     * Get flow rule list.
-     * @param flowRule Flow rule for a VM
-     * @return flow rule list.
-     */
-    Set<FlowInfo> getFlowRule(StatsFlowRule flowRule);
-
-    /**
-     * Delete the flow rule.
+     * Gets a set of flow infos.
      *
-     * @param flowRule  Flow rule for Openstack VM
+     * @return a set of flow infos
      */
-    void deleteFlowRule(StatsFlowRule flowRule);
+    Set<FlowInfo> getFlowInfo();
+
+    /**
+     * Deletes stat flow rule.
+     *
+     * @param statFlowRule stat flow rule for a VM
+     */
+    void deleteStatFlowRule(StatsFlowRule statFlowRule);
 }