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