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

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

Introduction

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

Prototype

public static void deletePortletFolder(long folderId) throws PortalException 

Source Link

Usage

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

License:Open Source License

/**
 * Deletes the web content article and its resources, optionally sending
 * email notifying denial of the article if it had not yet been approved.
 *
 * @param  article the web content article
 * @param  articleURL the web content article's accessible URL to include in
 *         email notifications (optionally <code>null</code>)
 * @param  serviceContext the service context to be applied (optionally
 *         <code>null</code>). Can set the portlet preferences that include
 *         email information to notify recipients of the unapproved web
 *         content's denial.//www. j  a v  a  2  s . c om
 * @return the deleted web content article
 */
@Indexable(type = IndexableType.DELETE)
@Override
@SystemEvent(action = SystemEventConstants.ACTION_SKIP, send = false, type = SystemEventConstants.TYPE_DELETE)
public JournalArticle deleteArticle(JournalArticle article, String articleURL, ServiceContext serviceContext)
        throws PortalException {

    JournalArticleResource articleResource = journalArticleResourceLocalService
            .fetchArticleResource(article.getGroupId(), article.getArticleId());

    if (article.isApproved() && isLatestVersion(article.getGroupId(), article.getArticleId(),
            article.getVersion(), WorkflowConstants.STATUS_APPROVED)) {

        updatePreviousApprovedArticle(article);
    }

    // Article localization

    journalArticleLocalizationPersistence.removeByArticlePK(article.getId());

    // Email

    if ((serviceContext != null) && Validator.isNotNull(articleURL)) {
        PortletPreferences preferences = ServiceContextUtil.getPortletPreferences(serviceContext);

        if ((preferences != null) && !article.isApproved()
                && isLatestVersion(article.getGroupId(), article.getArticleId(), article.getVersion())) {

            articleURL = buildArticleURL(articleURL, article.getGroupId(), article.getFolderId(),
                    article.getArticleId());

            sendEmail(article, articleURL, preferences, "denied", serviceContext);
        }
    }

    // Dynamic data mapping

    if (article.getClassNameId() != classNameLocalService.getClassNameId(DDMStructure.class)) {

        ddmStorageLinkLocalService.deleteClassStorageLink(article.getId());

        ddmTemplateLinkLocalService.deleteTemplateLink(
                classNameLocalService.getClassNameId(JournalArticle.class), article.getId());
    }

    // Expando

    expandoRowLocalService.deleteRows(article.getId());

    // Trash

    if (article.isInTrash()) {
        TrashEntry trashEntry = article.getTrashEntry();

        if (trashEntry != null) {
            trashVersionLocalService.deleteTrashVersion(JournalArticle.class.getName(), article.getId());
        }
    }

    // Workflow

    if (!article.isDraft()) {
        workflowInstanceLinkLocalService.deleteWorkflowInstanceLink(article.getCompanyId(),
                article.getGroupId(), JournalArticle.class.getName(), article.getId());
    }

    int articlesCount = journalArticlePersistence.countByG_A(article.getGroupId(), article.getArticleId());

    if (articlesCount == 1) {

        // Asset

        assetEntryLocalService.deleteEntry(JournalArticle.class.getName(), article.getResourcePrimKey());

        // Comment

        CommentManagerUtil.deleteDiscussion(JournalArticle.class.getName(), article.getResourcePrimKey());

        // Content searches

        journalContentSearchLocalService.deleteArticleContentSearches(article.getGroupId(),
                article.getArticleId());

        // Images

        long folderId = article.getImagesFolderId();

        if (folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
            PortletFileRepositoryUtil.deletePortletFolder(folderId);
        }

        // Ratings

        ratingsStatsLocalService.deleteStats(JournalArticle.class.getName(), article.getResourcePrimKey());

        // Small image

        imageLocalService.deleteImage(article.getSmallImageId());

        // Trash

        trashEntryLocalService.deleteEntry(JournalArticle.class.getName(), article.getResourcePrimKey());

        // Resources

        resourceLocalService.deleteResource(article.getCompanyId(), JournalArticle.class.getName(),
                ResourceConstants.SCOPE_INDIVIDUAL, article.getResourcePrimKey());

        // Resource

        if (articleResource != null) {
            journalArticleResourceLocalService.deleteJournalArticleResource(articleResource);
        }
    }

    // Article

    journalArticlePersistence.remove(article);

    // System event

    if (articleResource != null) {
        JSONObject extraDataJSONObject = JSONFactoryUtil.createJSONObject();

        extraDataJSONObject.put("uuid", article.getUuid());
        extraDataJSONObject.put("version", article.getVersion());

        systemEventLocalService.addSystemEvent(0, article.getGroupId(), article.getModelClassName(),
                article.getPrimaryKey(), articleResource.getUuid(), null, SystemEventConstants.TYPE_DELETE,
                extraDataJSONObject.toString());
    }

    return article;
}

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

License:Open Source License

