Example usage for com.liferay.portal.kernel.portletfilerepository PortletFileRepositoryUtil movePortletFileEntryToTrash

List of usage examples for com.liferay.portal.kernel.portletfilerepository PortletFileRepositoryUtil movePortletFileEntryToTrash

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.portletfilerepository PortletFileRepositoryUtil movePortletFileEntryToTrash.

Prototype

public static FileEntry movePortletFileEntryToTrash(long userId, long fileEntryId) throws PortalException 

Source Link

Usage

From source file:com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.java

License:Open Source License

/**
 * Moves the latest version of the web content article matching the group
 * and article ID to the recycle bin./*from ww w.j a  v a2s . c  o  m*/
 *
 * @param  userId the primary key of the user updating the web content
 *         article
 * @param  article the web content article
 * @return the updated web content article, which was moved to the Recycle
 *         Bin
 */
@Indexable(type = IndexableType.REINDEX)
@Override
public JournalArticle moveArticleToTrash(long userId, JournalArticle article) throws PortalException {

    // Article

    if (article.isInTrash()) {
        throw new TrashEntryException();
    }

    int oldStatus = article.getStatus();

    if (oldStatus == WorkflowConstants.STATUS_PENDING) {
        article.setStatus(WorkflowConstants.STATUS_DRAFT);
    }

    journalArticlePersistence.update(article);

    List<JournalArticle> articleVersions = journalArticlePersistence.findByG_A(article.getGroupId(),
            article.getArticleId());

    articleVersions = ListUtil.sort(articleVersions, new ArticleVersionComparator());

    List<ObjectValuePair<Long, Integer>> articleVersionStatusOVPs = new ArrayList<>();

    if ((articleVersions != null) && !articleVersions.isEmpty()) {
        articleVersionStatusOVPs = getArticleVersionStatuses(articleVersions);
    }

    article = updateStatus(userId, article.getId(), WorkflowConstants.STATUS_IN_TRASH,
            new HashMap<String, Serializable>(), new ServiceContext());

    // Trash

    JournalArticleResource articleResource = journalArticleResourceLocalService
            .getArticleResource(article.getResourcePrimKey());

    UnicodeProperties typeSettingsProperties = new UnicodeProperties();

    typeSettingsProperties.put("title", article.getArticleId());

    TrashEntry trashEntry = trashEntryLocalService.addTrashEntry(userId, article.getGroupId(),
            JournalArticle.class.getName(), article.getResourcePrimKey(), articleResource.getUuid(), null,
            oldStatus, articleVersionStatusOVPs, typeSettingsProperties);

    String trashArticleId = TrashUtil.getTrashTitle(trashEntry.getEntryId());

    for (JournalArticle articleVersion : articleVersions) {
        articleVersion.setArticleId(trashArticleId);
        articleVersion.setStatus(WorkflowConstants.STATUS_IN_TRASH);

        journalArticlePersistence.update(articleVersion);
    }

    articleResource.setArticleId(trashArticleId);

    journalArticleResourcePersistence.update(articleResource);

    article.setArticleId(trashArticleId);

    article = journalArticlePersistence.update(article);

    // Asset

    assetEntryLocalService.updateVisible(JournalArticle.class.getName(), article.getResourcePrimKey(), false);

    // Attachments

    for (FileEntry fileEntry : article.getImagesFileEntries()) {
        PortletFileRepositoryUtil.movePortletFileEntryToTrash(userId, fileEntry.getFileEntryId());
    }

    // Comment

    if (isArticleCommentsEnabled(article.getCompanyId())) {
        CommentManagerUtil.moveDiscussionToTrash(JournalArticle.class.getName(), article.getResourcePrimKey());
    }

    // Social

    JSONObject extraDataJSONObject = JSONFactoryUtil.createJSONObject();

    extraDataJSONObject.put("title", article.getTitleMapAsXML());

    SocialActivityManagerUtil.addActivity(userId, article, SocialActivityConstants.TYPE_MOVE_TO_TRASH,
            extraDataJSONObject.toString(), 0);

    if (oldStatus == WorkflowConstants.STATUS_PENDING) {
        workflowInstanceLinkLocalService.deleteWorkflowInstanceLink(article.getCompanyId(),
                article.getGroupId(), JournalArticle.class.getName(), article.getId());
    }

    return article;
}

From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java

License:Open Source License

@Override
public FileEntry movePageAttachmentToTrash(long userId, long nodeId, String title, String fileName)
        throws PortalException {

    WikiPage page = getPage(nodeId, title);

    FileEntry fileEntry = PortletFileRepositoryUtil.getPortletFileEntry(page.getGroupId(),
            page.getAttachmentsFolderId(), fileName);

    fileEntry = PortletFileRepositoryUtil.movePortletFileEntryToTrash(userId, fileEntry.getFileEntryId());

    JSONObject extraDataJSONObject = JSONFactoryUtil.createJSONObject();

    extraDataJSONObject.put("fileEntryId", fileEntry.getFileEntryId());
    extraDataJSONObject.put("fileEntryTitle", TrashUtil.getOriginalTitle(fileEntry.getTitle()));
    extraDataJSONObject.put("title", page.getTitle());
    extraDataJSONObject.put("version", page.getVersion());

    SocialActivityManagerUtil.addActivity(userId, page, SocialActivityConstants.TYPE_MOVE_ATTACHMENT_TO_TRASH,
            extraDataJSONObject.toString(), 0);

    return fileEntry;
}

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 ww  w  .  j ava2s  . c o 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

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

    // Page/*from   www . j a  v a2 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);
}