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.internal.trash.JournalBaseTrashHandler.java

License:Open Source License

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

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

    JournalFolder folder = JournalFolderLocalServiceUtil.getFolder(classPK);

    List<JournalArticle> articles = JournalArticleLocalServiceUtil.search(folder.getGroupId(), classPK,
            WorkflowConstants.STATUS_IN_TRASH, start, end);

    for (JournalArticle article : articles) {
        TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(JournalArticle.class.getName());

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

        trashRenderers.add(trashRenderer);
    }//w  ww .jav  a 2s .co m

    return trashRenderers;
}

From source file:com.liferay.journal.internal.trash.JournalBaseTrashHandler.java

License:Open Source License

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

    JournalFolder folder = JournalFolderLocalServiceUtil.getFolder(classPK);

    return JournalFolderLocalServiceUtil.getFoldersCount(folder.getGroupId(), classPK,
            WorkflowConstants.STATUS_IN_TRASH);
}

From source file:com.liferay.journal.internal.trash.JournalBaseTrashHandler.java

License:Open Source License

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

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

    JournalFolder folder = JournalFolderLocalServiceUtil.getFolder(classPK);

    List<JournalFolder> folders = JournalFolderLocalServiceUtil.getFolders(folder.getGroupId(), classPK,
            WorkflowConstants.STATUS_IN_TRASH, start, end);

    for (JournalFolder curFolder : folders) {
        TrashHandler trashHandler = TrashHandlerRegistryUtil.getTrashHandler(JournalFolder.class.getName());

        TrashRenderer trashRenderer = trashHandler.getTrashRenderer(curFolder.getPrimaryKey());

        trashRenderers.add(trashRenderer);
    }//from   w  w w .  ja v  a 2 s.co m

    return trashRenderers;
}

From source file:com.liferay.journal.internal.trash.JournalBaseTrashHandler.java

License:Open Source License

@Override
public int getTrashModelsCount(long classPK) throws PortalException {
    JournalFolder folder = JournalFolderLocalServiceUtil.getFolder(classPK);

    return JournalFolderLocalServiceUtil.getFoldersAndArticlesCount(folder.getGroupId(), classPK,
            WorkflowConstants.STATUS_IN_TRASH);
}

From source file:com.liferay.journal.internal.trash.JournalBaseTrashHandler.java

License:Open Source License

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

    List<TrashedModel> trashedModels = new ArrayList<>();

    JournalFolder folder = JournalFolderLocalServiceUtil.getFolder(classPK);

    List<Object> foldersAndArticles = JournalFolderLocalServiceUtil.getFoldersAndArticles(folder.getGroupId(),
            classPK, WorkflowConstants.STATUS_IN_TRASH, start, end, obc);

    for (Object folderOrArticle : foldersAndArticles) {
        if (folderOrArticle instanceof JournalFolder) {
            JournalFolder curFolder = (JournalFolder) folderOrArticle;

            trashedModels.add(curFolder);
        } else {/*ww  w . j  a v a 2  s  . co m*/
            JournalArticle article = (JournalArticle) folderOrArticle;

            trashedModels.add(article);
        }
    }

    return trashedModels;
}

From source file:com.liferay.journal.search.JournalArticleIndexer.java

License:Open Source License

@Override
public void reindexDDMStructures(List<Long> ddmStructureIds) throws SearchException {

    if (_indexStatusManager.isIndexReadOnly() || !isIndexerEnabled()) {
        return;/*from w w w . j ava 2 s . c o  m*/
    }

    try {
        final String[] ddmStructureKeys = new String[ddmStructureIds.size()];

        for (int i = 0; i < ddmStructureIds.size(); i++) {
            long ddmStructureId = ddmStructureIds.get(i);

            DDMStructure ddmStructure = _ddmStructureLocalService.getDDMStructure(ddmStructureId);

            ddmStructureKeys[i] = ddmStructure.getStructureKey();
        }

        final Indexer<JournalArticle> indexer = _indexerRegistry.nullSafeGetIndexer(JournalArticle.class);

        final ActionableDynamicQuery actionableDynamicQuery = _journalArticleLocalService
                .getActionableDynamicQuery();

        actionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {

            @Override
            public void addCriteria(DynamicQuery dynamicQuery) {
                Property ddmStructureKey = PropertyFactoryUtil.forName("DDMStructureKey");

                dynamicQuery.add(ddmStructureKey.in(ddmStructureKeys));

                if (!isIndexAllArticleVersions()) {
                    Property statusProperty = PropertyFactoryUtil.forName("status");

                    Integer[] statuses = { WorkflowConstants.STATUS_APPROVED,
                            WorkflowConstants.STATUS_IN_TRASH };

                    dynamicQuery.add(statusProperty.in(statuses));
                }
            }

        });
        actionableDynamicQuery
                .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<JournalArticle>() {

                    @Override
                    public void performAction(JournalArticle article) throws PortalException {

                        try {
                            indexer.reindex(indexer.getClassName(), article.getResourcePrimKey());
                        } catch (Exception e) {
                            throw new PortalException(e);
                        }
                    }

                });

        actionableDynamicQuery.performActions();
    } catch (Exception e) {
        throw new SearchException(e);
    }
}