@Override
@SystemEvent(action = SystemEventConstants.ACTION_SKIP, type = SystemEventConstants.TYPE_DELETE)
public void deleteNode(WikiNode node) throws PortalException {

    // Pages/*from  w ww .j  a v a 2  s . c o  m*/

    wikiPageLocalService.deletePages(node.getNodeId());

    // Node

    wikiNodePersistence.remove(node);

    // Resources

    resourceLocalService.deleteResource(node.getCompanyId(), WikiNode.class.getName(),
            ResourceConstants.SCOPE_INDIVIDUAL, node.getNodeId());

    // Attachments

    long folderId = node.getAttachmentsFolderId();

    if (folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
        PortletFileRepositoryUtil.deletePortletFolder(folderId);
    }

    // Subscriptions

    subscriptionLocalService.deleteSubscriptions(node.getCompanyId(), WikiNode.class.getName(),
            node.getNodeId());

    if (node.isInTrash()) {
        node.setName(TrashUtil.getOriginalTitle(node.getName()));

        // Trash

        trashEntryLocalService.deleteEntry(WikiNode.class.getName(), node.getNodeId());

        // Indexer

        Indexer<WikiNode> indexer = IndexerRegistryUtil.nullSafeGetIndexer(WikiNode.class);

        indexer.delete(node);
    }
}

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

License:Open Source License

@Override
@SystemEvent(action = SystemEventConstants.ACTION_SKIP, send = false, type = SystemEventConstants.TYPE_DELETE)
public void deletePage(WikiPage page) throws PortalException {

    // Child pages

    List<WikiPage> childPages = wikiPagePersistence.findByN_P(page.getNodeId(), page.getTitle());

    for (WikiPage childPage : childPages) {
        if (childPage.isApproved() || childPage.isInTrashImplicitly()) {
            wikiPageLocalService.deletePage(childPage);
        } else {// w w  w.  j  a va  2 s.  c o m
            childPage.setParentTitle(StringPool.BLANK);

            wikiPagePersistence.update(childPage);
        }
    }

    List<WikiPage> redirectorPages = getRedirectorPages(page.getNodeId(), page.getTitle());

    for (WikiPage redirectorPage : redirectorPages) {
        if (redirectorPage.isApproved() || redirectorPage.isInTrashImplicitly()) {

            wikiPageLocalService.deletePage(redirectorPage);
        } else {
            redirectorPage.setRedirectTitle(StringPool.BLANK);

            wikiPagePersistence.update(redirectorPage);
        }
    }

    List<WikiPage> versionPages = wikiPagePersistence.findByN_T(page.getNodeId(), page.getTitle());

    wikiPagePersistence.removeByN_T(page.getNodeId(), page.getTitle());

    // References

    wikiPagePersistence.removeByN_R(page.getNodeId(), page.getTitle());

    // Resources

    resourceLocalService.deleteResource(page.getCompanyId(), WikiPage.class.getName(),
            ResourceConstants.SCOPE_INDIVIDUAL, page.getResourcePrimKey());

    // Resource

    WikiPageResource pageResource = wikiPageResourceLocalService.fetchPageResource(page.getNodeId(),
            page.getTitle());

    if (pageResource != null) {
        wikiPageResourceLocalService.deleteWikiPageResource(pageResource);
    }

    // Attachments

    long folderId = page.getAttachmentsFolderId();

    if (folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) {
        PortletFileRepositoryUtil.deletePortletFolder(folderId);
    }

    // Subscriptions

    subscriptionLocalService.deleteSubscriptions(page.getCompanyId(), WikiPage.class.getName(),
            page.getResourcePrimKey());

    // Asset

    SystemEventHierarchyEntryThreadLocal.pop(page.getModelClass(), page.getPageId());

    try {
        for (WikiPage versionPage : versionPages) {
            assetEntryLocalService.deleteEntry(WikiPage.class.getName(), versionPage.getPrimaryKey());
        }
    } finally {
        SystemEventHierarchyEntryThreadLocal.push(page.getModelClass(), page.getPageId());
    }

    assetEntryLocalService.deleteEntry(WikiPage.class.getName(), page.getResourcePrimKey());

    // Comment

    CommentManagerUtil.deleteDiscussion(WikiPage.class.getName(), page.getResourcePrimKey());

    // Expando

    expandoRowLocalService.deleteRows(page.getPrimaryKey());

    // Ratings

    ratingsStatsLocalService.deleteStats(WikiPage.class.getName(), page.getResourcePrimKey());

    // Trash

    if (page.isInTrash()) {
        if (page.isInTrashExplicitly()) {
            page.setTitle(TrashUtil.getOriginalTitle(page.getTitle()));

            trashEntryLocalService.deleteEntry(WikiPage.class.getName(), page.getResourcePrimKey());
        } else {
            for (WikiPage versionPage : versionPages) {
                trashVersionLocalService.deleteTrashVersion(WikiPage.class.getName(), versionPage.getPageId());
            }
        }
    }

    // Indexer

    Indexer<WikiPage> indexer = IndexerRegistryUtil.nullSafeGetIndexer(WikiPage.class);

    indexer.delete(page);

    // Cache

    clearPageCache(page);

    // Version pages

    for (WikiPage versionPage : versionPages) {

        // Workflow

        workflowInstanceLinkLocalService.deleteWorkflowInstanceLinks(versionPage.getCompanyId(),
                versionPage.getGroupId(), WikiPage.class.getName(), versionPage.getPageId());
    }

    if (pageResource != null) {
        systemEventLocalService.addSystemEvent(0, page.getGroupId(), page.getModelClassName(),
                page.getPrimaryKey(), pageResource.getUuid(), null, SystemEventConstants.TYPE_DELETE,
                StringPool.BLANK);
    }
}