Added UI_TYPE annotation key, and augmented BasicDeviceConfig and BasicHostConfig to support defining a custom "uiType" value to override the glyph used in rendering on the Topology View.

Change-Id: I615540419bce6e89e3761ef6ed3b9906be64b266
diff --git a/core/api/src/main/java/org/onosproject/net/config/basics/BasicHostConfig.java b/core/api/src/main/java/org/onosproject/net/config/basics/BasicHostConfig.java
index fe3a3b7..3758c4e 100644
--- a/core/api/src/main/java/org/onosproject/net/config/basics/BasicHostConfig.java
+++ b/core/api/src/main/java/org/onosproject/net/config/basics/BasicHostConfig.java
@@ -23,8 +23,6 @@
 import java.util.HashSet;
 import java.util.Set;
 
-import static org.onosproject.net.config.basics.AllowedEntityConfig.ALLOWED;
-
 /**
  * Basic configuration for network end-station hosts.
  */
@@ -38,12 +36,12 @@
         // Location and IP addresses can be absent, but if present must be valid.
         this.location();
         this.ipAddresses();
-        return hasOnlyFields(ALLOWED, NAME, LATITUDE, LONGITUDE, RACK_ADDRESS, OWNER,
-                             IPS, LOCATION);
+        return hasOnlyFields(ALLOWED, NAME, LATITUDE, LONGITUDE, UI_TYPE,
+                RACK_ADDRESS, OWNER, IPS, LOCATION);
     }
 
     /**
-     * Returns location of the host.
+     * Returns the location of the host.
      *
      * @return location of the host or null if not set
      * @throws IllegalArgumentException if not specified with correct format