GUI -- "State" is now an icon on Link and Cluster node views. - Icon mapping has generic names to be reused between views - Fixed broken table unit tests - Other minor cleanup

Change-Id: I7136cba15ad4fd185095617d790940d55b9f968f
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/ApplicationViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/ApplicationViewMessageHandler.java
index fbcb8f2..7f4f9b2 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/ApplicationViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/ApplicationViewMessageHandler.java
@@ -81,7 +81,7 @@
                 STATE, STATE_IID, ID, VERSION, ORIGIN, DESC
         };
 
-        private static final String ICON_ID_ACTIVE = "appActive";
+        private static final String ICON_ID_ACTIVE = "active";
         private static final String ICON_ID_INACTIVE = "appInactive";
 
 
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/ClusterViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/ClusterViewMessageHandler.java
index b1d4c98f..ac3fb92 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/ClusterViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/ClusterViewMessageHandler.java
@@ -76,22 +76,27 @@
         private static final String ID = "id";
         private static final String IP = "ip";
         private static final String TCP_PORT = "tcp";
-        private static final String STATE = "state";
+        private static final String STATE_IID = "_iconid_state";
         private static final String UPDATED = "updated";
 
         private static final String[] COL_IDS = {
-                ID, IP, TCP_PORT, STATE, UPDATED
+                ID, IP, TCP_PORT, STATE_IID, UPDATED
         };
 
+        private static final String ICON_ID_ONLINE = "active";
+        private static final String ICON_ID_OFFLINE = "inactive";
+
         public ControllerNodeTableRow(ClusterService service, ControllerNode n) {
             NodeId id = n.id();
             DateTime lastUpdated = service.getLastUpdated(id);
             org.joda.time.format.DateTimeFormatter format = DateTimeFormat.longTime();
+            String iconId = (service.getState(id) == ControllerNode.State.ACTIVE) ?
+                    ICON_ID_ONLINE : ICON_ID_OFFLINE;
 
             add(ID, id.toString());
             add(IP, n.ip().toString());
             add(TCP_PORT, Integer.toString(n.tcpPort()));
-            add(STATE, service.getState(id).toString());
+            add(STATE_IID, iconId);
             add(UPDATED, format.print(lastUpdated));
         }
 
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 5d79f6e..67a9ee3 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
@@ -177,8 +177,8 @@
                 PROTOCOL, CHASSIS_ID, SERIAL
         };
 
-        private static final String ICON_ID_ONLINE = "deviceOnline";
-        private static final String ICON_ID_OFFLINE = "deviceOffline";
+        private static final String ICON_ID_ONLINE = "active";
+        private static final String ICON_ID_OFFLINE = "inactive";
 
         public DeviceTableRow(DeviceService service,
                               MastershipService ms,
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/LinkViewMessageHandler.java b/web/gui/src/main/java/org/onosproject/ui/impl/LinkViewMessageHandler.java
index cdd1e62..7d496f5 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/LinkViewMessageHandler.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/LinkViewMessageHandler.java
@@ -21,6 +21,7 @@
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Maps;
 import org.onosproject.net.ConnectPoint;
+import org.onosproject.net.Link;
 import org.onosproject.net.LinkKey;
 import org.onosproject.net.link.LinkService;
 import org.onosproject.ui.impl.TopologyViewMessageHandlerBase.BiLink;
@@ -82,7 +83,7 @@
         private static final String ONE = "one";
         private static final String TWO = "two";
         private static final String TYPE = "type";
-        private static final String STATE = "state";
+        private static final String STATE = "_iconid_state";
         private static final String DIRECTION = "direction";
         private static final String DURABLE = "durable";
 
@@ -90,28 +91,32 @@
                 ONE, TWO, TYPE, STATE, DIRECTION, DURABLE
         };
 
+        private static final String ICON_ID_ONLINE = "active";
+        private static final String ICON_ID_OFFLINE = "inactive";
+
         public LinkTableRow(BiLink link) {
             ConnectPoint src = link.one.src();
             ConnectPoint dst = link.one.dst();
+            linkState(link);
 
             add(ONE, src.elementId().toString() + "/" + src.port().toString());
             add(TWO, dst.elementId().toString() + "/" + dst.port().toString());
             add(TYPE, linkType(link).toLowerCase());
-            add(STATE, linkState(link).toLowerCase());
-            add(DIRECTION, link.two != null ? "A <-> B" : "A -> B");
+            add(STATE, linkState(link));
+            add(DIRECTION, link.two != null ? "A <--> B" : "A --> B");
             add(DURABLE, Boolean.toString(link.one.isDurable()));
         }
 
         private String linkState(BiLink link) {
-            return link.two == null || link.one.state() == link.two.state() ?
-                    link.one.state().toString() :
-                    link.one.state().toString() + "/" + link.two.state().toString();
+            return (link.one.state() == Link.State.ACTIVE ||
+                    link.two.state() == Link.State.ACTIVE) ?
+                    ICON_ID_ONLINE : ICON_ID_OFFLINE;
         }
 
         private String linkType(BiLink link) {
             return link.two == null || link.one.type() == link.two.type() ?
                     link.one.type().toString() :
-                    link.one.type().toString() + "/" + link.two.type().toString();
+                    link.one.type().toString() + " / " + link.two.type().toString();
         }
 
         @Override