List of usage examples for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_IN_TRASH
int STATUS_IN_TRASH
To view the source code for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_IN_TRASH.
Click Source Link
From source file:com.liferay.journal.service.impl.JournalFolderLocalServiceImpl.java
License:Open Source License
@Override public void rebuildTree(long companyId, long parentFolderId, String parentTreePath, final boolean reindex) throws PortalException { TreePathUtil.rebuildTree(companyId, parentFolderId, parentTreePath, new TreeModelTasksAdapter<JournalFolder>() { @Override/*from ww w .j av a 2 s. c o m*/ public List<JournalFolder> findTreeModels(long previousId, long companyId, long parentPrimaryKey, int size) { return journalFolderPersistence.findByF_C_P_NotS(previousId, companyId, parentPrimaryKey, WorkflowConstants.STATUS_IN_TRASH, QueryUtil.ALL_POS, size, new FolderIdComparator(true)); } @Override public void rebuildDependentModelsTreePaths(long parentPrimaryKey, String treePath) throws PortalException { journalArticleLocalService.setTreePaths(parentPrimaryKey, treePath, false); } }); }
From source file:com.liferay.journal.service.impl.JournalFolderLocalServiceImpl.java
License:Open Source License
@Override public void restoreFolderFromTrash(long userId, long folderId) throws PortalException { // Folder/*from w w w. j a v a 2 s . c om*/ JournalFolder folder = journalFolderPersistence.findByPrimaryKey(folderId); if (!folder.isInTrash()) { throw new RestoreEntryException(RestoreEntryException.INVALID_STATUS); } folder.setName(TrashUtil.getOriginalTitle(folder.getName())); journalFolderPersistence.update(folder); TrashEntry trashEntry = trashEntryLocalService.getEntry(JournalFolder.class.getName(), folderId); updateStatus(userId, folder, trashEntry.getStatus()); // Folders and articles List<Object> foldersAndArticles = journalFolderLocalService.getFoldersAndArticles(folder.getGroupId(), folder.getFolderId(), WorkflowConstants.STATUS_IN_TRASH); restoreDependentsFromTrash(foldersAndArticles); // Trash trashEntryLocalService.deleteEntry(JournalFolder.class.getName(), folder.getFolderId()); // Social JSONObject extraDataJSONObject = JSONFactoryUtil.createJSONObject(); extraDataJSONObject.put("title", folder.getName()); SocialActivityManagerUtil.addActivity(userId, folder, SocialActivityConstants.TYPE_RESTORE_FROM_TRASH, extraDataJSONObject.toString(), 0); }
From source file:com.liferay.journal.service.impl.JournalFolderLocalServiceImpl.java
License:Open Source License
@Override public JournalFolder updateStatus(long userId, JournalFolder folder, int status) throws PortalException { // Folder/*from w ww. ja v a 2 s . com*/ User user = userLocalService.getUser(userId); folder.setStatus(status); folder.setStatusByUserId(userId); folder.setStatusByUserName(user.getFullName()); folder.setStatusDate(new Date()); journalFolderPersistence.update(folder); // Asset if (status == WorkflowConstants.STATUS_APPROVED) { assetEntryLocalService.updateVisible(JournalFolder.class.getName(), folder.getFolderId(), true); } else if (status == WorkflowConstants.STATUS_IN_TRASH) { assetEntryLocalService.updateVisible(JournalFolder.class.getName(), folder.getFolderId(), false); } // Indexer Indexer<JournalFolder> indexer = IndexerRegistryUtil.nullSafeGetIndexer(JournalFolder.class); indexer.reindex(folder); return folder; }
From source file:com.liferay.journal.service.impl.JournalFolderLocalServiceImpl.java
License:Open Source License
protected void moveDependentsToTrash(List<Object> foldersAndArticles, long trashEntryId) throws PortalException { for (Object object : foldersAndArticles) { if (object instanceof JournalArticle) { // Article JournalArticle article = (JournalArticle) object; if (article.getStatus() == WorkflowConstants.STATUS_IN_TRASH) { continue; }/* ww w .j a v a 2 s . c o m*/ // Articles List<JournalArticle> articles = journalArticlePersistence.findByG_A(article.getGroupId(), article.getArticleId()); for (JournalArticle curArticle : articles) { // Article int curArticleOldStatus = curArticle.getStatus(); curArticle.setStatus(WorkflowConstants.STATUS_IN_TRASH); journalArticlePersistence.update(curArticle); // Trash int status = curArticleOldStatus; if (curArticleOldStatus == WorkflowConstants.STATUS_PENDING) { status = WorkflowConstants.STATUS_DRAFT; } if (curArticleOldStatus != WorkflowConstants.STATUS_APPROVED) { trashVersionLocalService.addTrashVersion(trashEntryId, JournalArticle.class.getName(), curArticle.getId(), status, null); } // Workflow if (curArticleOldStatus == WorkflowConstants.STATUS_PENDING) { workflowInstanceLinkLocalService.deleteWorkflowInstanceLink(curArticle.getCompanyId(), curArticle.getGroupId(), JournalArticle.class.getName(), curArticle.getId()); } } // Asset assetEntryLocalService.updateVisible(JournalArticle.class.getName(), article.getResourcePrimKey(), false); // Indexer Indexer<JournalArticle> indexer = IndexerRegistryUtil.nullSafeGetIndexer(JournalArticle.class); indexer.reindex(article); } else if (object instanceof JournalFolder) { // Folder JournalFolder folder = (JournalFolder) object; if (folder.isInTrashExplicitly()) { continue; } int oldStatus = folder.getStatus(); folder.setStatus(WorkflowConstants.STATUS_IN_TRASH); journalFolderPersistence.update(folder); // Trash if (oldStatus != WorkflowConstants.STATUS_APPROVED) { trashVersionLocalService.addTrashVersion(trashEntryId, JournalFolder.class.getName(), folder.getFolderId(), oldStatus, null); } // Folders and articles List<Object> curFoldersAndArticles = getFoldersAndArticles(folder.getGroupId(), folder.getFolderId()); moveDependentsToTrash(curFoldersAndArticles, trashEntryId); // Asset assetEntryLocalService.updateVisible(JournalFolder.class.getName(), folder.getFolderId(), false); // Indexer Indexer<JournalFolder> indexer = IndexerRegistryUtil.nullSafeGetIndexer(JournalFolder.class); indexer.reindex(folder); } } }
From source file:com.liferay.journal.service.impl.JournalFolderLocalServiceImpl.java
License:Open Source License
protected void restoreDependentsFromTrash(List<Object> foldersAndArticles) throws PortalException { for (Object object : foldersAndArticles) { if (object instanceof JournalArticle) { // Article JournalArticle article = (JournalArticle) object; if (!article.isInTrashImplicitly()) { continue; }/*from www . j av a 2s .com*/ TrashVersion trashVersion = trashVersionLocalService.fetchVersion(JournalArticle.class.getName(), article.getId()); int oldStatus = WorkflowConstants.STATUS_APPROVED; if (trashVersion != null) { oldStatus = trashVersion.getStatus(); } // Articles List<JournalArticle> articles = journalArticlePersistence.findByG_A(article.getGroupId(), article.getArticleId()); for (JournalArticle curArticle : articles) { // Article trashVersion = trashVersionLocalService.fetchVersion(JournalArticle.class.getName(), curArticle.getId()); int curArticleOldStatus = WorkflowConstants.STATUS_APPROVED; if (trashVersion != null) { curArticleOldStatus = trashVersion.getStatus(); } curArticle.setStatus(curArticleOldStatus); journalArticlePersistence.update(curArticle); // Trash if (trashVersion != null) { trashVersionLocalService.deleteTrashVersion(trashVersion); } } // Asset if (oldStatus == WorkflowConstants.STATUS_APPROVED) { assetEntryLocalService.updateVisible(JournalArticle.class.getName(), article.getResourcePrimKey(), true); } // Indexer Indexer<JournalArticle> indexer = IndexerRegistryUtil.nullSafeGetIndexer(JournalArticle.class); indexer.reindex(article); } else if (object instanceof JournalFolder) { // Folder JournalFolder folder = (JournalFolder) object; if (!folder.isInTrashImplicitly()) { continue; } TrashVersion trashVersion = trashVersionLocalService.fetchVersion(JournalFolder.class.getName(), folder.getFolderId()); int oldStatus = WorkflowConstants.STATUS_APPROVED; if (trashVersion != null) { oldStatus = trashVersion.getStatus(); } folder.setStatus(oldStatus); journalFolderPersistence.update(folder); // Folders and articles List<Object> curFoldersAndArticles = getFoldersAndArticles(folder.getGroupId(), folder.getFolderId(), WorkflowConstants.STATUS_IN_TRASH); restoreDependentsFromTrash(curFoldersAndArticles); // Trash if (trashVersion != null) { trashVersionLocalService.deleteTrashVersion(trashVersion); } // Asset assetEntryLocalService.updateVisible(JournalFolder.class.getName(), folder.getFolderId(), true); // Indexer Indexer<JournalFolder> indexer = IndexerRegistryUtil.nullSafeGetIndexer(JournalFolder.class); indexer.reindex(folder); } } }
From source file:com.liferay.journal.service.impl.JournalFolderServiceImpl.java
License:Open Source License
@Override public int getFoldersCount(long groupId, long parentFolderId, int status) { if (status == WorkflowConstants.STATUS_ANY) { return journalFolderPersistence.filterCountByG_P_NotS(groupId, parentFolderId, WorkflowConstants.STATUS_IN_TRASH); } else {/* w w w . ja v a 2 s. c o m*/ return journalFolderPersistence.filterCountByG_P_S(groupId, parentFolderId, status); } }
From source file:com.liferay.journal.service.impl.JournalFolderServiceImpl.java
License:Open Source License
@Override public void getSubfolderIds(List<Long> folderIds, long groupId, long folderId, boolean recurse) { List<JournalFolder> folders = journalFolderPersistence.filterFindByG_P_NotS(groupId, folderId, WorkflowConstants.STATUS_IN_TRASH); for (JournalFolder folder : folders) { folderIds.add(folder.getFolderId()); if (recurse) { getSubfolderIds(folderIds, folder.getGroupId(), folder.getFolderId(), recurse); }//from w w w. j a v a 2s . c om } }
From source file:com.liferay.journal.service.persistence.impl.JournalArticleFinderImpl.java
License:Open Source License
protected int doCountByG_F_C(long groupId, List<Long> folderIds, long classNameId, QueryDefinition<JournalArticle> queryDefinition, boolean inlineSQLHelper) { Session session = null;/*from w w w . ja va2 s . co m*/ try { session = openSession(); String sql = CustomSQLUtil.get(getClass(), COUNT_BY_G_U_F_C, queryDefinition, "JournalArticle"); sql = replaceStatusJoin(sql, queryDefinition); if (folderIds.isEmpty()) { sql = StringUtil.replace(sql, "([$FOLDER_ID$]) AND", StringPool.BLANK); } else { sql = StringUtil.replace(sql, "[$FOLDER_ID$]", getFolderIds(folderIds, JournalArticleImpl.TABLE_NAME)); } if (inlineSQLHelper) { sql = InlineSQLHelperUtil.replacePermissionCheck(sql, JournalArticle.class.getName(), "JournalArticle.resourcePrimKey", groupId); } SQLQuery q = session.createSynchronizedSQLQuery(sql); q.addScalar(COUNT_COLUMN_NAME, Type.LONG); QueryPos qPos = QueryPos.getInstance(q); qPos.add(groupId); qPos.add(classNameId); if (queryDefinition.getOwnerUserId() > 0) { qPos.add(queryDefinition.getOwnerUserId()); if (queryDefinition.isIncludeOwner()) { qPos.add(WorkflowConstants.STATUS_IN_TRASH); } } for (long folderId : folderIds) { qPos.add(folderId); } qPos.add(queryDefinition.getStatus()); Iterator<Long> itr = q.iterate(); if (itr.hasNext()) { Long count = itr.next(); if (count != null) { return count.intValue(); } } return 0; } catch (Exception e) { throw new SystemException(e); } finally { closeSession(session); } }
From source file:com.liferay.journal.service.persistence.impl.JournalArticleFinderImpl.java
License:Open Source License
protected List<JournalArticle> doFindByG_F_C(long groupId, List<Long> folderIds, long classNameId, QueryDefinition<JournalArticle> queryDefinition, boolean inlineSQLHelper) { Session session = null;//from w w w.j av a2 s . c o m try { session = openSession(); String sql = CustomSQLUtil.get(getClass(), FIND_BY_G_U_F_C, queryDefinition, "JournalArticle"); sql = replaceStatusJoin(sql, queryDefinition); sql = CustomSQLUtil.replaceOrderBy(sql, queryDefinition.getOrderByComparator("JournalArticle")); if (folderIds.isEmpty()) { sql = StringUtil.replace(sql, "([$FOLDER_ID$]) AND", StringPool.BLANK); } else { sql = StringUtil.replace(sql, "[$FOLDER_ID$]", getFolderIds(folderIds, JournalArticleImpl.TABLE_NAME)); } if (inlineSQLHelper) { sql = InlineSQLHelperUtil.replacePermissionCheck(sql, JournalArticle.class.getName(), "JournalArticle.resourcePrimKey", groupId); } SQLQuery q = session.createSynchronizedSQLQuery(sql); q.addEntity(JournalArticleImpl.TABLE_NAME, JournalArticleImpl.class); QueryPos qPos = QueryPos.getInstance(q); qPos.add(groupId); qPos.add(classNameId); if (queryDefinition.getOwnerUserId() > 0) { qPos.add(queryDefinition.getOwnerUserId()); if (queryDefinition.isIncludeOwner()) { qPos.add(WorkflowConstants.STATUS_IN_TRASH); } } for (long folderId : folderIds) { qPos.add(folderId); } qPos.add(queryDefinition.getStatus()); return (List<JournalArticle>) QueryUtil.list(q, getDialect(), queryDefinition.getStart(), queryDefinition.getEnd()); } catch (Exception e) { throw new SystemException(e); } finally { closeSession(session); } }
From source file:com.liferay.journal.service.persistence.impl.JournalFolderFinderImpl.java
License:Open Source License
protected int doCountF_A_ByG_F(long groupId, long folderId, QueryDefinition<?> queryDefinition, boolean inlineSQLHelper) { Session session = null;/*from ww w . j ava 2 s . c o m*/ try { session = openSession(); StringBundler sb = new StringBundler(5); sb.append(StringPool.OPEN_PARENTHESIS); sb.append(getFoldersSQL(COUNT_F_BY_G_F, groupId, queryDefinition, inlineSQLHelper)); sb.append(") UNION ALL ("); sb.append(getArticlesSQL(COUNT_A_BY_G_U_F, groupId, queryDefinition, inlineSQLHelper)); sb.append(StringPool.CLOSE_PARENTHESIS); String sql = updateSQL(sb.toString(), folderId); SQLQuery q = session.createSynchronizedSQLQuery(sql); q.addScalar(COUNT_COLUMN_NAME, Type.LONG); QueryPos qPos = QueryPos.getInstance(q); qPos.add(groupId); qPos.add(queryDefinition.getStatus()); if (folderId >= 0) { qPos.add(folderId); } qPos.add(groupId); if (queryDefinition.getOwnerUserId() > 0) { qPos.add(queryDefinition.getOwnerUserId()); qPos.add(WorkflowConstants.STATUS_IN_TRASH); } qPos.add(queryDefinition.getStatus()); if (folderId >= 0) { qPos.add(folderId); } int count = 0; Iterator<Long> itr = q.iterate(); while (itr.hasNext()) { Long l = itr.next(); if (l != null) { count += l.intValue(); } } return count; } catch (Exception e) { throw new SystemException(e); } finally { closeSession(session); } }