More Navigator refactoring.
diff --git a/src/main/java/org/testng/reporters/jq/Main.java b/src/main/java/org/testng/reporters/jq/Main.java
index e1c3c3e..e7c0ad6 100644
--- a/src/main/java/org/testng/reporters/jq/Main.java
+++ b/src/main/java/org/testng/reporters/jq/Main.java
@@ -13,6 +13,7 @@
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
+import java.util.Arrays;
import java.util.List;
public class Main implements IReporter {
@@ -37,16 +38,15 @@
new BannerPanel(m_model).generate(xsb);
// Navigator on the left hand side
- TestNgXmlPanel testNgPanel = new TestNgXmlPanel(m_model);
- TestPanel testPanel = new TestPanel(m_model);
- GroupPanel groupPanel = new GroupPanel(m_model);
- TimesPanel timePanel = new TimesPanel(m_model);
- ReporterPanel reporterPanel = new ReporterPanel(m_model);
- IgnoredMethodsPanel ignoredMethodsPanel = new IgnoredMethodsPanel(m_model);
- ChronologicalPanel chronologicalPanel = new ChronologicalPanel(m_model);
- new NavigatorPanel(m_model, testNgPanel, testPanel, groupPanel, timePanel, reporterPanel,
- ignoredMethodsPanel, chronologicalPanel)
- .generate(xsb);
+ List<INavigatorPanel> panels = Arrays.<INavigatorPanel>asList(
+ new TestNgXmlPanel(m_model),
+ new TestPanel(m_model),
+ new GroupPanel(m_model),
+ new TimesPanel(m_model),
+ new ReporterPanel(m_model),
+ new IgnoredMethodsPanel(m_model),
+ new ChronologicalPanel(m_model));
+ new NavigatorPanel(m_model, panels).generate(xsb);
xsb.push(D, C, "wrapper");
xsb.push(D, "class", "main-panel-root");
@@ -55,13 +55,9 @@
// Suite panels
//
new SuitePanel(m_model).generate(xsb);
- groupPanel.generate(xsb);
- reporterPanel.generate(xsb);
- timePanel.generate(xsb);
- testPanel.generate(xsb);
- testNgPanel.generate(xsb);
- ignoredMethodsPanel.generate(xsb);
- chronologicalPanel.generate(xsb);
+ for (INavigatorPanel panel : panels) {
+ panel.generate(xsb);
+ }
xsb.pop(D); // main-panel-root
xsb.pop(D); // wrapper
diff --git a/src/main/java/org/testng/reporters/jq/NavigatorPanel.java b/src/main/java/org/testng/reporters/jq/NavigatorPanel.java
index d58b33e..75cdc1c 100644
--- a/src/main/java/org/testng/reporters/jq/NavigatorPanel.java
+++ b/src/main/java/org/testng/reporters/jq/NavigatorPanel.java
@@ -13,25 +13,11 @@
public class NavigatorPanel extends BasePanel {
- private TestNgXmlPanel m_testNgPanel;
- private TestPanel m_testPanel;
- private GroupPanel m_groupPanel;
- private TimesPanel m_timePanel;
- private ReporterPanel m_reporterPanel;
- private IgnoredMethodsPanel m_ignoredMethodsPanel;
- private ChronologicalPanel m_chronologicalPanel;
+ private List<INavigatorPanel> m_panels;
- public NavigatorPanel(Model model, TestNgXmlPanel testNgPanel, TestPanel testPanel,
- GroupPanel groupPanel, TimesPanel timePanel, ReporterPanel reporterPanel,
- IgnoredMethodsPanel ignoredMethodsPanel,ChronologicalPanel chronologicalPanel) {
+ public NavigatorPanel(Model model, List<INavigatorPanel> panels) {
super(model);
- m_testNgPanel = testNgPanel;
- m_testPanel = testPanel;
- m_groupPanel = groupPanel;
- m_timePanel = timePanel;
- m_reporterPanel = reporterPanel;
- m_ignoredMethodsPanel = ignoredMethodsPanel;
- m_chronologicalPanel = chronologicalPanel;
+ m_panels = panels;
}
@Override
@@ -141,33 +127,14 @@
header.addRequired(S, "Info");
header.pop(D);
- //
- // Info
- //
header.push(D, C, "suite-section-content");
header.push("ul");
- // "59 Tests"
- addLinkTo(header, m_testPanel, suite);
-
- // "12 groups"
- addLinkTo(header, m_groupPanel, suite);
-
- // Times
- addLinkTo(header, m_timePanel, suite);
-
- // Reporter
- addLinkTo(header, m_reporterPanel, suite);
-
- // Chronological
- addLinkTo(header, m_chronologicalPanel, suite);
-
- // Ignored methods
- addLinkTo(header, m_ignoredMethodsPanel, suite);
-
- // "testng.xml"
- addLinkTo(header, m_testNgPanel, suite);
+ // All the panels
+ for (INavigatorPanel panel : m_panels) {
+ addLinkTo(header, panel, suite);
+ }
header.pop("ul");
header.pop(D); // suite-section-content