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

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

Introduction

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

Prototype

int STATUS_DRAFT

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

Click Source Link

Usage

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