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.wiki.service.impl.WikiPageLocalServiceImpl.java

License:Open Source License

protected void moveDependentToTrash(WikiPage page, long trashEntryId, boolean createTrashVersion)
        throws PortalException {

    // Page//from   w ww . j  a v a  2s  .c  o m

    String oldTitle = page.getTitle();

    String trashTitle = oldTitle;

    if (createTrashVersion) {
        UnicodeProperties typeSettingsProperties = new UnicodeProperties();

        typeSettingsProperties.put("title", oldTitle);

        TrashVersion trashVersion = trashVersionLocalService.addTrashVersion(trashEntryId,
                WikiPage.class.getName(), page.getPageId(), page.getStatus(), typeSettingsProperties);

        trashTitle = TrashUtil.getTrashTitle(trashVersion.getVersionId());

        WikiPageResource pageResource = wikiPageResourcePersistence.findByPrimaryKey(page.getResourcePrimKey());

        pageResource.setTitle(trashTitle);

        wikiPageResourcePersistence.update(pageResource);

        page.setTitle(trashTitle);

        wikiPagePersistence.update(page);
    }

    int oldStatus = page.getStatus();

    if (oldStatus == WorkflowConstants.STATUS_IN_TRASH) {
        return;
    }

    // Version pages

    List<WikiPage> versionPages = wikiPagePersistence.findByR_N(page.getResourcePrimKey(), page.getNodeId());

    for (WikiPage versionPage : versionPages) {

        // Version page

        versionPage.setTitle(page.getTitle());

        int versionPageOldStatus = versionPage.getStatus();

        versionPage.setStatus(WorkflowConstants.STATUS_IN_TRASH);

        wikiPagePersistence.update(versionPage);

        // Trash

        int status = versionPageOldStatus;

        if (versionPageOldStatus == WorkflowConstants.STATUS_PENDING) {
            status = WorkflowConstants.STATUS_DRAFT;
        }

        if (versionPageOldStatus != WorkflowConstants.STATUS_APPROVED) {
            trashVersionLocalService.addTrashVersion(trashEntryId, WikiPage.class.getName(),
                    versionPage.getPageId(), status, null);
        }
    }

    // Asset

    if (oldStatus == WorkflowConstants.STATUS_APPROVED) {
        assetEntryLocalService.updateVisible(WikiPage.class.getName(), page.getResourcePrimKey(), false);
    }

    // Attachments

    WikiNode node = page.getNode();

    for (FileEntry fileEntry : page.getAttachmentsFileEntries()) {
        PortletFileRepositoryUtil.movePortletFileEntryToTrash(node.getStatusByUserId(),
                fileEntry.getFileEntryId());
    }

    // Indexer

    Indexer<WikiPage> indexer = IndexerRegistryUtil.nullSafeGetIndexer(WikiPage.class);

    indexer.reindex(page);

    // Cache

    if (WikiCacheThreadLocal.isClearCache()) {
        wikiCacheHelper.clearCache(page.getNodeId());
    }

    // Workflow

    if (oldStatus == WorkflowConstants.STATUS_PENDING) {
        workflowInstanceLinkLocalService.deleteWorkflowInstanceLink(page.getCompanyId(), page.getGroupId(),
                WikiPage.class.getName(), page.getResourcePrimKey());
    }

    // Child pages

    moveDependentChildPagesToTrash(page.getNodeId(), oldTitle, trashTitle, trashEntryId, createTrashVersion);

    // Redirect pages

    moveDependentRedirectorPagesToTrash(page.getNodeId(), oldTitle, trashTitle, trashEntryId,
            createTrashVersion);
}

From source file:com.liferay.wiki.service.persistence.impl.WikiPageFinderImpl.java

License:Open Source License

