1
22
23 package com.liferay.portlet.messageboards.model.impl;
24
25 import com.liferay.portal.PortalException;
26 import com.liferay.portal.SystemException;
27 import com.liferay.portal.model.CompanyConstants;
28 import com.liferay.portlet.messageboards.model.MBCategory;
29 import com.liferay.portlet.messageboards.service.MBCategoryLocalServiceUtil;
30
31 import java.util.ArrayList;
32 import java.util.List;
33
34
39 public class MBCategoryImpl extends MBCategoryModelImpl implements MBCategory {
40
41 public static long DEFAULT_PARENT_CATEGORY_ID = 0;
42
43 public MBCategoryImpl() {
44 }
45
46 public List<Long> getAncestorCategoryIds()
47 throws PortalException, SystemException {
48
49 List<Long> ancestorCategoryIds = new ArrayList<Long>();
50
51 MBCategory category = this;
52
53 while (true) {
54 if (!category.isRoot()) {
55 category = MBCategoryLocalServiceUtil.getCategory(
56 category.getParentCategoryId());
57
58 ancestorCategoryIds.add(category.getCategoryId());
59 }
60 else {
61 break;
62 }
63 }
64
65 return ancestorCategoryIds;
66 }
67
68 public List<MBCategory> getAncestors()
69 throws PortalException, SystemException {
70
71 List<MBCategory> ancestors = new ArrayList<MBCategory>();
72
73 MBCategory category = this;
74
75 while (true) {
76 if (!category.isRoot()) {
77 category = MBCategoryLocalServiceUtil.getCategory(
78 category.getParentCategoryId());
79
80 ancestors.add(category);
81 }
82 else {
83 break;
84 }
85 }
86
87 return ancestors;
88 }
89
90 public boolean isRoot() {
91 if (getParentCategoryId() == DEFAULT_PARENT_CATEGORY_ID) {
92 return true;
93 }
94 else {
95 return false;
96 }
97 }
98
99 public boolean isDiscussion() {
100 if (getCategoryId() == CompanyConstants.SYSTEM) {
101 return true;
102 }
103 else {
104 return false;
105 }
106 }
107
108 }