[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/api/src/main/java/org/onosproject/cpman/message/ControlMessageEvent.java b/apps/cpman/api/src/main/java/org/onosproject/cpman/message/ControlMessageEvent.java
index 83858be..40c3529 100644
--- a/apps/cpman/api/src/main/java/org/onosproject/cpman/message/ControlMessageEvent.java
+++ b/apps/cpman/api/src/main/java/org/onosproject/cpman/message/ControlMessageEvent.java
@@ -15,10 +15,10 @@
  */
 package org.onosproject.cpman.message;
 
-import org.onosproject.event.AbstractEvent;
 import org.onosproject.cpman.ControlMessage;
+import org.onosproject.event.AbstractEvent;
 
-import java.util.Collection;
+import java.util.Set;
 
 import static com.google.common.base.MoreObjects.toStringHelper;
 
@@ -26,7 +26,7 @@
  * Describes control message event.
  */
 public class ControlMessageEvent
-        extends AbstractEvent<ControlMessageEvent.Type, Collection<ControlMessage>> {
+        extends AbstractEvent<ControlMessageEvent.Type, Set<ControlMessage>> {
 
     /**
      * Type of control message events.
@@ -44,7 +44,7 @@
      * @param type control message event type
      * @param controlMessages event control message subject
      */
-    public ControlMessageEvent(Type type, Collection<ControlMessage> controlMessages) {
+    public ControlMessageEvent(Type type, Set<ControlMessage> controlMessages) {
         super(type, controlMessages);
     }