From ae65c96f5b305a39535c21e66bf260b31b5e29af Mon Sep 17 00:00:00 2001 From: Bri Prebilic Cole Date: Thu, 2 Apr 2015 16:24:49 -0700 Subject: [PATCH] GUI -- Device View now has a column for Master Instance Id. Change-Id: I941e57fce2635168793a88a078a73659642997b7 --- .../ui/impl/DeviceViewMessageHandler.java | 20 +++++++++++++------ .../main/webapp/app/view/device/device.html | 2 ++ 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/DeviceViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/DeviceViewMessageHandler.java index 0f8e347a6a..6b1ac7b101 100644 --- a/web/gui/src/main/java/org/onosproject/ui/impl/DeviceViewMessageHandler.java +++ b/web/gui/src/main/java/org/onosproject/ui/impl/DeviceViewMessageHandler.java @@ -18,6 +18,7 @@ package org.onosproject.ui.impl; import com.fasterxml.jackson.databind.node.ArrayNode; import com.fasterxml.jackson.databind.node.ObjectNode; import com.google.common.collect.ImmutableSet; +import org.onosproject.mastership.MastershipService; import org.onosproject.net.Device; import org.onosproject.net.device.DeviceService; @@ -44,8 +45,10 @@ public class DeviceViewMessageHandler extends AbstractTabularViewMessageHandler String sortDir = string(payload, "sortDir", "asc"); DeviceService service = get(DeviceService.class); - TableRow[] rows = generateTableRows(service); - RowComparator rc = new RowComparator(sortCol, RowComparator.direction(sortDir)); + MastershipService mastershipService = get(MastershipService.class); + TableRow[] rows = generateTableRows(service, mastershipService); + RowComparator rc = + new RowComparator(sortCol, RowComparator.direction(sortDir)); Arrays.sort(rows, rc); ArrayNode devices = generateArrayNode(rows); ObjectNode rootNode = mapper.createObjectNode(); @@ -54,10 +57,11 @@ public class DeviceViewMessageHandler extends AbstractTabularViewMessageHandler connection().sendMessage("deviceDataResponse", 0, rootNode); } - private TableRow[] generateTableRows(DeviceService service) { + private TableRow[] generateTableRows(DeviceService service, + MastershipService mastershipService) { List list = new ArrayList<>(); for (Device dev : service.getDevices()) { - list.add(new DeviceTableRow(service, dev)); + list.add(new DeviceTableRow(service, mastershipService, dev)); } return list.toArray(new TableRow[list.size()]); } @@ -79,16 +83,19 @@ public class DeviceViewMessageHandler extends AbstractTabularViewMessageHandler private static final String SERIAL = "serial"; private static final String PROTOCOL = "protocol"; private static final String CHASSISID = "chassisid"; + private static final String MASTERID = "masterid"; private static final String[] COL_IDS = { ID, AVAILABLE, AVAILABLE_IID, TYPE_IID, ROLE, - MFR, HW, SW, SERIAL, PROTOCOL, CHASSISID + MFR, HW, SW, SERIAL, PROTOCOL, CHASSISID, MASTERID }; private static final String ICON_ID_ONLINE = "deviceOnline"; private static final String ICON_ID_OFFLINE = "deviceOffline"; - public DeviceTableRow(DeviceService service, Device d) { + public DeviceTableRow(DeviceService service, + MastershipService ms, + Device d) { boolean available = service.isAvailable(d.id()); String iconId = available ? ICON_ID_ONLINE : ICON_ID_OFFLINE; @@ -103,6 +110,7 @@ public class DeviceViewMessageHandler extends AbstractTabularViewMessageHandler add(SERIAL, d.serialNumber()); add(PROTOCOL, d.annotations().value(PROTOCOL)); add(CHASSISID, d.chassisId().toString()); + add(MASTERID, ms.getMasterFor(d.id()).toString()); } private String getTypeIconId(Device d) { diff --git a/web/gui/src/main/webapp/app/view/device/device.html b/web/gui/src/main/webapp/app/view/device/device.html index 7d3d735777..5ece57d72e 100644 --- a/web/gui/src/main/webapp/app/view/device/device.html +++ b/web/gui/src/main/webapp/app/view/device/device.html @@ -16,6 +16,7 @@ Chassis ID Serial # Protocol + Master Instance @@ -35,6 +36,7 @@ {{dev.chassisid}} {{dev.serial}} {{dev.protocol}} + {{dev.masterid}}