From source file:com.liferay.journal.search.JournalArticleIndexer.java

License:Open Source License

protected JournalArticle fetchLatestIndexableArticleVersion(long resourcePrimKey) {

    JournalArticle latestIndexableArticle = _journalArticleLocalService.fetchLatestArticle(resourcePrimKey,
            new int[] { WorkflowConstants.STATUS_APPROVED, WorkflowConstants.STATUS_IN_TRASH });

    if (latestIndexableArticle == null) {
        latestIndexableArticle = _journalArticleLocalService.fetchLatestArticle(resourcePrimKey);
    }//from   www . j av a  2s .co  m

    return latestIndexableArticle;
}

From source file:com.liferay.journal.search.test.JournalIndexerTest.java

License:Open Source License

@Test
public void testMoveArticleToTrashAndRestore() throws Exception {
    SearchContext searchContext = SearchContextTestUtil.getSearchContext(_group.getGroupId());

    searchContext.setKeywords("Architectural");

    assertSearchCount(0, _group.getGroupId(), searchContext);

    JournalFolder folder = JournalTestUtil.addFolder(_group.getGroupId(), RandomTestUtil.randomString());

    JournalArticle article = JournalTestUtil.addArticleWithWorkflow(_group.getGroupId(), folder.getFolderId(),
            "title", "Liferay Architectural Approach", true);

    assertSearchCount(1, _group.getGroupId(), searchContext);

    article = JournalArticleLocalServiceUtil.moveArticleToTrash(TestPropsValues.getUserId(), article);

    assertSearchCount(0, _group.getGroupId(), searchContext);
    assertSearchCount(1, _group.getGroupId(), true, WorkflowConstants.STATUS_IN_TRASH, searchContext);

    JournalArticleLocalServiceUtil.restoreArticleFromTrash(TestPropsValues.getUserId(), article);

    assertSearchCount(1, _group.getGroupId(), searchContext);
    assertSearchCount(0, _group.getGroupId(), true, WorkflowConstants.STATUS_IN_TRASH, searchContext);
}

From source file:com.liferay.journal.service.base.JournalArticleLocalServiceBaseImpl.java

License:Open Source License

@Override
public ExportActionableDynamicQuery getExportActionableDynamicQuery(
        final PortletDataContext portletDataContext) {
    final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() {
        @Override//from   w w  w  .  j  ava2 s.com
        public long performCount() throws PortalException {
            ManifestSummary manifestSummary = portletDataContext.getManifestSummary();

            StagedModelType stagedModelType = getStagedModelType();

            long modelAdditionCount = super.performCount();

            manifestSummary.addModelAdditionCount(stagedModelType, modelAdditionCount);

            long modelDeletionCount = ExportImportHelperUtil.getModelDeletionCount(portletDataContext,
                    stagedModelType);

            manifestSummary.addModelDeletionCount(stagedModelType, modelDeletionCount);

            return modelAdditionCount;
        }

        @Override
        protected Projection getCountProjection() {
            return ProjectionFactoryUtil.countDistinct("resourcePrimKey");
        }
    };

    initActionableDynamicQuery(exportActionableDynamicQuery);

    exportActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {
        @Override
        public void addCriteria(DynamicQuery dynamicQuery) {
            Criterion modifiedDateCriterion = portletDataContext.getDateRangeCriteria("modifiedDate");

            if (modifiedDateCriterion != null) {
                Conjunction conjunction = RestrictionsFactoryUtil.conjunction();

                conjunction.add(modifiedDateCriterion);

                Disjunction disjunction = RestrictionsFactoryUtil.disjunction();

                disjunction.add(RestrictionsFactoryUtil.gtProperty("modifiedDate", "lastPublishDate"));

                Property lastPublishDateProperty = PropertyFactoryUtil.forName("lastPublishDate");

                disjunction.add(lastPublishDateProperty.isNull());

                conjunction.add(disjunction);

                modifiedDateCriterion = conjunction;
            }

            Criterion statusDateCriterion = portletDataContext.getDateRangeCriteria("statusDate");

            if ((modifiedDateCriterion != null) && (statusDateCriterion != null)) {
                Disjunction disjunction = RestrictionsFactoryUtil.disjunction();

                disjunction.add(modifiedDateCriterion);
                disjunction.add(statusDateCriterion);

                dynamicQuery.add(disjunction);
            }

            StagedModelType stagedModelType = exportActionableDynamicQuery.getStagedModelType();

            long referrerClassNameId = stagedModelType.getReferrerClassNameId();

            Property classNameIdProperty = PropertyFactoryUtil.forName("classNameId");

            if ((referrerClassNameId != StagedModelType.REFERRER_CLASS_NAME_ID_ALL)
                    && (referrerClassNameId != StagedModelType.REFERRER_CLASS_NAME_ID_ANY)) {
                dynamicQuery.add(classNameIdProperty.eq(stagedModelType.getReferrerClassNameId()));
            } else if (referrerClassNameId == StagedModelType.REFERRER_CLASS_NAME_ID_ANY) {
                dynamicQuery.add(classNameIdProperty.isNotNull());
            }

            Property workflowStatusProperty = PropertyFactoryUtil.forName("status");

            if (portletDataContext.isInitialPublication()) {
                dynamicQuery.add(workflowStatusProperty.ne(WorkflowConstants.STATUS_IN_TRASH));
            } else {
                StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil
                        .getStagedModelDataHandler(JournalArticle.class.getName());

                dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses()));
            }
        }
    });

    exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId());

    exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId());

    exportActionableDynamicQuery
            .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<JournalArticle>() {
                @Override
                public void performAction(JournalArticle journalArticle) throws PortalException {
                    StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, journalArticle);
                }
            });
    exportActionableDynamicQuery
            .setStagedModelType(new StagedModelType(PortalUtil.getClassNameId(JournalArticle.class.getName()),
                    StagedModelType.REFERRER_CLASS_NAME_ID_ALL));

    return exportActionableDynamicQuery;
}

