001
014
015 package com.liferay.portal.model.impl;
016
017 import aQute.bnd.annotation.ProviderType;
018
019 import com.liferay.portal.kernel.exception.PortalException;
020 import com.liferay.portal.kernel.util.StringBundler;
021 import com.liferay.portal.kernel.util.StringPool;
022 import com.liferay.portal.model.Organization;
023 import com.liferay.portal.service.OrganizationLocalServiceUtil;
024
025 import java.util.ArrayList;
026 import java.util.List;
027
028
040 @ProviderType
041 public abstract class OrganizationBaseImpl extends OrganizationModelImpl
042 implements Organization {
043
048 @Override
049 public void persist() {
050 if (this.isNew()) {
051 OrganizationLocalServiceUtil.addOrganization(this);
052 }
053 else {
054 OrganizationLocalServiceUtil.updateOrganization(this);
055 }
056 }
057
058 @Override
059 @SuppressWarnings("unused")
060 public String buildTreePath() throws PortalException {
061 List<Organization> organizations = new ArrayList<Organization>();
062
063 Organization organization = this;
064
065 while (organization != null) {
066 organizations.add(organization);
067
068 organization = OrganizationLocalServiceUtil.fetchOrganization(organization.getParentOrganizationId());
069 }
070
071 StringBundler sb = new StringBundler((organizations.size() * 2) + 1);
072
073 sb.append(StringPool.SLASH);
074
075 for (int i = organizations.size() - 1; i >= 0; i--) {
076 organization = organizations.get(i);
077
078 sb.append(organization.getOrganizationId());
079 sb.append(StringPool.SLASH);
080 }
081
082 return sb.toString();
083 }
084
085 @Override
086 public void updateTreePath(String treePath) {
087 Organization organization = this;
088
089 organization.setTreePath(treePath);
090
091 OrganizationLocalServiceUtil.updateOrganization(organization);
092 }
093 }