Change the data type of Data Point value from Double to Object
Change-Id: If5243fcb25c9893601695743b562ce88b844c64d
diff --git a/apps/cpman/app/src/main/java/org/onosproject/cpman/gui/CpmanViewMessageHandler.java b/apps/cpman/app/src/main/java/org/onosproject/cpman/gui/CpmanViewMessageHandler.java
index 8003933..5a11419 100644
--- a/apps/cpman/app/src/main/java/org/onosproject/cpman/gui/CpmanViewMessageHandler.java
+++ b/apps/cpman/app/src/main/java/org/onosproject/cpman/gui/CpmanViewMessageHandler.java
@@ -62,6 +62,8 @@
private static final int MILLI_CONV_UNIT = 1000;
+ private static final String TIME_FORMAT = "HH:mm";
+
private long timestamp = 0L;
@Override
@@ -101,15 +103,13 @@
for (String deviceId : deviceIds) {
Map<ControlMetricType, Long> data =
populateDeviceMetrics(cpms, cs, DeviceId.deviceId(deviceId));
- Map<String, Long> local = Maps.newHashMap();
+ Map<String, Object> local = Maps.newHashMap();
for (ControlMetricType cmt : CONTROL_MESSAGE_METRICS) {
local.put(StringUtils.lowerCase(cmt.name()), data.get(cmt));
}
- // TODO: need to find a way to present device id using long type
- String shortId = StringUtils.substring(deviceId,
- deviceId.length() - 2, deviceId.length());
- local.put(LABEL, Long.valueOf(shortId));
- populateMetric(cm.addDataPoint(Long.valueOf(shortId)), local);
+
+ local.put(LABEL, deviceId);
+ populateMetric(cm.addDataPoint(deviceId), local);
}
}
}
@@ -171,24 +171,25 @@
}
}
- private void populateMetrics(ChartModel cm, Map<ControlMetricType,
- Long[]> data, LocalDateTime time, int numOfDp) {
+ private void populateMetrics(ChartModel cm,
+ Map<ControlMetricType, Long[]> data,
+ LocalDateTime time, int numOfDp) {
for (int i = 0; i < numOfDp; i++) {
- Map<String, Long> local = Maps.newHashMap();
+ Map<String, Object> local = Maps.newHashMap();
for (ControlMetricType cmt : CONTROL_MESSAGE_METRICS) {
local.put(StringUtils.lowerCase(cmt.name()), data.get(cmt)[i]);
}
- local.put(LABEL, time.minusMinutes(numOfDp - i).toDateTime().getMillis());
+ String calculated = time.minusMinutes(numOfDp - i).toString(TIME_FORMAT);
- populateMetric(cm.addDataPoint(time.minusMinutes(numOfDp - i)
- .toDateTime().getMillis()), local);
+ local.put(LABEL, calculated);
+ populateMetric(cm.addDataPoint(calculated), local);
}
}
private void populateMetric(ChartModel.DataPoint dataPoint,
- Map<String, Long> data) {
- data.forEach((k, v) -> dataPoint.data(k, v.doubleValue()));
+ Map<String, Object> data) {
+ data.forEach((k, v) -> dataPoint.data(k, v));
}
}
}
diff --git a/apps/cpman/app/src/main/resources/app/view/cpman/cpman.js b/apps/cpman/app/src/main/resources/app/view/cpman/cpman.js
index 30e020a..4b603ee 100644
--- a/apps/cpman/app/src/main/resources/app/view/cpman/cpman.js
+++ b/apps/cpman/app/src/main/resources/app/view/cpman/cpman.js
@@ -31,7 +31,7 @@
data[i] = new Array(1);
}
- var date, max, merged;
+ var max;
function ceil(num) {
if (isNaN(num)) {
@@ -42,6 +42,11 @@
return (Math.ceil(num / pow)) * pow;
}
+ function maxInArray(array) {
+ var merged = [].concat.apply([], array);
+ return Math.max.apply(null, merged);
+ }
+
angular.module('ovCpman', ["chart.js"])
.controller('OvCpmanCtrl',
['$log', '$scope', '$location', 'FnService', 'ChartBuilderService', 'NavService',
@@ -88,37 +93,30 @@
data[4][idx] = cm.request_packet;
data[5][idx] = cm.reply_packet;
- if(hasDeviceId) {
- date = new Date(cm.label);
- labels[idx] = date.getHours() + ":" + date.getMinutes();
- } else {
- labels[idx] = cm.label;
- }
+ labels[idx] = cm.label;
});
}
- merged = [].concat.apply([], data);
- max = Math.max.apply(null, merged);
+ max = maxInArray(data)
$scope.labels = labels;
$scope.data = data;
$scope.options = {
scaleOverride : true,
scaleSteps : 10,
scaleStepWidth : ceil(max) / 10,
- scaleStartValue : 0
+ scaleStartValue : 0,
+ scaleFontSize : 16
};
$scope.onClick = function (points, evt) {
if (points[0]) {
- // TODO: this will be replaced with real device id
- var tmpId = 'of:000000000000020' + points[0].label;
- ns.navTo('cpman', { devId: tmpId });
+ ns.navTo('cpman', { devId: points[0].label });
$log.log(points[0].label);
}
};
});
$scope.series = ['INBOUND', 'OUTBOUND', 'FLOW-MOD',
- 'FLOW-REMOVED', 'STATS-REQUEST', 'STATS-REPLY'];
+ 'FLOW-REMOVED', 'REQUEST', 'REPLY'];
$scope.labels = labels;
$scope.data = data;