[ONOS-3535] Accumulate control message stats using monitor service

- Augment the control message class to have device id
- Initial implementation of accumulating control message stats
- Add more adpator for unit test
- Change Collection<ControlMessage> to Set<ControlMessage>
- Fix the arithmatic exception
- Fix some javadoc warnings

Change-Id: I2abaf0d91edca5419b26f1c5a69246bcdb9201bf
diff --git a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/ControlMessageManager.java b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/ControlMessageManager.java
index fa96179..8d7b4bb 100644
--- a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/ControlMessageManager.java
+++ b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/ControlMessageManager.java
@@ -36,7 +36,7 @@
 import org.onosproject.net.provider.AbstractProviderService;
 import org.slf4j.Logger;
 
-import java.util.Collection;
+import java.util.Set;
 
 import static com.google.common.base.Preconditions.checkNotNull;
 import static org.slf4j.LoggerFactory.getLogger;
@@ -90,7 +90,7 @@
         }
 
         @Override
-        public void updateStatsInfo(DeviceId deviceId, Collection<ControlMessage> controlMessages) {
+        public void updateStatsInfo(DeviceId deviceId, Set<ControlMessage> controlMessages) {
             checkNotNull(deviceId, DEVICE_ID_NULL);
             checkValidity();
 
diff --git a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/DefaultControlMessageStore.java b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/DefaultControlMessageStore.java
index d4ffc9c..4d1b31f 100644
--- a/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/DefaultControlMessageStore.java
+++ b/apps/cpman/app/src/main/java/org/onosproject/cpman/impl/message/DefaultControlMessageStore.java
@@ -28,7 +28,7 @@
 import org.onosproject.store.AbstractStore;
 import org.slf4j.Logger;
 
-import java.util.Collection;
+import java.util.Set;
 
 import static org.slf4j.LoggerFactory.getLogger;
 
@@ -46,7 +46,7 @@
 
     @Override
     public ControlMessageEvent updateStatsInfo(ProviderId providerId, DeviceId deviceId,
-                                                     Collection<ControlMessage> controlMessages) {
+                                                     Set<ControlMessage> controlMessages) {
 
         return new ControlMessageEvent(ControlMessageEvent.Type.STATS_UPDATE, controlMessages);
     }