Example usage for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_IN_TRASH

List of usage examples for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_IN_TRASH

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_IN_TRASH.

Prototype

int STATUS_IN_TRASH

To view the source code for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_IN_TRASH.

Click Source Link

Usage

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);
    }
}