13b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showardpackage autotest.tko;
23b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard
33b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showardimport autotest.common.Utils;
43b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showardimport autotest.common.ui.SimpleDialog;
53b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showardimport autotest.tko.TableView.TableViewConfig;
63b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard
73b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showardimport com.google.gwt.json.client.JSONObject;
83b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showardimport com.google.gwt.user.client.ui.HTML;
93b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard
103b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showardclass MachineQualHistogram extends Plot {
113b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    public MachineQualHistogram() {
12fbdab0b28c8084441225523a68db7f0ef63f5ca0showard        super("create_qual_histogram");
133b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    }
143b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard
153b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    /**
163b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard     * drilldownParams contains:
173b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard     * * type: "normal", "not_applicable", or "empty"
183b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard     * for type "normal":
193b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard     *   * filterString: SQL filter for selected bucket
203b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard     * for type "not_applicable":
213b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard     *   * hosts: HTML list of hosts in this bucket
223b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard     */
233b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    @Override
243b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    protected void showDrilldownImpl(JSONObject drilldownParams) {
253b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard        String type = Utils.jsonToString(drilldownParams.get("type"));
263b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard        if (type.equals("normal")) {
273b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard            String filterString = Utils.jsonToString(drilldownParams.get("filterString"));
283b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard            showNormalDrilldown(filterString);
293b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard        } else if (type.equals("not_applicable")) {
303b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard            String hosts = Utils.jsonToString(drilldownParams.get("hosts"));
313b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard            showNADialog(hosts);
323b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard        } else if (type.equals("empty")) {
333b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard            showEmptyDialog();
343b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard        }
353b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    }
363b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard
373b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    private void showNormalDrilldown(final String filterString) {
383b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard        CommonPanel.getPanel().setSqlCondition(filterString);
393b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard        listener.onSwitchToTable(TableViewConfig.PASS_RATE);
403b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    }
413b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard
423b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    private void showNADialog(String hosts) {
433b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard        new SimpleDialog("Did not run any of the selected tests:", new HTML(hosts)).center();
443b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    }
453b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard
463b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    private void showEmptyDialog() {
473b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard        new SimpleDialog("No hosts in this pass rate range", new HTML()).center();
483b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard    }
493b2b93007ba7ca0a8ace90f2ac0c2263ccbcbdf8showard}
50