aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Scenario.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Scenario.java')
-rw-r--r--framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Scenario.java106
1 files changed, 0 insertions, 106 deletions
diff --git a/framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Scenario.java b/framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Scenario.java
deleted file mode 100644
index fd2cd62d..00000000
--- a/framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Scenario.java
+++ /dev/null
@@ -1,106 +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.onlab.stc;
-
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.XMLConfiguration;
-
-import java.io.InputStream;
-
-import static com.google.common.base.Preconditions.checkNotNull;
-import static com.google.common.base.Preconditions.checkState;
-
-/**
- * Representation of a re-usable test scenario.
- */
-public final class Scenario {
-
- private static final String SCENARIO = "scenario";
- private static final String NAME = "[@name]";
- private static final String DESCRIPTION = "[@description]";
-
- private final String name;
- private final String description;
- private final HierarchicalConfiguration definition;
-
- // Creates a new scenario from the specified definition.
- private Scenario(String name, String description, HierarchicalConfiguration definition) {
- this.name = checkNotNull(name, "Name cannot be null");
- this.description = checkNotNull(description, "Description cannot be null");
- this.definition = checkNotNull(definition, "Definition cannot be null");
- }
-
- /**
- * Loads a new scenario from the specified hierarchical configuration.
- *
- * @param definition scenario definition
- * @return loaded scenario
- */
- public static Scenario loadScenario(HierarchicalConfiguration definition) {
- String name = definition.getString(NAME);
- String description = definition.getString(DESCRIPTION, "");
- checkState(name != null, "Scenario name must be specified");
- return new Scenario(name, description, definition);
- }
-
- /**
- * Loads a new scenario from the specified input stream.
- *
- * @param stream scenario definition stream
- * @return loaded scenario
- */
- public static Scenario loadScenario(InputStream stream) {
- XMLConfiguration cfg = new XMLConfiguration();
- cfg.setAttributeSplittingDisabled(true);
- cfg.setDelimiterParsingDisabled(true);
- cfg.setRootElementName(SCENARIO);
- try {
- cfg.load(stream);
- return loadScenario(cfg);
- } catch (ConfigurationException e) {
- throw new IllegalArgumentException("Unable to load scenario from the stream", e);
- }
- }
-
- /**
- * Returns the scenario name.
- *
- * @return scenario name
- */
- public String name() {
- return name;
- }
-
- /**
- * Returns the scenario description.
- *
- * @return scenario description
- */
- public String description() {
- return description;
- }
-
- /**
- * Returns the scenario definition.
- *
- * @return scenario definition
- */
- public HierarchicalConfiguration definition() {
- return definition;
- }
-
-}