1ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beustpackage org.testng.reporters.jq;
2ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust
3ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beustimport org.testng.ISuite;
4ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beustimport org.testng.reporters.XMLStringBuffer;
5ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust
63432a37713dd061e6bdbb204376ef232d91cc132Cédric Beustabstract public class BaseMultiSuitePanel extends BasePanel implements INavigatorPanel {
7ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust
8ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust  abstract String getHeader(ISuite suite);
9ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust  abstract String getContent(ISuite suite, XMLStringBuffer xsb);
10ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust
11ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust  public BaseMultiSuitePanel(Model model) {
12ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust    super(model);
13ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust  }
14ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust
15ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust  @Override
16ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust  public void generate(XMLStringBuffer xsb) {
17ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust    for (ISuite s : getSuites()) {
18ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust      xsb.push(D, C, "panel", "panel-name", getPanelName(s));
19ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust      xsb.push(D, C, "main-panel-header rounded-window-top");
20ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust      xsb.addOptional(S, getHeader(s), C, "header-content");
21ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust      xsb.pop(D);
22ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust
23ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust      xsb.push(D, C, "main-panel-content rounded-window-bottom");
24ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust      xsb.addString(getContent(s, xsb));
25ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust      xsb.pop(D);
26ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust
27ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust      xsb.pop(D);
28ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust    }
29ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust  }
30b67b89e0aff199b1b7ac2c67eb3d7c9222c1c046Cédric Beust
31b67b89e0aff199b1b7ac2c67eb3d7c9222c1c046Cédric Beust  @Override
32b67b89e0aff199b1b7ac2c67eb3d7c9222c1c046Cédric Beust  public String getClassName() {
33b67b89e0aff199b1b7ac2c67eb3d7c9222c1c046Cédric Beust    return null;
34b67b89e0aff199b1b7ac2c67eb3d7c9222c1c046Cédric Beust  }
35aa5fe9ce987968d97b2cc613d21487eb87e45cf4Cédric Beust
36aa5fe9ce987968d97b2cc613d21487eb87e45cf4Cédric Beust  @Override
37aa5fe9ce987968d97b2cc613d21487eb87e45cf4Cédric Beust  public String getPanelName(ISuite suite) {
38aa5fe9ce987968d97b2cc613d21487eb87e45cf4Cédric Beust    return getPrefix() + suiteToTag(suite);
39aa5fe9ce987968d97b2cc613d21487eb87e45cf4Cédric Beust  }
40aa5fe9ce987968d97b2cc613d21487eb87e45cf4Cédric Beust
41ba0fb55d58a3ea09ff7f027768106c3fc1e5cd40Cédric Beust}
42