protected int doCountByG_N_H_S(long groupId, long nodeId, boolean head,
        QueryDefinition<WikiPage> queryDefinition, boolean inlineSQLHelper) {

    Session session = null;//from  ww  w  . j a  v a 2  s .  co  m

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(getClass(), COUNT_BY_G_N_H_S, queryDefinition, "WikiPage");

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, WikiPage.class.getName(),
                    "WikiPage.resourcePrimKey", groupId);
        }

        SQLQuery q = session.createSynchronizedSQLQuery(sql);

        q.addScalar(COUNT_COLUMN_NAME, Type.LONG);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(groupId);
        qPos.add(nodeId);
        qPos.add(head);

        if (queryDefinition.getOwnerUserId() > 0) {
            qPos.add(queryDefinition.getOwnerUserId());

            if (queryDefinition.isIncludeOwner()) {
                qPos.add(WorkflowConstants.STATUS_IN_TRASH);
            }
        }

        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.wiki.service.persistence.impl.WikiPageFinderImpl.java

License:Open Source License

protected List<WikiPage> doFindByG_N_H_S(long groupId, long nodeId, boolean head,
        QueryDefinition<WikiPage> queryDefinition, boolean inlineSQLHelper) {

    Session session = null;//from   ww w  .j ava 2 s . co  m

    try {
        session = openSession();

        String sql = CustomSQLUtil.get(getClass(), FIND_BY_G_N_H_S, queryDefinition, "WikiPage");

        if (inlineSQLHelper) {
            sql = InlineSQLHelperUtil.replacePermissionCheck(sql, WikiPage.class.getName(),
                    "WikiPage.resourcePrimKey", groupId);
        }

        sql = CustomSQLUtil.replaceOrderBy(sql, queryDefinition.getOrderByComparator("WikiPage"));

        SQLQuery q = session.createSynchronizedSQLQuery(sql);

        q.addEntity("WikiPage", WikiPageImpl.class);

        QueryPos qPos = QueryPos.getInstance(q);

        qPos.add(groupId);
        qPos.add(nodeId);
        qPos.add(head);

        if (queryDefinition.getOwnerUserId() > 0) {
            qPos.add(queryDefinition.getOwnerUserId());

            if (queryDefinition.isIncludeOwner()) {
                qPos.add(WorkflowConstants.STATUS_IN_TRASH);
            }
        }

        qPos.add(queryDefinition.getStatus());

        return (List<WikiPage>) QueryUtil.list(q, getDialect(), queryDefinition.getStart(),
                queryDefinition.getEnd());
    } catch (Exception e) {
        throw new SystemException(e);
    } finally {
        closeSession(session);
    }
}

From source file:com.liferay.wiki.trash.WikiNodeTrashHandler.java

License:Open Source License

@Override
public int getTrashContainedModelsCount(long classPK) {
    return _wikiPageLocalService.getPagesCount(classPK, true, WorkflowConstants.STATUS_IN_TRASH);
}

From source file:com.liferay.wiki.trash.WikiNodeTrashHandler.java

License:Open Source License

@Override
public List<TrashRenderer> getTrashContainedModelTrashRenderers(long classPK, int start, int end)
        throws PortalException {

    List<TrashRenderer> trashRenderers = new ArrayList<>();

    List<WikiPage> pages = _wikiPageLocalService.getPages(classPK, true, WorkflowConstants.STATUS_IN_TRASH,
            start, end);/* w  w w .j  a v a 2s  .c  o  m*/

    for (WikiPage page : pages) {
        if (page.isInTrashExplicitly()) {
            continue;
        }

        WikiPage redirectPage = page.getRedirectPage();

        if ((redirectPage != null) && redirectPage.isInTrash()) {
            continue;
        }

        TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(WikiPage.class.getName());

        TrashRenderer trashRenderer = trashHandler.getTrashRenderer(page.getResourcePrimKey());

        trashRenderers.add(trashRenderer);
    }

    return trashRenderers;
}

From source file:com.liferay.wiki.trash.WikiPageTrashHandler.java

License:Open Source License

@Override
public int getTrashContainedModelsCount(long classPK) throws PortalException {

    WikiPage page = _wikiPageLocalService.getPage(classPK);

    return _wikiPageLocalService.getChildrenCount(page.getNodeId(), true, page.getTitle(),
            WorkflowConstants.STATUS_IN_TRASH);
}

