List of usage examples for com.liferay.portal.kernel.portletfilerepository PortletFileRepositoryUtil restorePortletFileEntryFromTrash
public static void restorePortletFileEntryFromTrash(long userId, long fileEntryId) throws PortalException
From source file:com.liferay.journal.service.impl.JournalArticleLocalServiceImpl.java
License:Open Source License
/** * Moves the web content article from the Recycle Bin to a new folder. * * @param userId the primary key of the user updating the web content * article/*from w w w. j ava2s. c om*/ * @param groupId the primary key of the web content article's group * @param article the web content article * @param newFolderId the primary key of the web content article's new * folder * @param serviceContext the service context to be applied. Can set the * modification date, portlet preferences, and can set whether to * add the default command update for the web content article. With * respect to social activities, by setting the service context's * command to {@link Constants#UPDATE}, the invocation is considered * a web content update activity; otherwise it is considered a web * content add activity. * @return the updated web content article, which was moved from the Recycle * Bin to a new folder */ @Indexable(type = IndexableType.REINDEX) @Override public JournalArticle moveArticleFromTrash(long userId, long groupId, JournalArticle article, long newFolderId, ServiceContext serviceContext) throws PortalException { if (!article.isInTrash()) { throw new RestoreEntryException(RestoreEntryException.INVALID_STATUS); } if (article.isInTrashExplicitly()) { restoreArticleFromTrash(userId, article); } else { // Article TrashVersion trashVersion = trashVersionLocalService.fetchVersion(JournalArticle.class.getName(), article.getResourcePrimKey()); int status = WorkflowConstants.STATUS_APPROVED; if (trashVersion != null) { status = trashVersion.getStatus(); } updateStatus(userId, article, status, null, serviceContext, new HashMap<String, Serializable>()); // Attachments for (FileEntry fileEntry : article.getImagesFileEntries()) { PortletFileRepositoryUtil.restorePortletFileEntryFromTrash(userId, fileEntry.getFileEntryId()); } // Trash if (trashVersion != null) { trashVersionLocalService.deleteTrashVersion(trashVersion); } } return moveArticle(groupId, article.getArticleId(), newFolderId, serviceContext); }
From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java
License:Open Source License
@Override public void restorePageAttachmentFromTrash(long userId, long nodeId, String title, String fileName) throws PortalException { WikiPage page = getPage(nodeId, title); FileEntry fileEntry = PortletFileRepositoryUtil.getPortletFileEntry(page.getGroupId(), page.getAttachmentsFolderId(), fileName); 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()); PortletFileRepositoryUtil.restorePortletFileEntryFromTrash(userId, fileEntry.getFileEntryId()); SocialActivityManagerUtil.addActivity(userId, page, SocialActivityConstants.TYPE_RESTORE_ATTACHMENT_FROM_TRASH, extraDataJSONObject.toString(), 0); }
From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java
License:Open Source License
protected void moveDependentFromTrash(WikiPage page, long newNodeId, String newParentTitle) throws PortalException { // Page//from w ww.j a va2s . co m String trashTitle = page.getTitle(); TrashVersion trashVersion = trashVersionLocalService.fetchVersion(WikiPage.class.getName(), page.getPageId()); long oldNodeId = page.getNodeId(); if (newNodeId == 0) { newNodeId = oldNodeId; } page.setNodeId(newNodeId); WikiPageResource pageResource = wikiPageResourcePersistence.findByPrimaryKey(page.getResourcePrimKey()); pageResource.setNodeId(newNodeId); if (trashVersion != null) { String originalTitle = TrashUtil.getOriginalTitle(page.getTitle()); pageResource.setTitle(originalTitle); page.setTitle(originalTitle); } wikiPageResourcePersistence.update(pageResource); page.setParentTitle(newParentTitle); wikiPagePersistence.update(page); int oldStatus = WorkflowConstants.STATUS_APPROVED; if (trashVersion != null) { oldStatus = trashVersion.getStatus(); } // Version pages List<WikiPage> versionPages = wikiPagePersistence.findByR_N(page.getResourcePrimKey(), page.getNodeId()); for (WikiPage versionPage : versionPages) { // Version page versionPage.setParentTitle(newParentTitle); versionPage.setNodeId(newNodeId); versionPage.setTitle(page.getTitle()); trashVersion = trashVersionLocalService.fetchVersion(WikiPage.class.getName(), versionPage.getPageId()); int versionPageOldStatus = WorkflowConstants.STATUS_APPROVED; if (trashVersion != null) { versionPageOldStatus = trashVersion.getStatus(); } versionPage.setStatus(versionPageOldStatus); wikiPagePersistence.update(versionPage); // Trash if (trashVersion != null) { trashVersionLocalService.deleteTrashVersion(trashVersion); } } // Asset if (oldStatus == WorkflowConstants.STATUS_APPROVED) { assetEntryLocalService.updateVisible(WikiPage.class.getName(), page.getResourcePrimKey(), true); } // Attachments WikiNode node = page.getNode(); for (FileEntry fileEntry : page.getAttachmentsFileEntries()) { PortletFileRepositoryUtil.restorePortletFileEntryFromTrash(node.getStatusByUserId(), fileEntry.getFileEntryId()); } // Indexer Indexer<WikiPage> indexer = IndexerRegistryUtil.nullSafeGetIndexer(WikiPage.class); indexer.reindex(page); // Child pages moveDependentChildPagesFromTrash(page, oldNodeId, trashTitle); // Redirect pages moveDependentRedirectorPagesFromTrash(page, oldNodeId, trashTitle); }
From source file:com.liferay.wiki.service.impl.WikiPageLocalServiceImpl.java
License:Open Source License
protected void movePageFromTrash(long userId, WikiPage page, long newNodeId, String newParentTitle) throws PortalException { // Page/*from w w w.j a v a 2 s . com*/ String trashTitle = page.getTitle(); String originalTitle = TrashUtil.getOriginalTitle(trashTitle); long oldNodeId = page.getNodeId(); if (newNodeId == 0) { newNodeId = oldNodeId; } List<WikiPage> pageVersions = wikiPagePersistence.findByR_N_H(page.getResourcePrimKey(), oldNodeId, false); for (WikiPage pageVersion : pageVersions) { pageVersion.setParentTitle(newParentTitle); pageVersion.setNodeId(newNodeId); pageVersion.setTitle(originalTitle); wikiPagePersistence.update(pageVersion); } WikiPageResource pageResource = wikiPageResourcePersistence.fetchByPrimaryKey(page.getResourcePrimKey()); pageResource.setNodeId(newNodeId); pageResource.setTitle(originalTitle); wikiPageResourcePersistence.update(pageResource); page.setNodeId(newNodeId); page.setTitle(originalTitle); WikiPage parentPage = page.getParentPage(); if ((parentPage != null) && parentPage.isInTrash()) { page.setParentTitle(StringPool.BLANK); } if (Validator.isNotNull(newParentTitle)) { WikiPage newParentPage = getPage(newNodeId, newParentTitle); if (!newParentPage.isInTrash()) { page.setParentTitle(newParentTitle); } } WikiPage redirectPage = page.getRedirectPage(); if ((redirectPage != null) && redirectPage.isInTrash()) { page.setRedirectTitle(StringPool.BLANK); } wikiPagePersistence.update(page); TrashEntry trashEntry = trashEntryLocalService.getEntry(WikiPage.class.getName(), page.getResourcePrimKey()); updateStatus(userId, page, trashEntry.getStatus(), new ServiceContext(), new HashMap<String, Serializable>()); // Attachments for (FileEntry fileEntry : page.getAttachmentsFileEntries()) { PortletFileRepositoryUtil.restorePortletFileEntryFromTrash(userId, fileEntry.getFileEntryId()); } // Child pages moveDependentChildPagesFromTrash(page, oldNodeId, trashTitle); // Redirect pages moveDependentRedirectorPagesFromTrash(page, oldNodeId, trashTitle); // Trash List<TrashVersion> trashVersions = trashVersionLocalService.getVersions(trashEntry.getEntryId()); for (TrashVersion trashVersion : trashVersions) { WikiPage trashArticleVersion = wikiPagePersistence.findByPrimaryKey(trashVersion.getClassPK()); trashArticleVersion.setStatus(trashVersion.getStatus()); wikiPagePersistence.update(trashArticleVersion); } trashEntryLocalService.deleteEntry(WikiPage.class.getName(), page.getResourcePrimKey()); // Comment CommentManagerUtil.restoreDiscussionFromTrash(WikiPage.class.getName(), page.getResourcePrimKey()); // Social JSONObject extraDataJSONObject = JSONFactoryUtil.createJSONObject(); extraDataJSONObject.put("title", page.getTitle()); extraDataJSONObject.put("version", page.getVersion()); SocialActivityManagerUtil.addActivity(userId, page, SocialActivityConstants.TYPE_RESTORE_FROM_TRASH, extraDataJSONObject.toString(), 0); Indexer<WikiPage> indexer = IndexerRegistryUtil.nullSafeGetIndexer(WikiPage.class); indexer.reindex(page); }