From source file:com.liferay.journal.service.base.JournalFolderLocalServiceBaseImpl.java

License:Open Source License

@Override
public ExportActionableDynamicQuery getExportActionableDynamicQuery(
        final PortletDataContext portletDataContext) {
    final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() {
        @Override//w  w w.  j a v a 2 s . c om
        public long performCount() throws PortalException {
            ManifestSummary manifestSummary = portletDataContext.getManifestSummary();

            StagedModelType stagedModelType = getStagedModelType();

            long modelAdditionCount = super.performCount();

            manifestSummary.addModelAdditionCount(stagedModelType, modelAdditionCount);

            long modelDeletionCount = ExportImportHelperUtil.getModelDeletionCount(portletDataContext,
                    stagedModelType);

            manifestSummary.addModelDeletionCount(stagedModelType, modelDeletionCount);

            return modelAdditionCount;
        }
    };

    initActionableDynamicQuery(exportActionableDynamicQuery);

    exportActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() {
        @Override
        public void addCriteria(DynamicQuery dynamicQuery) {
            Criterion modifiedDateCriterion = portletDataContext.getDateRangeCriteria("modifiedDate");

            if (modifiedDateCriterion != null) {
                Conjunction conjunction = RestrictionsFactoryUtil.conjunction();

                conjunction.add(modifiedDateCriterion);

                Disjunction disjunction = RestrictionsFactoryUtil.disjunction();

                disjunction.add(RestrictionsFactoryUtil.gtProperty("modifiedDate", "lastPublishDate"));

                Property lastPublishDateProperty = PropertyFactoryUtil.forName("lastPublishDate");

                disjunction.add(lastPublishDateProperty.isNull());

                conjunction.add(disjunction);

                modifiedDateCriterion = conjunction;
            }

            Criterion statusDateCriterion = portletDataContext.getDateRangeCriteria("statusDate");

            if ((modifiedDateCriterion != null) && (statusDateCriterion != null)) {
                Disjunction disjunction = RestrictionsFactoryUtil.disjunction();

                disjunction.add(modifiedDateCriterion);
                disjunction.add(statusDateCriterion);

                dynamicQuery.add(disjunction);
            }

            Property workflowStatusProperty = PropertyFactoryUtil.forName("status");

            if (portletDataContext.isInitialPublication()) {
                dynamicQuery.add(workflowStatusProperty.ne(WorkflowConstants.STATUS_IN_TRASH));
            } else {
                StagedModelDataHandler<?> stagedModelDataHandler = StagedModelDataHandlerRegistryUtil
                        .getStagedModelDataHandler(JournalFolder.class.getName());

                dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses()));
            }
        }
    });

    exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId());

    exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId());

    exportActionableDynamicQuery
            .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<JournalFolder>() {
                @Override
                public void performAction(JournalFolder journalFolder) throws PortalException {
                    StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, journalFolder);
                }
            });
    exportActionableDynamicQuery
            .setStagedModelType(new StagedModelType(PortalUtil.getClassNameId(JournalFolder.class.getName())));

    return exportActionableDynamicQuery;
}