Enhancing null providers for use in demos.

Change-Id: I079d19a98fba2312bd4b17d2e275b34f4dee6f19
diff --git a/providers/null/src/main/java/org/onosproject/provider/nil/NullProviders.java b/providers/null/src/main/java/org/onosproject/provider/nil/NullProviders.java
index 08be68a..b0ccf15 100644
--- a/providers/null/src/main/java/org/onosproject/provider/nil/NullProviders.java
+++ b/providers/null/src/main/java/org/onosproject/provider/nil/NullProviders.java
@@ -268,6 +268,15 @@
     }
 
     /**
+     * Returns the currently active topology simulator.
+     *
+     * @return current simulator; null if none is active
+     */
+    public TopologySimulator currentSimulator() {
+        return simulator;
+    }
+
+    /**
      * Severs the link between the specified end-points in both directions.
      *
      * @param one link endpoint
@@ -356,6 +365,8 @@
             return new MeshTopologySimulator();
         } else if (topoShape.matches("grid([,].*|$)")) {
             return new GridTopologySimulator();
+        } else if (topoShape.matches("custom([,].*|$)")) {
+            return new CustomTopologySimulator();
         } else {
             return new ConfiguredTopologySimulator();
         }
@@ -424,7 +435,7 @@
 
         @Override
         public boolean isReachable(DeviceId deviceId) {
-            return topoShape.equals("configured") ||
+            return topoShape.equals("custom") ||
                     (simulator != null && simulator.contains(deviceId) &&
                             topologyMutationDriver.isReachable(deviceId));
         }