Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public class SetupTeardownIncluder {
- private PageData pageData;
- private boolean isSuite;
- private WikiPage testPage;
- private StringBuffer newPageContent;
- private PageCrawler pageCrawler;
- public static String render(PageData pageData) throws Exception {
- return render(pageData, false);
- }
- public static String render(PageData pageData, boolean isSuite)
- throws Exception {
- return new SetupTeardownIncluder(pageData).render(isSuite);
- }
- private SetupTeardownIncluder(PageData pageData) {
- this.pageData = pageData;
- testPage = pageData.getWikiPage();
- pageCrawler = testPage.getPageCrawler();
- newPageContent = new StringBuffer();
- }
- private String render(boolean isSuite) throws Exception {
- this.isSuite = isSuite;
- if (isTestPage())
- includeSetupAndTeardownPages();
- return pageData.getHtml();
- }
- private boolean isTestPage() throws Exception {
- return pageData.hasAttribute("Test");
- }
- private void includeSetupAndTeardownPages() throws Exception {
- includeSetupPages();
- includePageContent();
- includeTeardownPages();
- updatePageContent();
- }
- private void includeSetupPages() throws Exception {
- if (isSuite)
- includeSuiteSetupPage();
- includeSetupPage();
- }
- private void includeSuiteSetupPage() throws Exception {
- include(SuiteResponder.SUITE_SETUP_NAME, "-setup");
- }
- private void includeSetupPage() throws Exception {
- include("SetUp", "-setup");
- }
- private void includePageContent() throws Exception {
- newPageContent.append(pageData.getContent());
- }
- private void includeTeardownPages() throws Exception {
- includeTeardownPage();
- if (isSuite)
- includeSuiteTeardownPage();
- }
- private void includeTeardownPage() throws Exception {
- include("TearDown", "-teardown");
- }
- private void includeSuiteTeardownPage() throws Exception {
- include(SuiteResponder.SUITE_TEARDOWN_NAME, "-teardown");
- }
- private void updatePageContent() throws Exception {
- pageData.setContent(newPageContent.toString());
- }
- private void include(String pageName, String arg) throws Exception {
- WikiPage inheritedPage = findInheritedPage(pageName);
- if (inheritedPage != null) {
- String pagePathName = getPathNameForPage(inheritedPage);
- buildIncludeDirective(pagePathName, arg);
- }
- }
- private WikiPage findInheritedPage(String pageName) throws Exception {
- return PageCrawlerImpl.getInheritedPage(pageName, testPage);
- }
- private String getPathNameForPage(WikiPage page) throws Exception {
- WikiPagePath pagePath = pageCrawler.getFullPath(page);
- return PathParser.render(pagePath);
- }
- private void buildIncludeDirective(String pagePathName, String arg) {
- newPageContent
- .append("\n!include ")
- .append(arg)
- .append(" .")
- .append(pagePathName)
- .append("\n");
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement