New Device type for commodity servers

This device type is now advertized by the server
device driver. Also, the ONOS UI maps this new device
type to a glyph.

Change-Id: Ib4147676474b43202bbdff595a0fa0520b70fe91
Signed-off-by: Georgios Katsikas <katsikas.gp@gmail.com>
diff --git a/core/api/src/main/java/org/onosproject/net/Device.java b/core/api/src/main/java/org/onosproject/net/Device.java
index c8b5eb7..4d8bdb0 100644
--- a/core/api/src/main/java/org/onosproject/net/Device.java
+++ b/core/api/src/main/java/org/onosproject/net/Device.java
@@ -27,7 +27,7 @@
      */
     enum Type {
         SWITCH, ROUTER, ROADM, OTN, ROADM_OTN, FIREWALL, BALANCER, IPS, IDS, CONTROLLER,
-        VIRTUAL, FIBER_SWITCH, MICROWAVE, OLT, ONU, OPTICAL_AMPLIFIER, OTHER
+        VIRTUAL, FIBER_SWITCH, MICROWAVE, OLT, ONU, OPTICAL_AMPLIFIER, OTHER, SERVER
     }
 
     /**
diff --git a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDevicesDiscovery.java b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDevicesDiscovery.java
index 8a009f3..e128e4e 100644
--- a/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDevicesDiscovery.java
+++ b/drivers/server/src/main/java/org/onosproject/drivers/server/ServerDevicesDiscovery.java
@@ -358,14 +358,9 @@
         getController().removeDevice(deviceId);
         getController().addDevice((RestSBDevice) dev);
 
-        /**
-         * TODO: Create a new Device type
-         * Device.Type.COMMODITY_SERVER
-         * and add a new icon in the GUI.
-         */
         try {
             desc = new DefaultServerDeviceDescription(
-                new URI(id), Device.Type.OTHER, vendor,
+                new URI(id), Device.Type.SERVER, vendor,
                 hw, sw, serial, new ChassisId(),
                 cpuSet, nicSet, DefaultAnnotations.EMPTY
             );
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
index f68f57d..08311ed 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/TopologyViewMessageHandlerBase.java
@@ -158,6 +158,7 @@
         DEVICE_GLYPHS.put(Device.Type.ONU, "m_onu");
         DEVICE_GLYPHS.put(Device.Type.OPTICAL_AMPLIFIER, "unknown"); // TODO glyph needed
         DEVICE_GLYPHS.put(Device.Type.OTHER, "m_other");
+        DEVICE_GLYPHS.put(Device.Type.SERVER, "m_endpoint");
     }
 
     private static final String DEFAULT_HOST_GLYPH = "m_endstation";