summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4>2011-06-16 16:20:38 +0000
committerlmr <lmr@592f7852-d20e-0410-864c-8624ca9c26a4>2011-06-16 16:20:38 +0000
commitc363a510b5a7113f5533dc80c960f5c7b4f1e0fc (patch)
tree2683a06a799734aee43aac93985d8e6a756b2b84
parenteb113e11e27b0abf2f95c59ebf78b123565cc50b (diff)
Planner: remove client application
This removes the client part of the Planner application, including all GWT Java files, the HTML file that is used as planner "index" page (the default page). This also removes the planner URL in the client json rpc proxy. Signed-off-by: Cleber Rosa <crosa@redhat.com> git-svn-id: svn://test.kernel.org/autotest/trunk@5429 592f7852-d20e-0410-864c-8624ca9c26a4
-rwxr-xr-xfrontend/client/TestPlannerClient-shell4
-rw-r--r--frontend/client/TestPlannerClient.launch22
-rw-r--r--frontend/client/src/autotest/TestPlannerClient.gwt.xml19
-rw-r--r--frontend/client/src/autotest/common/JsonRpcProxy.java1
-rw-r--r--frontend/client/src/autotest/planner/AutoprocessedTab.java18
-rw-r--r--frontend/client/src/autotest/planner/AutoprocessedTabDisplay.java13
-rw-r--r--frontend/client/src/autotest/planner/HistoryTab.java18
-rw-r--r--frontend/client/src/autotest/planner/HistoryTabDisplay.java13
-rw-r--r--frontend/client/src/autotest/planner/TestPlanSelector.java69
-rw-r--r--frontend/client/src/autotest/planner/TestPlanSelectorDisplay.java41
-rw-r--r--frontend/client/src/autotest/planner/TestPlannerClient.java71
-rw-r--r--frontend/client/src/autotest/planner/TestPlannerDisplay.java7
-rw-r--r--frontend/client/src/autotest/planner/TestPlannerPresenter.java32
-rw-r--r--frontend/client/src/autotest/planner/TestPlannerTab.java42
-rw-r--r--frontend/client/src/autotest/planner/TestPlannerTableDisplay.java27
-rw-r--r--frontend/client/src/autotest/planner/TestPlannerTableImpl.java78
-rw-r--r--frontend/client/src/autotest/planner/TestPlannerUtils.java37
-rw-r--r--frontend/client/src/autotest/planner/TestViewTab.java0
-rw-r--r--frontend/client/src/autotest/planner/TestViewTabDisplay.java0
-rw-r--r--frontend/client/src/autotest/planner/machine/MachineViewDisplay.java39
-rw-r--r--frontend/client/src/autotest/planner/machine/MachineViewPresenter.java52
-rw-r--r--frontend/client/src/autotest/planner/machine/MachineViewTab.java37
-rw-r--r--frontend/client/src/autotest/planner/machine/MachineViewTable.java109
-rw-r--r--frontend/client/src/autotest/planner/machine/MachineViewTableDisplay.java0
-rw-r--r--frontend/client/src/autotest/planner/machine/StatusSummary.java36
-rw-r--r--frontend/client/src/autotest/planner/overview/OverviewTab.java41
-rw-r--r--frontend/client/src/autotest/planner/overview/OverviewTabDisplay.java64
-rw-r--r--frontend/client/src/autotest/planner/overview/OverviewTabPresenter.java119
-rw-r--r--frontend/client/src/autotest/planner/overview/OverviewTable.java190
-rw-r--r--frontend/client/src/autotest/planner/overview/OverviewTableDisplay.java74
-rw-r--r--frontend/client/src/autotest/planner/resources/PlannerClientBundle.java14
-rw-r--r--frontend/client/src/autotest/planner/resources/close.pngbin130 -> 0 bytes
-rw-r--r--frontend/client/src/autotest/planner/test/TestViewDisplay.java39
-rw-r--r--frontend/client/src/autotest/planner/test/TestViewPresenter.java52
-rw-r--r--frontend/client/src/autotest/planner/test/TestViewTab.java37
-rw-r--r--frontend/client/src/autotest/planner/test/TestViewTable.java132
-rw-r--r--frontend/client/src/autotest/planner/triage/FailureTable.java93
-rw-r--r--frontend/client/src/autotest/planner/triage/FailureTableDisplay.java101
-rw-r--r--frontend/client/src/autotest/planner/triage/TriagePopup.java154
-rw-r--r--frontend/client/src/autotest/planner/triage/TriagePopupDisplay.java112
-rw-r--r--frontend/client/src/autotest/planner/triage/TriageViewDisplay.java72
-rw-r--r--frontend/client/src/autotest/planner/triage/TriageViewPresenter.java98
-rw-r--r--frontend/client/src/autotest/planner/triage/TriageViewTab.java37
-rw-r--r--frontend/client/src/autotest/public/TestPlannerClient.html68
44 files changed, 0 insertions, 2282 deletions
diff --git a/frontend/client/TestPlannerClient-shell b/frontend/client/TestPlannerClient-shell
deleted file mode 100755
index f3222d95..00000000
--- a/frontend/client/TestPlannerClient-shell
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-APPDIR=`dirname $0`;
-GWTDIR=`$APPDIR/gwt_dir`;
-java -cp "$APPDIR/src:$APPDIR/bin:$GWTDIR/gwt-user.jar:$GWTDIR/gwt-dev-linux.jar:$GWTDIR/gwt-incubator.jar" com.google.gwt.dev.HostedMode -ea -startupUrl http://localhost:8000/afe/server/autotest.TestPlannerClient/TestPlannerClient.html "$@" autotest.TestPlannerClient
diff --git a/frontend/client/TestPlannerClient.launch b/frontend/client/TestPlannerClient.launch
deleted file mode 100644
index 344ca964..00000000
--- a/frontend/client/TestPlannerClient.launch
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.jdt.launching.localJavaApplication">
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
-<listEntry value="/AfeClient"/>
-</listAttribute>
-<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
-<listEntry value="4"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.debug.core.appendEnvironmentVariables" value="true"/>
-<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry containerPath=&quot;org.eclipse.jdt.launching.JRE_CONTAINER&quot; javaProject=&quot;AfeClient&quot; path=&quot;1&quot; type=&quot;4&quot;/&gt;&#13;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry internalArchive=&quot;/AfeClient/src&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry id=&quot;org.eclipse.jdt.launching.classpathentry.defaultClasspath&quot;&gt;&#13;&#10;&lt;memento project=&quot;AfeClient&quot;/&gt;&#13;&#10;&lt;/runtimeClasspathEntry&gt;&#13;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry externalArchive=&quot;/usr/local/lib/gwt/gwt-dev.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
-<listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#13;&#10;&lt;runtimeClasspathEntry externalArchive=&quot;/usr/local/lib/gwt/gwt-incubator.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;&#13;&#10;"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.jdt.launching.DEFAULT_CLASSPATH" value="false"/>
-<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="com.google.gwt.dev.DevMode"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-startupUrl http://localhost:8000/afe/server/autotest.TestPlannerClient/TestPlannerClient.html autotest.TestPlannerClient"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="AfeClient"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx256M -ea"/>
-</launchConfiguration>
diff --git a/frontend/client/src/autotest/TestPlannerClient.gwt.xml b/frontend/client/src/autotest/TestPlannerClient.gwt.xml
deleted file mode 100644
index f726a8b4..00000000
--- a/frontend/client/src/autotest/TestPlannerClient.gwt.xml
+++ /dev/null
@@ -1,19 +0,0 @@
-<module>
- <inherits name='com.google.gwt.user.User'/>
- <inherits name='com.google.gwt.json.JSON'/>
- <inherits name='com.google.gwt.http.HTTP'/>
-
- <inherits name='com.google.gwt.gen2.Gen2'/>
- <inherits name="com.google.gwt.resources.Resources" />
-
- <source path="planner"/>
- <source path="common"/>
- <entry-point class='autotest.planner.TestPlannerClient'/>
-
- <stylesheet src='common.css'/>
- <stylesheet src='standard.css'/>
- <stylesheet src='scrolltable.css'/>
- <stylesheet src='afeclient.css'/>
- <stylesheet src='tkoclient.css'/>
- <stylesheet src='testplannerclient.css'/>
-</module>
diff --git a/frontend/client/src/autotest/common/JsonRpcProxy.java b/frontend/client/src/autotest/common/JsonRpcProxy.java
index 4d16b7cd..a148adf3 100644
--- a/frontend/client/src/autotest/common/JsonRpcProxy.java
+++ b/frontend/client/src/autotest/common/JsonRpcProxy.java
@@ -16,7 +16,6 @@ import java.util.Set;
public abstract class JsonRpcProxy {
public static final String AFE_BASE_URL = "/afe/server/";
public static final String TKO_BASE_URL = "/new_tko/server/";
- public static final String PLANNER_BASE_URL = "/planner/server/";
private static final String RPC_URL_SUFFIX = "rpc/";
private static final String JSON_RPC_URL_SUFFIX = "jsonp_rpc/";
diff --git a/frontend/client/src/autotest/planner/AutoprocessedTab.java b/frontend/client/src/autotest/planner/AutoprocessedTab.java
deleted file mode 100644
index 76d2a517..00000000
--- a/frontend/client/src/autotest/planner/AutoprocessedTab.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package autotest.planner;
-
-
-public class AutoprocessedTab {
-
- public static interface Display {
- // Not yet implemented
- }
-
-
- @SuppressWarnings("unused")
- private Display display;
-
- public void bindDisplay(Display display) {
- this.display = display;
- }
-
-}
diff --git a/frontend/client/src/autotest/planner/AutoprocessedTabDisplay.java b/frontend/client/src/autotest/planner/AutoprocessedTabDisplay.java
deleted file mode 100644
index f3c61d94..00000000
--- a/frontend/client/src/autotest/planner/AutoprocessedTabDisplay.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package autotest.planner;
-
-import autotest.common.ui.TabView;
-
-
-public class AutoprocessedTabDisplay extends TabView implements AutoprocessedTab.Display {
-
- @Override
- public String getElementId() {
- return "autoprocessed";
- }
-
-}
diff --git a/frontend/client/src/autotest/planner/HistoryTab.java b/frontend/client/src/autotest/planner/HistoryTab.java
deleted file mode 100644
index a476359c..00000000
--- a/frontend/client/src/autotest/planner/HistoryTab.java
+++ /dev/null
@@ -1,18 +0,0 @@
-package autotest.planner;
-
-
-public class HistoryTab {
-
- public static interface Display {
- // Not yet implemented
- }
-
-
- @SuppressWarnings("unused")
- private Display display;
-
- public void bindDisplay(Display display) {
- this.display = display;
- }
-
-}
diff --git a/frontend/client/src/autotest/planner/HistoryTabDisplay.java b/frontend/client/src/autotest/planner/HistoryTabDisplay.java
deleted file mode 100644
index 588804df..00000000
--- a/frontend/client/src/autotest/planner/HistoryTabDisplay.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package autotest.planner;
-
-import autotest.common.ui.TabView;
-
-
-public class HistoryTabDisplay extends TabView implements HistoryTab.Display {
-
- @Override
- public String getElementId() {
- return "history";
- }
-
-}
diff --git a/frontend/client/src/autotest/planner/TestPlanSelector.java b/frontend/client/src/autotest/planner/TestPlanSelector.java
deleted file mode 100644
index 0e38c3c6..00000000
--- a/frontend/client/src/autotest/planner/TestPlanSelector.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package autotest.planner;
-
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
-import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.event.dom.client.HasKeyPressHandlers;
-import com.google.gwt.event.dom.client.KeyCodes;
-import com.google.gwt.event.dom.client.KeyPressEvent;
-import com.google.gwt.event.dom.client.KeyPressHandler;
-import com.google.gwt.user.client.ui.HasText;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class TestPlanSelector implements ClickHandler, KeyPressHandler {
-
- public static interface Display {
- public HasText getInputText();
- public HasClickHandlers getShowButton();
- public HasKeyPressHandlers getInputField();
- public void setVisible(boolean visible);
- }
-
- public static interface Listener {
- public void onPlanSelected();
- }
-
-
- private Display display;
- private String selectedPlan;
- private List<Listener> listeners = new ArrayList<Listener>();
-
- public void bindDisplay(Display display) {
- this.display = display;
- display.getShowButton().addClickHandler(this);
- display.getInputField().addKeyPressHandler(this);
- }
-
- public void addListener(Listener listener) {
- listeners.add(listener);
- }
-
- @Override
- public void onClick(ClickEvent event) {
- selectPlan();
- }
-
- @Override
- public void onKeyPress(KeyPressEvent event) {
- if (event.getCharCode() == KeyCodes.KEY_ENTER) {
- selectPlan();
- }
- }
-
- private void selectPlan() {
- selectedPlan = display.getInputText().getText();
- for (Listener listener : listeners) {
- listener.onPlanSelected();
- }
- }
-
- public String getSelectedPlan() {
- return selectedPlan;
- }
-
- public void setVisible(boolean visible) {
- display.setVisible(visible);
- }
-}
diff --git a/frontend/client/src/autotest/planner/TestPlanSelectorDisplay.java b/frontend/client/src/autotest/planner/TestPlanSelectorDisplay.java
deleted file mode 100644
index 3da55277..00000000
--- a/frontend/client/src/autotest/planner/TestPlanSelectorDisplay.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package autotest.planner;
-
-import autotest.common.Utils;
-
-import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.event.dom.client.HasKeyPressHandlers;
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.HTMLPanel;
-import com.google.gwt.user.client.ui.HasText;
-import com.google.gwt.user.client.ui.TextBox;
-
-public class TestPlanSelectorDisplay extends Composite implements TestPlanSelector.Display {
-
- private TextBox inputField;
- private Button show;
-
- public void initialize() {
- HTMLPanel panel = Utils.divToPanel("test_plan_selector");
-
- inputField = new TextBox();
- panel.add(inputField, "test_plan_selector_input");
-
- show = new Button("show");
- panel.add(show, "test_plan_selector_button");
-
- initWidget(panel);
- }
-
- public HasText getInputText() {
- return inputField;
- }
-
- public HasKeyPressHandlers getInputField() {
- return inputField;
- }
-
- public HasClickHandlers getShowButton() {
- return show;
- }
-}
diff --git a/frontend/client/src/autotest/planner/TestPlannerClient.java b/frontend/client/src/autotest/planner/TestPlannerClient.java
deleted file mode 100644
index 46e2949f..00000000
--- a/frontend/client/src/autotest/planner/TestPlannerClient.java
+++ /dev/null
@@ -1,71 +0,0 @@
-package autotest.planner;
-
-import autotest.common.CustomHistory;
-import autotest.common.JsonRpcProxy;
-import autotest.common.SiteCommonClassFactory;
-import autotest.common.StaticDataRepository;
-import autotest.common.ui.CustomTabPanel;
-import autotest.common.ui.NotifyManager;
-import autotest.planner.machine.MachineViewTab;
-import autotest.planner.overview.OverviewTab;
-import autotest.planner.test.TestViewTab;
-import autotest.planner.triage.TriageViewTab;
-
-import com.google.gwt.core.client.EntryPoint;
-import com.google.gwt.user.client.ui.RootPanel;
-
-public class TestPlannerClient implements EntryPoint {
-
- private TestPlanSelector planSelector = new TestPlanSelector();
- private TestPlanSelectorDisplay planSelectorView = new TestPlanSelectorDisplay();
-
- private OverviewTab overviewTab = new OverviewTab(planSelector);
- private MachineViewTab machineViewTab = new MachineViewTab(planSelector);
- private TestViewTab testViewTab = new TestViewTab(planSelector);
- private TriageViewTab triageViewTab = new TriageViewTab(planSelector);
-
- private AutoprocessedTab autoprocessedTab = new AutoprocessedTab();
- private AutoprocessedTabDisplay autoprocessedTabDisplay = new AutoprocessedTabDisplay();
-
- private HistoryTab historyTab = new HistoryTab();
- private HistoryTabDisplay historyTabDisplay = new HistoryTabDisplay();
-
- private CustomTabPanel mainTabPanel = new CustomTabPanel();
-
- public void onModuleLoad() {
- JsonRpcProxy.setDefaultBaseUrl(JsonRpcProxy.PLANNER_BASE_URL);
-
- NotifyManager.getInstance().initialize();
-
- StaticDataRepository.getRepository().refresh(
- new StaticDataRepository.FinishedCallback() {
- public void onFinished() {
- finishLoading();
- }
- });
- }
-
- private void finishLoading() {
- SiteCommonClassFactory.globalInitialize();
-
- autoprocessedTab.bindDisplay(autoprocessedTabDisplay);
- historyTab.bindDisplay(historyTabDisplay);
-
- planSelectorView.initialize();
- planSelector.bindDisplay(planSelectorView);
- mainTabPanel.getCommonAreaPanel().add(planSelectorView);
-
- mainTabPanel.addTabView(overviewTab);
- mainTabPanel.addTabView(machineViewTab);
- mainTabPanel.addTabView(testViewTab);
- mainTabPanel.addTabView(triageViewTab);
- mainTabPanel.addTabView(autoprocessedTabDisplay);
- mainTabPanel.addTabView(historyTabDisplay);
-
- final RootPanel tabsRoot = RootPanel.get("tabs");
- tabsRoot.add(mainTabPanel);
- CustomHistory.processInitialToken();
- mainTabPanel.initialize();
- tabsRoot.removeStyleName("hidden");
- }
-}
diff --git a/frontend/client/src/autotest/planner/TestPlannerDisplay.java b/frontend/client/src/autotest/planner/TestPlannerDisplay.java
deleted file mode 100644
index 2e452397..00000000
--- a/frontend/client/src/autotest/planner/TestPlannerDisplay.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package autotest.planner;
-
-import com.google.gwt.user.client.ui.HTMLPanel;
-
-public interface TestPlannerDisplay {
- public void initialize(HTMLPanel htmlPanel);
-}
diff --git a/frontend/client/src/autotest/planner/TestPlannerPresenter.java b/frontend/client/src/autotest/planner/TestPlannerPresenter.java
deleted file mode 100644
index 5ce7ddf1..00000000
--- a/frontend/client/src/autotest/planner/TestPlannerPresenter.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package autotest.planner;
-
-import autotest.common.ui.HasTabVisible;
-
-public abstract class TestPlannerPresenter implements TestPlanSelector.Listener {
- private TestPlanSelector selector;
- private HasTabVisible tab;
-
- public void initialize(TestPlanSelector selector, HasTabVisible tab) {
- this.selector = selector;
- this.tab = tab;
- selector.addListener(this);
- }
-
- public void refresh() {
- String planId = selector.getSelectedPlan();
- if (planId == null) {
- return;
- }
-
- refresh(planId);
- }
-
- @Override
- public void onPlanSelected() {
- if (tab.isTabVisible()) {
- refresh();
- }
- }
-
- public abstract void refresh(String planId);
-}
diff --git a/frontend/client/src/autotest/planner/TestPlannerTab.java b/frontend/client/src/autotest/planner/TestPlannerTab.java
deleted file mode 100644
index 0d8b7f8d..00000000
--- a/frontend/client/src/autotest/planner/TestPlannerTab.java
+++ /dev/null
@@ -1,42 +0,0 @@
-package autotest.planner;
-
-import autotest.common.ui.TabView;
-
-import com.google.gwt.user.client.ui.HTMLPanel;
-
-public abstract class TestPlannerTab extends TabView {
-
- private TestPlanSelector selector;
-
- public TestPlannerTab(TestPlanSelector selector) {
- this.selector = selector;
- }
-
- @Override
- public void initialize() {
- super.initialize();
- getPresenter().initialize(selector, this);
- getDisplay().initialize((HTMLPanel) getWidget());
- bindDisplay();
- }
-
- @Override
- public void refresh() {
- super.refresh();
- getPresenter().refresh();
- }
-
- @Override
- public void display() {
- super.display();
- setSelectorVisible(true);
- }
-
- protected final void setSelectorVisible(boolean visible) {
- selector.setVisible(visible);
- }
-
- protected abstract TestPlannerPresenter getPresenter();
- protected abstract TestPlannerDisplay getDisplay();
- protected abstract void bindDisplay();
-}
diff --git a/frontend/client/src/autotest/planner/TestPlannerTableDisplay.java b/frontend/client/src/autotest/planner/TestPlannerTableDisplay.java
deleted file mode 100644
index 4c7070c1..00000000
--- a/frontend/client/src/autotest/planner/TestPlannerTableDisplay.java
+++ /dev/null
@@ -1,27 +0,0 @@
-package autotest.planner;
-
-import autotest.common.AbstractStatusSummary;
-
-import java.util.Collection;
-
-public interface TestPlannerTableDisplay {
-
- public static class RowDisplay {
- String content;
- String cssClass = AbstractStatusSummary.BLANK_COLOR;
-
- public RowDisplay(String content) {
- this.content = content;
- }
-
- public RowDisplay(String content, String cssClass) {
- this.content = content;
- this.cssClass = cssClass;
- }
- }
-
- public void addRow(Collection<RowDisplay> rowData);
- public void finalRender();
- public void clearData();
- public void setHeaders(Collection<String> headers);
-}
diff --git a/frontend/client/src/autotest/planner/TestPlannerTableImpl.java b/frontend/client/src/autotest/planner/TestPlannerTableImpl.java
deleted file mode 100644
index 7e6e9091..00000000
--- a/frontend/client/src/autotest/planner/TestPlannerTableImpl.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package autotest.planner;
-
-import autotest.common.Utils;
-
-import com.google.gwt.event.logical.shared.ResizeEvent;
-import com.google.gwt.event.logical.shared.ResizeHandler;
-import com.google.gwt.gen2.table.client.FixedWidthFlexTable;
-import com.google.gwt.gen2.table.client.FixedWidthGrid;
-import com.google.gwt.gen2.table.client.ScrollTable;
-import com.google.gwt.gen2.table.client.AbstractScrollTable.ResizePolicy;
-import com.google.gwt.gen2.table.client.AbstractScrollTable.ScrollPolicy;
-import com.google.gwt.gen2.table.client.AbstractScrollTable.SortPolicy;
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.ui.Composite;
-
-import java.util.Collection;
-
-public class TestPlannerTableImpl extends Composite
- implements TestPlannerTableDisplay, ResizeHandler {
-
- private FixedWidthFlexTable headerTable = new FixedWidthFlexTable();
- private FixedWidthGrid dataTable = new FixedWidthGrid();
- private ScrollTable scrollTable = new ScrollTable(dataTable, headerTable);
-
- public TestPlannerTableImpl() {
- scrollTable.setSortPolicy(SortPolicy.DISABLED);
- scrollTable.setResizePolicy(ResizePolicy.UNCONSTRAINED);
- scrollTable.setScrollPolicy(ScrollPolicy.BOTH);
- dataTable.setSelectionEnabled(false);
-
- scrollTable.setSize("100%", TestPlannerUtils.getHeightParam(Window.getClientHeight()));
- scrollTable.setVisible(false);
-
- initWidget(scrollTable);
- }
-
- public void addRow(Collection<RowDisplay> rowData) {
- assert rowData.size() == dataTable.getColumnCount();
-
- int row = dataTable.insertRow(dataTable.getRowCount());
-
- int column = 0;
- for (RowDisplay data : rowData) {
- String content = Utils.escape(data.content);
- content = content.replaceAll("\n", "<br />");
-
- dataTable.setHTML(row, column, content);
- dataTable.getCellFormatter().addStyleName(row, column++, data.cssClass);
- }
- }
-
- public void finalRender() {
- TestPlannerUtils.resizeScrollTable(scrollTable);
- }
-
- public void clearData() {
- scrollTable.setVisible(false);
- headerTable.clear();
- dataTable.clear();
- }
-
- public void setHeaders(Collection<String> headers) {
- int column = 0;
- for (String header : headers) {
- headerTable.setText(0, column, header);
- scrollTable.setHeaderColumnTruncatable(column++, false);
- }
-
- dataTable.resize(0, headers.size());
-
- scrollTable.setVisible(true);
- }
-
- @Override
- public void onResize(ResizeEvent event) {
- scrollTable.setHeight(TestPlannerUtils.getHeightParam(event.getHeight()));
- }
-}
diff --git a/frontend/client/src/autotest/planner/TestPlannerUtils.java b/frontend/client/src/autotest/planner/TestPlannerUtils.java
deleted file mode 100644
index 6c9b6d14..00000000
--- a/frontend/client/src/autotest/planner/TestPlannerUtils.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package autotest.planner;
-
-import com.google.gwt.gen2.table.client.FixedWidthFlexTable;
-import com.google.gwt.gen2.table.client.FixedWidthGrid;
-import com.google.gwt.gen2.table.client.ScrollTable;
-
-public class TestPlannerUtils {
-
- private static final int HEIGHT_FUDGE = 300;
-
- public static String getHeightParam(int windowHeight) {
- return (windowHeight - HEIGHT_FUDGE) + "px";
- }
-
- public static void resizeScrollTable(ScrollTable scrollTable) {
- resizeScrollTable(scrollTable, false);
- }
-
- public static void resizeScrollTable(ScrollTable scrollTable, boolean hasSelectAllHeader) {
- FixedWidthGrid dataTable = scrollTable.getDataTable();
- FixedWidthFlexTable header = scrollTable.getHeaderTable();
-
- for (int column = 0; column < dataTable.getColumnCount(); column++) {
- int headerColumn = column;
- if (hasSelectAllHeader) {
- headerColumn++;
- }
-
- int width = Math.max(
- dataTable.getIdealColumnWidth(column),
- header.getIdealColumnWidth(headerColumn));
-
- header.setColumnWidth(headerColumn, width);
- dataTable.setColumnWidth(column, width);
- }
- }
-}
diff --git a/frontend/client/src/autotest/planner/TestViewTab.java b/frontend/client/src/autotest/planner/TestViewTab.java
deleted file mode 100644
index e69de29b..00000000
--- a/frontend/client/src/autotest/planner/TestViewTab.java
+++ /dev/null
diff --git a/frontend/client/src/autotest/planner/TestViewTabDisplay.java b/frontend/client/src/autotest/planner/TestViewTabDisplay.java
deleted file mode 100644
index e69de29b..00000000
--- a/frontend/client/src/autotest/planner/TestViewTabDisplay.java
+++ /dev/null
diff --git a/frontend/client/src/autotest/planner/machine/MachineViewDisplay.java b/frontend/client/src/autotest/planner/machine/MachineViewDisplay.java
deleted file mode 100644
index 7d6eb0d0..00000000
--- a/frontend/client/src/autotest/planner/machine/MachineViewDisplay.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package autotest.planner.machine;
-
-import autotest.common.ui.NotifyManager;
-import autotest.planner.TestPlannerDisplay;
-import autotest.planner.TestPlannerTableDisplay;
-import autotest.planner.TestPlannerTableImpl;
-
-import com.google.gwt.user.client.ui.HTMLPanel;
-import com.google.gwt.user.client.ui.Panel;
-import com.google.gwt.user.client.ui.SimplePanel;
-
-
-public class MachineViewDisplay implements TestPlannerDisplay, MachineViewPresenter.Display {
-
- private Panel container = new SimplePanel();
-
- @Override
- public void initialize(HTMLPanel htmlPanel) {
- htmlPanel.add(container, "machine_view_main");
- }
-
- @Override
- public void clearAllData() {
- container.clear();
- }
-
- @Override
- public void setLoading(boolean loading) {
- NotifyManager.getInstance().setLoading(loading);
- container.setVisible(!loading);
- }
-
- @Override
- public TestPlannerTableDisplay generateMachineViewTableDisplay() {
- TestPlannerTableImpl display = new TestPlannerTableImpl();
- container.add(display);
- return display;
- }
-}
diff --git a/frontend/client/src/autotest/planner/machine/MachineViewPresenter.java b/frontend/client/src/autotest/planner/machine/MachineViewPresenter.java
deleted file mode 100644
index fb76f749..00000000
--- a/frontend/client/src/autotest/planner/machine/MachineViewPresenter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package autotest.planner.machine;
-
-import autotest.common.JsonRpcCallback;
-import autotest.common.JsonRpcProxy;
-import autotest.planner.TestPlannerPresenter;
-import autotest.planner.TestPlannerTableDisplay;
-
-import com.google.gwt.json.client.JSONObject;
-import com.google.gwt.json.client.JSONString;
-import com.google.gwt.json.client.JSONValue;
-
-
-public class MachineViewPresenter extends TestPlannerPresenter {
-
- public static interface Display {
- public void setLoading(boolean loading);
- public void clearAllData();
- public TestPlannerTableDisplay generateMachineViewTableDisplay();
- }
-
- private Display display;
-
- public void bindDisplay(Display display) {
- this.display = display;
- }
-
- @Override
- public void refresh(String planId) {
- display.setLoading(true);
-
- JSONObject params = new JSONObject();
- params.put("plan_id", new JSONString(planId));
-
- JsonRpcProxy.getProxy().rpcCall("get_machine_view_data", params, new JsonRpcCallback() {
- @Override
- public void onSuccess(JSONValue result) {
- display.clearAllData();
- display.setLoading(false);
-
- MachineViewTable table = new MachineViewTable();
- table.bindDisplay(display.generateMachineViewTableDisplay());
- table.setData(result.isArray());
- }
-
- @Override
- public void onError(JSONObject errorObject) {
- super.onError(errorObject);
- display.setLoading(false);
- }
- });
- }
-}
diff --git a/frontend/client/src/autotest/planner/machine/MachineViewTab.java b/frontend/client/src/autotest/planner/machine/MachineViewTab.java
deleted file mode 100644
index 0f4dad77..00000000
--- a/frontend/client/src/autotest/planner/machine/MachineViewTab.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package autotest.planner.machine;
-
-import autotest.planner.TestPlanSelector;
-import autotest.planner.TestPlannerDisplay;
-import autotest.planner.TestPlannerPresenter;
-import autotest.planner.TestPlannerTab;
-
-
-public class MachineViewTab extends TestPlannerTab {
-
- private MachineViewPresenter presenter = new MachineViewPresenter();
- private MachineViewDisplay display = new MachineViewDisplay();
-
- public MachineViewTab(TestPlanSelector selector) {
- super(selector);
- }
-
- @Override
- public String getElementId() {
- return "machine_view";
- }
-
- @Override
- protected TestPlannerDisplay getDisplay() {
- return display;
- }
-
- @Override
- protected TestPlannerPresenter getPresenter() {
- return presenter;
- }
-
- @Override
- protected void bindDisplay() {
- presenter.bindDisplay(display);
- }
-}
diff --git a/frontend/client/src/autotest/planner/machine/MachineViewTable.java b/frontend/client/src/autotest/planner/machine/MachineViewTable.java
deleted file mode 100644
index 3cc44408..00000000
--- a/frontend/client/src/autotest/planner/machine/MachineViewTable.java
+++ /dev/null
@@ -1,109 +0,0 @@
-package autotest.planner.machine;
-
-import autotest.common.Utils;
-import autotest.planner.TestPlannerTableDisplay;
-import autotest.planner.TestPlannerTableDisplay.RowDisplay;
-
-import com.google.gwt.json.client.JSONArray;
-import com.google.gwt.json.client.JSONObject;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
-public class MachineViewTable {
-
- public static class Row {
- String machine;
- String status;
- Map<String, StatusSummary> statusSummaries;
- List<String> bugIds;
-
- private Row(String machine, String status,
- Map<String, StatusSummary> statusSummaries, List<String> bugIds) {
- this.machine = machine;
- this.status = status;
- this.statusSummaries = statusSummaries;
- this.bugIds = bugIds;
- }
-
- public static Row fromJsonObject(JSONObject rowObject) {
- Map<String, StatusSummary> statusSummaries = new HashMap<String, StatusSummary>();
-
- JSONArray testsRun = rowObject.get("tests_run").isArray();
- for (int i = 0; i < testsRun.size(); i++) {
- JSONObject test = testsRun.get(i).isObject();
- String testName = Utils.jsonToString(test.get("test_name"));
-
- StatusSummary statusSummary = statusSummaries.get(testName);
- if (statusSummary == null) {
- statusSummary = new StatusSummary();
- statusSummaries.put(testName, statusSummary);
- }
-
- statusSummary.addStatus(Utils.jsonToString(test.get("status")));
- }
-
- return new Row(Utils.jsonToString(rowObject.get("machine")),
- Utils.jsonToString(rowObject.get("status")),
- statusSummaries,
- Arrays.asList(Utils.JSONtoStrings(rowObject.get("bug_ids").isArray())));
- }
- }
-
- private TestPlannerTableDisplay display;
- private List<Row> rows = new ArrayList<Row>();
-
- public void bindDisplay(TestPlannerTableDisplay display) {
- this.display = display;
- }
-
- public void setData(JSONArray data) {
- for (int i = 0; i < data.size(); i++) {
- rows.add(Row.fromJsonObject(data.get(i).isObject()));
- }
-
- display.clearData();
- displayData();
- }
-
- private void displayData() {
- Set<String> allTestNames = new TreeSet<String>();
- for (Row row : rows) {
- allTestNames.addAll(row.statusSummaries.keySet());
- }
-
- List<String> headers = new ArrayList<String>();
- headers.add("Machine");
- headers.add("Status");
- headers.addAll(allTestNames);
- headers.add("Bugs Filed");
- display.setHeaders(headers);
-
- for (Row row : rows) {
- List<RowDisplay> rowData = new ArrayList<RowDisplay>();
- rowData.add(new RowDisplay(row.machine));
- rowData.add(new RowDisplay(row.status));
-
- for (String testName : allTestNames) {
- StatusSummary statusSummary = row.statusSummaries.get(testName);
- if (statusSummary != null) {
- rowData.add(new RowDisplay(
- statusSummary.formatStatusCounts(), statusSummary.getCssClass()));
- } else {
- rowData.add(new RowDisplay(""));
- }
- }
-
- rowData.add(new RowDisplay(String.valueOf(row.bugIds.size())));
-
- display.addRow(rowData);
- }
-
- display.finalRender();
- }
-}
diff --git a/frontend/client/src/autotest/planner/machine/MachineViewTableDisplay.java b/frontend/client/src/autotest/planner/machine/MachineViewTableDisplay.java
deleted file mode 100644
index e69de29b..00000000
--- a/frontend/client/src/autotest/planner/machine/MachineViewTableDisplay.java
+++ /dev/null
diff --git a/frontend/client/src/autotest/planner/machine/StatusSummary.java b/frontend/client/src/autotest/planner/machine/StatusSummary.java
deleted file mode 100644
index 59d45baf..00000000
--- a/frontend/client/src/autotest/planner/machine/StatusSummary.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package autotest.planner.machine;
-
-import autotest.common.AbstractStatusSummary;
-
-class StatusSummary extends AbstractStatusSummary {
- static final String GOOD_STATUS = "GOOD";
- static final String RUNNING_STATUS = "RUNNING";
-
- private int complete;
- private int incomplete;
- private int passed;
-
- void addStatus(String status) {
- if (status.equals(GOOD_STATUS)) {
- complete++;
- passed++;
- } else if (status.equals(RUNNING_STATUS)) {
- incomplete++;
- } else {
- complete++;
- }
- }
-
- @Override
- protected int getComplete() {
- return complete;
- }
- @Override
- protected int getIncomplete() {
- return incomplete;
- }
- @Override
- protected int getPassed() {
- return passed;
- }
-}
diff --git a/frontend/client/src/autotest/planner/overview/OverviewTab.java b/frontend/client/src/autotest/planner/overview/OverviewTab.java
deleted file mode 100644
index 7a4f5f68..00000000
--- a/frontend/client/src/autotest/planner/overview/OverviewTab.java
+++ /dev/null
@@ -1,41 +0,0 @@
-package autotest.planner.overview;
-
-import autotest.planner.TestPlanSelector;
-import autotest.planner.TestPlannerDisplay;
-import autotest.planner.TestPlannerPresenter;
-import autotest.planner.TestPlannerTab;
-
-public class OverviewTab extends TestPlannerTab {
- private OverviewTabPresenter presenter = new OverviewTabPresenter();
- private OverviewTabDisplay display = new OverviewTabDisplay();
-
- public OverviewTab(TestPlanSelector selector) {
- super(selector);
- }
-
- @Override
- public String getElementId() {
- return "overview";
- }
-
- @Override
- protected TestPlannerDisplay getDisplay() {
- return display;
- }
-
- @Override
- protected TestPlannerPresenter getPresenter() {
- return presenter;
- }
-
- @Override
- protected void bindDisplay() {
- presenter.bindDisplay(display);
- }
-
- @Override
- public void display() {
- super.display();
- setSelectorVisible(false);
- }
-}
diff --git a/frontend/client/src/autotest/planner/overview/OverviewTabDisplay.java b/frontend/client/src/autotest/planner/overview/OverviewTabDisplay.java
deleted file mode 100644
index 1b09fc5e..00000000
--- a/frontend/client/src/autotest/planner/overview/OverviewTabDisplay.java
+++ /dev/null
@@ -1,64 +0,0 @@
-package autotest.planner.overview;
-
-import autotest.common.ui.NotifyManager;
-import autotest.planner.TestPlannerDisplay;
-
-import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.event.dom.client.HasKeyPressHandlers;
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.HTMLPanel;
-import com.google.gwt.user.client.ui.HasText;
-import com.google.gwt.user.client.ui.HasVerticalAlignment;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Label;
-import com.google.gwt.user.client.ui.Panel;
-import com.google.gwt.user.client.ui.SimplePanel;
-import com.google.gwt.user.client.ui.TextBox;
-
-public class OverviewTabDisplay implements TestPlannerDisplay, OverviewTabPresenter.Display {
- Label addPlanLabel = new Label("Add test plan:");
- TextBox addPlanField = new TextBox();
- Button addPlanButton = new Button("add");
- Panel overviewTablePanel = new SimplePanel();
-
- @Override
- public void initialize(HTMLPanel htmlPanel) {
- HorizontalPanel addPlanContainer = new HorizontalPanel();
- addPlanContainer.setVerticalAlignment(HasVerticalAlignment.ALIGN_MIDDLE);
- addPlanContainer.setSpacing(2);
- addPlanContainer.add(addPlanLabel);
- addPlanContainer.add(addPlanField);
- addPlanContainer.add(addPlanButton);
-
- htmlPanel.add(addPlanContainer, "overview_add_plan");
- htmlPanel.add(overviewTablePanel, "overview_table");
- }
-
- @Override
- public HasClickHandlers getAddPlanButton() {
- return addPlanButton;
- }
-
- @Override
- public HasKeyPressHandlers getAddPlanField() {
- return addPlanField;
- }
-
- @Override
- public HasText getAddPlanText() {
- return addPlanField;
- }
-
- @Override
- public OverviewTable.Display generateOverviewTableDisplay() {
- OverviewTableDisplay display = new OverviewTableDisplay();
- overviewTablePanel.clear();
- overviewTablePanel.add(display);
- return display;
- }
-
- @Override
- public void setLoading(boolean loading) {
- NotifyManager.getInstance().setLoading(loading);
- }
-}
diff --git a/frontend/client/src/autotest/planner/overview/OverviewTabPresenter.java b/frontend/client/src/autotest/planner/overview/OverviewTabPresenter.java
deleted file mode 100644
index 214f02d2..00000000
--- a/frontend/client/src/autotest/planner/overview/OverviewTabPresenter.java
+++ /dev/null
@@ -1,119 +0,0 @@
-package autotest.planner.overview;
-
-import autotest.common.JsonRpcCallback;
-import autotest.common.JsonRpcProxy;
-import autotest.common.Utils;
-import autotest.common.ui.HasTabVisible;
-import autotest.planner.TestPlanSelector;
-import autotest.planner.TestPlannerPresenter;
-
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
-import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.event.dom.client.HasKeyPressHandlers;
-import com.google.gwt.event.dom.client.KeyCodes;
-import com.google.gwt.event.dom.client.KeyPressEvent;
-import com.google.gwt.event.dom.client.KeyPressHandler;
-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 com.google.gwt.user.client.ui.HasText;
-
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.Map;
-import java.util.Set;
-
-public class OverviewTabPresenter extends TestPlannerPresenter
- implements ClickHandler, KeyPressHandler {
-
- public static interface Display {
- public HasText getAddPlanText();
- public HasClickHandlers getAddPlanButton();
- public HasKeyPressHandlers getAddPlanField();
- public void setLoading(boolean loading);
- public OverviewTable.Display generateOverviewTableDisplay();
- }
-
- private Display display;
- private Set<String> selectedPlans = new LinkedHashSet<String>();
- private String lastAdded;
-
- public void bindDisplay(Display display) {
- this.display = display;
- display.getAddPlanButton().addClickHandler(this);
- display.getAddPlanField().addKeyPressHandler(this);
- }
-
- @Override
- public void initialize(TestPlanSelector selector_unused, HasTabVisible tab_unused) {}
-
- @Override
- public void refresh(String planId) {
- throw new UnsupportedOperationException("Should never be called");
- }
-
- @Override
- public void refresh() {
- JSONObject params = new JSONObject();
- JSONArray planIds = new JSONArray();
- for (String plan : selectedPlans) {
- planIds.set(planIds.size(), new JSONString(plan));
- }
- params.put("plan_ids", planIds);
-
- display.setLoading(true);
-
- JsonRpcProxy.getProxy().rpcCall("get_overview_data", params, new JsonRpcCallback() {
- @Override
- public void onSuccess(JSONValue result) {
- OverviewTable table = new OverviewTable();
- table.bindDisplay(display.generateOverviewTableDisplay());
- display.setLoading(false);
- table.setData(prepareData(result.isObject()));
- }
-
- @Override
- public void onError(JSONObject errorObject) {
- super.onError(errorObject);
- display.setLoading(false);
- if (Utils.jsonToString(errorObject.get("name")).equals("DoesNotExist")
- && lastAdded != null) {
- selectedPlans.remove(lastAdded);
- lastAdded = null;
- refresh();
- }
- }
- });
- }
-
- @Override
- public void onClick(ClickEvent event) {
- assert event.getSource() == display.getAddPlanButton();
- addSelectedPlan();
- }
-
- @Override
- public void onKeyPress(KeyPressEvent event) {
- assert event.getSource() == display.getAddPlanField();
- if (event.getCharCode() == KeyCodes.KEY_ENTER) {
- addSelectedPlan();
- }
- }
-
- private void addSelectedPlan() {
- String plan = display.getAddPlanText().getText();
- selectedPlans.add(plan);
- lastAdded = plan;
- refresh();
- }
-
- private Map<String, JSONObject> prepareData(JSONObject data) {
- Map<String, JSONObject> preparedData = new LinkedHashMap<String, JSONObject>();
- for (String plan : selectedPlans) {
- preparedData.put(plan, data.get(plan).isObject());
- }
- return preparedData;
- }
-}
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);
- }
- }
-}
diff --git a/frontend/client/src/autotest/planner/overview/OverviewTableDisplay.java b/frontend/client/src/autotest/planner/overview/OverviewTableDisplay.java
deleted file mode 100644
index 35436bf7..00000000
--- a/frontend/client/src/autotest/planner/overview/OverviewTableDisplay.java
+++ /dev/null
@@ -1,74 +0,0 @@
-package autotest.planner.overview;
-
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.FlexTable;
-
-import java.util.List;
-
-public class OverviewTableDisplay extends Composite implements OverviewTable.Display {
-
- private FlexTable table = new FlexTable();
-
- public OverviewTableDisplay() {
- table.setStyleName("overview_table");
-
- table.setText(0, 0, "");
- table.setText(0, 1, "");
-
- table.getRowFormatter().addStyleName(0, "header");
- table.getColumnFormatter().addStyleName(0, "header");
- table.getColumnFormatter().addStyleName(1, "header");
-
- initWidget(table);
-
- setVisible(false);
- }
-
- @Override
- public void addData(String header, List<String> data) {
- assert table.getRowCount() == data.size() + 1;
-
- setVisible(true);
-
- setData(0, header);
- for (int i = 0; i < data.size(); i++) {
- setData(i + 1, data.get(i));
- }
- }
-
- private void setData(int row, String data) {
- int cell = table.getCellCount(row);
- table.setText(row, cell, data);
- if (!table.getCellFormatter().getStyleName(row, cell).equals("header") &&
- row > 0 && row % 2 == 0) {
- table.getCellFormatter().addStyleName(row, cell, "even");
- }
- }
-
- @Override
- public void addHeaderGroup(String group, String[] headers) {
- int row = table.getRowCount();
-
- table.setText(row, 0, group);
- table.getFlexCellFormatter().setRowSpan(row, 0, headers.length);
-
- for (int i = 0; i < headers.length; i++) {
- int cell = 0;
- if (i == 0) {
- cell = 1;
- }
- table.setText(row + i, cell, headers[i]);
- }
- }
-
- @Override
- public void clearAllData() {
- for (int row = 0; row < table.getRowCount(); row++) {
- for (int col = 2; col < table.getCellCount(row); col++) {
- table.removeCell(row, col);
- }
- }
- setVisible(false);
- }
-
-}
diff --git a/frontend/client/src/autotest/planner/resources/PlannerClientBundle.java b/frontend/client/src/autotest/planner/resources/PlannerClientBundle.java
deleted file mode 100644
index 4da59144..00000000
--- a/frontend/client/src/autotest/planner/resources/PlannerClientBundle.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package autotest.planner.resources;
-
-import com.google.gwt.core.client.GWT;
-import com.google.gwt.resources.client.ClientBundle;
-import com.google.gwt.resources.client.ImageResource;
-
-/*
- * Based on sample code at http://code.google.com/webtoolkit/doc/latest/DevGuideClientBundle.html
- */
-public interface PlannerClientBundle extends ClientBundle {
- public static final PlannerClientBundle INSTANCE = GWT.create(PlannerClientBundle.class);
-
- public ImageResource close();
-}
diff --git a/frontend/client/src/autotest/planner/resources/close.png b/frontend/client/src/autotest/planner/resources/close.png
deleted file mode 100644
index eabccb86..00000000
--- a/frontend/client/src/autotest/planner/resources/close.png
+++ /dev/null
Binary files differ
diff --git a/frontend/client/src/autotest/planner/test/TestViewDisplay.java b/frontend/client/src/autotest/planner/test/TestViewDisplay.java
deleted file mode 100644
index 10351b0b..00000000
--- a/frontend/client/src/autotest/planner/test/TestViewDisplay.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package autotest.planner.test;
-
-import autotest.common.ui.NotifyManager;
-import autotest.planner.TestPlannerDisplay;
-import autotest.planner.TestPlannerTableDisplay;
-import autotest.planner.TestPlannerTableImpl;
-
-import com.google.gwt.user.client.ui.HTMLPanel;
-import com.google.gwt.user.client.ui.Panel;
-import com.google.gwt.user.client.ui.SimplePanel;
-
-
-public class TestViewDisplay implements TestPlannerDisplay, TestViewPresenter.Display {
-
- private Panel container = new SimplePanel();
-
- @Override
- public void initialize(HTMLPanel htmlPanel) {
- htmlPanel.add(container, "test_view_table");
- }
-
- @Override
- public void clearAllData() {
- container.clear();
- }
-
- @Override
- public void setLoading(boolean loading) {
- NotifyManager.getInstance().setLoading(loading);
- container.setVisible(!loading);
- }
-
- @Override
- public TestPlannerTableDisplay generateTestViewTableDisplay() {
- TestPlannerTableImpl display = new TestPlannerTableImpl();
- container.add(display);
- return display;
- }
-}
diff --git a/frontend/client/src/autotest/planner/test/TestViewPresenter.java b/frontend/client/src/autotest/planner/test/TestViewPresenter.java
deleted file mode 100644
index d92220d1..00000000
--- a/frontend/client/src/autotest/planner/test/TestViewPresenter.java
+++ /dev/null
@@ -1,52 +0,0 @@
-package autotest.planner.test;
-
-import autotest.common.JsonRpcCallback;
-import autotest.common.JsonRpcProxy;
-import autotest.planner.TestPlannerPresenter;
-import autotest.planner.TestPlannerTableDisplay;
-
-import com.google.gwt.json.client.JSONObject;
-import com.google.gwt.json.client.JSONString;
-import com.google.gwt.json.client.JSONValue;
-
-public class TestViewPresenter extends TestPlannerPresenter {
-
- public static interface Display {
- public void setLoading(boolean loading);
- public void clearAllData();
- public TestPlannerTableDisplay generateTestViewTableDisplay();
- }
-
- private Display display;
-
- public void bindDisplay(Display display) {
- this.display = display;
- }
-
- @Override
- public void refresh(String planId) {
- display.setLoading(true);
-
- JSONObject params = new JSONObject();
- params.put("plan_id", new JSONString(planId));
-
- JsonRpcProxy.getProxy().rpcCall("get_test_view_data", params, new JsonRpcCallback() {
- @Override
- public void onSuccess(JSONValue result) {
- display.clearAllData();
- display.setLoading(false);
-
- TestViewTable table = new TestViewTable();
- table.bindDisplay(display.generateTestViewTableDisplay());
- table.setData(result.isObject());
- }
-
- @Override
- public void onError(JSONObject errorObject) {
- super.onError(errorObject);
- display.setLoading(false);
- }
- });
- }
-
-}
diff --git a/frontend/client/src/autotest/planner/test/TestViewTab.java b/frontend/client/src/autotest/planner/test/TestViewTab.java
deleted file mode 100644
index f35b1ce0..00000000
--- a/frontend/client/src/autotest/planner/test/TestViewTab.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package autotest.planner.test;
-
-import autotest.planner.TestPlanSelector;
-import autotest.planner.TestPlannerDisplay;
-import autotest.planner.TestPlannerPresenter;
-import autotest.planner.TestPlannerTab;
-
-public class TestViewTab extends TestPlannerTab {
-
- private TestViewPresenter presenter = new TestViewPresenter();
- private TestViewDisplay display = new TestViewDisplay();
-
- public TestViewTab(TestPlanSelector selector) {
- super(selector);
- }
-
- @Override
- public String getElementId() {
- return "test_view";
- }
-
- @Override
- protected TestPlannerDisplay getDisplay() {
- return display;
- }
-
- @Override
- protected TestPlannerPresenter getPresenter() {
- return presenter;
- }
-
- @Override
- protected void bindDisplay() {
- presenter.bindDisplay(display);
- }
-
-}
diff --git a/frontend/client/src/autotest/planner/test/TestViewTable.java b/frontend/client/src/autotest/planner/test/TestViewTable.java
deleted file mode 100644
index b047cddb..00000000
--- a/frontend/client/src/autotest/planner/test/TestViewTable.java
+++ /dev/null
@@ -1,132 +0,0 @@
-package autotest.planner.test;
-
-import autotest.common.JSONArrayList;
-import autotest.common.Utils;
-import autotest.planner.TestPlannerTableDisplay;
-import autotest.planner.TestPlannerTableDisplay.RowDisplay;
-
-import com.google.gwt.json.client.JSONObject;
-import com.google.gwt.json.client.JSONString;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-
-public class TestViewTable {
-
- private static final List<String> HEADERS = Arrays.asList(new String[] {
- "Test alias",
- "Machine status",
- "Machines passed (% of finished)",
- "Test statistics",
- "Bugs filed"
- });
-
- private static class Test implements Comparable<Test> {
- String alias;
- int totalMachines;
- Map<String, String> machineStatus;
- int totalRuns;
- int totalPasses;
- List<String> bugs;
-
- private Test(String alias, int totalMachines, Map<String, String> machineStatus,
- int totalRuns, int totalPasses, List<String> bugs) {
- this.alias = alias;
- this.totalMachines = totalMachines;
- this.machineStatus = machineStatus;
- this.totalRuns = totalRuns;
- this.totalPasses = totalPasses;
- this.bugs = bugs;
- }
-
- static Test fromJsonObject(String alias, JSONObject test) {
- List<String> bugs = new ArrayList<String>();
- for (JSONString bug : new JSONArrayList<JSONString>(test.get("bugs").isArray())) {
- bugs.add(Utils.jsonToString(bug));
- }
-
- return new Test(alias,
- (int) test.get("total_machines").isNumber().doubleValue(),
- Utils.jsonObjectToMap(test.get("machine_status").isObject()),
- (int) test.get("total_runs").isNumber().doubleValue(),
- (int) test.get("total_passes").isNumber().doubleValue(),
- bugs);
- }
-
- @Override
- public int compareTo(Test o) {
- return alias.compareTo(o.alias);
- }
-
- @Override
- public boolean equals(Object other) {
- if (!(other instanceof Test)) {
- return false;
- }
-
- return alias.equals(((Test) other).alias);
- }
-
- @Override
- public int hashCode() {
- return alias.hashCode();
- }
- }
-
- private TestPlannerTableDisplay display;
-
- public void bindDisplay(TestPlannerTableDisplay display) {
- this.display = display;
- }
-
- public void setData(JSONObject data) {
- Set<Test> tests = new TreeSet<Test>();
- for (String alias : data.keySet()) {
- tests.add(Test.fromJsonObject(alias, data.get(alias).isObject()));
- }
-
- display.clearData();
- display.setHeaders(HEADERS);
-
- for (Test test : tests) {
- int running = 0;
- int finished = 0;
- int pass = 0;
- for (String status : test.machineStatus.values()) {
- if (status.equals("Running")) {
- running++;
- } else if (status.equals("Pass")) {
- finished++;
- pass++;
- } else if (status.equals("Fail")) {
- finished++;
- }
- }
-
- List<RowDisplay> row = new ArrayList<RowDisplay>();
- row.add(new RowDisplay(test.alias));
-
- String runningStr = "Running: " + Utils.numberAndPercentage(running, test.totalMachines);
- String finishedStr =
- "Finished: " + Utils.numberAndPercentage(finished, test.totalMachines);
- row.add(new RowDisplay(runningStr + "\n" + finishedStr));
-
- row.add(new RowDisplay(Utils.numberAndPercentage(pass, finished)));
-
- String runsStr = "Runs: " + test.totalRuns;
- String passesStr =
- "Passes: " + Utils.numberAndPercentage(test.totalPasses, test.totalRuns);
- row.add(new RowDisplay(runsStr + "\n" + passesStr));
-
- row.add(new RowDisplay(String.valueOf(test.bugs.size())));
-
- display.addRow(row);
- }
-
- display.finalRender();
- }
-}
diff --git a/frontend/client/src/autotest/planner/triage/FailureTable.java b/frontend/client/src/autotest/planner/triage/FailureTable.java
deleted file mode 100644
index f3417f95..00000000
--- a/frontend/client/src/autotest/planner/triage/FailureTable.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package autotest.planner.triage;
-
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
-import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.json.client.JSONObject;
-import com.google.gwt.user.client.ui.HasValue;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Set;
-
-class FailureTable implements ClickHandler {
-
- public static final String[] COLUMN_NAMES = {"Machine", "Test", "Reason"};
-
- public static interface Display {
- public void addRow(String[] cells, boolean isNew);
- public void finalRender();
- public void setAllRowsSelected(boolean selected);
- public HasClickHandlers getSelectAllControl();
- public HasValue<Boolean> getSelectAllValue();
- public Set<Integer> getSelectedFailures();
- }
-
- private static class Failure {
- int id;
- String machine;
- boolean blocked;
- String testName;
- String reason;
- boolean seen;
-
- private Failure(int id, String machine, boolean blocked,
- String testName, String reason, boolean seen) {
- this.id = id;
- this.machine = machine;
- this.blocked = blocked;
- this.testName = testName;
- this.reason = reason;
- this.seen = seen;
- }
-
- public static Failure fromJsonObject(JSONObject failureObj) {
- return new Failure(
- (int) failureObj.get("id").isNumber().doubleValue(),
- failureObj.get("machine").isString().stringValue(),
- failureObj.get("blocked").isBoolean().booleanValue(),
- failureObj.get("test_name").isString().stringValue(),
- failureObj.get("reason").isString().stringValue(),
- failureObj.get("seen").isBoolean().booleanValue());
- }
- }
-
- private Display display;
- private List<Integer> failureIds = new ArrayList<Integer>();
-
- public void bindDisplay(Display display) {
- this.display = display;
- display.getSelectAllControl().addClickHandler(this);
- }
-
- public void addFailure(JSONObject failureObj) {
- Failure failure = Failure.fromJsonObject(failureObj);
-
- String machineDisplay = failure.machine;
- if (failure.blocked) {
- machineDisplay += " (blocked)";
- }
-
- display.addRow(
- new String[] {machineDisplay, failure.testName, failure.reason}, !failure.seen);
- failureIds.add(failure.id);
- }
-
- public void finishedAdding() {
- display.finalRender();
- }
-
- @Override
- public void onClick(ClickEvent event) {
- assert event.getSource() == display.getSelectAllControl();
- display.setAllRowsSelected(display.getSelectAllValue().getValue());
- }
-
- public List<Integer> getSelectedFailureIds() {
- List<Integer> selected = new ArrayList<Integer>();
- for (int i : display.getSelectedFailures()) {
- selected.add(failureIds.get(i));
- }
- return selected;
- }
-}
diff --git a/frontend/client/src/autotest/planner/triage/FailureTableDisplay.java b/frontend/client/src/autotest/planner/triage/FailureTableDisplay.java
deleted file mode 100644
index 843b0569..00000000
--- a/frontend/client/src/autotest/planner/triage/FailureTableDisplay.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package autotest.planner.triage;
-
-import autotest.planner.TestPlannerUtils;
-
-import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.gen2.table.client.FixedWidthFlexTable;
-import com.google.gwt.gen2.table.client.FixedWidthGrid;
-import com.google.gwt.gen2.table.client.ScrollTable;
-import com.google.gwt.gen2.table.client.AbstractScrollTable.ResizePolicy;
-import com.google.gwt.gen2.table.client.AbstractScrollTable.ScrollPolicy;
-import com.google.gwt.gen2.table.client.AbstractScrollTable.SortPolicy;
-import com.google.gwt.gen2.table.client.SelectionGrid.SelectionPolicy;
-import com.google.gwt.gen2.table.override.client.FlexTable.FlexCellFormatter;
-import com.google.gwt.user.client.ui.CheckBox;
-import com.google.gwt.user.client.ui.Composite;
-import com.google.gwt.user.client.ui.HasValue;
-
-import java.util.Set;
-
-
-public class FailureTableDisplay extends Composite implements FailureTable.Display {
-
- private FixedWidthFlexTable header = new FixedWidthFlexTable();
- private FixedWidthGrid dataTable;
- private ScrollTable scrollTable;
- private CheckBox selectAll = new CheckBox();
-
- private String group;
-
- public FailureTableDisplay(String group, String[] columnNames) {
- this.group = group;
-
-
- dataTable = new FixedWidthGrid(0, columnNames.length);
- dataTable.setSelectionPolicy(SelectionPolicy.CHECKBOX);
-
- scrollTable = new ScrollTable(dataTable, header);
- scrollTable.setSortPolicy(SortPolicy.DISABLED);
- scrollTable.setResizePolicy(ResizePolicy.UNCONSTRAINED);
- scrollTable.setScrollPolicy(ScrollPolicy.BOTH);
- scrollTable.setHeight("200px");
-
- header.setWidget(1, 0, selectAll);
-
- for (int i = 0; i < columnNames.length; i++) {
- header.setText(1, i + 1, columnNames[i]);
- }
-
- initWidget(scrollTable);
- }
-
- @Override
- public void addRow(String[] cells, boolean isNew) {
- assert dataTable.getColumnCount() == cells.length;
-
- int row = dataTable.getRowCount();
- dataTable.resizeRows(row + 1);
- for (int cell = 0; cell < cells.length; cell++) {
- dataTable.setText(row, cell, cells[cell]);
- }
- }
-
- @Override
- public void finalRender() {
- TestPlannerUtils.resizeScrollTable(scrollTable, true);
-
- /*
- * Add the group header and redraw the table after the column resizing. This is to work
- * around a bug (feature?) where getIdealColumnWidth() computes weird numbers for ideal
- * width when there's a colspan'd column.
- */
- header.setText(0, 0, group);
- FlexCellFormatter formatter = header.getFlexCellFormatter();
- formatter.setColSpan(0, 0, header.getColumnCount());
-
- scrollTable.redraw();
- }
-
- @Override
- public HasClickHandlers getSelectAllControl() {
- return selectAll;
- }
-
- @Override
- public HasValue<Boolean> getSelectAllValue() {
- return selectAll;
- }
-
- public void setAllRowsSelected(boolean selected) {
- if (selected) {
- dataTable.selectAllRows();
- } else {
- dataTable.deselectAllRows();
- }
- }
-
- @Override
- public Set<Integer> getSelectedFailures() {
- return dataTable.getSelectedRows();
- }
-}
diff --git a/frontend/client/src/autotest/planner/triage/TriagePopup.java b/frontend/client/src/autotest/planner/triage/TriagePopup.java
deleted file mode 100644
index 6ab48aad..00000000
--- a/frontend/client/src/autotest/planner/triage/TriagePopup.java
+++ /dev/null
@@ -1,154 +0,0 @@
-package autotest.planner.triage;
-
-import autotest.common.JsonRpcCallback;
-import autotest.common.JsonRpcProxy;
-import autotest.common.StaticDataRepository;
-import autotest.common.Utils;
-import autotest.common.ui.SimplifiedList;
-
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
-import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.event.logical.shared.CloseEvent;
-import com.google.gwt.event.logical.shared.CloseHandler;
-import com.google.gwt.event.logical.shared.HasCloseHandlers;
-import com.google.gwt.json.client.JSONArray;
-import com.google.gwt.json.client.JSONBoolean;
-import com.google.gwt.json.client.JSONObject;
-import com.google.gwt.json.client.JSONString;
-import com.google.gwt.json.client.JSONValue;
-import com.google.gwt.user.client.ui.HasText;
-import com.google.gwt.user.client.ui.HasValue;
-import com.google.gwt.user.client.ui.PopupPanel;
-
-import java.util.List;
-
-public class TriagePopup implements ClickHandler, CloseHandler<PopupPanel> {
- public static interface Display extends HasCloseHandlers<PopupPanel> {
- public HasClickHandlers getCloseButton();
- public HasText getLabelsField();
- public HasText getKeyvalsField();
- public HasText getBugsField();
- public HasText getReasonField();
- public SimplifiedList getHostActionField();
- public SimplifiedList getTestActionField();
- public HasValue<Boolean> getInvalidateField();
- public HasClickHandlers getApplyButton();
- public void center();
- public void hide();
- }
-
- public static interface Listener {
- public void onTriage();
- }
-
- private Display display;
- private Listener listener;
- private List<Integer> ids;
- private boolean triaged = false;
-
- public TriagePopup(Listener listener, List<Integer> ids) {
- this.listener = listener;
- this.ids = ids;
- }
-
- public void bindDisplay(Display display) {
- this.display = display;
- display.addCloseHandler(this);
- populateActionsFields();
- setHandlers();
- }
-
- public void render() {
- display.center();
- }
-
- public List<Integer> getIds() {
- return ids;
- }
-
- private void populateActionsFields() {
- populateList("host_actions", display.getHostActionField());
- populateList("test_actions", display.getTestActionField());
- }
-
- private void populateList(String staticDataKey, SimplifiedList list) {
- JSONArray choices = StaticDataRepository.getRepository().getData(staticDataKey).isArray();
- for (int i = 0; i < choices.size(); i++) {
- String item = choices.get(i).isString().stringValue();
- list.addItem(item, item);
- }
- }
-
- private void setHandlers() {
- display.getCloseButton().addClickHandler(this);
- display.getApplyButton().addClickHandler(this);
- }
-
- @Override
- public void onClick(ClickEvent event) {
- if (event.getSource() == display.getCloseButton()) {
- display.hide();
- } else {
- assert event.getSource() == display.getApplyButton();
- JsonRpcProxy proxy = JsonRpcProxy.getProxy();
-
- JSONObject params = getParams();
-
- proxy.rpcCall("process_failures", params, new JsonRpcCallback() {
- @Override
- public void onSuccess(JSONValue result) {
- triaged = true;
- display.hide();
- }
- });
- }
- }
-
- private JSONObject getParams() {
- JSONObject params = new JSONObject();
- params.put("failure_ids", Utils.integersToJSON(ids));
- params.put("host_action", new JSONString(display.getHostActionField().getSelectedName()));
- params.put("test_action", new JSONString(display.getTestActionField().getSelectedName()));
-
- if (!display.getLabelsField().getText().trim().equals("")) {
- params.put("labels", parseCommaDelimited(display.getLabelsField().getText()));
- }
-
- if (!display.getKeyvalsField().getText().trim().equals("")) {
- JSONObject keyvals = new JSONObject();
- for (String keyval : display.getKeyvalsField().getText().split("\n")) {
- String split[] = keyval.split("=", 2);
- keyvals.put(split[0].trim(), new JSONString(split[1].trim()));
- }
- params.put("keyvals", keyvals);
- }
-
- if (!display.getBugsField().getText().trim().equals("")) {
- params.put("bugs", parseCommaDelimited(display.getBugsField().getText()));
- }
-
- if (!display.getReasonField().getText().trim().equals("")) {
- params.put("reason", new JSONString(display.getReasonField().getText()));
- }
-
- params.put("invalidate", JSONBoolean.getInstance(display.getInvalidateField().getValue()));
-
- return params;
- }
-
- private JSONArray parseCommaDelimited(String line) {
- JSONArray values = new JSONArray();
- for (String value : line.split(",")) {
- values.set(values.size(), new JSONString(value.trim()));
- }
- return values;
- }
-
- @Override
- public void onClose(CloseEvent<PopupPanel> event) {
- if (triaged) {
- listener.onTriage();
- }
- }
-}
diff --git a/frontend/client/src/autotest/planner/triage/TriagePopupDisplay.java b/frontend/client/src/autotest/planner/triage/TriagePopupDisplay.java
deleted file mode 100644
index d5910c73..00000000
--- a/frontend/client/src/autotest/planner/triage/TriagePopupDisplay.java
+++ /dev/null
@@ -1,112 +0,0 @@
-package autotest.planner.triage;
-
-import autotest.common.ui.ExtendedListBox;
-import autotest.common.ui.SimplifiedList;
-import autotest.planner.resources.PlannerClientBundle;
-
-import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.CheckBox;
-import com.google.gwt.user.client.ui.FlexTable;
-import com.google.gwt.user.client.ui.HasHorizontalAlignment;
-import com.google.gwt.user.client.ui.HasText;
-import com.google.gwt.user.client.ui.HasValue;
-import com.google.gwt.user.client.ui.HorizontalPanel;
-import com.google.gwt.user.client.ui.Image;
-import com.google.gwt.user.client.ui.Panel;
-import com.google.gwt.user.client.ui.PopupPanel;
-import com.google.gwt.user.client.ui.TextArea;
-import com.google.gwt.user.client.ui.TextBox;
-import com.google.gwt.user.client.ui.VerticalPanel;
-import com.google.gwt.user.client.ui.Widget;
-
-public class TriagePopupDisplay extends PopupPanel implements TriagePopup.Display {
- private Panel container = new VerticalPanel();
- private Image closeX = new Image(PlannerClientBundle.INSTANCE.close().getURL());
- private TextBox labels = new TextBox();
- private TextArea keyvals = new TextArea();
- private TextBox bugs = new TextBox();
- private TextBox reason = new TextBox();
- private ExtendedListBox hostAction = new ExtendedListBox();
- private ExtendedListBox testAction = new ExtendedListBox();
- private CheckBox invalidate = new CheckBox("Invalidate Test");
- private Button apply = new Button("Apply");
-
- public TriagePopupDisplay() {
- super(false, true);
- super.setGlassEnabled(true);
-
- HorizontalPanel topPanel = new HorizontalPanel();
- topPanel.setWidth("100%");
- topPanel.setHorizontalAlignment(HasHorizontalAlignment.ALIGN_RIGHT);
- topPanel.add(closeX);
- container.add(topPanel);
-
- FlexTable bottomTable = new FlexTable();
- addRow(bottomTable, "Labels", labels);
- addRow(bottomTable, "Keyvals", keyvals);
- addRow(bottomTable, "Bugs", bugs);
- addRow(bottomTable, "Reason", reason);
- addRow(bottomTable, "Host", hostAction);
- addRow(bottomTable, "Test", testAction);
- addRow(bottomTable, null, invalidate);
- container.add(bottomTable);
-
- container.add(apply);
-
- setWidget(container);
- }
-
- private void addRow(FlexTable table, String label, Widget field) {
- int row = table.getRowCount();
- if (label != null) {
- table.setText(row, 0, label + ":");
- }
- table.setWidget(row, 1, field);
- }
-
- @Override
- public HasClickHandlers getApplyButton() {
- return apply;
- }
-
- @Override
- public HasText getBugsField() {
- return bugs;
- }
-
- @Override
- public HasClickHandlers getCloseButton() {
- return closeX;
- }
-
- @Override
- public SimplifiedList getHostActionField() {
- return hostAction;
- }
-
- @Override
- public HasValue<Boolean> getInvalidateField() {
- return invalidate;
- }
-
- @Override
- public HasText getKeyvalsField() {
- return keyvals;
- }
-
- @Override
- public HasText getLabelsField() {
- return labels;
- }
-
- @Override
- public HasText getReasonField() {
- return reason;
- }
-
- @Override
- public SimplifiedList getTestActionField() {
- return testAction;
- }
-}
diff --git a/frontend/client/src/autotest/planner/triage/TriageViewDisplay.java b/frontend/client/src/autotest/planner/triage/TriageViewDisplay.java
deleted file mode 100644
index 8b25989c..00000000
--- a/frontend/client/src/autotest/planner/triage/TriageViewDisplay.java
+++ /dev/null
@@ -1,72 +0,0 @@
-package autotest.planner.triage;
-
-import autotest.common.ui.NotifyManager;
-import autotest.planner.TestPlannerDisplay;
-import autotest.planner.TestPlannerUtils;
-
-import com.google.gwt.event.dom.client.HasClickHandlers;
-import com.google.gwt.event.logical.shared.ResizeEvent;
-import com.google.gwt.event.logical.shared.ResizeHandler;
-import com.google.gwt.user.client.Window;
-import com.google.gwt.user.client.ui.Button;
-import com.google.gwt.user.client.ui.HTMLPanel;
-import com.google.gwt.user.client.ui.ScrollPanel;
-import com.google.gwt.user.client.ui.VerticalPanel;
-
-
-public class TriageViewDisplay implements TestPlannerDisplay,
- TriageViewPresenter.Display, ResizeHandler {
-
- private VerticalPanel container = new VerticalPanel();
- private ScrollPanel scroll = new ScrollPanel(container);
- private Button triage = new Button("Triage");
-
- @Override
- public void initialize(HTMLPanel htmlPanel) {
- container.setSpacing(25);
- container.setWidth("90%");
-
- scroll.setSize("100%", TestPlannerUtils.getHeightParam(Window.getClientHeight()));
- scroll.setVisible(false);
- triage.setVisible(false);
-
- htmlPanel.add(scroll, "triage_failure_tables");
- htmlPanel.add(triage, "triage_button");
-
- Window.addResizeHandler(this);
- }
-
- @Override
- public void setLoading(boolean loading) {
- NotifyManager.getInstance().setLoading(loading);
- scroll.setVisible(!loading);
- triage.setVisible(!loading);
- }
-
- @Override
- public FailureTable.Display generateFailureTable(String group, String[] columnNames) {
- FailureTableDisplay display = new FailureTableDisplay(group, columnNames);
- container.add(display);
- return display;
- }
-
- @Override
- public TriagePopup.Display generateTriagePopupDisplay() {
- return new TriagePopupDisplay();
- }
-
- @Override
- public void clearAllFailureTables() {
- container.clear();
- }
-
- @Override
- public HasClickHandlers getTriageButton() {
- return triage;
- }
-
- @Override
- public void onResize(ResizeEvent event) {
- scroll.setHeight(TestPlannerUtils.getHeightParam(event.getHeight()));
- }
-}
diff --git a/frontend/client/src/autotest/planner/triage/TriageViewPresenter.java b/frontend/client/src/autotest/planner/triage/TriageViewPresenter.java
deleted file mode 100644
index bb4389f6..00000000
--- a/frontend/client/src/autotest/planner/triage/TriageViewPresenter.java
+++ /dev/null
@@ -1,98 +0,0 @@
-package autotest.planner.triage;
-
-import autotest.common.JsonRpcCallback;
-import autotest.common.JsonRpcProxy;
-import autotest.planner.TestPlannerPresenter;
-
-import com.google.gwt.event.dom.client.ClickEvent;
-import com.google.gwt.event.dom.client.ClickHandler;
-import com.google.gwt.event.dom.client.HasClickHandlers;
-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.List;
-
-public class TriageViewPresenter extends TestPlannerPresenter
- implements ClickHandler, TriagePopup.Listener {
-
- public interface Display {
- public void setLoading(boolean loading);
- public void clearAllFailureTables();
- public FailureTable.Display generateFailureTable(String group, String[] columnNames);
- public TriagePopup.Display generateTriagePopupDisplay();
- public HasClickHandlers getTriageButton();
- }
-
- private Display display;
- private List<FailureTable> failureTables = new ArrayList<FailureTable>();
-
- public void bindDisplay(Display display) {
- this.display = display;
- display.getTriageButton().addClickHandler(this);
- }
-
- @Override
- public void refresh(String planId) {
- display.setLoading(true);
-
- JSONObject params = new JSONObject();
- params.put("plan_id", new JSONString(planId));
-
- JsonRpcProxy.getProxy().rpcCall("get_failures", params, new JsonRpcCallback() {
- @Override
- public void onSuccess(JSONValue result) {
- display.clearAllFailureTables();
- display.setLoading(false);
- generateFailureTables(result.isObject());
- }
-
- @Override
- public void onError(JSONObject errorObject) {
- super.onError(errorObject);
- display.setLoading(false);
- }
- });
- }
-
- private void generateFailureTables(JSONObject failures) {
- failureTables.clear();
-
- for (String group : failures.keySet()) {
- FailureTable table = new FailureTable();
- FailureTable.Display tableDisplay =
- display.generateFailureTable(group, FailureTable.COLUMN_NAMES);
- table.bindDisplay(tableDisplay);
-
- JSONArray groupFailures = failures.get(group).isArray();
-
- for (int i = 0; i < groupFailures.size(); i++) {
- table.addFailure(groupFailures.get(i).isObject());
- }
-
- table.finishedAdding();
- failureTables.add(table);
- }
- }
-
- @Override
- public void onClick(ClickEvent event) {
- assert event.getSource() == display.getTriageButton();
-
- List<Integer> failureIds = new ArrayList<Integer>();
- for (FailureTable failure : failureTables) {
- failureIds.addAll(failure.getSelectedFailureIds());
- }
-
- TriagePopup popup = new TriagePopup(this, failureIds);
- popup.bindDisplay(display.generateTriagePopupDisplay());
- popup.render();
- }
-
- @Override
- public void onTriage() {
- refresh();
- }
-}
diff --git a/frontend/client/src/autotest/planner/triage/TriageViewTab.java b/frontend/client/src/autotest/planner/triage/TriageViewTab.java
deleted file mode 100644
index cb298ba2..00000000
--- a/frontend/client/src/autotest/planner/triage/TriageViewTab.java
+++ /dev/null
@@ -1,37 +0,0 @@
-package autotest.planner.triage;
-
-import autotest.planner.TestPlanSelector;
-import autotest.planner.TestPlannerDisplay;
-import autotest.planner.TestPlannerPresenter;
-import autotest.planner.TestPlannerTab;
-
-
-public class TriageViewTab extends TestPlannerTab {
-
- private TriageViewPresenter presenter = new TriageViewPresenter();
- private TriageViewDisplay display = new TriageViewDisplay();
-
- public TriageViewTab(TestPlanSelector selector) {
- super(selector);
- }
-
- @Override
- public String getElementId() {
- return "triage_view";
- }
-
- @Override
- protected TestPlannerDisplay getDisplay() {
- return display;
- }
-
- @Override
- protected TestPlannerPresenter getPresenter() {
- return presenter;
- }
-
- @Override
- protected void bindDisplay() {
- presenter.bindDisplay(display);
- }
-}
diff --git a/frontend/client/src/autotest/public/TestPlannerClient.html b/frontend/client/src/autotest/public/TestPlannerClient.html
deleted file mode 100644
index 886e3f56..00000000
--- a/frontend/client/src/autotest/public/TestPlannerClient.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Autotest Frontend</title>
- <script type='text/javascript' src='autotest.TestPlannerClient.nocache.js'>
- </script>
- </head>
-
- <body>
- <!-- gwt history support -->
- <iframe src="javascript:''" id="__gwt_historyFrame"
- style="width:0;height:0;border:0"></iframe>
-
-
- <div class="links-box" style="float: right;">
- <span id="report_issues"></span> |
- <a href="server/afe">Frontend</a> |
- <a href="server/admin">Admin</a> |
- <a href="/new_tko">Results</a>
- (<a href="/tko"><b>Old</b> TKO</a>) |
- Test Planner! |
- <a href="http://wiki/Main/Autotest">Documentation</a> |
- <a href="/g4sync.log">Synced CLs</a>
- <div id="motd" class="motd"></div>
- </div>
-
- <img src="header.png" />
- <br /><br />
-
- <div id="tabs" class="hidden">
- <div id="test_plan_selector">
- Enter a test plan:
- <span id="test_plan_selector_input"></span>
- <span id="test_plan_selector_button"></span>
- </div>
-
- <div id="overview" title="Overview">
- <div id="overview_add_plan"></div>
- <div id="overview_table"></div>
- </div>
-
- <div id="machine_view" title="Machine View">
- <div id="machine_view_main"></div>
- </div>
-
- <div id="test_view" title="Test View">
- <div id="test_view_table"></div>
- </div>
-
- <div id="triage_view" title="Triage View">
- <div id="triage_failure_tables"></div>
- <div id="triage_button"></div>
- </div>
-
- <div id="autoprocessed" title="Auto-processed">
- </div>
-
- <div id="history" title="History">
- </div>
- </div>
- <br>
- <div id="error_log"></div>
-
- <!-- for debugging only -->
- <div id="error_display"></div>
- </body>
-</html>