ONOS-2186 - GUI Topo Overlay - (WIP)
- split BiLink into abstract superclass and concrete subclasses.
- created BiLinkMap to collate bilinks (and derivative subclasses).
- added missing Javadocs, and other general cleanup.
Change-Id: Icfa85bc44a223c6cf245a4005170583dad1cc801
diff --git a/core/api/src/main/java/org/onosproject/ui/topo/AbstractHighlight.java b/core/api/src/main/java/org/onosproject/ui/topo/AbstractHighlight.java
index 23cd7d8..5e7ef4b 100644
--- a/core/api/src/main/java/org/onosproject/ui/topo/AbstractHighlight.java
+++ b/core/api/src/main/java/org/onosproject/ui/topo/AbstractHighlight.java
@@ -18,22 +18,38 @@
package org.onosproject.ui.topo;
/**
- * Partial implementation of the types of highlight to apply to topology
- * elements.
+ * Partial implementation of the highlighting to apply to topology
+ * view elements.
*/
public abstract class AbstractHighlight {
private final TopoElementType type;
private final String elementId;
+ /**
+ * Constructs the highlight.
+ *
+ * @param type highlight element type
+ * @param elementId element identifier
+ */
public AbstractHighlight(TopoElementType type, String elementId) {
this.type = type;
this.elementId = elementId;
}
+ /**
+ * Returns the element type.
+ *
+ * @return element type
+ */
public TopoElementType type() {
return type;
}
+ /**
+ * Returns the element identifier.
+ *
+ * @return element identifier
+ */
public String elementId() {
return elementId;
}
diff --git a/core/api/src/main/java/org/onosproject/ui/topo/DeviceHighlight.java b/core/api/src/main/java/org/onosproject/ui/topo/DeviceHighlight.java
index 1b721b8..fe1ecb2 100644
--- a/core/api/src/main/java/org/onosproject/ui/topo/DeviceHighlight.java
+++ b/core/api/src/main/java/org/onosproject/ui/topo/DeviceHighlight.java
@@ -18,7 +18,7 @@
package org.onosproject.ui.topo;
/**
- * Denotes the types of highlight to apply to a link.
+ * Denotes the highlighting to apply to a device.
*/
public class DeviceHighlight extends AbstractHighlight {
@@ -26,5 +26,8 @@
super(TopoElementType.DEVICE, deviceId);
}
+ // TODO: implement device highlighting:
+ // - visual highlight
+ // - badging
}
diff --git a/core/api/src/main/java/org/onosproject/ui/topo/HostHighlight.java b/core/api/src/main/java/org/onosproject/ui/topo/HostHighlight.java
index ff8b3be..cb64e07 100644
--- a/core/api/src/main/java/org/onosproject/ui/topo/HostHighlight.java
+++ b/core/api/src/main/java/org/onosproject/ui/topo/HostHighlight.java
@@ -18,7 +18,7 @@
package org.onosproject.ui.topo;
/**
- * Denotes the types of highlight to apply to a link.
+ * Denotes the highlighting to apply to a host.
*/
public class HostHighlight extends AbstractHighlight {
@@ -26,5 +26,8 @@
super(TopoElementType.HOST, hostId);
}
+ // TODO: implement host highlighting:
+ // - visual highlight
+ // - badging
}
diff --git a/core/api/src/main/java/org/onosproject/ui/topo/LinkHighlight.java b/core/api/src/main/java/org/onosproject/ui/topo/LinkHighlight.java
index d8e4279..b4e4330 100644
--- a/core/api/src/main/java/org/onosproject/ui/topo/LinkHighlight.java
+++ b/core/api/src/main/java/org/onosproject/ui/topo/LinkHighlight.java
@@ -27,8 +27,8 @@
* Denotes the highlighting to be applied to a link.
* {@link Flavor} is a closed set of NO-, PRIMARY-, or SECONDARY- highlighting.
* {@link Mod} is an open ended set of additional modifications (CSS classes)
- * to apply. Note that {@link #MOD_OPTICAL} and {@link #MOD_ANIMATED} are
- * pre-defined mods.
+ * that may also be applied.
+ * Note that {@link #MOD_OPTICAL} and {@link #MOD_ANIMATED} are pre-defined mods.
* Label text may be set, which will also be displayed on the link.
*/
public class LinkHighlight extends AbstractHighlight {
@@ -136,48 +136,6 @@
}
/**
- * Link highlighting modification.
- * <p>
- * Note that this translates to a CSS class name that is applied to
- * the link in the Topology UI.
- */
- public static final class Mod implements Comparable<Mod> {
- private final String modId;
-
- public Mod(String modId) {
- this.modId = checkNotNull(modId);
- }
-
- @Override
- public String toString() {
- return modId;
- }
-
- @Override
- public boolean equals(Object o) {
- if (this == o) {
- return true;
- }
- if (o == null || getClass() != o.getClass()) {
- return false;
- }
- Mod mod = (Mod) o;
- return modId.equals(mod.modId);
- }
-
- @Override
- public int hashCode() {
- return modId.hashCode();
- }
-
-
- @Override
- public int compareTo(Mod o) {
- return this.modId.compareTo(o.modId);
- }
- }
-
- /**
* Denotes a link to be tagged as an optical link.
*/
public static final Mod MOD_OPTICAL = new Mod("optical");
diff --git a/core/api/src/main/java/org/onosproject/ui/topo/Mod.java b/core/api/src/main/java/org/onosproject/ui/topo/Mod.java
new file mode 100644
index 0000000..d21a872
--- /dev/null
+++ b/core/api/src/main/java/org/onosproject/ui/topo/Mod.java
@@ -0,0 +1,66 @@
+/*
+ * Copyright 2015 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.ui.topo;
+
+import static com.google.common.base.Preconditions.checkNotNull;
+
+/**
+ * Highlighting modification.
+ * <p>
+ * Note that (for link highlights) this translates to a CSS class name
+ * that is applied to the link in the Topology UI.
+ */
+public final class Mod implements Comparable<Mod> {
+ private final String modId;
+
+ /**
+ * Constructs a mod with the given identifier.
+ *
+ * @param modId modification identifier
+ */
+ public Mod(String modId) {
+ this.modId = checkNotNull(modId);
+ }
+
+ @Override
+ public String toString() {
+ return modId;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) {
+ return true;
+ }
+ if (o == null || getClass() != o.getClass()) {
+ return false;
+ }
+ Mod mod = (Mod) o;
+ return modId.equals(mod.modId);
+ }
+
+ @Override
+ public int hashCode() {
+ return modId.hashCode();
+ }
+
+ @Override
+ public int compareTo(Mod o) {
+ return this.modId.compareTo(o.modId);
+ }
+}