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