summaryrefslogtreecommitdiff
path: root/frontend/client/src/autotest/planner/overview/OverviewTable.java
diff options
context:
space:
mode:
Diffstat (limited to 'frontend/client/src/autotest/planner/overview/OverviewTable.java')
-rw-r--r--frontend/client/src/autotest/planner/overview/OverviewTable.java190
1 files changed, 0 insertions, 190 deletions
diff --git a/frontend/client/src/autotest/planner/overview/OverviewTable.java b/frontend/client/src/autotest/planner/overview/OverviewTable.java
deleted file mode 100644
index e60233ad..00000000
--- a/frontend/client/src/autotest/planner/overview/OverviewTable.java
+++ /dev/null
@@ -1,190 +0,0 @@
-package autotest.planner.overview;
-
-import autotest.common.JSONArrayList;
-import autotest.common.StaticDataRepository;
-import autotest.common.Utils;
-import autotest.common.Utils.JsonObjectFactory;
-
-import com.google.gwt.json.client.JSONArray;
-import com.google.gwt.json.client.JSONObject;
-import com.google.gwt.json.client.JSONString;
-import com.google.gwt.json.client.JSONValue;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class OverviewTable {
- public static interface Display {
- public void addHeaderGroup(String group, String[] headers);
- public void clearAllData();
- public void addData(String header, List<String> data);
- }
-
- private static class Machine {
- static JsonObjectFactory<Machine> FACTORY = new JsonObjectFactory<Machine>() {
- public Machine fromJsonObject(JSONObject object) {
- return Machine.fromJsonObject(object);
- }
- };
-
- @SuppressWarnings("unused") // Will be needed later for drilldowns
- String hostname;
-
- Boolean passed;
- String status;
-
- private Machine(String hostname, Boolean passed, String status) {
- this.hostname = hostname;
- this.passed = passed;
- this.status = status;
- }
-
- private static Machine fromJsonObject(JSONObject machine) {
- Boolean passed = null;
- JSONValue passedJson = machine.get("passed");
- if (passedJson.isNull() == null) {
- passed = passedJson.isBoolean().booleanValue();
- }
-
- return new Machine(Utils.jsonToString(machine.get("hostname")),
- passed,
- Utils.jsonToString(machine.get("status")));
- }
- }
-
- private static class TestConfig {
- static JsonObjectFactory<TestConfig> FACTORY = new JsonObjectFactory<TestConfig>() {
- public TestConfig fromJsonObject(JSONObject object) {
- return TestConfig.fromJsonObject(object);
- }
- };
-
- int complete;
- int estimatedRuntime;
-
- private TestConfig(int complete, int estimatedRuntime) {
- this.complete = complete;
- this.estimatedRuntime = estimatedRuntime;
- }
-
- private static TestConfig fromJsonObject(JSONObject testConfig) {
- return new TestConfig((int) testConfig.get("complete").isNumber().doubleValue(),
- (int) testConfig.get("estimated_runtime").isNumber().doubleValue());
- }
- }
-
- private static class PlanData {
- List<Machine> machines;
- List<String> bugs;
- List<TestConfig> testConfigs;
-
- private PlanData(List<Machine> machines, List<String> bugs, List<TestConfig> testConfigs) {
- this.machines = machines;
- this.bugs = bugs;
- this.testConfigs = testConfigs;
- }
-
- static PlanData fromJsonObject(JSONObject planData) {
- JSONArray machinesJson = planData.get("machines").isArray();
- List<Machine> machines = Utils.createList(machinesJson, Machine.FACTORY);
-
- JSONArray bugsJson = planData.get("bugs").isArray();
- List<String> bugs = Arrays.asList(Utils.JSONtoStrings(bugsJson));
-
- JSONArray testConfigsJson = planData.get("test_configs").isArray();
- List<TestConfig> testConfigs =
- Utils.createList(testConfigsJson, TestConfig.FACTORY);
-
- return new PlanData(machines, bugs, testConfigs);
- }
- }
-
- private Display display;
- private List<String> statuses = new ArrayList<String>();
-
- public void bindDisplay(Display display) {
- this.display = display;
- setupDisplay();
- }
-
- private void setupDisplay() {
- List<String> hostStatuses = new ArrayList<String>();
- JSONArrayList<JSONString> hostStatusesArray = new JSONArrayList<JSONString>(
- StaticDataRepository.getRepository().getData("host_statuses").isArray());
- for (JSONString status : hostStatusesArray) {
- String statusStr = Utils.jsonToString(status);
- hostStatuses.add(statusStr);
- statuses.add(statusStr);
- }
-
- display.addHeaderGroup("Basic info",
- new String[] {"Total machines", "Progress", "Bugs filed"});
- display.addHeaderGroup("Machine status",
- hostStatuses.toArray(new String[hostStatuses.size()]));
- display.addHeaderGroup("Pass rate",
- new String[] {"Passed", "Failed"});
- display.addHeaderGroup("Plan statistics",
- new String[] {"Tests run", "Tests remaining"});
- }
-
- public void setData(Map<String, JSONObject> data) {
- display.clearAllData();
- for (Map.Entry<String, JSONObject> entry : data.entrySet()) {
- PlanData planData = PlanData.fromJsonObject(entry.getValue());
-
- int total = planData.machines.size();
- String totalStr = String.valueOf(total);
-
- int runNumber = 0;
- int runHours = 0;
- int remainingNumber = 0;
- int remainingHours = 0;
-
- for (TestConfig config : planData.testConfigs) {
- int remaining = total - config.complete;
-
- runNumber += config.complete;
- remainingNumber += remaining;
- runHours += config.complete * config.estimatedRuntime;
- remainingHours += remaining * config.estimatedRuntime;
- }
-
- String progress = Utils.percentage(runHours, runHours + remainingHours);
- String bugs = String.valueOf(planData.bugs.size());
-
- int passed = 0;
- int passFailTotal = 0;
- Map<String, Integer> statusCounts = new HashMap<String, Integer>();
- for (String status : statuses) {
- statusCounts.put(status, 0);
- }
- for (Machine machine : planData.machines) {
- statusCounts.put(machine.status, statusCounts.get(machine.status) + 1);
-
- if (machine.passed != null) {
- passFailTotal++;
- if (machine.passed) {
- passed++;
- }
- }
- }
-
- List<String> displayData = new ArrayList<String>();
- displayData.add(totalStr);
- displayData.add(progress);
- displayData.add(bugs);
- for (String status : statuses) {
- displayData.add(Utils.numberAndPercentage(statusCounts.get(status), total));
- }
- displayData.add(Utils.numberAndPercentage(passed, passFailTotal));
- displayData.add(Utils.numberAndPercentage(passFailTotal - passed, passFailTotal));
- displayData.add(runNumber + " (" + runHours + " hours)");
- displayData.add(remainingNumber + " (" + remainingHours + " hours)");
-
- display.addData(entry.getKey(), displayData);
- }
- }
-}