001
014
015 package com.liferay.portlet.messageboards.model.impl;
016
017 import com.liferay.portal.kernel.exception.PortalException;
018 import com.liferay.portal.kernel.exception.SystemException;
019 import com.liferay.portlet.messageboards.model.MBCategory;
020 import com.liferay.portlet.messageboards.model.MBCategoryConstants;
021 import com.liferay.portlet.messageboards.service.MBCategoryLocalServiceUtil;
022
023 import java.util.ArrayList;
024 import java.util.List;
025
026
029 public class MBCategoryImpl extends MBCategoryBaseImpl {
030
031 public MBCategoryImpl() {
032 }
033
034 @Override
035 public List<Long> getAncestorCategoryIds()
036 throws PortalException, SystemException {
037
038 List<Long> ancestorCategoryIds = new ArrayList<Long>();
039
040 MBCategory category = this;
041
042 while (!category.isRoot()) {
043 category = MBCategoryLocalServiceUtil.getCategory(
044 category.getParentCategoryId());
045
046 ancestorCategoryIds.add(category.getCategoryId());
047 }
048
049 return ancestorCategoryIds;
050 }
051
052 @Override
053 public List<MBCategory> getAncestors()
054 throws PortalException, SystemException {
055
056 List<MBCategory> ancestors = new ArrayList<MBCategory>();
057
058 MBCategory category = this;
059
060 while (!category.isRoot()) {
061 category = category.getParentCategory();
062
063 ancestors.add(category);
064 }
065
066 return ancestors;
067 }
068
069 @Override
070 public MBCategory getParentCategory()
071 throws PortalException, SystemException {
072
073 long parentCategoryId = getParentCategoryId();
074
075 if ((parentCategoryId ==
076 MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID) ||
077 (parentCategoryId == MBCategoryConstants.DISCUSSION_CATEGORY_ID)) {
078
079 return null;
080 }
081
082 return MBCategoryLocalServiceUtil.getCategory(getParentCategoryId());
083 }
084
085 @Override
086 public boolean isRoot() {
087 if (getParentCategoryId() ==
088 MBCategoryConstants.DEFAULT_PARENT_CATEGORY_ID) {
089
090 return true;
091 }
092
093 return false;
094 }
095
096 }