PageRenderTime 27ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/modules/apps/wiki/wiki-test/src/testIntegration/java/com/liferay/wiki/trash/test/WikiPageDependentsTrashHandlerTest.java

http://github.com/liferay/liferay-portal
Java | 1137 lines | 863 code | 258 blank | 16 comment | 0 complexity | e94d53d7ed234296828d4479b193c42d MD5 | raw file
Possible License(s): LGPL-2.0
  1. /**
  2. * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
  3. *
  4. * This library is free software; you can redistribute it and/or modify it under
  5. * the terms of the GNU Lesser General Public License as published by the Free
  6. * Software Foundation; either version 2.1 of the License, or (at your option)
  7. * any later version.
  8. *
  9. * This library is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  11. * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
  12. * details.
  13. */
  14. package com.liferay.wiki.trash.test;
  15. import com.liferay.arquillian.extension.junit.bridge.junit.Arquillian;
  16. import com.liferay.petra.string.StringPool;
  17. import com.liferay.portal.kernel.exception.PortalException;
  18. import com.liferay.portal.kernel.model.Group;
  19. import com.liferay.portal.kernel.service.ServiceContext;
  20. import com.liferay.portal.kernel.test.rule.AggregateTestRule;
  21. import com.liferay.portal.kernel.test.rule.DeleteAfterTestRun;
  22. import com.liferay.portal.kernel.test.util.GroupTestUtil;
  23. import com.liferay.portal.kernel.test.util.RandomTestUtil;
  24. import com.liferay.portal.kernel.test.util.ServiceContextTestUtil;
  25. import com.liferay.portal.kernel.test.util.TestPropsValues;
  26. import com.liferay.portal.kernel.test.util.UserTestUtil;
  27. import com.liferay.portal.kernel.trash.TrashHandler;
  28. import com.liferay.portal.kernel.trash.TrashHandlerRegistryUtil;
  29. import com.liferay.portal.test.rule.LiferayIntegrationTestRule;
  30. import com.liferay.trash.service.TrashEntryLocalServiceUtil;
  31. import com.liferay.trash.service.TrashVersionLocalServiceUtil;
  32. import com.liferay.wiki.model.WikiNode;
  33. import com.liferay.wiki.model.WikiPage;
  34. import com.liferay.wiki.model.WikiPageResource;
  35. import com.liferay.wiki.service.WikiPageLocalServiceUtil;
  36. import com.liferay.wiki.service.WikiPageResourceLocalServiceUtil;
  37. import com.liferay.wiki.test.util.WikiPageTrashHandlerTestUtil;
  38. import com.liferay.wiki.test.util.WikiTestUtil;
  39. import org.junit.Assert;
  40. import org.junit.Before;
  41. import org.junit.ClassRule;
  42. import org.junit.Rule;
  43. import org.junit.Test;
  44. import org.junit.runner.RunWith;
  45. /**
  46. * @author Roberto Díaz
  47. */
  48. @RunWith(Arquillian.class)
  49. public class WikiPageDependentsTrashHandlerTest {
  50. @ClassRule
  51. @Rule
  52. public static final AggregateTestRule aggregateTestRule =
  53. new LiferayIntegrationTestRule();
  54. @Before
  55. public void setUp() throws Exception {
  56. UserTestUtil.setUser(TestPropsValues.getUser());
  57. _group = GroupTestUtil.addGroup();
  58. _node = WikiTestUtil.addNode(_group.getGroupId());
  59. }
  60. @Test
  61. public void testAddPageWithSameTitleAsImplicitlyDeletedPageVersion()
  62. throws Exception {
  63. RelatedPages relatedPages = buildRelatedPages();
  64. WikiPage childPage = relatedPages.getChildPage();
  65. String childPageOriginalTitle = childPage.getTitle();
  66. movePageToTrash(relatedPages.getPage());
  67. childPage = WikiPageLocalServiceUtil.getPage(
  68. relatedPages.getChildPageResourcePrimKey());
  69. Assert.assertNotEquals(childPageOriginalTitle, childPage.getTitle());
  70. WikiPage newPage = WikiTestUtil.addPage(
  71. TestPropsValues.getUserId(), _group.getGroupId(), _node.getNodeId(),
  72. childPageOriginalTitle, true);
  73. Assert.assertNotNull(newPage);
  74. }
  75. @Test
  76. public void testMoveExplicitlyChildPageAndParentPageWithRedirectorPageToTrash()
  77. throws Exception {
  78. RelatedPages relatedPages = buildRelatedPages();
  79. movePageToTrash(relatedPages.getChildPage());
  80. movePageToTrash(relatedPages.getRedirectorPage());
  81. movePageToTrash(relatedPages.getPage());
  82. WikiPage page = WikiPageLocalServiceUtil.getPage(
  83. relatedPages.getPageResourcePrimKey());
  84. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  85. relatedPages.getChildPageResourcePrimKey());
  86. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  87. relatedPages.getRedirectorPageResourcePrimKey());
  88. Assert.assertTrue(page.isInTrashExplicitly());
  89. Assert.assertTrue(childPage.isInTrashExplicitly());
  90. Assert.assertTrue(redirectorPage.isInTrashExplicitly());
  91. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  92. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  93. }
  94. @Test
  95. public void testMoveExplicitlyChildPageWithChildPageAndParentPageToTrash()
  96. throws Exception {
  97. int initialBaseModelsCount =
  98. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node);
  99. int initialTrashEntriesCount =
  100. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId());
  101. RelatedPages relatedPages = buildRelatedPages();
  102. movePageToTrash(relatedPages.getChildPage());
  103. movePageToTrash(relatedPages.getPage());
  104. WikiPage page = WikiPageLocalServiceUtil.getPage(
  105. relatedPages.getPageResourcePrimKey());
  106. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  107. relatedPages.getChildPageResourcePrimKey());
  108. WikiPage grandchildPage = WikiPageLocalServiceUtil.getPage(
  109. relatedPages.getGrandchildPageResourcePrimKey());
  110. Assert.assertTrue(page.isInTrashExplicitly());
  111. Assert.assertTrue(childPage.isInTrashExplicitly());
  112. Assert.assertTrue(grandchildPage.isInTrashImplicitly());
  113. Assert.assertEquals(
  114. childPage.getTitle(), grandchildPage.getParentTitle());
  115. Assert.assertEquals(
  116. initialBaseModelsCount + 1,
  117. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node));
  118. Assert.assertEquals(
  119. initialTrashEntriesCount + 2,
  120. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId()));
  121. }
  122. @Test
  123. public void testMoveExplicitlyChildPageWithChildPageToTrash()
  124. throws Exception {
  125. int initialBaseModelsCount =
  126. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node);
  127. int initialTrashEntriesCount =
  128. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId());
  129. RelatedPages relatedPages = buildRelatedPages();
  130. movePageToTrash(relatedPages.getChildPage());
  131. WikiPage page = WikiPageLocalServiceUtil.getPage(
  132. relatedPages.getPageResourcePrimKey());
  133. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  134. relatedPages.getChildPageResourcePrimKey());
  135. WikiPage grandchildPage = WikiPageLocalServiceUtil.getPage(
  136. relatedPages.getGrandchildPageResourcePrimKey());
  137. Assert.assertFalse(page.isInTrash());
  138. Assert.assertTrue(childPage.isInTrashExplicitly());
  139. Assert.assertTrue(grandchildPage.isInTrashImplicitly());
  140. Assert.assertEquals(
  141. childPage.getTitle(), grandchildPage.getParentTitle());
  142. Assert.assertEquals(
  143. initialBaseModelsCount + 3,
  144. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node));
  145. Assert.assertEquals(
  146. initialTrashEntriesCount + 1,
  147. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId()));
  148. }
  149. @Test
  150. public void testMoveExplicitlyPageAndRedirectorPageToTrash()
  151. throws Exception {
  152. RelatedPages relatedPages = buildRelatedPages();
  153. movePageToTrash(relatedPages.getRedirectorPage());
  154. movePageToTrash(relatedPages.getPage());
  155. WikiPage page = WikiPageLocalServiceUtil.getPage(
  156. relatedPages.getPageResourcePrimKey());
  157. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  158. relatedPages.getRedirectorPageResourcePrimKey());
  159. Assert.assertTrue(page.isInTrashExplicitly());
  160. Assert.assertTrue(redirectorPage.isInTrashExplicitly());
  161. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  162. }
  163. @Test
  164. public void testMoveExplicitlyParentPageAndChildPageAndRedirectorPageToTrash()
  165. throws Exception {
  166. RelatedPages relatedPages = buildRelatedPages();
  167. movePageToTrash(relatedPages.getChildPage());
  168. movePageToTrash(relatedPages.getPage());
  169. WikiPage page = WikiPageLocalServiceUtil.getPage(
  170. relatedPages.getPageResourcePrimKey());
  171. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  172. relatedPages.getChildPageResourcePrimKey());
  173. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  174. relatedPages.getRedirectorPageResourcePrimKey());
  175. Assert.assertTrue(page.isInTrashExplicitly());
  176. Assert.assertTrue(childPage.isInTrashExplicitly());
  177. Assert.assertTrue(redirectorPage.isInTrashImplicitly());
  178. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  179. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  180. }
  181. @Test
  182. public void testMoveExplicitlyParentPageAndChildPagePageWithChildToTrash()
  183. throws Exception {
  184. int initialBaseModelsCount =
  185. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node);
  186. int initialTrashEntriesCount =
  187. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId());
  188. RelatedPages relatedPages = buildRelatedPages();
  189. movePageToTrash(relatedPages.getPage());
  190. WikiPage page = WikiPageLocalServiceUtil.getPage(
  191. relatedPages.getPageResourcePrimKey());
  192. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  193. relatedPages.getChildPageResourcePrimKey());
  194. WikiPage grandchildPage = WikiPageLocalServiceUtil.getPage(
  195. relatedPages.getGrandchildPageResourcePrimKey());
  196. Assert.assertTrue(page.isInTrashExplicitly());
  197. Assert.assertTrue(childPage.isInTrashImplicitly());
  198. Assert.assertTrue(grandchildPage.isInTrashImplicitly());
  199. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  200. Assert.assertEquals(
  201. childPage.getTitle(), grandchildPage.getParentTitle());
  202. Assert.assertEquals(
  203. initialBaseModelsCount + 1,
  204. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node));
  205. Assert.assertEquals(
  206. initialTrashEntriesCount + 1,
  207. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId()));
  208. }
  209. @Test
  210. public void testMoveExplicitlyParentPageAndChildPageToTrash()
  211. throws Exception {
  212. RelatedPages relatedPages = buildRelatedPages();
  213. movePageToTrash(relatedPages.getChildPage());
  214. movePageToTrash(relatedPages.getPage());
  215. WikiPage page = WikiPageLocalServiceUtil.getPage(
  216. relatedPages.getPageResourcePrimKey());
  217. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  218. relatedPages.getChildPageResourcePrimKey());
  219. Assert.assertTrue(page.isInTrashExplicitly());
  220. Assert.assertTrue(childPage.isInTrashExplicitly());
  221. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  222. }
  223. @Test
  224. public void testMoveExplicitlyParentPageAndRedirectorPageToTrash()
  225. throws Exception {
  226. RelatedPages relatedPages = buildRelatedPages();
  227. movePageToTrash(relatedPages.getRedirectorPage());
  228. movePageToTrash(relatedPages.getPage());
  229. WikiPage page = WikiPageLocalServiceUtil.getPage(
  230. relatedPages.getPageResourcePrimKey());
  231. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  232. relatedPages.getChildPageResourcePrimKey());
  233. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  234. relatedPages.getRedirectorPageResourcePrimKey());
  235. Assert.assertTrue(childPage.isInTrashImplicitly());
  236. Assert.assertTrue(redirectorPage.isInTrashExplicitly());
  237. Assert.assertTrue(page.isInTrashExplicitly());
  238. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  239. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  240. }
  241. @Test
  242. public void testMoveInitialParentPageToTrash() throws Exception {
  243. int initialBaseModelsCount =
  244. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node);
  245. int initialTrashEntriesCount =
  246. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId());
  247. RelatedPages relatedPages = buildRelatedPages();
  248. WikiPage parentPage = relatedPages.getParentPage();
  249. WikiPage page = relatedPages.getPage();
  250. WikiPage newParentPage = WikiTestUtil.addPage(
  251. TestPropsValues.getUserId(), _group.getGroupId(), _node.getNodeId(),
  252. RandomTestUtil.randomString(), true);
  253. WikiPageLocalServiceUtil.changeParent(
  254. TestPropsValues.getUserId(), _node.getNodeId(), page.getTitle(),
  255. newParentPage.getTitle(),
  256. ServiceContextTestUtil.getServiceContext(_group.getGroupId()));
  257. movePageToTrash(parentPage);
  258. newParentPage = WikiPageLocalServiceUtil.getPage(
  259. newParentPage.getResourcePrimKey());
  260. page = WikiPageLocalServiceUtil.getPage(
  261. relatedPages.getPageResourcePrimKey());
  262. parentPage = WikiPageLocalServiceUtil.getPage(
  263. parentPage.getResourcePrimKey());
  264. Assert.assertFalse(page.isInTrash());
  265. Assert.assertFalse(newParentPage.isInTrash());
  266. Assert.assertTrue(parentPage.isInTrashExplicitly());
  267. Assert.assertEquals(page.getParentTitle(), newParentPage.getTitle());
  268. Assert.assertEquals(newParentPage.getTitle(), page.getParentTitle());
  269. Assert.assertEquals(
  270. initialBaseModelsCount + 5,
  271. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node));
  272. Assert.assertEquals(
  273. initialTrashEntriesCount + 1,
  274. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId()));
  275. }
  276. @Test
  277. public void testMovePageWithRedirectorPageToTrash() throws Exception {
  278. RelatedPages relatedPages = buildRelatedPages();
  279. movePageToTrash(relatedPages.getPage());
  280. WikiPage page = WikiPageLocalServiceUtil.getPage(
  281. relatedPages.getPageResourcePrimKey());
  282. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  283. relatedPages.getRedirectorPageResourcePrimKey());
  284. Assert.assertTrue(page.isInTrashExplicitly());
  285. Assert.assertTrue(redirectorPage.isInTrashImplicitly());
  286. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  287. }
  288. @Test
  289. public void testMoveParentPageToTrash() throws Exception {
  290. RelatedPages relatedPages = buildRelatedPages();
  291. movePageToTrash(relatedPages.getPage());
  292. WikiPage page = WikiPageLocalServiceUtil.getPage(
  293. relatedPages.getPageResourcePrimKey());
  294. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  295. relatedPages.getChildPageResourcePrimKey());
  296. Assert.assertTrue(page.isInTrashExplicitly());
  297. Assert.assertTrue(childPage.isInTrashImplicitly());
  298. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  299. }
  300. @Test
  301. public void testMoveParentPageWithRedirectorPageToTrash() throws Exception {
  302. RelatedPages relatedPages = buildRelatedPages();
  303. movePageToTrash(relatedPages.getPage());
  304. WikiPage page = WikiPageLocalServiceUtil.getPage(
  305. relatedPages.getPageResourcePrimKey());
  306. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  307. relatedPages.getChildPageResourcePrimKey());
  308. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  309. relatedPages.getRedirectorPageResourcePrimKey());
  310. WikiPage childRedirectorPage = WikiPageLocalServiceUtil.getPage(
  311. relatedPages.getChildRedirectorPageResourcePrimKey());
  312. Assert.assertTrue(page.isInTrashExplicitly());
  313. Assert.assertTrue(childPage.isInTrashImplicitly());
  314. Assert.assertTrue(redirectorPage.isInTrashImplicitly());
  315. Assert.assertTrue(childRedirectorPage.isInTrashImplicitly());
  316. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  317. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  318. Assert.assertEquals(
  319. page.getTitle(), childRedirectorPage.getParentTitle());
  320. Assert.assertEquals(
  321. childPage.getTitle(), childRedirectorPage.getRedirectTitle());
  322. }
  323. @Test
  324. public void testMoveRedirectorPageToTrash() throws Exception {
  325. int initialBaseModelsCount =
  326. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node);
  327. int initialTrashEntriesCount =
  328. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId());
  329. RelatedPages relatedPages = buildRelatedPages();
  330. movePageToTrash(relatedPages.getRedirectorPage());
  331. WikiPage page = WikiPageLocalServiceUtil.getPage(
  332. relatedPages.getPageResourcePrimKey());
  333. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  334. relatedPages.getChildPageResourcePrimKey());
  335. WikiPage grandchildPage = WikiPageLocalServiceUtil.getPage(
  336. relatedPages.getGrandchildPageResourcePrimKey());
  337. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  338. relatedPages.getRedirectorPageResourcePrimKey());
  339. Assert.assertFalse(childPage.isInTrash());
  340. Assert.assertFalse(page.isInTrash());
  341. Assert.assertFalse(grandchildPage.isInTrash());
  342. Assert.assertTrue(redirectorPage.isInTrashExplicitly());
  343. Assert.assertEquals(
  344. childPage.getTitle(), grandchildPage.getParentTitle());
  345. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  346. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  347. Assert.assertEquals(
  348. initialTrashEntriesCount + 1,
  349. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId()));
  350. Assert.assertEquals(
  351. initialBaseModelsCount + 5,
  352. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node));
  353. }
  354. @Test
  355. public void testRestoreExplicitlyTrashedChildPageAndParentPageWithRedirectorPageFromTrash()
  356. throws Exception {
  357. RelatedPages relatedPages = buildRelatedPages();
  358. movePageToTrash(relatedPages.getChildPage());
  359. movePageToTrash(relatedPages.getPage());
  360. restoreFromTrash(relatedPages.getPage());
  361. restoreFromTrash(relatedPages.getChildPage());
  362. WikiPage page = WikiPageLocalServiceUtil.getPage(
  363. relatedPages.getPageResourcePrimKey());
  364. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  365. relatedPages.getChildPageResourcePrimKey());
  366. Assert.assertFalse(childPage.isInTrash());
  367. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  368. }
  369. @Test
  370. public void testRestoreExplicitlyTrashedChildPageWithChildPageFromTrash()
  371. throws Exception {
  372. int initialBaseModelsCount =
  373. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node);
  374. int initialTrashEntriesCount =
  375. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId());
  376. RelatedPages relatedPages = buildRelatedPages();
  377. movePageToTrash(relatedPages.getChildPage());
  378. restoreFromTrash(relatedPages.getChildPage());
  379. WikiPage page = WikiPageLocalServiceUtil.getPage(
  380. relatedPages.getPageResourcePrimKey());
  381. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  382. relatedPages.getChildPageResourcePrimKey());
  383. WikiPage grandchildPage = WikiPageLocalServiceUtil.getPage(
  384. relatedPages.getGrandchildPageResourcePrimKey());
  385. Assert.assertFalse(page.isInTrash());
  386. Assert.assertFalse(childPage.isInTrash());
  387. Assert.assertFalse(grandchildPage.isInTrash());
  388. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  389. Assert.assertEquals(
  390. childPage.getTitle(), grandchildPage.getParentTitle());
  391. Assert.assertEquals(
  392. initialTrashEntriesCount,
  393. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId()));
  394. Assert.assertEquals(
  395. initialBaseModelsCount + 6,
  396. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node));
  397. }
  398. @Test
  399. public void testRestoreExplicitlyTrashedChildPageWithTrashedParentFromTrash()
  400. throws Exception {
  401. int initialBaseModelsCount =
  402. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node);
  403. int initialTrashEntriesCount =
  404. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId());
  405. RelatedPages relatedPages = buildRelatedPages();
  406. movePageToTrash(relatedPages.getChildPage());
  407. movePageToTrash(relatedPages.getPage());
  408. restoreFromTrash(relatedPages.getChildPage());
  409. WikiPage page = WikiPageLocalServiceUtil.getPage(
  410. relatedPages.getPageResourcePrimKey());
  411. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  412. relatedPages.getChildPageResourcePrimKey());
  413. WikiPage grandchildPage = WikiPageLocalServiceUtil.getPage(
  414. relatedPages.getGrandchildPageResourcePrimKey());
  415. Assert.assertTrue(page.isInTrashExplicitly());
  416. Assert.assertFalse(childPage.isInTrash());
  417. Assert.assertFalse(grandchildPage.isInTrash());
  418. Assert.assertEquals(StringPool.BLANK, childPage.getParentTitle());
  419. Assert.assertEquals(
  420. childPage.getTitle(), grandchildPage.getParentTitle());
  421. Assert.assertEquals(
  422. initialBaseModelsCount + 4,
  423. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node));
  424. Assert.assertEquals(
  425. initialTrashEntriesCount + 1,
  426. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId()));
  427. }
  428. @Test
  429. public void testRestoreExplicitlyTrashedPageWithRedirectorPageFromTrash()
  430. throws Exception {
  431. RelatedPages relatedPages = buildRelatedPages();
  432. movePageToTrash(relatedPages.getRedirectorPage());
  433. movePageToTrash(relatedPages.getPage());
  434. restoreFromTrash(relatedPages.getPage());
  435. WikiPage page = WikiPageLocalServiceUtil.getPage(
  436. relatedPages.getPageResourcePrimKey());
  437. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  438. relatedPages.getRedirectorPageResourcePrimKey());
  439. Assert.assertFalse(page.isInTrash());
  440. Assert.assertTrue(redirectorPage.isInTrashExplicitly());
  441. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  442. }
  443. @Test
  444. public void testRestoreExplicitlyTrashedParentPageAndChildPageAndRedirectorPageFromTrash()
  445. throws Exception {
  446. RelatedPages relatedPages = buildRelatedPages();
  447. movePageToTrash(relatedPages.getChildPage());
  448. movePageToTrash(relatedPages.getRedirectorPage());
  449. movePageToTrash(relatedPages.getPage());
  450. restoreFromTrash(relatedPages.getPage());
  451. restoreFromTrash(relatedPages.getChildPage());
  452. restoreFromTrash(relatedPages.getRedirectorPage());
  453. WikiPage page = WikiPageLocalServiceUtil.getPage(
  454. relatedPages.getPageResourcePrimKey());
  455. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  456. relatedPages.getChildPageResourcePrimKey());
  457. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  458. relatedPages.getRedirectorPageResourcePrimKey());
  459. Assert.assertFalse(childPage.isInTrash());
  460. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  461. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  462. }
  463. @Test
  464. public void testRestoreExplicitlyTrashedParentPageAndChildPageFromTrash()
  465. throws Exception {
  466. RelatedPages relatedPages = buildRelatedPages();
  467. movePageToTrash(relatedPages.getChildPage());
  468. movePageToTrash(relatedPages.getPage());
  469. restoreFromTrash(relatedPages.getPage());
  470. restoreFromTrash(relatedPages.getChildPage());
  471. WikiPage page = WikiPageLocalServiceUtil.getPage(
  472. relatedPages.getPageResourcePrimKey());
  473. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  474. relatedPages.getChildPageResourcePrimKey());
  475. Assert.assertFalse(childPage.isInTrash());
  476. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  477. }
  478. @Test
  479. public void testRestoreExplicitlyTrashedParentPageAndRedirectorFromTrash()
  480. throws Exception {
  481. RelatedPages relatedPages = buildRelatedPages();
  482. movePageToTrash(relatedPages.getRedirectorPage());
  483. movePageToTrash(relatedPages.getPage());
  484. restoreFromTrash(relatedPages.getPage());
  485. restoreFromTrash(relatedPages.getRedirectorPage());
  486. WikiPage page = WikiPageLocalServiceUtil.getPage(
  487. relatedPages.getPageResourcePrimKey());
  488. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  489. relatedPages.getRedirectorPageResourcePrimKey());
  490. Assert.assertFalse(redirectorPage.isInTrash());
  491. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  492. }
  493. @Test
  494. public void testRestoreExplicitlyTrashedParentPageFromTrash()
  495. throws Exception {
  496. RelatedPages relatedPages = buildRelatedPages();
  497. movePageToTrash(relatedPages.getPage());
  498. restoreFromTrash(relatedPages.getPage());
  499. WikiPage page = WikiPageLocalServiceUtil.getPage(
  500. relatedPages.getPageResourcePrimKey());
  501. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  502. relatedPages.getChildPageResourcePrimKey());
  503. Assert.assertFalse(childPage.isInTrash());
  504. Assert.assertFalse(page.isInTrash());
  505. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  506. }
  507. @Test
  508. public void testRestoreExplicitlyTrashedParentPageWitExplicitlyTrashedChildPageFromTrash()
  509. throws Exception {
  510. RelatedPages relatedPages = buildRelatedPages();
  511. movePageToTrash(relatedPages.getChildPage());
  512. movePageToTrash(relatedPages.getPage());
  513. restoreFromTrash(relatedPages.getPage());
  514. WikiPage page = WikiPageLocalServiceUtil.getPage(
  515. relatedPages.getPageResourcePrimKey());
  516. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  517. relatedPages.getChildPageResourcePrimKey());
  518. Assert.assertFalse(page.isInTrash());
  519. Assert.assertTrue(childPage.isInTrashExplicitly());
  520. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  521. }
  522. @Test
  523. public void testRestoreExplicitlyTrashedParentPageWithChildPageAndgrandchildPageFromTrash()
  524. throws Exception {
  525. int initialBaseModelsCount =
  526. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node);
  527. int initialTrashEntriesCount =
  528. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId());
  529. RelatedPages relatedPages = buildRelatedPages();
  530. movePageToTrash(relatedPages.getPage());
  531. restoreFromTrash(relatedPages.getPage());
  532. WikiPage page = WikiPageLocalServiceUtil.getPage(
  533. relatedPages.getPageResourcePrimKey());
  534. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  535. relatedPages.getChildPageResourcePrimKey());
  536. WikiPage grandchildPage = WikiPageLocalServiceUtil.getPage(
  537. relatedPages.getGrandchildPageResourcePrimKey());
  538. Assert.assertFalse(page.isInTrash());
  539. Assert.assertFalse(childPage.isInTrash());
  540. Assert.assertFalse(grandchildPage.isInTrash());
  541. Assert.assertEquals(
  542. childPage.getTitle(), grandchildPage.getParentTitle());
  543. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  544. Assert.assertEquals(
  545. initialTrashEntriesCount,
  546. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId()));
  547. Assert.assertEquals(
  548. initialBaseModelsCount + 6,
  549. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node));
  550. }
  551. @Test
  552. public void testRestoreExplicitlyTrashedParentPageWithRedirectorPageFromTrash()
  553. throws Exception {
  554. RelatedPages relatedPages = buildRelatedPages();
  555. movePageToTrash(relatedPages.getRedirectorPage());
  556. movePageToTrash(relatedPages.getPage());
  557. restoreFromTrash(relatedPages.getPage());
  558. WikiPage page = WikiPageLocalServiceUtil.getPage(
  559. relatedPages.getPageResourcePrimKey());
  560. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  561. relatedPages.getChildPageResourcePrimKey());
  562. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  563. relatedPages.getRedirectorPageResourcePrimKey());
  564. Assert.assertFalse(page.isInTrash());
  565. Assert.assertFalse(childPage.isInTrash());
  566. Assert.assertTrue(redirectorPage.isInTrashExplicitly());
  567. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  568. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  569. restoreFromTrash(relatedPages.getRedirectorPage());
  570. redirectorPage = WikiPageLocalServiceUtil.getPage(
  571. relatedPages.getRedirectorPageResourcePrimKey());
  572. Assert.assertFalse(redirectorPage.isInTrash());
  573. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  574. }
  575. @Test
  576. public void testRestoreExplicitlyTrashedParentPageWithRedirectorPageToTrash()
  577. throws Exception {
  578. RelatedPages relatedPages = buildRelatedPages();
  579. movePageToTrash(relatedPages.getChildPage());
  580. movePageToTrash(relatedPages.getRedirectorPage());
  581. movePageToTrash(relatedPages.getPage());
  582. restoreFromTrash(relatedPages.getPage());
  583. WikiPage page = WikiPageLocalServiceUtil.getPage(
  584. relatedPages.getPageResourcePrimKey());
  585. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  586. relatedPages.getChildPageResourcePrimKey());
  587. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  588. relatedPages.getRedirectorPageResourcePrimKey());
  589. Assert.assertFalse(page.isInTrash());
  590. Assert.assertTrue(childPage.isInTrashExplicitly());
  591. Assert.assertTrue(redirectorPage.isInTrashExplicitly());
  592. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  593. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  594. }
  595. @Test
  596. public void testRestoreExplicitlyTrashedRedirectorPageWithRestoredPageFromTrash()
  597. throws Exception {
  598. RelatedPages relatedPages = buildRelatedPages();
  599. movePageToTrash(relatedPages.getRedirectorPage());
  600. movePageToTrash(relatedPages.getPage());
  601. restoreFromTrash(relatedPages.getPage());
  602. restoreFromTrash(relatedPages.getRedirectorPage());
  603. WikiPage page = WikiPageLocalServiceUtil.getPage(
  604. relatedPages.getPageResourcePrimKey());
  605. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  606. relatedPages.getRedirectorPageResourcePrimKey());
  607. Assert.assertFalse(redirectorPage.isInTrash());
  608. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  609. }
  610. @Test
  611. public void testRestorePageToADifferentNode() throws Exception {
  612. RelatedPages relatedPages = buildRelatedPages();
  613. WikiPageTrashHandlerTestUtil.moveParentBaseModelToTrash(
  614. _node.getNodeId());
  615. WikiNode newNode = WikiTestUtil.addNode(_group.getGroupId());
  616. moveTrashEntry(
  617. relatedPages.getChildPageResourcePrimKey(), newNode.getNodeId());
  618. WikiPage page = WikiPageLocalServiceUtil.getPage(
  619. relatedPages.getPageResourcePrimKey());
  620. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  621. relatedPages.getChildPageResourcePrimKey());
  622. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  623. relatedPages.getRedirectorPageResourcePrimKey());
  624. Assert.assertEquals(_node.getNodeId(), page.getNodeId());
  625. Assert.assertEquals(newNode.getNodeId(), childPage.getNodeId());
  626. Assert.assertEquals(_node.getNodeId(), redirectorPage.getNodeId());
  627. Assert.assertNull(childPage.getParentPage());
  628. WikiPageResource pageResource =
  629. WikiPageResourceLocalServiceUtil.getWikiPageResource(
  630. page.getResourcePrimKey());
  631. WikiPageResource childPageResource =
  632. WikiPageResourceLocalServiceUtil.getWikiPageResource(
  633. childPage.getResourcePrimKey());
  634. WikiPageResource redirectorPageResource =
  635. WikiPageResourceLocalServiceUtil.getWikiPageResource(
  636. redirectorPage.getResourcePrimKey());
  637. Assert.assertEquals(_node.getNodeId(), pageResource.getNodeId());
  638. Assert.assertEquals(newNode.getNodeId(), childPageResource.getNodeId());
  639. Assert.assertEquals(
  640. _node.getNodeId(), redirectorPageResource.getNodeId());
  641. }
  642. @Test
  643. public void testRestorePageToADifferentNodeAndParent() throws Exception {
  644. RelatedPages relatedPages = buildRelatedPages();
  645. WikiPageTrashHandlerTestUtil.moveParentBaseModelToTrash(
  646. _node.getNodeId());
  647. WikiNode newNode = WikiTestUtil.addNode(_group.getGroupId());
  648. WikiPage newParentPage = WikiTestUtil.addPage(
  649. _group.getGroupId(), newNode.getNodeId(), true);
  650. moveTrashEntry(
  651. relatedPages.getChildPageResourcePrimKey(),
  652. newParentPage.getResourcePrimKey());
  653. WikiPage page = WikiPageLocalServiceUtil.getPage(
  654. relatedPages.getPageResourcePrimKey());
  655. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  656. relatedPages.getChildPageResourcePrimKey());
  657. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  658. relatedPages.getRedirectorPageResourcePrimKey());
  659. Assert.assertEquals(_node.getNodeId(), page.getNodeId());
  660. Assert.assertEquals(newNode.getNodeId(), childPage.getNodeId());
  661. Assert.assertEquals(_node.getNodeId(), redirectorPage.getNodeId());
  662. Assert.assertEquals(
  663. newParentPage.getTitle(), childPage.getParentTitle());
  664. }
  665. @Test
  666. public void testRestorePageWithParentPageInTrash() throws Exception {
  667. RelatedPages relatedPages = buildRelatedPages();
  668. movePageToTrash(relatedPages.getParentPage());
  669. WikiPage page = WikiPageLocalServiceUtil.getPage(
  670. relatedPages.getPageResourcePrimKey());
  671. WikiPage newParentPage = WikiTestUtil.addPage(
  672. _group.getGroupId(), _node.getNodeId(), true);
  673. movePage(page, newParentPage);
  674. page = WikiPageLocalServiceUtil.getPage(
  675. relatedPages.getPageResourcePrimKey());
  676. Assert.assertFalse(page.isInTrash());
  677. Assert.assertEquals(newParentPage.getTitle(), page.getParentTitle());
  678. }
  679. @Test
  680. public void testRestoreParentPageWithExplicitlyTrashedRedirectorPageFromTrash()
  681. throws Exception {
  682. RelatedPages relatedPages = buildRelatedPages();
  683. movePageToTrash(relatedPages.getChildPage());
  684. movePageToTrash(relatedPages.getPage());
  685. restoreFromTrash(relatedPages.getPage());
  686. WikiPage page = WikiPageLocalServiceUtil.getPage(
  687. relatedPages.getPageResourcePrimKey());
  688. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  689. relatedPages.getChildPageResourcePrimKey());
  690. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  691. relatedPages.getRedirectorPageResourcePrimKey());
  692. Assert.assertFalse(page.isInTrash());
  693. Assert.assertTrue(childPage.isInTrashExplicitly());
  694. Assert.assertFalse(redirectorPage.isInTrash());
  695. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  696. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  697. }
  698. @Test
  699. public void testRestoreRedirectorPageWithParentPageFromTrash()
  700. throws Exception {
  701. int initialBaseModelsCount =
  702. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node);
  703. int initialTrashEntriesCount =
  704. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId());
  705. RelatedPages relatedPages = buildRelatedPages();
  706. movePageToTrash(relatedPages.getRedirectorPage());
  707. restoreFromTrash(relatedPages.getRedirectorPage());
  708. WikiPage page = WikiPageLocalServiceUtil.getPage(
  709. relatedPages.getPageResourcePrimKey());
  710. WikiPage childPage = WikiPageLocalServiceUtil.getPage(
  711. relatedPages.getChildPageResourcePrimKey());
  712. WikiPage grandchildPage = WikiPageLocalServiceUtil.getPage(
  713. relatedPages.getGrandchildPageResourcePrimKey());
  714. WikiPage redirectorPage = WikiPageLocalServiceUtil.getPage(
  715. relatedPages.getRedirectorPageResourcePrimKey());
  716. Assert.assertFalse(page.isInTrash());
  717. Assert.assertFalse(childPage.isInTrash());
  718. Assert.assertFalse(grandchildPage.isInTrash());
  719. Assert.assertFalse(redirectorPage.isInTrashExplicitly());
  720. Assert.assertEquals(page.getTitle(), childPage.getParentTitle());
  721. Assert.assertEquals(
  722. childPage.getTitle(), grandchildPage.getParentTitle());
  723. Assert.assertEquals(page.getTitle(), redirectorPage.getRedirectTitle());
  724. Assert.assertEquals(
  725. initialTrashEntriesCount,
  726. TrashEntryLocalServiceUtil.getEntriesCount(_group.getGroupId()));
  727. Assert.assertEquals(
  728. initialBaseModelsCount + 6,
  729. WikiPageTrashHandlerTestUtil.getNotInTrashBaseModelsCount(_node));
  730. }
  731. @Test
  732. public void testTrashVersionCreationWhenMovingToTrash() throws Exception {
  733. int initialTrashVersionsCount =
  734. TrashVersionLocalServiceUtil.getTrashVersionsCount();
  735. RelatedPages relatedPages = buildRelatedPages();
  736. movePageToTrash(relatedPages.getPage());
  737. Assert.assertEquals(
  738. initialTrashVersionsCount + 5,
  739. TrashVersionLocalServiceUtil.getTrashVersionsCount());
  740. }
  741. @Test
  742. public void testTrashVersionDeletionWhenRestoringFromTrash()
  743. throws Exception {
  744. int initialTrashVersionsCount =
  745. TrashVersionLocalServiceUtil.getTrashVersionsCount();
  746. RelatedPages relatedPages = buildRelatedPages();
  747. WikiPage page = relatedPages.getPage();
  748. page = WikiPageLocalServiceUtil.movePageToTrash(
  749. TestPropsValues.getUserId(), _node.getNodeId(), page.getTitle());
  750. restoreFromTrash(page);
  751. Assert.assertEquals(
  752. initialTrashVersionsCount,
  753. TrashVersionLocalServiceUtil.getTrashVersionsCount());
  754. }
  755. protected RelatedPages buildRelatedPages() throws Exception {
  756. WikiTestUtil.addPage(
  757. TestPropsValues.getUserId(), _group.getGroupId(), _node.getNodeId(),
  758. _PARENT_PAGE_TITLE, true);
  759. ServiceContext serviceContext =
  760. ServiceContextTestUtil.getServiceContext(_group.getGroupId());
  761. createRedirectorAndRedirectPage(
  762. _PARENT_PAGE_TITLE, _REDIRECTOR_PAGE_TITLE, _PAGE_TITLE,
  763. serviceContext);
  764. createRedirectorAndRedirectPage(
  765. _PAGE_TITLE, _CHILD_REDIRECTOR_PAGE_TITLE, _CHILD_PAGE_TITLE,
  766. serviceContext);
  767. WikiTestUtil.addPage(
  768. TestPropsValues.getUserId(), _node.getNodeId(),
  769. _GRANDCHILD_PAGE_TITLE, RandomTestUtil.randomString(),
  770. _CHILD_PAGE_TITLE, true, serviceContext);
  771. return new RelatedPages(
  772. WikiPageLocalServiceUtil.getPage(
  773. _node.getNodeId(), _PARENT_PAGE_TITLE),
  774. WikiPageLocalServiceUtil.getPage(_node.getNodeId(), _PAGE_TITLE),
  775. WikiPageLocalServiceUtil.getPage(
  776. _node.getNodeId(), _CHILD_PAGE_TITLE),
  777. WikiPageLocalServiceUtil.getPage(
  778. _node.getNodeId(), _GRANDCHILD_PAGE_TITLE),
  779. WikiPageLocalServiceUtil.getPage(
  780. _node.getNodeId(), _REDIRECTOR_PAGE_TITLE),
  781. WikiPageLocalServiceUtil.getPage(
  782. _node.getNodeId(), _CHILD_REDIRECTOR_PAGE_TITLE));
  783. }
  784. protected void createRedirectorAndRedirectPage(
  785. String parentPageTitle, String oldTitle, String newTitle,
  786. ServiceContext serviceContext)
  787. throws Exception {
  788. WikiTestUtil.addPage(
  789. TestPropsValues.getUserId(), _node.getNodeId(), oldTitle,
  790. RandomTestUtil.randomString(), parentPageTitle, true,
  791. serviceContext);
  792. WikiPageLocalServiceUtil.renamePage(
  793. TestPropsValues.getUserId(), _node.getNodeId(), oldTitle, newTitle,
  794. serviceContext);
  795. }
  796. protected void movePage(WikiPage trashedPage, WikiPage newParentPage)
  797. throws PortalException {
  798. TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(
  799. WikiPage.class.getName());
  800. trashHandler.moveEntry(
  801. TestPropsValues.getUserId(), trashedPage.getResourcePrimKey(),
  802. newParentPage.getResourcePrimKey(),
  803. ServiceContextTestUtil.getServiceContext(_group.getGroupId()));
  804. }
  805. protected void movePageToTrash(WikiPage page) throws PortalException {
  806. WikiPageLocalServiceUtil.movePageToTrash(
  807. TestPropsValues.getUserId(), _node.getNodeId(), page.getTitle());
  808. }
  809. protected void moveTrashEntry(long classPK, long newContainerId)
  810. throws Exception {
  811. TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(
  812. WikiPage.class.getName());
  813. trashHandler.moveTrashEntry(
  814. TestPropsValues.getUserId(), classPK, newContainerId,
  815. ServiceContextTestUtil.getServiceContext(_group.getGroupId()));
  816. }
  817. protected void restoreFromTrash(WikiPage page) throws Exception {
  818. TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(
  819. WikiPage.class.getName());
  820. trashHandler.restoreTrashEntry(
  821. TestPropsValues.getUserId(), page.getResourcePrimKey());
  822. }
  823. private static final String _CHILD_PAGE_TITLE = "ChildPage";
  824. private static final String _CHILD_REDIRECTOR_PAGE_TITLE =
  825. "ChildRedirectorPage";
  826. private static final String _GRANDCHILD_PAGE_TITLE = "GrandchildPage";
  827. private static final String _PAGE_TITLE = "Page";
  828. private static final String _PARENT_PAGE_TITLE = "ParentPage";
  829. private static final String _REDIRECTOR_PAGE_TITLE = "RedirectorPage";
  830. @DeleteAfterTestRun
  831. private Group _group;
  832. private WikiNode _node;
  833. private static class RelatedPages {
  834. public RelatedPages(
  835. WikiPage parentPage, WikiPage page, WikiPage childPage,
  836. WikiPage grandchildPage, WikiPage redirectorPage,
  837. WikiPage childRedirectorPage) {
  838. _parentPage = parentPage;
  839. _page = page;
  840. _childPage = childPage;
  841. _grandchildPage = grandchildPage;
  842. _redirectorPage = redirectorPage;
  843. _childRedirectorPage = childRedirectorPage;
  844. }
  845. public WikiPage getChildPage() {
  846. return _childPage;
  847. }
  848. public long getChildPageResourcePrimKey() {
  849. return _childPage.getResourcePrimKey();
  850. }
  851. public long getChildRedirectorPageResourcePrimKey() {
  852. return _childRedirectorPage.getResourcePrimKey();
  853. }
  854. public long getGrandchildPageResourcePrimKey() {
  855. return _grandchildPage.getResourcePrimKey();
  856. }
  857. public WikiPage getPage() {
  858. return _page;
  859. }
  860. public long getPageResourcePrimKey() {
  861. return _page.getResourcePrimKey();
  862. }
  863. public WikiPage getParentPage() {
  864. return _parentPage;
  865. }
  866. public WikiPage getRedirectorPage() {
  867. return _redirectorPage;
  868. }
  869. public long getRedirectorPageResourcePrimKey() {
  870. return _redirectorPage.getResourcePrimKey();
  871. }
  872. private final WikiPage _childPage;
  873. private final WikiPage _childRedirectorPage;
  874. private final WikiPage _grandchildPage;
  875. private final WikiPage _page;
  876. private final WikiPage _parentPage;
  877. private final WikiPage _redirectorPage;
  878. }
  879. }