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.wiki.search.WikiNodeIndexer.java
License:Open Source License
protected void reindexEntries(long companyId) throws PortalException { final IndexableActionableDynamicQuery indexableActionableDynamicQuery = _wikiNodeLocalService .getIndexableActionableDynamicQuery(); indexableActionableDynamicQuery.setAddCriteriaMethod(new ActionableDynamicQuery.AddCriteriaMethod() { @Override/* w w w. j a v a 2 s . c o m*/ public void addCriteria(DynamicQuery dynamicQuery) { Property property = PropertyFactoryUtil.forName("status"); dynamicQuery.add(property.eq(WorkflowConstants.STATUS_IN_TRASH)); } }); indexableActionableDynamicQuery.setCompanyId(companyId); indexableActionableDynamicQuery .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<WikiNode>() { @Override public void performAction(WikiNode node) { try { Document document = getDocument(node); indexableActionableDynamicQuery.addDocuments(document); } catch (PortalException pe) { if (_log.isWarnEnabled()) { _log.warn("Unable to index wiki node " + node.getNodeId(), pe); } } } }); indexableActionableDynamicQuery.setSearchEngineId(getSearchEngineId()); indexableActionableDynamicQuery.performActions(); }
From source file:com.liferay.wiki.service.base.WikiNodeLocalServiceBaseImpl.java
License:Open Source License
@Override public ExportActionableDynamicQuery getExportActionableDynamicQuery( final PortletDataContext portletDataContext) { final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() { @Override//from ww w .j a v a2s .c o m 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"); 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(WikiNode.class.getName()); dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses())); } } }); exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId()); exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId()); exportActionableDynamicQuery .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<WikiNode>() { @Override public void performAction(WikiNode wikiNode) throws PortalException { StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, wikiNode); } }); exportActionableDynamicQuery .setStagedModelType(new StagedModelType(PortalUtil.getClassNameId(WikiNode.class.getName()))); return exportActionableDynamicQuery; }
From source file:com.liferay.wiki.service.base.WikiPageLocalServiceBaseImpl.java
License:Open Source License
@Override public ExportActionableDynamicQuery getExportActionableDynamicQuery( final PortletDataContext portletDataContext) { final ExportActionableDynamicQuery exportActionableDynamicQuery = new ExportActionableDynamicQuery() { @Override/* ww w .j a v a 2 s .c o m*/ 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"); 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(WikiPage.class.getName()); dynamicQuery.add(workflowStatusProperty.in(stagedModelDataHandler.getExportableStatuses())); } } }); exportActionableDynamicQuery.setCompanyId(portletDataContext.getCompanyId()); exportActionableDynamicQuery.setGroupId(portletDataContext.getScopeGroupId()); exportActionableDynamicQuery .setPerformActionMethod(new ActionableDynamicQuery.PerformActionMethod<WikiPage>() { @Override public void performAction(WikiPage wikiPage) throws PortalException { StagedModelDataHandlerUtil.exportStagedModel(portletDataContext, wikiPage); } }); exportActionableDynamicQuery .setStagedModelType(new StagedModelType(PortalUtil.getClassNameId(WikiPage.class.getName()))); return exportActionableDynamicQuery; }
From source file:com.liferay.wiki.service.impl.WikiNodeLocalServiceImpl.java
License:Open Source License
@Override public WikiNode moveNodeToTrash(long userId, WikiNode node) throws PortalException { // Node/*from ww w . j a va2s . c om*/ if (node.isInTrash()) { throw new TrashEntryException(); } int oldStatus = node.getStatus(); node = updateStatus(userId, node, WorkflowConstants.STATUS_IN_TRASH, new ServiceContext()); // Trash UnicodeProperties typeSettingsProperties = new UnicodeProperties(); typeSettingsProperties.put("title", node.getName()); TrashEntry trashEntry = trashEntryLocalService.addTrashEntry(userId, node.getGroupId(), WikiNode.class.getName(), node.getNodeId(), node.getUuid(), null, oldStatus, null, typeSettingsProperties); node.setName(TrashUtil.getTrashTitle(trashEntry.getEntryId())); wikiNodePersistence.update(node); // Pages moveDependentsToTrash(node.getNodeId(), trashEntry.getEntryId()); return node; }
From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java
License:Open Source License
@Override public void deleteTrashPageAttachments(long nodeId, String title) throws PortalException { WikiPage page = getPage(nodeId, title); long folderId = page.getAttachmentsFolderId(); if (folderId == DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { return;/* w ww . jav a 2 s . c om*/ } PortletFileRepositoryUtil.deletePortletFileEntries(page.getGroupId(), folderId, WorkflowConstants.STATUS_IN_TRASH); }
From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java
License:Open Source License
@Override public int getPagesCount(long nodeId, boolean head, int status) { if (status == WorkflowConstants.STATUS_ANY) { return wikiPagePersistence.countByN_H_NotS(nodeId, head, WorkflowConstants.STATUS_IN_TRASH); } else {//from w w w. j a v a 2 s . c om return wikiPagePersistence.countByN_H_S(nodeId, head, status); } }
From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java
License:Open Source License
@Override public WikiPage movePageToTrash(long userId, WikiPage page) throws PortalException { if (page.isInTrash()) { throw new TrashEntryException(); }/* ww w . ja v a 2 s . co m*/ // Page int oldStatus = page.getStatus(); String oldTitle = page.getTitle(); if (oldStatus == WorkflowConstants.STATUS_PENDING) { page.setStatus(WorkflowConstants.STATUS_DRAFT); wikiPagePersistence.update(page); } List<WikiPage> pageVersions = wikiPagePersistence.findByR_N_H(page.getResourcePrimKey(), page.getNodeId(), false); pageVersions = ListUtil.sort(pageVersions, new PageVersionComparator()); List<ObjectValuePair<Long, Integer>> pageVersionStatusOVPs = new ArrayList<>(); if ((pageVersions != null) && !pageVersions.isEmpty()) { pageVersionStatusOVPs = getPageVersionStatuses(pageVersions); } page = updateStatus(userId, page, WorkflowConstants.STATUS_IN_TRASH, new ServiceContext(), new HashMap<String, Serializable>()); // Trash WikiPageResource pageResource = wikiPageResourcePersistence.fetchByPrimaryKey(page.getResourcePrimKey()); UnicodeProperties typeSettingsProperties = new UnicodeProperties(); typeSettingsProperties.put("title", page.getTitle()); TrashEntry trashEntry = trashEntryLocalService.addTrashEntry(userId, page.getGroupId(), WikiPage.class.getName(), page.getResourcePrimKey(), page.getUuid(), null, oldStatus, pageVersionStatusOVPs, typeSettingsProperties); String trashTitle = TrashUtil.getTrashTitle(trashEntry.getEntryId()); for (WikiPage pageVersion : pageVersions) { pageVersion.setTitle(trashTitle); pageVersion.setStatus(WorkflowConstants.STATUS_IN_TRASH); wikiPagePersistence.update(pageVersion); } pageResource.setTitle(trashTitle); wikiPageResourcePersistence.update(pageResource); page.setTitle(trashTitle); wikiPagePersistence.update(page); // Child pages moveDependentChildPagesToTrash(page.getNodeId(), oldTitle, trashTitle, trashEntry.getEntryId(), true); // Redirect pages moveDependentRedirectorPagesToTrash(page.getNodeId(), oldTitle, trashTitle, trashEntry.getEntryId(), true); // Asset assetEntryLocalService.updateVisible(WikiPage.class.getName(), page.getResourcePrimKey(), false); // Attachments for (FileEntry fileEntry : page.getAttachmentsFileEntries()) { PortletFileRepositoryUtil.movePortletFileEntryToTrash(userId, fileEntry.getFileEntryId()); } // Comment CommentManagerUtil.moveDiscussionToTrash(WikiPage.class.getName(), page.getResourcePrimKey()); // Social JSONObject extraDataJSONObject = JSONFactoryUtil.createJSONObject(); extraDataJSONObject.put("title", TrashUtil.getOriginalTitle(page.getTitle())); extraDataJSONObject.put("version", page.getVersion()); SocialActivityManagerUtil.addActivity(userId, page, SocialActivityConstants.TYPE_MOVE_TO_TRASH, extraDataJSONObject.toString(), 0); // Indexer Indexer<WikiPage> indexer = IndexerRegistryUtil.nullSafeGetIndexer(WikiPage.class); indexer.reindex(page); // Workflow if (oldStatus == WorkflowConstants.STATUS_PENDING) { workflowInstanceLinkLocalService.deleteWorkflowInstanceLink(page.getCompanyId(), page.getGroupId(), WikiPage.class.getName(), page.getPageId()); } return page; }
From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java
License:Open Source License
@Override public WikiPage updateStatus(long userId, WikiPage page, int status, ServiceContext serviceContext, Map<String, Serializable> workflowContext) throws PortalException { // Page/* www . j a v a 2s. c o m*/ User user = userPersistence.findByPrimaryKey(userId); int oldStatus = page.getStatus(); page.setStatus(status); page.setStatusByUserId(userId); page.setStatusByUserName(user.getFullName()); page.setStatusDate(new Date()); wikiPagePersistence.update(page); if (status == WorkflowConstants.STATUS_APPROVED) { String cmd = GetterUtil.getString(workflowContext.get(WorkflowConstants.CONTEXT_COMMAND)); if (cmd.equals(Constants.RENAME)) { long resourcePrimKey = page.getResourcePrimKey(); WikiPage oldPage = getPage(resourcePrimKey, true); page = doRenamePage(userId, page.getNodeId(), oldPage.getTitle(), page.getTitle(), serviceContext); } // Asset if ((oldStatus != WorkflowConstants.STATUS_APPROVED) && (page.getVersion() != WikiPageConstants.VERSION_DEFAULT)) { AssetEntry draftAssetEntry = assetEntryLocalService.fetchEntry(WikiPage.class.getName(), page.getPrimaryKey()); if (draftAssetEntry != null) { long[] assetCategoryIds = draftAssetEntry.getCategoryIds(); String[] assetTagNames = draftAssetEntry.getTagNames(); List<AssetLink> assetLinks = assetLinkLocalService.getDirectLinks(draftAssetEntry.getEntryId(), AssetLinkConstants.TYPE_RELATED, false); long[] assetLinkEntryIds = ListUtil.toLongArray(assetLinks, AssetLink.ENTRY_ID2_ACCESSOR); AssetEntry assetEntry = assetEntryLocalService.updateEntry(userId, page.getGroupId(), page.getCreateDate(), page.getModifiedDate(), WikiPage.class.getName(), page.getResourcePrimKey(), page.getUuid(), 0, assetCategoryIds, assetTagNames, true, true, null, null, page.getCreateDate(), null, ContentTypes.TEXT_HTML, page.getTitle(), null, null, null, null, 0, 0, null); // Asset Links assetLinkLocalService.updateLinks(userId, assetEntry.getEntryId(), assetLinkEntryIds, AssetLinkConstants.TYPE_RELATED); SystemEventHierarchyEntryThreadLocal.push(WikiPage.class); try { assetEntryLocalService.deleteEntry(draftAssetEntry.getEntryId()); } finally { SystemEventHierarchyEntryThreadLocal.pop(WikiPage.class); } } } assetEntryLocalService.updateVisible(WikiPage.class.getName(), page.getResourcePrimKey(), true); // Social WikiGroupServiceOverriddenConfiguration wikiGroupServiceOverriddenConfiguration = configurationProvider .getConfiguration(WikiGroupServiceOverriddenConfiguration.class, new GroupServiceSettingsLocator(page.getGroupId(), WikiConstants.SERVICE_NAME)); if ((oldStatus != WorkflowConstants.STATUS_IN_TRASH) && (!page.isMinorEdit() || wikiGroupServiceOverriddenConfiguration.pageMinorEditAddSocialActivity())) { JSONObject extraDataJSONObject = JSONFactoryUtil.createJSONObject(); extraDataJSONObject.put("title", page.getTitle()); extraDataJSONObject.put("version", page.getVersion()); int type = WikiActivityKeys.UPDATE_PAGE; if (serviceContext.isCommandAdd()) { type = WikiActivityKeys.ADD_PAGE; } SocialActivityManagerUtil.addActivity(userId, page, type, extraDataJSONObject.toString(), 0); } // Subscriptions if (NotificationThreadLocal.isEnabled() && (!page.isMinorEdit() || wikiGroupServiceOverriddenConfiguration.pageMinorEditSendEmail())) { notifySubscribers(userId, page, (String) workflowContext.get(WorkflowConstants.CONTEXT_URL), serviceContext); } // Cache clearPageCache(page); } // Head if (status == WorkflowConstants.STATUS_APPROVED) { page.setHead(true); List<WikiPage> pages = wikiPagePersistence.findByN_T_H(page.getNodeId(), page.getTitle(), true); for (WikiPage curPage : pages) { if (!curPage.equals(page)) { curPage.setHead(false); wikiPagePersistence.update(curPage); } } } else if (status != WorkflowConstants.STATUS_IN_TRASH) { page.setHead(false); List<WikiPage> pages = wikiPagePersistence.findByN_T_S(page.getNodeId(), page.getTitle(), WorkflowConstants.STATUS_APPROVED); for (WikiPage curPage : pages) { if (!curPage.equals(page)) { curPage.setHead(true); wikiPagePersistence.update(curPage); break; } } } // Indexer Indexer<WikiPage> indexer = IndexerRegistryUtil.nullSafeGetIndexer(WikiPage.class); indexer.reindex(page); return wikiPagePersistence.update(page); }
From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java
License:Open Source License
protected void moveDependentChildPagesFromTrash(WikiPage newParentPage, long oldParentPageNodeId, String oldParentPageTitle) throws PortalException { List<WikiPage> childPages = getChildren(oldParentPageNodeId, true, oldParentPageTitle, WorkflowConstants.STATUS_IN_TRASH); for (WikiPage childPage : childPages) { childPage = getPageByPageId(childPage.getPageId()); childPage.setParentTitle(newParentPage.getTitle()); wikiPagePersistence.update(childPage); if (childPage.isInTrashImplicitly()) { moveDependentFromTrash(childPage, newParentPage.getNodeId(), newParentPage.getTitle()); }//from w ww . jav a2 s .c o m } }
From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java
License:Open Source License
protected void moveDependentRedirectorPagesFromTrash(WikiPage newRedirectPage, long oldRedirectPageNodeId, String oldRedirectPageTrashTitle) throws PortalException { List<WikiPage> redirectorPages = getRedirectorPages(oldRedirectPageNodeId, true, oldRedirectPageTrashTitle, WorkflowConstants.STATUS_IN_TRASH); for (WikiPage redirectorPage : redirectorPages) { redirectorPage = getPageByPageId(redirectorPage.getPageId()); redirectorPage.setRedirectTitle(newRedirectPage.getTitle()); wikiPagePersistence.update(redirectorPage); if (redirectorPage.isInTrashImplicitly()) { moveDependentFromTrash(redirectorPage, newRedirectPage.getNodeId(), redirectorPage.getParentTitle()); }/*from w ww. j ava 2s. c o m*/ } }