ONOS-6258: UiTopo2Overlay et al.
- initial support for topo-2 highlighting.
Change-Id: I71c61b902047153ea420a8b2ecd89f6950daa4a9
diff --git a/apps/drivermatrix/src/main/java/org/onosproject/drivermatrix/DriverViewComponent.java b/apps/drivermatrix/src/main/java/org/onosproject/drivermatrix/DriverViewComponent.java
index b8d66de..6d8b214 100644
--- a/apps/drivermatrix/src/main/java/org/onosproject/drivermatrix/DriverViewComponent.java
+++ b/apps/drivermatrix/src/main/java/org/onosproject/drivermatrix/DriverViewComponent.java
@@ -24,6 +24,7 @@
import org.onosproject.ui.UiExtension;
import org.onosproject.ui.UiExtensionService;
import org.onosproject.ui.UiMessageHandlerFactory;
+import org.onosproject.ui.UiTopo2OverlayFactory;
import org.onosproject.ui.UiView;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -56,11 +57,22 @@
new DriverViewMessageHandler()
);
+ // ++++ ====================================================== ++++
+ // ++++ Temporary code for testing the topology-2 overlay code ++++
+
+ private final UiTopo2OverlayFactory t2ovFactory =
+ () -> ImmutableList.of(
+ new TesterTopo2Overlay()
+ );
+
+ // ++++ ====================================================== ++++
+
// Application UI extension
protected UiExtension extension =
new UiExtension.Builder(getClass().getClassLoader(), uiViews)
.resourcePath(VIEW_ID)
.messageHandlerFactory(messageHandlerFactory)
+ .topo2OverlayFactory(t2ovFactory) // +++ TEMP +++
.build();
@Activate
diff --git a/apps/drivermatrix/src/main/java/org/onosproject/drivermatrix/TesterTopo2Overlay.java b/apps/drivermatrix/src/main/java/org/onosproject/drivermatrix/TesterTopo2Overlay.java
new file mode 100644
index 0000000..df81adf
--- /dev/null
+++ b/apps/drivermatrix/src/main/java/org/onosproject/drivermatrix/TesterTopo2Overlay.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2017-present Open Networking Laboratory
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package org.onosproject.drivermatrix;
+
+import org.onosproject.ui.UiTopo2Overlay;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * A test implementation of UiTopo2Overlay.
+ */
+public class TesterTopo2Overlay extends UiTopo2Overlay {
+
+ private final Logger log = LoggerFactory.getLogger(getClass());
+
+ // NOTE: this must match the ID defined in dmatrixTopo2v.js
+ private static final String OVERLAY_ID = "dmatrix-test-overlay";
+ private static final String NAME = "Test D-Matrix Overlay";
+
+ /**
+ * Constructs the overlay.
+ */
+ public TesterTopo2Overlay() {
+ super(OVERLAY_ID, NAME);
+ log.debug("+++ CREATE +++ TesterTopo2Overlay");
+ }
+
+ @Override
+ public String glyphId() {
+ return "thatsNoMoon";
+ }
+
+ @Override
+ public void highlightingCallback() {
+ // TODO: figure out what API to use to set highlights....
+
+ }
+}