์ ์๋ ํจ์๋ฅผ ๋ง๋ค ๋ ๊ฐ๋ฅํ๋ฉด ์งง๊ฒ ๋ง๋ค๋ผ๊ณ ์กฐ์ธํ๋ค. ํจ์๋ฅผ ์ดํดํ๊ธฐย ์ฝ๊ฒ ํ๊ณ ย ์๋๋ฅผ ๋ถ๋ช ํ ํ๊ณ ํ๋ก๊ทธ๋จ ๋ด๋ถ๋ฅผ ์ง๊ด์ ์ผ๋ก ํ์ ํ๋ ค๋ฉด ์ด๋ป๊ฒย ํด์ผ ํ๋๊ฐ? ์ ์๋ ๋งค์ฐ ๋จ์ํ ํด๊ฒฐ์ฑ ์ย ์ ์ํ๋ค. ํจ์ย ์ฝ๋๋ฅผย ๊ฐ๋ฅํ ํ ์๊ฒย ๋ง๋๋ ๊ฒ์ด๋ค. 2๊ฐ์ ํจ์๋ฅผ ์๋ก ๋ค์ด๋ณด๊ฒ ๋ค.
์๋ ํจ์๋ ํ์ด์ง๋ฅผย ๋ ๋๋งํ๊ณ ย ์ค์ ๋ฐ ์ฒญ์ํ๋ ํจ์์ด๋ค.
ํจ์ 1
public static String renderPageWithSetupAndTeardowns(
PageData pageData, boolean isSuite
) throws Exception {
boolean isTestPage = pageData.hasAttribute("Test");
if (isTestPage) {
WikiPage testPage = pageData.getWikiPage();
StringBuffer newPageContent = new StringBuffer();
includeSetupPages(testPage, newPageContent, isSuite);
newPageContent.append(pageData.getContent());
includeTeardownPages(testPage, newPageContent, isSuite);
pageData.setContent(newPageContent.toString());
}
return pageData.getHtml();
}
ํจ์2
public static String renderPageWithSetupsAndTeardowns(
PageData pageData, boolean isSuite) throws Exception {
if (isTestPage(pageData))
includeSetupAndTeardownPages(pageData, isSuite);
return pageData.getHtml();
}
์ด๋ค ํจ์๊ฐ ์ง๊ด์ ์ด๊ณ ์ดํดํ๊ธฐ ์ฌ์ด๊ฐ? ํจ์ 1์ ๊ฒฝ์ฐ ๊ฐ๊ฐ์ ๊ฐ์ฒด๊ฐ ๋ฌด์์ ์๋ฏธํ๋์ง ์ดํด ํด์ผ๋์ง๋ง ํจ์ 2์ ๊ฒฝ์ฐ ์กฐ๊ฑด๋ฌธ ํ๋์ ๋ด๋ถ ํจ์ ํ๋ ๊ทธ๋ฆฌ๊ณ ๋ฆฌํด๋ฌธ์์ html ๋ฆฌํดํ๋ ๊ฒ๋ง ์ดํดํ๋ฉด ๋๋ค.
ํจ์๋ ํ ๊ฐ์ง๋ง ํด์ผ๋๋ค. ์ง์ ๋ ํจ์ ์ด๋ฆ ์๋์์ ์ถ์ํ ์์ค์ด ํ๋์ธ ๋จ๊ณ๋ง ์ํํ๋ค๋ฉด ๊ทธ ํจ์๋ ํ๊ฐ์ง ์์ ์ ํ๋ค.
ํจ์์ ์ถ์ํ ์์ค์ด ์์ด๋ฉด ์ดํดํ๊ธฐ ์ด๋ ค์์ง๋ค. ์๋ฅผ ๋ค์ด getHtml()์ ์ถ์ํ ์์ค์ด ์์ฃผ ๋๋ค.
String pagePathName = PathParser.render(pagepath); ์ถ์ํ ์์ค์ด ์ค๊ฐ์ด๋ค. ๊ทธ๋ฆฌ๊ณ .append(โ\nโ)์ ๊ฐ์ ์ฝ๋๋ ์ถ์ํ ์์ค์ด ์์ฃผ ๋ฎ๋ค.
ํ ํจ์ ๋ด์ ์ถ์ํ ์์ค์ ์์ผ๋ฉด ์ฝ๋๋ฅผ ์ฝ๋ ์ฌ๋์ด ํท๊ฐ๋ฆฐ๋ค. ํน์ ํํ์ด ๊ทผ๋ณธ ๊ฐ๋
์ธ์ง ์๋๋ฉด ์ธ๋ถ์ฌํญ์ธ์ง ๊ตฌ๋ถํ๊ธฐ ์ด๋ ค์ด ํ์ด๋ค. ํ์ง๋ง ๋ฌธ์ ๋ ์ด์ ๋๋ก ๊ทธ์น์ง ์๋๋ค. ๊ทผ๋ณธ ๊ฐ๋
๊ณผ ์ธ๋ถ์ฌํญ์ ๋ค์๊ธฐ ์์ํ๋ฉด, ๊นจ์ด์ง ์ฐฝ๋ฌธ์ฒ๋ผ ์ฌ๋๋ค์ด ํจ์์ ์ธ๋ถ์ฌํญ์ ์ ์ ๋ ์ถ๊ฐํ๋ค.
switch๋ฌธ์ ๋ณธ์ง์ ์ผ๋ก n๊ฐ์ง ์ญํ ์ ์ํํ๋ค. ๋ณธ์ง์ ์ผ๋ก switch๋ฌธ์ ํผํ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ค. ํ์ง๋ง ๊ฐ switch๋ฌธ์ ์ ์ฐจ์ ํด๋์ค์ ์จ๊ธฐ๊ณ ์ ๋๋ก ๋ฐ๋ณตํ์ง ์๊ธฐ ์ํด์ ๋คํ์ฑ์ ์ฌ์ฉํ ์ ์๋ค.
ํจ์ ์ธ์๋ ๋๋ถ๋ถ์ ์ผ์ด์ค์์ ๋์ด๋ ์๋ก ์ดํดํ๊ธฐ ์ด๋ ค์์ง๋ค.
๋ง์ฝ์ ์๋์ ๊ฐ์ด ๋ ๊ฐ์ง ํจ์๊ฐ ์ฃผ์ด์ก๋ค๊ณ ํ์
ํจ์ ์ธ์๊ฐ ์์ผ๋ฉด ํจ์ ์ด๋ฆ์ผ๋ก ์ถ์ธกํ๋ฉด ๋์ง๋ง ์ธ์๊ฐ ์ถ๊ฐ๋๋ฉด ํจ์๋ฅผ ํ๋ฒ์ ์ดํดํ๊ธฐ ํ๋ค์ด์ง๋ค.