From source file:com.liferay.wiki.trash.WikiPageTrashHandler.java

License:Open Source License

@Override
public int getTrashContainerModelsCount(long classPK) throws PortalException {

    WikiPage page = _wikiPageLocalService.getPage(classPK);

    return _wikiPageLocalService.getChildrenCount(page.getNodeId(), true, page.getTitle(),
            WorkflowConstants.STATUS_IN_TRASH);
}

From source file:com.liferay.wiki.trash.WikiPageTrashHandler.java

License:Open Source License

@Override
public List<TrashRenderer> getTrashContainerModelTrashRenderers(long classPK, int start, int end)
        throws PortalException {

    List<TrashRenderer> trashRenderers = new ArrayList<>();

    WikiPage page = _wikiPageLocalService.getPage(classPK);

    List<WikiPage> pages = _wikiPageLocalService.getChildren(page.getNodeId(), true, page.getTitle(),
            WorkflowConstants.STATUS_IN_TRASH);

    for (WikiPage curPage : pages) {
        TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(WikiPage.class.getName());

        TrashRenderer trashRenderer = trashHandler.getTrashRenderer(curPage.getResourcePrimKey());

        trashRenderers.add(trashRenderer);
    }/*  w  w  w  .  ja v a  2  s .c  o  m*/

    return trashRenderers;
}

From source file:com.liferay.wiki.trash.WikiPageTrashHandler.java

License:Open Source License

@Override
public List<TrashRenderer> getTrashModelTrashRenderers(long classPK, int start, int end, OrderByComparator obc)
        throws PortalException {

    List<TrashRenderer> trashRenderers = new ArrayList<>();

    WikiPage page = _wikiPageLocalService.getPage(classPK);

    List<WikiPage> pages = _wikiPageLocalService.getChildren(page.getNodeId(), true, page.getTitle(),
            WorkflowConstants.STATUS_IN_TRASH, start, end, obc);

    for (WikiPage curPage : pages) {
        TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(WikiPage.class.getName());

        TrashRenderer trashRenderer = trashHandler.getTrashRenderer(curPage.getResourcePrimKey());

        trashRenderers.add(trashRenderer);
    }//from   w  w  w  . j  a v  a2s .c om

    return trashRenderers;
}

From source file:com.liferay.wiki.trash.WikiPageTrashHandler.java

License:Open Source License

protected void checkRestorableEntry(long classPK, long trashEntryId, long containerModelId,
        String originalTitle, String newName) throws PortalException {

    WikiPage page = _wikiPageLocalService.getLatestPage(classPK, WorkflowConstants.STATUS_ANY, false);

    if (containerModelId == TrashEntryConstants.DEFAULT_CONTAINER_ID) {
        containerModelId = page.getNodeId();
    }//from  ww  w. ja  v  a  2s .c o  m

    if (Validator.isNotNull(newName)) {
        originalTitle = newName;
    }

    WikiPageResource duplicatePageResource = _wikiPageResourceLocalService.fetchPageResource(containerModelId,
            originalTitle);

    if (duplicatePageResource != null) {
        RestoreEntryException ree = new RestoreEntryException(RestoreEntryException.DUPLICATE);

        WikiPage duplicatePage = _wikiPageLocalService.getLatestPage(duplicatePageResource.getResourcePrimKey(),
                WorkflowConstants.STATUS_ANY, false);

        ree.setDuplicateEntryId(duplicatePage.getResourcePrimKey());
        ree.setOldName(duplicatePage.getTitle());
        ree.setTrashEntryId(trashEntryId);

        throw ree;
    } else {
        List<WikiPage> pages = _wikiPageLocalService.getDependentPages(page.getNodeId(), true, page.getTitle(),
                WorkflowConstants.STATUS_IN_TRASH);

        for (WikiPage curPage : pages) {
            checkRestorableEntry(curPage.getResourcePrimKey(), 0, containerModelId, curPage.getTitle(),
                    TrashUtil.getOriginalTitle(curPage.getTitle()));
        }
    }
}