1 package autotest.tko; 2 3 import autotest.common.CustomHistory; 4 import autotest.common.JsonRpcProxy; 5 import autotest.common.SiteCommonClassFactory; 6 import autotest.common.StaticDataRepository; 7 import autotest.common.CustomHistory.HistoryToken; 8 import autotest.common.ui.CustomTabPanel; 9 import autotest.common.ui.NotifyManager; 10 import autotest.common.ui.TabView; 11 import autotest.tko.TableView.TableSwitchListener; 12 import autotest.tko.TableView.TableViewConfig; 13 14 import com.google.gwt.core.client.EntryPoint; 15 import com.google.gwt.user.client.History; 16 import com.google.gwt.user.client.ui.RootPanel; 17 18 public class TkoClient implements EntryPoint, TableSwitchListener { 19 private CommonPanel commonPanel; 20 private TabView spreadsheetView; 21 private TableView tableView; 22 private GraphingView graphingView; 23 private TestDetailView detailView; 24 25 private CustomTabPanel mainTabPanel = new CustomTabPanel(); 26 private SavedQueriesControl savedQueriesControl; 27 28 public void onModuleLoad() { 29 JsonRpcProxy.setDefaultBaseUrl(JsonRpcProxy.TKO_BASE_URL); 30 31 NotifyManager.getInstance().initialize(); 32 33 StaticDataRepository.getRepository().refresh( 34 new StaticDataRepository.FinishedCallback() { 35 public void onFinished() { 36 finishLoading(); 37 } 38 }); 39 } 40 41 protected void finishLoading() { 42 SiteCommonClassFactory.globalInitialize(); 43 44 commonPanel = CommonPanel.getPanel(); 45 spreadsheetView = new SpreadsheetView(this); 46 tableView = new TableView(this); 47 graphingView = new GraphingView(this); 48 detailView = TkoUtils.factory.getTestDetailView(); 49 50 mainTabPanel.getCommonAreaPanel().add(commonPanel); 51 mainTabPanel.addTabView(spreadsheetView); 52 mainTabPanel.addTabView(tableView); 53 mainTabPanel.addTabView(graphingView); 54 mainTabPanel.addTabView(detailView); 55 56 savedQueriesControl = new SavedQueriesControl(); 57 mainTabPanel.getOtherWidgetsPanel().add(savedQueriesControl); 58 59 final RootPanel tabsRoot = RootPanel.get("tabs"); 60 tabsRoot.add(mainTabPanel); 61 commonPanel.initialize(); 62 CustomHistory.processInitialToken(); 63 mainTabPanel.initialize(); 64 tabsRoot.removeStyleName("hidden"); 65 } 66 67 public void onSwitchToTable(TableViewConfig config) { 68 tableView.ensureInitialized(); 69 switch (config) { 70 case TRIAGE: 71 tableView.setupJobTriage(); 72 break; 73 case PASS_RATE: 74 tableView.setupPassRate(); 75 break; 76 default: 77 tableView.setupDefaultView(); 78 break; 79 } 80 tableView.doQuery(); 81 mainTabPanel.selectTabView(tableView); 82 } 83 84 public void onSelectTest(int testId) { 85 History.newItem(getSelectTestHistoryToken(testId).toString()); 86 } 87 88 public HistoryToken getSelectTestHistoryToken(int testId) { 89 detailView.ensureInitialized(); 90 detailView.updateObjectId(Integer.toString(testId)); 91 return detailView.getHistoryArguments(); 92 } 93 } 94