| MBCategoryImpl.java |
1 /**
2 * Copyright (c) 2000-2009 Liferay, Inc. All rights reserved.
3 *
4 *
5 *
6 *
7 * The contents of this file are subject to the terms of the Liferay Enterprise
8 * Subscription License ("License"). You may not use this file except in
9 * compliance with the License. You can obtain a copy of the License by
10 * contacting Liferay, Inc. See the License for the specific language governing
11 * permissions and limitations under the License, including but not limited to
12 * distribution rights of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
15 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
16 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
17 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
18 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
19 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20 * SOFTWARE.
21 */
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 /**
35 * <a href="MBCategoryImpl.java.html"><b><i>View Source</i></b></a>
36 *
37 * @author Brian Wing Shun Chan
38 */
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 isDiscussion() {
91 if (getCategoryId() == CompanyConstants.SYSTEM) {
92 return true;
93 }
94 else {
95 return false;
96 }
97 }
98
99 public boolean isRoot() {
100 if (getParentCategoryId() == DEFAULT_PARENT_CATEGORY_ID) {
101 return true;
102 }
103 else {
104 return false;
105 }
106 }
107
108 }