Advertisement
Guest User

Untitled

a guest
Jan 14th, 2022
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.91 KB | None | 0 0
  1. public class SetupTeardownIncluder {
  2.   private PageData pageData;
  3.   private boolean isSuite;
  4.   private WikiPage testPage;
  5.   private StringBuffer newPageContent;
  6.   private PageCrawler pageCrawler;
  7.  
  8.  
  9.   public static String render(PageData pageData) throws Exception {
  10.     return render(pageData, false);
  11.   }
  12.  
  13.   public static String render(PageData pageData, boolean isSuite)
  14.     throws Exception {
  15.     return new SetupTeardownIncluder(pageData).render(isSuite);
  16.   }
  17.  
  18.   private SetupTeardownIncluder(PageData pageData) {
  19.     this.pageData = pageData;
  20.     testPage = pageData.getWikiPage();
  21.     pageCrawler = testPage.getPageCrawler();
  22.     newPageContent = new StringBuffer();
  23.   }
  24.  
  25.   private String render(boolean isSuite) throws Exception {
  26.      this.isSuite = isSuite;
  27.     if (isTestPage())
  28.       includeSetupAndTeardownPages();
  29.     return pageData.getHtml();
  30.   }
  31.  
  32.   private boolean isTestPage() throws Exception {
  33.     return pageData.hasAttribute("Test");
  34.   }
  35.  
  36.   private void includeSetupAndTeardownPages() throws Exception {
  37.     includeSetupPages();
  38.     includePageContent();
  39.     includeTeardownPages();
  40.     updatePageContent();
  41.   }
  42.  
  43.  
  44.   private void includeSetupPages() throws Exception {
  45.     if (isSuite)
  46.       includeSuiteSetupPage();
  47.     includeSetupPage();
  48.   }
  49.  
  50.   private void includeSuiteSetupPage() throws Exception {
  51.     include(SuiteResponder.SUITE_SETUP_NAME, "-setup");
  52.   }
  53.  
  54.   private void includeSetupPage() throws Exception {
  55.     include("SetUp", "-setup");
  56.   }
  57.  
  58.   private void includePageContent() throws Exception {
  59.     newPageContent.append(pageData.getContent());
  60.   }
  61.  
  62.   private void includeTeardownPages() throws Exception {
  63.     includeTeardownPage();
  64.     if (isSuite)
  65.       includeSuiteTeardownPage();
  66.   }
  67.  
  68.   private void includeTeardownPage() throws Exception {
  69.     include("TearDown", "-teardown");
  70.   }
  71.  
  72.   private void includeSuiteTeardownPage() throws Exception {
  73.     include(SuiteResponder.SUITE_TEARDOWN_NAME, "-teardown");
  74.   }
  75.  
  76.   private void updatePageContent() throws Exception {
  77.     pageData.setContent(newPageContent.toString());
  78.   }
  79.  
  80.   private void include(String pageName, String arg) throws Exception {
  81.     WikiPage inheritedPage = findInheritedPage(pageName);
  82.     if (inheritedPage != null) {
  83.       String pagePathName = getPathNameForPage(inheritedPage);
  84.       buildIncludeDirective(pagePathName, arg);
  85.     }
  86.   }
  87.  
  88.   private WikiPage findInheritedPage(String pageName) throws Exception {
  89.     return PageCrawlerImpl.getInheritedPage(pageName, testPage);
  90.   }
  91.  
  92.   private String getPathNameForPage(WikiPage page) throws Exception {
  93.     WikiPagePath pagePath = pageCrawler.getFullPath(page);
  94.     return PathParser.render(pagePath);
  95.   }
  96.  
  97.   private void buildIncludeDirective(String pagePathName, String arg) {
  98.     newPageContent
  99.       .append("\n!include ")
  100.       .append(arg)
  101.       .append(" .")
  102.       .append(pagePathName)
  103.       .append("\n");
  104.   }
  105. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement