Added mechanism for apps to easily add their own custom link/node/host highlighting wihout having to create a new UI extensions

Change-Id: Iefa21d76190c60db79a4b07a8b22e301d29fe58e
diff --git a/web/gui/src/main/java/org/onosproject/ui/impl/topo/util/ServicesBundle.java b/web/gui/src/main/java/org/onosproject/ui/impl/topo/util/ServicesBundle.java
index e58b0f2..1567718 100644
--- a/web/gui/src/main/java/org/onosproject/ui/impl/topo/util/ServicesBundle.java
+++ b/web/gui/src/main/java/org/onosproject/ui/impl/topo/util/ServicesBundle.java
@@ -37,6 +37,8 @@
  */
 public class ServicesBundle {
 
+    private ServiceDirectory directory;
+
     private ClusterService clusterService;
 
     private TopologyService topologyService;
@@ -60,6 +62,7 @@
      */
     public ServicesBundle(ServiceDirectory directory) {
         checkNotNull(directory, "Directory cannot be null");
+        this.directory = directory;
 
         clusterService = directory.get(ClusterService.class);
 
@@ -184,4 +187,15 @@
     public PortStatisticsService portStats() {
         return portStatsService;
     }
+
+    /**
+     * Returns the implementation of the specified service class.
+     *
+     * @param serviceClass service class
+     * @param <T>          class of service
+     * @return implementation of the service class
+     */
+    public <T> T get(Class<T> serviceClass) {
+        return directory.get(serviceClass);
+    }
 }