diff options
Diffstat (limited to 'framework/src/onos/web/gui/src/main/java/org/onosproject/ui/impl/topo/IntentSelection.java')
-rw-r--r-- | framework/src/onos/web/gui/src/main/java/org/onosproject/ui/impl/topo/IntentSelection.java | 175 |
1 files changed, 0 insertions, 175 deletions
diff --git a/framework/src/onos/web/gui/src/main/java/org/onosproject/ui/impl/topo/IntentSelection.java b/framework/src/onos/web/gui/src/main/java/org/onosproject/ui/impl/topo/IntentSelection.java deleted file mode 100644 index 151e6131..00000000 --- a/framework/src/onos/web/gui/src/main/java/org/onosproject/ui/impl/topo/IntentSelection.java +++ /dev/null @@ -1,175 +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.impl.topo; - -import org.onosproject.net.intent.Intent; -import org.onosproject.ui.topo.NodeSelection; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -/** - * Encapsulates a selection of intents (paths) inferred from a selection - * of devices and/or hosts from the topology view. - */ -public class IntentSelection { - - private static final int ALL = -1; - - protected static final Logger log = - LoggerFactory.getLogger(IntentSelection.class); - - private final NodeSelection nodes; - - private final List<Intent> intents; - private int index = ALL; - - /** - * Creates an intent selection group, based on selected nodes. - * - * @param nodes node selection - * @param filter intent filter - */ - public IntentSelection(NodeSelection nodes, TopoIntentFilter filter) { - this.nodes = nodes; - intents = filter.findPathIntents(nodes.hostsWithHover(), nodes.devicesWithHover()); - if (intents.size() == 1) { - index = 0; // pre-select a single intent - } - } - - /** - * Creates an intent selection group, for a single intent. - * - * @param intent the intent - */ - public IntentSelection(Intent intent) { - nodes = null; - intents = new ArrayList<>(1); - intents.add(intent); - index = 0; - } - - /** - * Returns true if no intents are selected. - * - * @return true if nothing selected - */ - public boolean none() { - return intents.isEmpty(); - } - - /** - * Returns true if all intents in this select group are currently selected. - * This is the initial state, so that all intents are shown on the - * topology view with primary highlighting. - * - * @return true if all selected - */ - public boolean all() { - return index == ALL; - } - - /** - * Returns true if there is a single intent in this select group, or if - * a specific intent has been marked (index != ALL). - * - * @return true if single intent marked - */ - public boolean single() { - return !all(); - } - - /** - * Returns the number of intents in this selection group. - * - * @return number of intents - */ - public int size() { - return intents.size(); - } - - /** - * Returns the index of the currently selected intent. - * - * @return the current index - */ - public int index() { - return index; - } - - /** - * The list of intents in this selection group. - * - * @return list of intents - */ - public List<Intent> intents() { - return Collections.unmodifiableList(intents); - } - - /** - * Marks and returns the next intent in this group. Note that the - * selection wraps around to the beginning again, if necessary. - * - * @return the next intent in the group - */ - public Intent next() { - index += 1; - if (index >= intents.size()) { - index = 0; - } - return intents.get(index); - } - - /** - * Marks and returns the previous intent in this group. Note that the - * selection wraps around to the end again, if necessary. - * - * @return the previous intent in the group - */ - public Intent prev() { - index -= 1; - if (index < 0) { - index = intents.size() - 1; - } - return intents.get(index); - } - - /** - * Returns the currently marked intent, or null if "all" intents - * are marked. - * - * @return the currently marked intent - */ - public Intent current() { - return all() ? null : intents.get(index); - } - - @Override - public String toString() { - return "IntentSelection{" + - "nodes=" + nodes + - ", #intents=" + intents.size() + - ", index=" + index + - '}'; - } - -} |