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;