adding TestON
diff --git a/TestON/TAI/src/tai_ofa/OFATestSummary.java b/TestON/TAI/src/tai_ofa/OFATestSummary.java
new file mode 100644
index 0000000..3a1dc15
--- /dev/null
+++ b/TestON/TAI/src/tai_ofa/OFATestSummary.java
@@ -0,0 +1,663 @@
+/*
+ * To change this template, choose Tools | Templates
+ * and open the template in the editor.
+ */
+package tai_ofa;
+
+import com.sun.org.apache.xalan.internal.xsltc.compiler.util.StringStack;
+import java.awt.Color;
+import java.awt.TextArea;
+import java.io.IOException;
+import java.net.MalformedURLException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Vector;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+import javafx.application.Application;
+import javafx.beans.value.ChangeListener;
+import javafx.beans.value.ObservableValue;
+import javafx.collections.FXCollections;
+import javafx.collections.ObservableList;
+import javafx.event.ActionEvent;
+import javafx.event.EventHandler;
+import javafx.geometry.Insets;
+import javafx.geometry.Orientation;
+import javafx.scene.Group;
+import javafx.scene.Scene;
+import javafx.scene.chart.PieChart;
+import javafx.scene.control.Button;
+import javafx.scene.control.CheckBox;
+import javafx.scene.control.ComboBox;
+import javafx.scene.control.ComboBoxBuilder;
+import javafx.scene.control.Label;
+import javafx.scene.control.Separator;
+import javafx.scene.control.SplitPane;
+import javafx.scene.control.Tab;
+import javafx.scene.control.TabPane;
+import javafx.scene.control.TableColumn;
+import javafx.scene.control.TableView;
+import javafx.scene.control.TextAreaBuilder;
+import javafx.scene.control.TextField;
+import javafx.scene.control.TextFieldBuilder;
+import javafx.scene.control.ToolBar;
+import javafx.scene.control.Tooltip;
+import javafx.scene.control.cell.PropertyValueFactory;
+import javafx.scene.image.Image;
+import javafx.scene.image.ImageView;
+import javafx.scene.layout.FlowPane;
+import javafx.scene.layout.GridPane;
+import javafx.scene.layout.HBox;
+import javafx.scene.layout.Pane;
+import javafx.scene.layout.StackPane;
+import javafx.scene.layout.VBox;
+import javafx.scene.text.Text;
+import javafx.stage.Stage;
+import javafx.stage.WindowEvent;
+import org.apache.xmlrpc.XmlRpcClient;
+import org.apache.xmlrpc.XmlRpcException;
+
+/**
+ *
+ * @author Raghav Kashyap (raghavkashyap@paxterrasolutions.com)
+
+ * TestON is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 2 of the License, or
+ * (at your option) any later version.
+
+ * TestON is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+
+ * You should have received a copy of the GNU General Public License
+ * along with TestON. If not, see <http://www.gnu.org/licenses/>.
+
+ */
+public class OFATestSummary extends Application {
+
+ ObservableList<SummaryTable> data;
+ ObservableList<FinalSummaryTable> summaryData;
+ ObservableList<StepTable> stepData;
+ TableView<SummaryTable> summaryTable;
+ TableView<StepTable> stepTable;
+ PieChart.Data passData = new PieChart.Data("Pass", 0);
+ PieChart.Data failData = new PieChart.Data("Fail", 0);
+ PieChart.Data abortData = new PieChart.Data("Abort", 0);
+ PieChart.Data noResult = new PieChart.Data("No Result", 0);
+ ObservableList<PieChart.Data> pieChartData;
+ TableView<FinalSummaryTable> finalSummaryTable = new TableView<FinalSummaryTable>();
+ TableColumn testCaseIdColumn, testCaseNameColumn;
+ TableColumn testCaseStatusColumn, testCaseStartTimeColumn, testCaseEndTimeColumn;
+ Button viewLogs = new Button("Debug & Console");
+ GridPane buttonPane = new GridPane();
+ TableColumn stepId, stepName, stepStatus;
+ TableColumn summaryItem, information;
+ HashMap<String, String> testCaseIdAndName = new HashMap<String, String>();
+ String caseId, caseName;
+ Stage copyStage;
+ PieChart chart;
+ StackPane rootStack;
+ TAI_OFA ofaReference;
+ Stage paramaterWindow;
+ ComboBox LogBox;
+ TabPane execWindow = new TabPane();
+ Tab debugLog = new Tab("Debug Logs");
+ Tab componentLog = new Tab("Test Log");
+ Tab testSummaryTab = new Tab("Test Summary");
+ Tab dpctlSessionTab = new Tab("FlowVisor1.session");
+ Tab mininetSessionTab = new Tab("Mininet1.session");
+ Tab poxSessionTab = new Tab("POX2.session");
+ TabPane baseTabPane = new TabPane();
+ javafx.scene.control.TextArea debugLogText = TextAreaBuilder.create().build();
+ javafx.scene.control.TextArea compononetLogText = TextAreaBuilder.create().build();
+ javafx.scene.control.TextArea flowVisorSessionText = TextAreaBuilder.create().build();
+ javafx.scene.control.TextArea poxSessionText = TextAreaBuilder.create().build();
+ javafx.scene.control.TextArea mininetSessionText = TextAreaBuilder.create().build();
+ String variableName = "";
+ String command = "";
+ ToolBar quickLauchBar = new ToolBar();
+ Double toolBarHeight;
+ Scene scene;
+ SplitPane baseSplitPane = new SplitPane();
+ TabPane consoleTabPane;
+
+ /**
+ * @param args the command line arguments
+ */
+ public static void main(String[] args) {
+ launch(args);
+ }
+
+ public OFATestSummary(TAI_OFA ofaReference, Stage paramaterWindow) {
+ this.ofaReference = ofaReference;
+ this.paramaterWindow = paramaterWindow;
+ }
+
+ public void start(Stage primaryStage) {
+ copyStage = primaryStage;
+ primaryStage.setTitle("Test Execution Status");
+ primaryStage.setResizable(false);
+ Group rootGroup = new Group();
+ scene = new Scene(rootGroup, 1020, 920);
+ Pane basePanel = new Pane();
+ HBox baseBox = new HBox();
+ VBox consoleBox = new VBox();
+ VBox buttonBox = new VBox();
+
+ getDebugTab();
+ getToolBar();
+ buttonBox.getChildren().addAll(buttonPane);
+ consoleBox.getChildren().addAll(quickLauchBar, baseTabPane);
+ baseBox.getChildren().addAll(consoleBox);
+ basePanel.getChildren().addAll(baseBox);
+ SplitPane sp = getTestSummary();
+ testSummaryTab.setContent(sp);
+ testSummaryTab.setClosable(false);
+ baseTabPane.getTabs().addAll(testSummaryTab);
+ javafx.scene.control.SingleSelectionModel<Tab> selectionModel = baseTabPane.getSelectionModel();
+ selectionModel.select(testSummaryTab);
+ baseTabPane.prefWidthProperty().bind(scene.widthProperty().subtract(200));
+ baseTabPane.prefHeightProperty().bind(scene.heightProperty().subtract(10));
+ primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
+ @Override
+ public void handle(WindowEvent t) {
+ XmlRpcClient server;
+ try {
+ server = new XmlRpcClient("http://localhost:9000");
+ Vector params = new Vector();
+ params.add(new String("main"));
+ try {
+ server.execute("stop", new Vector());
+ } catch (XmlRpcException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ } catch (IOException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ } catch (MalformedURLException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+ });
+
+ basePanel.prefHeightProperty().bind(scene.heightProperty());
+ quickLauchBar.prefWidthProperty().bind(scene.widthProperty());
+ quickLauchBar.setMinHeight(scene.heightProperty().get() / 20);
+ toolBarHeight = quickLauchBar.getMinHeight();
+ baseTabPane.prefHeightProperty().bind(scene.heightProperty());
+ baseBox.prefHeightProperty().bind(scene.heightProperty());
+ consoleBox.prefHeightProperty().bind(scene.heightProperty());
+ rootGroup.getChildren().addAll(basePanel);
+ primaryStage.setScene(scene);
+ primaryStage.show();
+
+ }
+
+ public TableView getTable() {
+ return summaryTable;
+ }
+
+ public SplitPane getTestSummary() {
+ GridPane testCaseSummaryTable = new GridPane();
+ testCaseSummaryTable.setPadding(new Insets(10, 0, 0, 10));
+ GridPane finalSummaryPane = new GridPane();
+ finalSummaryPane.setPadding(new Insets(300, 0, 0, 20));
+ GridPane stepSummaryPane = new GridPane();
+ stepSummaryPane.setPadding(new Insets(300, 0, 0, 20));
+
+ CheckBox selectTestCase = new CheckBox();
+ summaryTable = new TableView<SummaryTable>();
+ stepTable = new TableView<StepTable>();
+ summaryTable.setMinWidth(580);
+ summaryTable.setMaxHeight(250);
+ testCaseIdColumn = new TableColumn(ofaReference.label.testSummaryTestCaseId);
+ testCaseIdColumn.setCellValueFactory(new PropertyValueFactory<SummaryTable, Label>("testCaseId"));
+ testCaseIdColumn.setMaxWidth(30);
+ testCaseIdColumn.setResizable(true);
+
+ testCaseNameColumn = new TableColumn(ofaReference.label.testSummaryTestCaseName);
+ testCaseNameColumn.setCellValueFactory(new PropertyValueFactory<SummaryTable, Label>("testCaseName"));
+ testCaseNameColumn.setMinWidth(303);
+ testCaseNameColumn.setResizable(true);
+
+ testCaseStatusColumn = new TableColumn(ofaReference.label.testSummaryExecutionStatus);
+ testCaseStatusColumn.setCellValueFactory(new PropertyValueFactory<SummaryTable, Label>("testCaseStatus"));
+ testCaseStatusColumn.setMinWidth(85);
+ testCaseStatusColumn.setResizable(true);
+
+ testCaseStartTimeColumn = new TableColumn(ofaReference.label.testSummaryStartTest);
+ testCaseStartTimeColumn.setCellValueFactory(new PropertyValueFactory<SummaryTable, Label>("testCaseStartTime"));
+ testCaseStartTimeColumn.setMinWidth(195);
+ testCaseStartTimeColumn.setResizable(true);
+
+ testCaseEndTimeColumn = new TableColumn(ofaReference.label.testSummaryEndTest);
+ testCaseEndTimeColumn.setCellValueFactory(new PropertyValueFactory<SummaryTable, Label>("testCaseEndTime"));
+ testCaseEndTimeColumn.setMinWidth(195);
+ testCaseEndTimeColumn.setResizable(true);
+
+ summaryTable.setItems(data);
+ summaryTable.getColumns().addAll(testCaseIdColumn, testCaseNameColumn, testCaseStatusColumn, testCaseStartTimeColumn, testCaseEndTimeColumn);
+
+ summaryItem = new TableColumn(ofaReference.label.summary);
+ summaryItem.setCellValueFactory(new PropertyValueFactory<SummaryTable, Label>("summaryItem"));
+ summaryItem.setMinWidth(140);
+ summaryItem.setResizable(true);
+
+ information = new TableColumn(ofaReference.label.information);
+ information.setCellValueFactory(new PropertyValueFactory<SummaryTable, Label>("information"));
+ information.setMinWidth(210);
+ information.setResizable(true);
+
+ finalSummaryTable.setMinWidth(350);
+ finalSummaryTable.setMaxHeight(300);
+ SplitPane leftPane = new SplitPane();
+ SplitPane rightPane = new SplitPane();
+ leftPane.setOrientation(Orientation.HORIZONTAL);
+ rightPane.setOrientation(Orientation.VERTICAL);
+ finalSummaryTable.setItems(summaryData);
+ finalSummaryTable.setVisible(false);
+ finalSummaryTable.getColumns().addAll(summaryItem, information);
+ HBox pieChart = new HBox(10);
+ pieChart.setPadding(new Insets(300, 0, 0, 300));
+ ArrayList<PieChart.Data> dataList = new ArrayList<PieChart.Data>();
+
+ dataList.add(passData);
+ dataList.add(failData);
+ dataList.add(abortData);
+ dataList.add(noResult);
+ pieChartData = FXCollections.observableArrayList(dataList);
+ chart = new PieChart(pieChartData);
+ chart.setTitle(ofaReference.label.testSummaryTestSummary);
+ pieChart.getChildren().add(chart);
+ chart.setVisible(false);
+ summaryTable.setVisible(false);
+ stepTable.setVisible(true);
+ stepTable.setMinWidth(450);
+ stepTable.setMaxHeight(300);
+
+ stepId = new TableColumn("ID");
+ stepId.setCellValueFactory(new PropertyValueFactory<StepTable, Label>("testStepId"));
+ stepId.setMinWidth(10);
+ stepId.setResizable(true);
+
+ stepName = new TableColumn("Name");
+ stepName.setCellValueFactory(new PropertyValueFactory<StepTable, Label>("testStepName"));
+ stepName.setMinWidth(470);
+ stepName.setResizable(true);
+
+ stepStatus = new TableColumn("Status");
+ stepStatus.setCellValueFactory(new PropertyValueFactory<StepTable, Label>("testStepStatus"));
+ stepStatus.setMinWidth(40);
+ stepStatus.setResizable(true);
+ stepTable.getColumns().addAll(stepId, stepName, stepStatus);
+ stepTable.setItems(stepData);
+ stepSummaryPane.add(stepTable, 0, 2);
+
+ finalSummaryPane.add(finalSummaryTable, 0, 2);
+ rootStack = new StackPane();
+ testCaseSummaryTable.add(summaryTable, 0, 1);
+ rootStack.getChildren().addAll(testCaseSummaryTable, pieChart, stepSummaryPane, finalSummaryPane);
+ leftPane.getItems().addAll(rootStack);
+ consoleTabPane = new TabPane();
+ consoleTabPane.setPrefWidth(700);
+ consoleTabPane.getTabs().addAll(componentLog, debugLog, dpctlSessionTab, mininetSessionTab, poxSessionTab);
+
+ Image topoImage = new Image("images/topo.png", 400, 200, true, true);
+ ImageView topo = new ImageView(topoImage);
+ TabPane imageTabPane = new TabPane();
+ Tab imageTab = new Tab("Test Topology");
+ imageTab.setContent(topo);
+ imageTabPane.getTabs().add(imageTab);
+ imageTabPane.setMinWidth(300);
+ rightPane.getItems().addAll(imageTabPane, consoleTabPane);
+ rightPane.setDividerPosition(1, 400);
+ baseSplitPane.setDividerPosition(1, 10);
+ baseSplitPane.getItems().addAll(leftPane, rightPane);
+ return baseSplitPane;
+ }
+
+ public void getDebugTab() {
+ poxSessionText.prefWidth(450);
+ poxSessionText.prefHeight(620);
+ poxSessionText.setStyle(
+ "-fx-text-fill: #0A0A2A;"
+ + "-fx-background-color: #EFFBFB;");
+ poxSessionText.setEditable(false);
+ poxSessionTab.setContent(poxSessionText);
+ flowVisorSessionText.prefWidth(450);
+ flowVisorSessionText.prefHeight(620);
+ flowVisorSessionText.setStyle(
+ "-fx-text-fill: #0A0A2A;"
+ + "-fx-background-color: #EFFBFB;");
+ flowVisorSessionText.setEditable(false);
+ dpctlSessionTab.setContent(flowVisorSessionText);
+ mininetSessionText.prefWidth(450);
+ mininetSessionText.prefHeight(620);
+ mininetSessionText.setStyle(
+ "-fx-text-fill: #0A0A2A;"
+ + "-fx-background-color: #EFFBFB;");
+ mininetSessionText.setEditable(false);
+ mininetSessionTab.setContent(mininetSessionText);
+ debugLogText.prefWidth(450);
+ debugLogText.prefHeight(620);
+ debugLogText.setStyle(
+ "-fx-text-fill: #0A0A2A;"
+ + "-fx-background-color: #EFFBFB;");
+ debugLogText.setEditable(false);
+ componentLog.setClosable(false);
+ compononetLogText.prefWidth(350);
+ compononetLogText.prefHeight(620);
+ compononetLogText.setStyle(
+ "-fx-text-fill: #0A0A2A;"
+ + "-fx-background-color: #EFFBFB;");
+ compononetLogText.setEditable(false);
+ componentLog.setContent(compononetLogText);
+ debugLog.setClosable(false);
+ debugLog.setContent(debugLogText);
+ debugLog.setContent(debugLogText);
+ }
+
+ public void getToolBar() {
+ Image pauseImage = new Image("images/Pause.png", 20.0, 20.0, true, true);
+ Button pause = new Button("", new ImageView(pauseImage));
+ Image stopImage = new Image("images/Stop.png", 20.0, 20.0, true, true);
+ Button stop = new Button("", new ImageView(stopImage));
+ stop.setTooltip(new Tooltip("Stop"));
+
+ Image resumeImage = new Image("images/Resume_1.png", 20.0, 20.0, true, true);
+ Button resume = new Button("", new ImageView(resumeImage));
+ resume.setTooltip(new Tooltip("Resume"));
+
+ Image dumpVarImage = new Image("images/dumpvar.png", 20.0, 20.0, true, true);
+ Button dumpVar = new Button("", new ImageView(dumpVarImage));
+ dumpVar.setTooltip(new Tooltip("Dump Var"));
+
+ Image showlogImage = new Image("images/showlog.jpg", 20.0, 20.0, true, true);
+ Button showlog = new Button("", new ImageView(showlogImage));
+ showlog.setTooltip(new Tooltip("Show Log"));
+
+ Image currentCaseImage = new Image("images/currentcase.jpg", 20.0, 20.0, true, true);
+ Button currentcase = new Button("", new ImageView(currentCaseImage));
+ currentcase.setTooltip(new Tooltip("Current Case"));
+
+ Image currentStepImage = new Image("images/currentstep.png", 20.0, 20.0, true, true);
+ Button currentStep = new Button("", new ImageView(currentStepImage));
+ currentStep.setTooltip(new Tooltip("Current Step"));
+
+ Image nextStepImage = new Image("images/nextStep.jpg", 20.0, 20.0, true, true);
+ Button nextStep = new Button("", new ImageView(nextStepImage));
+ nextStep.setTooltip(new Tooltip("Next Step"));
+
+ Image compileImage = new Image("images/compile.jpg", 20.0, 20.0, true, true);
+ Button compile = new Button("", new ImageView(compileImage));
+ compile.setTooltip(new Tooltip("Compile"));
+
+ Image getTestImage = new Image("images/testname.jpg", 20.0, 20.0, true, true);
+ Button getTest = new Button("", new ImageView(getTestImage));
+ getTest.setTooltip(new Tooltip("Get Test"));
+
+ Image interpretImage = new Image("images/interpreter.jpg", 20.0, 20.0, true, true);
+ Button interpret = new Button("", new ImageView(interpretImage));
+ interpret.setTooltip(new Tooltip("Interpret"));
+
+ Image doImage = new Image("images/do.jpg", 20.0, 20.0, true, true);
+ Button doCommand = new Button("", new ImageView(doImage));
+ doCommand.setTooltip(new Tooltip("Do"));
+
+ Image redoImage = new Image("images/redo.png", 20.0, 20.0, true, true);
+ Button redoCommand = new Button("", new ImageView(redoImage));
+ redoCommand.setTooltip(new Tooltip("Re-execute"));
+
+ final Button submit = new Button("Enter");
+ final TextField value = TextFieldBuilder.create().build();
+ value.setMinWidth(480);
+ final ExecutionConsole execConsole = new ExecutionConsole(command, submit, value);
+
+ redoCommand.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ requestServer("redo", new Vector());
+ requestServer("resume", new Vector());
+ }
+ });
+
+ getTest.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ requestServer("getTest", new Vector());
+ }
+ });
+
+ doCommand.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ try {
+ command = "doCommand";
+ execConsole.start(new Stage());
+ execConsole.setTitles("do Command");
+ } catch (Exception ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+ });
+
+ interpret.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ try {
+ value.setEditable(true);
+ command = "interpret";
+ execConsole.start(new Stage());
+ execConsole.setTitles("interpret Command");
+ } catch (Exception ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+ });
+
+ compile.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ try {
+ command = "doCompile";
+ execConsole.start(new Stage());
+ execConsole.setTitles("compile Command");
+ } catch (Exception ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+ });
+
+ resume.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ requestServer("resume", new Vector());
+ }
+ });
+
+ nextStep.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ requestServer("nextStep", new Vector());
+ }
+ });
+
+ currentStep.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ requestServer("currentStep", new Vector());
+ }
+ });
+
+ currentcase.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ requestServer("currentCase", new Vector());
+ }
+ });
+
+ showlog.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ requestServer("showLog", new Vector());
+ }
+ });
+
+ submit.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ variableName = value.getText();
+ execConsole.closeWindow();
+ Vector params = new Vector();
+ params.add(variableName);
+ requestServer(command, params);
+ }
+ });
+ dumpVar.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ try {
+ command = "dumpVar";
+ execConsole.start(new Stage());
+ execConsole.setTitles("dumpvar Command");
+ } catch (Exception ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+
+
+ }
+ });
+
+ pause.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ XmlRpcClient server;
+ try {
+ server = new XmlRpcClient("http://localhost:9000");
+ try {
+ Object response = server.execute("pauseTest", new Vector());
+ compononetLogText.appendText("\n Will pause the test's execution, after completion of this step.....\n\n");
+ } catch (XmlRpcException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ } catch (IOException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ } catch (MalformedURLException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+ });
+
+ stop.setOnAction(new EventHandler<ActionEvent>() {
+ @Override
+ public void handle(ActionEvent t) {
+ XmlRpcClient server;
+ try {
+ server = new XmlRpcClient("http://localhost:9000");
+ Vector params = new Vector();
+ try {
+ server.execute("stop", new Vector());
+ } catch (XmlRpcException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ } catch (IOException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ } catch (MalformedURLException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+ });
+
+ quickLauchBar.getItems().addAll(pause, resume, stop, new Separator(Orientation.VERTICAL), dumpVar, currentcase, currentStep, showlog, nextStep,
+ new Separator(Orientation.VERTICAL), getTest, compile, doCommand, interpret, redoCommand);
+ }
+
+ public void requestServer(String request, Vector params) {
+
+ XmlRpcClient server;
+ try {
+ server = new XmlRpcClient("http://localhost:9000");
+ try {
+ Object response = server.execute(request, params);
+ javafx.scene.control.SingleSelectionModel<Tab> selectionModel = consoleTabPane.getSelectionModel();
+ selectionModel.select(debugLog);
+ debugLogText.appendText(request + " Ouput \n =====================================================================\n");
+ debugLogText.appendText(response.toString());
+ debugLogText.appendText("\n ======================================================================\n");
+ } catch (XmlRpcException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ } catch (IOException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ } catch (MalformedURLException ex) {
+ Logger.getLogger(OFATestSummary.class.getName()).log(Level.SEVERE, null, ex);
+ }
+ }
+
+ public Button getVieLogsButton() {
+ return viewLogs;
+ }
+
+ public StackPane getRoot() {
+ return rootStack;
+ }
+
+ public ObservableList<SummaryTable> getData() {
+ return data;
+ }
+
+ public PieChart getChart() {
+ return chart;
+ }
+
+ public TableView getFinalSummaryTable() {
+ return finalSummaryTable;
+ }
+
+ public ObservableList<FinalSummaryTable> getFinalSummaryData() {
+ return summaryData;
+ }
+
+ public ObservableList<PieChart.Data> getpieChartData() {
+ return pieChartData;
+ }
+
+ public javafx.scene.control.TextArea getTextArea(String name) {
+ if (name.equals("log")) {
+ return compononetLogText;
+ } else if (name.equals("pox")) {
+ return poxSessionText;
+ } else if (name.equals("flowvisor")) {
+ return flowVisorSessionText;
+ } else if (name.equals("mininet")) {
+ return mininetSessionText;
+ }
+ return new javafx.scene.control.TextArea();
+ }
+
+ public PieChart.Data getPassData() {
+ return passData;
+ }
+
+ public PieChart.Data getFailData() {
+ return failData;
+ }
+
+ public PieChart.Data getAbortData() {
+ return abortData;
+ }
+
+ public PieChart.Data getNoResultData() {
+ return noResult;
+ }
+
+ ///Step TABLE
+ public TableView getStepTable() {
+ return stepTable;
+ }
+
+ public ObservableList<StepTable> getStepData() {
+ return stepData;
+ }
+}