aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Monitor.java
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Monitor.java')
-rw-r--r--framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Monitor.java154
1 files changed, 0 insertions, 154 deletions
diff --git a/framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Monitor.java b/framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Monitor.java
deleted file mode 100644
index 4e6f63fa..00000000
--- a/framework/src/onos/utils/stc/src/main/java/org/onlab/stc/Monitor.java
+++ /dev/null
@@ -1,154 +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 com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ArrayNode;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import com.google.common.collect.Maps;
-import org.onlab.stc.MonitorLayout.Box;
-
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.Map;
-
-import static org.onlab.stc.Coordinator.Status.IN_PROGRESS;
-
-/**
- * Scenario test monitor.
- */
-public class Monitor implements StepProcessListener {
-
- private final ObjectMapper mapper = new ObjectMapper();
-
- private final Coordinator coordinator;
- private final Compiler compiler;
- private final MonitorLayout layout;
-
- private MonitorDelegate delegate;
-
- private Map<Step, Box> boxes = Maps.newHashMap();
-
- /**
- * Creates a new shared process flow monitor.
- *
- * @param coordinator process flow coordinator
- * @param compiler scenario compiler
- */
- Monitor(Coordinator coordinator, Compiler compiler) {
- this.coordinator = coordinator;
- this.compiler = compiler;
- this.layout = new MonitorLayout(compiler);
- coordinator.addListener(this);
- }
-
- /**
- * Sets the process monitor delegate.
- *
- * @param delegate process monitor delegate
- */
- void setDelegate(MonitorDelegate delegate) {
- this.delegate = delegate;
- }
-
- /**
- * Notifies the process monitor delegate with the specified event.
- *
- * @param event JSON event data
- */
- public void notify(ObjectNode event) {
- if (delegate != null) {
- delegate.notify(event);
- }
- }
-
- /**
- * Returns the scenario process flow as JSON data.
- *
- * @return scenario process flow data
- */
- ObjectNode scenarioData() {
- ObjectNode root = mapper.createObjectNode();
- ArrayNode steps = mapper.createArrayNode();
- ArrayNode requirements = mapper.createArrayNode();
-
- ProcessFlow pf = compiler.processFlow();
- pf.getVertexes().forEach(step -> add(step, steps));
- pf.getEdges().forEach(requirement -> add(requirement, requirements));
-
- root.set("steps", steps);
- root.set("requirements", requirements);
-
- try (FileWriter fw = new FileWriter("/tmp/data.json");
- PrintWriter pw = new PrintWriter(fw)) {
- pw.println(root.toString());
- } catch (IOException e) {
- e.printStackTrace();
- }
- return root;
- }
-
-
- private void add(Step step, ArrayNode steps) {
- Box box = layout.get(step);
- ObjectNode sn = mapper.createObjectNode()
- .put("name", step.name())
- .put("isGroup", step instanceof Group)
- .put("status", status(coordinator.getStatus(step)))
- .put("tier", box.tier())
- .put("depth", box.depth());
- if (step.group() != null) {
- sn.put("group", step.group().name());
- }
- steps.add(sn);
- }
-
- private String status(Coordinator.Status status) {
- return status.toString().toLowerCase();
- }
-
- private void add(Dependency requirement, ArrayNode requirements) {
- ObjectNode rn = mapper.createObjectNode();
- rn.put("src", requirement.src().name())
- .put("dst", requirement.dst().name())
- .put("isSoft", requirement.isSoft());
- requirements.add(rn);
- }
-
- @Override
- public void onStart(Step step, String command) {
- notify(event(step, status(IN_PROGRESS)));
- }
-
- @Override
- public void onCompletion(Step step, Coordinator.Status status) {
- notify(event(step, status(status)));
- }
-
- @Override
- public void onOutput(Step step, String line) {
-
- }
-
- private ObjectNode event(Step step, String status) {
- ObjectNode event = mapper.createObjectNode()
- .put("name", step.name())
- .put("status", status);
- return event;
- }
-
-}