List of usage examples for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_DRAFT
int STATUS_DRAFT
To view the source code for com.liferay.portal.kernel.workflow WorkflowConstants STATUS_DRAFT.
Click Source Link
From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java
License:Open Source License
@Override public boolean hasDraftPage(long nodeId, String title) { int count = wikiPagePersistence.countByN_T_S(nodeId, title, WorkflowConstants.STATUS_DRAFT); if (count > 0) { return true; } else {/*from w ww .ja v a2 s . c o m*/ return false; } }
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(); }/*from w w w. j a va2 s .com*/ // 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
protected List<ObjectValuePair<Long, Integer>> getPageVersionStatuses(List<WikiPage> pages) { List<ObjectValuePair<Long, Integer>> pageVersionStatusOVPs = new ArrayList<>(pages.size()); for (WikiPage page : pages) { int status = page.getStatus(); if (status == WorkflowConstants.STATUS_PENDING) { status = WorkflowConstants.STATUS_DRAFT; }/* w w w. j av a 2 s . c om*/ ObjectValuePair<Long, Integer> pageVersionStatusOVP = new ObjectValuePair<>(page.getPageId(), status); pageVersionStatusOVPs.add(pageVersionStatusOVP); } return pageVersionStatusOVPs; }
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 w w. ja v a 2 s .co 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.impl.WikiPageLocalServiceImpl.java
License:Open Source License
protected WikiPage updatePage(long userId, WikiPage oldPage, long newNodeId, String newTitle, String content, String summary, boolean minorEdit, String format, String parentTitle, String redirectTitle, ServiceContext serviceContext) throws PortalException { User user = userPersistence.findByPrimaryKey(userId); long pageId = 0; if (oldPage.isApproved()) { pageId = counterLocalService.increment(); } else {// w w w . j ava 2 s . co m pageId = oldPage.getPageId(); } content = SanitizerUtil.sanitize(user.getCompanyId(), oldPage.getGroupId(), userId, WikiPage.class.getName(), pageId, "text/" + format, content); long nodeId = oldPage.getNodeId(); if (newNodeId != 0) { nodeId = newNodeId; } if (!format.equals(oldPage.getFormat())) { validate(nodeId, content, format); } serviceContext.validateModifiedDate(oldPage, PageVersionException.class); long resourcePrimKey = wikiPageResourceLocalService.getPageResourcePrimKey(oldPage.getGroupId(), oldPage.getNodeId(), oldPage.getTitle()); Date now = new Date(); WikiPage page = oldPage; double newVersion = oldPage.getVersion(); if (oldPage.isApproved()) { newVersion = MathUtil.format(oldPage.getVersion() + 0.1, 1, 1); page = wikiPagePersistence.create(pageId); page.setUuid(serviceContext.getUuid()); } page.setResourcePrimKey(resourcePrimKey); page.setGroupId(oldPage.getGroupId()); page.setCompanyId(user.getCompanyId()); page.setUserId(user.getUserId()); page.setUserName(user.getFullName()); page.setCreateDate(oldPage.getCreateDate()); page.setNodeId(nodeId); page.setTitle(Validator.isNull(newTitle) ? oldPage.getTitle() : newTitle); page.setVersion(newVersion); page.setMinorEdit(minorEdit); page.setContent(content); if (oldPage.isPending()) { page.setStatus(oldPage.getStatus()); } else { page.setStatus(WorkflowConstants.STATUS_DRAFT); } page.setSummary(summary); page.setFormat(format); if (Validator.isNotNull(parentTitle)) { page.setParentTitle(parentTitle); } if (Validator.isNotNull(redirectTitle)) { page.setRedirectTitle(redirectTitle); } ExpandoBridgeUtil.setExpandoBridgeAttributes(oldPage.getExpandoBridge(), page.getExpandoBridge(), serviceContext); wikiPagePersistence.update(page); // Node WikiNode node = wikiNodePersistence.findByPrimaryKey(nodeId); node.setLastPostDate(serviceContext.getModifiedDate(now)); wikiNodePersistence.update(node); // Asset updateAsset(userId, page, serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames(), serviceContext.getAssetLinkEntryIds(), serviceContext.getAssetPriority()); // Workflow page = startWorkflowInstance(userId, page, serviceContext); return page; }
From source file:com.liferay.wiki.service.persistence.test.WikiPageFinderTest.java
License:Open Source License
@Test public void testQueryByG_N_H_SDraftStatusIncludeOwner() throws Exception { ServiceTestUtil.setUser(TestPropsValues.getUser()); int count = WikiPageServiceUtil.getPagesCount(_group.getGroupId(), _node.getNodeId(), true, _user.getUserId(), true, WorkflowConstants.STATUS_DRAFT); List<WikiPage> pages = WikiPageServiceUtil.getPages(_group.getGroupId(), _node.getNodeId(), true, _user.getUserId(), true, WorkflowConstants.STATUS_DRAFT, QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);// www. j a v a 2s.c om Assert.assertEquals(2, count); Assert.assertEquals(count, pages.size()); }
From source file:com.liferay.wiki.web.internal.display.context.DefaultWikiListPagesDisplayContext.java
License:Open Source License
@Override public void populateResultsAndTotal(SearchContainer searchContainer) throws PortalException { WikiPage page = (WikiPage) _request.getAttribute(WikiWebKeys.WIKI_PAGE); ThemeDisplay themeDisplay = (ThemeDisplay) _request.getAttribute(WebKeys.THEME_DISPLAY); String navigation = ParamUtil.getString(_request, "navigation", "all-pages"); String keywords = ParamUtil.getString(_request, "keywords"); int total = 0; List<WikiPage> results = new ArrayList<>(); if (Validator.isNotNull(keywords)) { Indexer<WikiPage> indexer = IndexerRegistryUtil.getIndexer(WikiPage.class); SearchContext searchContext = SearchContextFactory.getInstance(_request); searchContext.setAttribute("paginationType", "more"); searchContext.setEnd(searchContainer.getEnd()); searchContext.setIncludeAttachments(true); searchContext.setIncludeDiscussions(true); searchContext.setKeywords(keywords); searchContext.setNodeIds(new long[] { _wikiNode.getNodeId() }); searchContext.setStart(searchContainer.getStart()); Hits hits = indexer.search(searchContext); searchContainer.setTotal(hits.getLength()); List<SearchResult> searchResults = SearchResultUtil.getSearchResults(hits, themeDisplay.getLocale()); for (SearchResult searchResult : searchResults) { WikiPage wikiPage = WikiPageLocalServiceUtil.getPage(searchResult.getClassPK()); results.add(wikiPage);//from w w w . j av a 2s . c om } } else if (navigation.equals("all-pages")) { total = WikiPageServiceUtil.getPagesCount(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(), true, themeDisplay.getUserId(), true, WorkflowConstants.STATUS_APPROVED); searchContainer.setTotal(total); OrderByComparator<WikiPage> obc = WikiPortletUtil .getPageOrderByComparator(searchContainer.getOrderByCol(), searchContainer.getOrderByType()); results = WikiPageServiceUtil.getPages(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(), true, themeDisplay.getUserId(), true, WorkflowConstants.STATUS_APPROVED, searchContainer.getStart(), searchContainer.getEnd(), obc); } else if (navigation.equals("categorized-pages") || navigation.equals("tagged-pages")) { AssetEntryQuery assetEntryQuery = new AssetEntryQuery(WikiPage.class.getName(), searchContainer); assetEntryQuery.setEnablePermissions(true); total = AssetEntryServiceUtil.getEntriesCount(assetEntryQuery); searchContainer.setTotal(total); assetEntryQuery.setEnd(searchContainer.getEnd()); assetEntryQuery.setStart(searchContainer.getStart()); List<AssetEntry> assetEntries = AssetEntryServiceUtil.getEntries(assetEntryQuery); for (AssetEntry assetEntry : assetEntries) { WikiPageResource pageResource = WikiPageResourceLocalServiceUtil .getPageResource(assetEntry.getClassPK()); WikiPage assetPage = WikiPageLocalServiceUtil.getPage(pageResource.getNodeId(), pageResource.getTitle()); results.add(assetPage); } } else if (navigation.equals("draft-pages") || navigation.equals("pending-pages")) { long draftUserId = themeDisplay.getUserId(); PermissionChecker permissionChecker = themeDisplay.getPermissionChecker(); if (permissionChecker.isContentReviewer(themeDisplay.getCompanyId(), themeDisplay.getScopeGroupId())) { draftUserId = 0; } int status = WorkflowConstants.STATUS_DRAFT; if (navigation.equals("pending-pages")) { status = WorkflowConstants.STATUS_PENDING; } total = WikiPageServiceUtil.getPagesCount(themeDisplay.getScopeGroupId(), draftUserId, _wikiNode.getNodeId(), status); searchContainer.setTotal(total); results = WikiPageServiceUtil.getPages(themeDisplay.getScopeGroupId(), draftUserId, _wikiNode.getNodeId(), status, searchContainer.getStart(), searchContainer.getEnd()); } else if (navigation.equals("frontpage")) { WikiWebComponentProvider wikiWebComponentProvider = WikiWebComponentProvider .getWikiWebComponentProvider(); WikiGroupServiceConfiguration wikiGroupServiceConfiguration = wikiWebComponentProvider .getWikiGroupServiceConfiguration(); WikiPage wikiPage = WikiPageServiceUtil.getPage(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(), wikiGroupServiceConfiguration.frontPageName()); searchContainer.setTotal(1); results.add(wikiPage); } else if (navigation.equals("history")) { total = WikiPageLocalServiceUtil.getPagesCount(page.getNodeId(), page.getTitle()); searchContainer.setTotal(total); results = WikiPageLocalServiceUtil.getPages(page.getNodeId(), page.getTitle(), QueryUtil.ALL_POS, QueryUtil.ALL_POS, new PageVersionComparator()); } else if (navigation.equals("incoming-links")) { List<WikiPage> links = WikiPageLocalServiceUtil.getIncomingLinks(page.getNodeId(), page.getTitle()); total = links.size(); searchContainer.setTotal(total); results = ListUtil.subList(links, searchContainer.getStart(), searchContainer.getEnd()); } else if (navigation.equals("orphan-pages")) { List<WikiPage> orphans = WikiPageServiceUtil.getOrphans(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId()); total = orphans.size(); searchContainer.setTotal(total); results = ListUtil.subList(orphans, searchContainer.getStart(), searchContainer.getEnd()); } else if (navigation.equals("outgoing-links")) { List<WikiPage> links = WikiPageLocalServiceUtil.getOutgoingLinks(page.getNodeId(), page.getTitle()); total = links.size(); searchContainer.setTotal(total); results = ListUtil.subList(links, searchContainer.getStart(), searchContainer.getEnd()); } else if (navigation.equals("recent-changes")) { total = WikiPageServiceUtil.getRecentChangesCount(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId()); searchContainer.setTotal(total); results = WikiPageServiceUtil.getRecentChanges(themeDisplay.getScopeGroupId(), _wikiNode.getNodeId(), searchContainer.getStart(), searchContainer.getEnd()); } searchContainer.setResults(results); }
From source file:com.maximgalushka.service.service.impl.DocumentLocalServiceImpl.java
License:Open Source License
public Document addDocument(Document document, ServiceContext serviceContext) throws SystemException { Document newInstance = documentPersistence.create(counterLocalService.increment(Document.class.getName())); newInstance.setStatus(WorkflowConstants.STATUS_DRAFT); newInstance.setTitle(document.getTitle()); newInstance.setUserId(document.getUserId()); newInstance.setCompanyId(document.getCompanyId()); newInstance.setGroupId(document.getGroupId()); newInstance.setType(document.getType()); documentPersistence.update(newInstance, false); try {// ww w . j a v a 2 s . co m resourceLocalService.addResources(newInstance.getCompanyId(), newInstance.getGroupId(), newInstance.getUserId(), Document.class.getName(), newInstance.getPrimaryKey(), false, true, true); } catch (Exception e) { e.printStackTrace(); } try { // assetEntryLocalService.addAssetEntry(); // assetEntryLocalService.createAssetEntry(entryId) assetEntryLocalService.updateEntry(newInstance.getUserId(), newInstance.getGroupId(), Document.class.getName(), newInstance.getPrimaryKey(), serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames()); } catch (PortalException e1) { e1.printStackTrace(); } try { WorkflowHandlerRegistryUtil.startWorkflowInstance(newInstance.getCompanyId(), newInstance.getUserId(), Document.class.getName(), newInstance.getPrimaryKey(), newInstance, serviceContext); } catch (PortalException e) { e.printStackTrace(); } return document; }
From source file:com.meera.db.service.impl.FeedbackLocalServiceImpl.java
License:Open Source License
public Feedback addFeedback(Feedback newFeedback, long userId, ServiceContext serviceContext) throws SystemException, PortalException { Feedback feedback = feedbackPersistence.create(counterLocalService.increment(Feedback.class.getName())); feedback.setCompanyId(newFeedback.getCompanyId()); feedback.setGroupId(newFeedback.getGroupId()); feedback.setUserId(serviceContext.getUserId()); feedback.setFeedbackDate(newFeedback.getFeedbackDate()); feedback.setFeedbackText(newFeedback.getFeedbackText()); feedback.setFeedbackSubject(newFeedback.getFeedbackSubject()); feedback.setStatus(WorkflowConstants.STATUS_DRAFT); feedbackPersistence.update(feedback, false); assetEntryLocalService.updateEntry(userId, feedback.getGroupId(), Feedback.class.getName(), feedback.getFeedbackId(), serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames()); WorkflowHandlerRegistryUtil.startWorkflowInstance(feedback.getCompanyId(), feedback.getGroupId(), userId, Feedback.class.getName(), feedback.getPrimaryKey(), feedback, serviceContext); return feedback; }
From source file:com.resume.service.impl.ResumeLocalServiceImpl.java
License:Open Source License
public Resume addResume(Resume newResume, long userId, ServiceContext serviceContext) throws SystemException, PortalException { Resume resume = resumePersistence.create(0); resume.setCompanyId(newResume.getCompanyId()); resume.setGroupId(newResume.getGroupId()); resume.setUserId(serviceContext.getUserId()); resume.setResumeDate(newResume.getResumeDate()); resume.setResumeText(newResume.getResumeText()); resume.setStatus(WorkflowConstants.STATUS_DRAFT); resumePersistence.update(resume, false); assetEntryLocalService.updateEntry(userId, resume.getGroupId(), Resume.class.getName(), resume.getResumeId(), serviceContext.getAssetCategoryIds(), serviceContext.getAssetTagNames()); WorkflowHandlerRegistryUtil.startWorkflowInstance(resume.getCompanyId(), resume.getGroupId(), userId, Resume.class.getName(), resume.getPrimaryKey(), resume, serviceContext); return resume; }