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