[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);
}
diff --git a/apps/cpman/api/src/main/java/org/onosproject/cpman/message/ControlMessageProviderService.java b/apps/cpman/api/src/main/java/org/onosproject/cpman/message/ControlMessageProviderService.java
index 7a702c2..0472a2f 100644
--- a/apps/cpman/api/src/main/java/org/onosproject/cpman/message/ControlMessageProviderService.java
+++ b/apps/cpman/api/src/main/java/org/onosproject/cpman/message/ControlMessageProviderService.java
@@ -19,7 +19,7 @@
import org.onosproject.net.DeviceId;
import org.onosproject.net.provider.ProviderService;
-import java.util.Collection;
+import java.util.Set;
/**
* Service through which control message providers can inject control message
@@ -34,5 +34,5 @@
* @param deviceId device identifier
* @param controlMessages a collection of control message stats
*/
- void updateStatsInfo(DeviceId deviceId, Collection<ControlMessage> controlMessages);
+ void updateStatsInfo(DeviceId deviceId, Set<ControlMessage> controlMessages);
}
\ No newline at end of file
diff --git a/apps/cpman/api/src/main/java/org/onosproject/cpman/message/ControlMessageStore.java b/apps/cpman/api/src/main/java/org/onosproject/cpman/message/ControlMessageStore.java
index 8c6667a..32083b6 100644
--- a/apps/cpman/api/src/main/java/org/onosproject/cpman/message/ControlMessageStore.java
+++ b/apps/cpman/api/src/main/java/org/onosproject/cpman/message/ControlMessageStore.java
@@ -20,7 +20,7 @@
import org.onosproject.net.provider.ProviderId;
import org.onosproject.store.Store;
-import java.util.Collection;
+import java.util.Set;
/**
* Manages inventory of control message.
@@ -37,6 +37,6 @@
* @return ready to send event describing what occurred
*/
ControlMessageEvent updateStatsInfo(ProviderId providerId, DeviceId deviceId,
- Collection<ControlMessage> controlMessages);
+ Set<ControlMessage> controlMessages);
}