From c363a510b5a7113f5533dc80c960f5c7b4f1e0fc Mon Sep 17 00:00:00 2001 From: lmr Date: Thu, 16 Jun 2011 16:20:38 +0000 Subject: 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 git-svn-id: svn://test.kernel.org/autotest/trunk@5429 592f7852-d20e-0410-864c-8624ca9c26a4 --- frontend/client/TestPlannerClient-shell | 4 - frontend/client/TestPlannerClient.launch | 22 --- .../client/src/autotest/TestPlannerClient.gwt.xml | 19 --- .../client/src/autotest/common/JsonRpcProxy.java | 1 - .../src/autotest/planner/AutoprocessedTab.java | 18 -- .../autotest/planner/AutoprocessedTabDisplay.java | 13 -- .../client/src/autotest/planner/HistoryTab.java | 18 -- .../src/autotest/planner/HistoryTabDisplay.java | 13 -- .../src/autotest/planner/TestPlanSelector.java | 69 -------- .../autotest/planner/TestPlanSelectorDisplay.java | 41 ----- .../src/autotest/planner/TestPlannerClient.java | 71 -------- .../src/autotest/planner/TestPlannerDisplay.java | 7 - .../src/autotest/planner/TestPlannerPresenter.java | 32 ---- .../src/autotest/planner/TestPlannerTab.java | 42 ----- .../autotest/planner/TestPlannerTableDisplay.java | 27 --- .../src/autotest/planner/TestPlannerTableImpl.java | 78 --------- .../src/autotest/planner/TestPlannerUtils.java | 37 ---- .../client/src/autotest/planner/TestViewTab.java | 0 .../src/autotest/planner/TestViewTabDisplay.java | 0 .../planner/machine/MachineViewDisplay.java | 39 ----- .../planner/machine/MachineViewPresenter.java | 52 ------ .../autotest/planner/machine/MachineViewTab.java | 37 ---- .../autotest/planner/machine/MachineViewTable.java | 109 ------------ .../planner/machine/MachineViewTableDisplay.java | 0 .../autotest/planner/machine/StatusSummary.java | 36 ---- .../src/autotest/planner/overview/OverviewTab.java | 41 ----- .../planner/overview/OverviewTabDisplay.java | 64 ------- .../planner/overview/OverviewTabPresenter.java | 119 ------------- .../autotest/planner/overview/OverviewTable.java | 190 --------------------- .../planner/overview/OverviewTableDisplay.java | 74 -------- .../planner/resources/PlannerClientBundle.java | 14 -- .../src/autotest/planner/resources/close.png | Bin 130 -> 0 bytes .../src/autotest/planner/test/TestViewDisplay.java | 39 ----- .../autotest/planner/test/TestViewPresenter.java | 52 ------ .../src/autotest/planner/test/TestViewTab.java | 37 ---- .../src/autotest/planner/test/TestViewTable.java | 132 -------------- .../src/autotest/planner/triage/FailureTable.java | 93 ---------- .../planner/triage/FailureTableDisplay.java | 101 ----------- .../src/autotest/planner/triage/TriagePopup.java | 154 ----------------- .../planner/triage/TriagePopupDisplay.java | 112 ------------ .../autotest/planner/triage/TriageViewDisplay.java | 72 -------- .../planner/triage/TriageViewPresenter.java | 98 ----------- .../src/autotest/planner/triage/TriageViewTab.java | 37 ---- .../src/autotest/public/TestPlannerClient.html | 68 -------- 44 files changed, 2282 deletions(-) delete mode 100755 frontend/client/TestPlannerClient-shell delete mode 100644 frontend/client/TestPlannerClient.launch delete mode 100644 frontend/client/src/autotest/TestPlannerClient.gwt.xml delete mode 100644 frontend/client/src/autotest/planner/AutoprocessedTab.java delete mode 100644 frontend/client/src/autotest/planner/AutoprocessedTabDisplay.java delete mode 100644 frontend/client/src/autotest/planner/HistoryTab.java delete mode 100644 frontend/client/src/autotest/planner/HistoryTabDisplay.java delete mode 100644 frontend/client/src/autotest/planner/TestPlanSelector.java delete mode 100644 frontend/client/src/autotest/planner/TestPlanSelectorDisplay.java delete mode 100644 frontend/client/src/autotest/planner/TestPlannerClient.java delete mode 100644 frontend/client/src/autotest/planner/TestPlannerDisplay.java delete mode 100644 frontend/client/src/autotest/planner/TestPlannerPresenter.java delete mode 100644 frontend/client/src/autotest/planner/TestPlannerTab.java delete mode 100644 frontend/client/src/autotest/planner/TestPlannerTableDisplay.java delete mode 100644 frontend/client/src/autotest/planner/TestPlannerTableImpl.java delete mode 100644 frontend/client/src/autotest/planner/TestPlannerUtils.java delete mode 100644 frontend/client/src/autotest/planner/TestViewTab.java delete mode 100644 frontend/client/src/autotest/planner/TestViewTabDisplay.java delete mode 100644 frontend/client/src/autotest/planner/machine/MachineViewDisplay.java delete mode 100644 frontend/client/src/autotest/planner/machine/MachineViewPresenter.java delete mode 100644 frontend/client/src/autotest/planner/machine/MachineViewTab.java delete mode 100644 frontend/client/src/autotest/planner/machine/MachineViewTable.java delete mode 100644 frontend/client/src/autotest/planner/machine/MachineViewTableDisplay.java delete mode 100644 frontend/client/src/autotest/planner/machine/StatusSummary.java delete mode 100644 frontend/client/src/autotest/planner/overview/OverviewTab.java delete mode 100644 frontend/client/src/autotest/planner/overview/OverviewTabDisplay.java delete mode 100644 frontend/client/src/autotest/planner/overview/OverviewTabPresenter.java delete mode 100644 frontend/client/src/autotest/planner/overview/OverviewTable.java delete mode 100644 frontend/client/src/autotest/planner/overview/OverviewTableDisplay.java delete mode 100644 frontend/client/src/autotest/planner/resources/PlannerClientBundle.java delete mode 100644 frontend/client/src/autotest/planner/resources/close.png delete mode 100644 frontend/client/src/autotest/planner/test/TestViewDisplay.java delete mode 100644 frontend/client/src/autotest/planner/test/TestViewPresenter.java delete mode 100644 frontend/client/src/autotest/planner/test/TestViewTab.java delete mode 100644 frontend/client/src/autotest/planner/test/TestViewTable.java delete mode 100644 frontend/client/src/autotest/planner/triage/FailureTable.java delete mode 100644 frontend/client/src/autotest/planner/triage/FailureTableDisplay.java delete mode 100644 frontend/client/src/autotest/planner/triage/TriagePopup.java delete mode 100644 frontend/client/src/autotest/planner/triage/TriagePopupDisplay.java delete mode 100644 frontend/client/src/autotest/planner/triage/TriageViewDisplay.java delete mode 100644 frontend/client/src/autotest/planner/triage/TriageViewPresenter.java delete mode 100644 frontend/client/src/autotest/planner/triage/TriageViewTab.java delete mode 100644 frontend/client/src/autotest/public/TestPlannerClient.html 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 @@ - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - 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 listeners = new ArrayList(); - - 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 rowData); - public void finalRender(); - public void clearData(); - public void setHeaders(Collection 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 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", "
"); - - 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 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 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 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 statusSummaries; - List bugIds; - - private Row(String machine, String status, - Map statusSummaries, List bugIds) { - this.machine = machine; - this.status = status; - this.statusSummaries = statusSummaries; - this.bugIds = bugIds; - } - - public static Row fromJsonObject(JSONObject rowObject) { - Map statusSummaries = new HashMap(); - - 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 rows = new ArrayList(); - - 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 allTestNames = new TreeSet(); - for (Row row : rows) { - allTestNames.addAll(row.statusSummaries.keySet()); - } - - List headers = new ArrayList(); - headers.add("Machine"); - headers.add("Status"); - headers.addAll(allTestNames); - headers.add("Bugs Filed"); - display.setHeaders(headers); - - for (Row row : rows) { - List rowData = new ArrayList(); - 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 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 selectedPlans = new LinkedHashSet(); - 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 prepareData(JSONObject data) { - Map preparedData = new LinkedHashMap(); - 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 data); - } - - private static class Machine { - static JsonObjectFactory FACTORY = new JsonObjectFactory() { - 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 FACTORY = new JsonObjectFactory() { - 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 machines; - List bugs; - List testConfigs; - - private PlanData(List machines, List bugs, List testConfigs) { - this.machines = machines; - this.bugs = bugs; - this.testConfigs = testConfigs; - } - - static PlanData fromJsonObject(JSONObject planData) { - JSONArray machinesJson = planData.get("machines").isArray(); - List machines = Utils.createList(machinesJson, Machine.FACTORY); - - JSONArray bugsJson = planData.get("bugs").isArray(); - List bugs = Arrays.asList(Utils.JSONtoStrings(bugsJson)); - - JSONArray testConfigsJson = planData.get("test_configs").isArray(); - List testConfigs = - Utils.createList(testConfigsJson, TestConfig.FACTORY); - - return new PlanData(machines, bugs, testConfigs); - } - } - - private Display display; - private List statuses = new ArrayList(); - - public void bindDisplay(Display display) { - this.display = display; - setupDisplay(); - } - - private void setupDisplay() { - List hostStatuses = new ArrayList(); - JSONArrayList hostStatusesArray = new JSONArrayList( - 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 data) { - display.clearAllData(); - for (Map.Entry 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 statusCounts = new HashMap(); - 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 displayData = new ArrayList(); - 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 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 Binary files a/frontend/client/src/autotest/planner/resources/close.png and /dev/null 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 HEADERS = Arrays.asList(new String[] { - "Test alias", - "Machine status", - "Machines passed (% of finished)", - "Test statistics", - "Bugs filed" - }); - - private static class Test implements Comparable { - String alias; - int totalMachines; - Map machineStatus; - int totalRuns; - int totalPasses; - List bugs; - - private Test(String alias, int totalMachines, Map machineStatus, - int totalRuns, int totalPasses, List 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 bugs = new ArrayList(); - for (JSONString bug : new JSONArrayList(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 tests = new TreeSet(); - 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 row = new ArrayList(); - 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 getSelectAllValue(); - public Set 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 failureIds = new ArrayList(); - - 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 getSelectedFailureIds() { - List selected = new ArrayList(); - 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 getSelectAllValue() { - return selectAll; - } - - public void setAllRowsSelected(boolean selected) { - if (selected) { - dataTable.selectAllRows(); - } else { - dataTable.deselectAllRows(); - } - } - - @Override - public Set 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 { - public static interface Display extends HasCloseHandlers { - public HasClickHandlers getCloseButton(); - public HasText getLabelsField(); - public HasText getKeyvalsField(); - public HasText getBugsField(); - public HasText getReasonField(); - public SimplifiedList getHostActionField(); - public SimplifiedList getTestActionField(); - public HasValue 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 ids; - private boolean triaged = false; - - public TriagePopup(Listener listener, List 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 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 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 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 failureTables = new ArrayList(); - - 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 failureIds = new ArrayList(); - 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 @@ - - - - - Autotest Frontend - - - - - - - - - - - -

- - -
-
- - -
- - -- cgit v1.2.3