aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoUtils.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoUtils.java')
-rw-r--r--framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoUtils.java158
1 files changed, 0 insertions, 158 deletions
diff --git a/framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoUtils.java b/framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoUtils.java
deleted file mode 100644
index b38a7f7d..00000000
--- a/framework/src/onos/core/api/src/main/java/org/onosproject/ui/topo/TopoUtils.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * 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 org.onosproject.net.Link;
-import org.onosproject.net.LinkKey;
-
-import java.text.DecimalFormat;
-
-import static org.onosproject.net.LinkKey.linkKey;
-
-/**
- * Utility methods for helping out with formatting data for the Topology View
- * in the web client.
- */
-public final class TopoUtils {
-
- // explicit decision made to not 'javadoc' these self explanatory constants
- public static final double KILO = 1024;
- public static final double MEGA = 1024 * KILO;
- public static final double GIGA = 1024 * MEGA;
-
- public static final String GBITS_UNIT = "Gb";
- public static final String MBITS_UNIT = "Mb";
- public static final String KBITS_UNIT = "Kb";
- public static final String BITS_UNIT = "b";
- public static final String GBYTES_UNIT = "GB";
- public static final String MBYTES_UNIT = "MB";
- public static final String KBYTES_UNIT = "KB";
- public static final String BYTES_UNIT = "B";
-
-
- private static final DecimalFormat DF2 = new DecimalFormat("#,###.##");
-
- private static final String COMPACT = "%s/%s-%s/%s";
- private static final String EMPTY = "";
- private static final String SPACE = " ";
- private static final String PER_SEC = "ps";
- private static final String FLOW = "flow";
- private static final String FLOWS = "flows";
-
- // non-instantiable
- private TopoUtils() { }
-
- /**
- * Returns a compact identity for the given link, in the form
- * used to identify links in the Topology View on the client.
- *
- * @param link link
- * @return compact link identity
- */
- public static String compactLinkString(Link link) {
- return String.format(COMPACT, link.src().elementId(), link.src().port(),
- link.dst().elementId(), link.dst().port());
- }
-
- /**
- * Produces a canonical link key, that is, one that will match both a link
- * and its inverse.
- *
- * @param link the link
- * @return canonical key
- */
- public static LinkKey canonicalLinkKey(Link link) {
- String sn = link.src().elementId().toString();
- String dn = link.dst().elementId().toString();
- return sn.compareTo(dn) < 0 ?
- linkKey(link.src(), link.dst()) : linkKey(link.dst(), link.src());
- }
-
- /**
- * Returns human readable count of bytes, to be displayed as a label.
- *
- * @param bytes number of bytes
- * @return formatted byte count
- */
- public static String formatBytes(long bytes) {
- String unit;
- double value;
- if (bytes > GIGA) {
- value = bytes / GIGA;
- unit = GBYTES_UNIT;
- } else if (bytes > MEGA) {
- value = bytes / MEGA;
- unit = MBYTES_UNIT;
- } else if (bytes > KILO) {
- value = bytes / KILO;
- unit = KBYTES_UNIT;
- } else {
- value = bytes;
- unit = BYTES_UNIT;
- }
- return DF2.format(value) + SPACE + unit;
- }
-
- /**
- * Returns human readable bit rate, to be displayed as a label.
- *
- * @param bytes bytes per second
- * @return formatted bits per second
- */
- public static String formatBitRate(long bytes) {
- String unit;
- double value;
-
- //Convert to bits
- long bits = bytes * 8;
- if (bits > GIGA) {
- value = bits / GIGA;
- unit = GBITS_UNIT;
-
- // NOTE: temporary hack to clip rate at 10.0 Gbps
- // Added for the CORD Fabric demo at ONS 2015
- // TODO: provide a more elegant solution to this issue
- if (value > 10.0) {
- value = 10.0;
- }
-
- } else if (bits > MEGA) {
- value = bits / MEGA;
- unit = MBITS_UNIT;
- } else if (bits > KILO) {
- value = bits / KILO;
- unit = KBITS_UNIT;
- } else {
- value = bits;
- unit = BITS_UNIT;
- }
- return DF2.format(value) + SPACE + unit + PER_SEC;
- }
-
- /**
- * Returns human readable flow count, to be displayed as a label.
- *
- * @param flows number of flows
- * @return formatted flow count
- */
- public static String formatFlows(long flows) {
- if (flows < 1) {
- return EMPTY;
- }
- return String.valueOf(flows) + SPACE + (flows > 1 ? FLOWS : FLOW);
- }
-}