List of usage examples for com.liferay.portal.kernel.repository.model FileShortcut getToFileEntryId
public long getToFileEntryId();
From source file:com.liferay.document.library.internal.exportimport.data.handler.FileShortcutStagedModelDataHandler.java
License:Open Source License
@Override protected void doExportStagedModel(PortletDataContext portletDataContext, FileShortcut fileShortcut) throws Exception { if (fileShortcut.getFolderId() != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, fileShortcut, fileShortcut.getFolder(), PortletDataContext.REFERENCE_TYPE_PARENT); }/*ww w.j a va2s . co m*/ FileEntry fileEntry = _dlAppLocalService.getFileEntry(fileShortcut.getToFileEntryId()); StagedModelDataHandlerUtil.exportReferenceStagedModel(portletDataContext, fileShortcut, fileEntry, PortletDataContext.REFERENCE_TYPE_STRONG); Element fileShortcutElement = portletDataContext.getExportDataElement(fileShortcut); portletDataContext.addClassedModel(fileShortcutElement, ExportImportPathUtil.getModelPath(fileShortcut), fileShortcut); }
From source file:com.liferay.document.library.internal.exportimport.data.handler.FileShortcutStagedModelDataHandler.java
License:Open Source License
@Override protected void doImportStagedModel(PortletDataContext portletDataContext, FileShortcut fileShortcut) throws Exception { long userId = portletDataContext.getUserId(fileShortcut.getUserUuid()); Map<Long, Long> folderIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(Folder.class); long folderId = MapUtil.getLong(folderIds, fileShortcut.getFolderId(), fileShortcut.getFolderId()); long groupId = portletDataContext.getScopeGroupId(); if (folderId != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { Folder folder = FolderUtil.findByPrimaryKey(folderId); groupId = folder.getRepositoryId(); }// w w w .j a v a 2s .co m Map<Long, Long> fileEntryIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(FileEntry.class); long fileEntryId = MapUtil.getLong(fileEntryIds, fileShortcut.getToFileEntryId(), fileShortcut.getToFileEntryId()); FileEntry importedFileEntry = null; try { importedFileEntry = _dlAppLocalService.getFileEntry(fileEntryId); } catch (PortalException pe) { if (_log.isWarnEnabled()) { _log.warn("Unable to fetch file entry " + fileEntryId, pe); } return; } ServiceContext serviceContext = portletDataContext.createServiceContext(fileShortcut); FileShortcut importedFileShortcut = null; if (portletDataContext.isDataStrategyMirror()) { FileShortcut existingFileShortcut = fetchStagedModelByUuidAndGroupId(fileShortcut.getUuid(), portletDataContext.getScopeGroupId()); if (existingFileShortcut == null) { serviceContext.setUuid(fileShortcut.getUuid()); importedFileShortcut = _dlAppLocalService.addFileShortcut(userId, groupId, folderId, importedFileEntry.getFileEntryId(), serviceContext); } else { importedFileShortcut = _dlAppLocalService.updateFileShortcut(userId, existingFileShortcut.getFileShortcutId(), folderId, importedFileEntry.getFileEntryId(), serviceContext); } } else { importedFileShortcut = _dlAppLocalService.addFileShortcut(userId, groupId, folderId, importedFileEntry.getFileEntryId(), serviceContext); } portletDataContext.importClassedModel(fileShortcut, importedFileShortcut); }
From source file:com.liferay.document.library.jaxrs.FolderResource.java
License:Open Source License
protected RepositoryContentObject toObjectRepository(Object rco) { if (rco instanceof FileEntry) { FileEntry fileEntry = (FileEntry) rco; String url = _fileUriBuilder.build(fileEntry.getFileEntryId()).toString(); return new RepositoryContentObject(fileEntry.getFileEntryId(), fileEntry.getTitle(), url, RepositoryContentObject.RepositoryContentType.FILE, fileEntry.getCreateDate(), fileEntry.getModifiedDate()); } else if (rco instanceof Folder) { Folder folder = (Folder) rco;/*from w ww.j a v a 2 s .c o m*/ String url = _folderUriBuilder.build(Long.toString(folder.getFolderId())).toString(); return new RepositoryContentObject(folder.getFolderId(), folder.getName(), url, RepositoryContentObject.RepositoryContentType.FOLDER, folder.getCreateDate(), folder.getModifiedDate()); } else if (rco instanceof FileShortcut) { FileShortcut fileShortcut = (FileShortcut) rco; String url = _fileUriBuilder.build(Long.toString(fileShortcut.getToFileEntryId())).toString(); return new RepositoryContentObject(fileShortcut.getFileShortcutId(), fileShortcut.getToTitle(), url, RepositoryContentObject.RepositoryContentType.SHORTCUT, fileShortcut.getCreateDate(), fileShortcut.getModifiedDate()); } else { throw new IllegalArgumentException( "Object must be an instance of FileEntry, Folder of " + "FileShortcut"); } }
From source file:com.liferay.document.library.web.internal.portlet.action.DownloadEntriesMVCResourceCommand.java
License:Open Source License
protected void downloadFileEntries(ResourceRequest resourceRequest, ResourceResponse resourceResponse) throws Exception { ThemeDisplay themeDisplay = (ThemeDisplay) resourceRequest.getAttribute(WebKeys.THEME_DISPLAY); long folderId = ParamUtil.getLong(resourceRequest, "folderId"); File file = null;/*from w w w. j ava2s .co m*/ InputStream inputStream = null; try { List<FileEntry> fileEntries = ActionUtil.getFileEntries(resourceRequest); List<FileShortcut> fileShortcuts = ActionUtil.getFileShortcuts(resourceRequest); List<Folder> folders = ActionUtil.getFolders(resourceRequest); if (fileEntries.isEmpty() && fileShortcuts.isEmpty() && folders.isEmpty()) { return; } else if ((fileEntries.size() == 1) && fileShortcuts.isEmpty() && folders.isEmpty()) { FileEntry fileEntry = fileEntries.get(0); PortletResponseUtil.sendFile(resourceRequest, resourceResponse, fileEntry.getFileName(), fileEntry.getContentStream(), 0, fileEntry.getMimeType(), HttpHeaders.CONTENT_DISPOSITION_ATTACHMENT); } else if ((fileShortcuts.size() == 1) && fileEntries.isEmpty() && folders.isEmpty()) { FileShortcut fileShortcut = fileShortcuts.get(0); FileEntry fileEntry = _dlAppService.getFileEntry(fileShortcut.getToFileEntryId()); PortletResponseUtil.sendFile(resourceRequest, resourceResponse, fileEntry.getFileName(), fileEntry.getContentStream(), 0, fileEntry.getMimeType(), HttpHeaders.CONTENT_DISPOSITION_ATTACHMENT); } else { String zipFileName = getZipFileName(folderId, themeDisplay); ZipWriter zipWriter = ZipWriterFactoryUtil.getZipWriter(); for (FileEntry fileEntry : fileEntries) { zipFileEntry(fileEntry, StringPool.SLASH, zipWriter); } for (FileShortcut fileShortcut : fileShortcuts) { FileEntry fileEntry = _dlAppService.getFileEntry(fileShortcut.getToFileEntryId()); zipFileEntry(fileEntry, StringPool.SLASH, zipWriter); } for (Folder folder : folders) { zipFolder(folder.getRepositoryId(), folder.getFolderId(), StringPool.SLASH.concat(folder.getName()), zipWriter); } file = zipWriter.getFile(); inputStream = new FileInputStream(file); PortletResponseUtil.sendFile(resourceRequest, resourceResponse, zipFileName, inputStream, ContentTypes.APPLICATION_ZIP); } } finally { StreamUtil.cleanUp(inputStream); if (file != null) { file.delete(); } } }
From source file:com.liferay.document.library.web.internal.portlet.action.DownloadEntriesMVCResourceCommand.java
License:Open Source License
protected void zipFolder(long repositoryId, long folderId, String path, ZipWriter zipWriter) throws Exception { List<Object> foldersAndFileEntriesAndFileShortcuts = _dlAppService.getFoldersAndFileEntriesAndFileShortcuts( repositoryId, folderId, WorkflowConstants.STATUS_APPROVED, false, QueryUtil.ALL_POS, QueryUtil.ALL_POS);// w w w . j a v a 2s . c om for (Object entry : foldersAndFileEntriesAndFileShortcuts) { if (entry instanceof Folder) { Folder folder = (Folder) entry; zipFolder(folder.getRepositoryId(), folder.getFolderId(), path.concat(StringPool.SLASH).concat(folder.getName()), zipWriter); } else if (entry instanceof FileEntry) { zipFileEntry((FileEntry) entry, path, zipWriter); } else if (entry instanceof FileShortcut) { FileShortcut fileShortcut = (FileShortcut) entry; FileEntry fileEntry = _dlAppService.getFileEntry(fileShortcut.getToFileEntryId()); zipFileEntry(fileEntry, path, zipWriter); } } }
From source file:com.liferay.document.library.web.internal.portlet.action.EditEntryMVCActionCommand.java
License:Open Source License
protected void moveEntries(ActionRequest actionRequest) throws Exception { long newFolderId = ParamUtil.getLong(actionRequest, "newFolderId"); ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(), actionRequest);//from w w w .j av a 2 s . c o m long[] folderIds = ParamUtil.getLongValues(actionRequest, "rowIdsFolder"); for (long folderId : folderIds) { _dlAppService.moveFolder(folderId, newFolderId, serviceContext); } long[] fileEntryIds = ParamUtil.getLongValues(actionRequest, "rowIdsFileEntry"); for (long fileEntryId : fileEntryIds) { _dlAppService.moveFileEntry(fileEntryId, newFolderId, serviceContext); } long[] fileShortcutIds = ParamUtil.getLongValues(actionRequest, "rowIdsDLFileShortcut"); for (long fileShortcutId : fileShortcutIds) { if (fileShortcutId == 0) { continue; } FileShortcut fileShortcut = _dlAppService.getFileShortcut(fileShortcutId); _dlAppService.updateFileShortcut(fileShortcutId, newFolderId, fileShortcut.getToFileEntryId(), serviceContext); } }
From source file:com.liferay.document.library.web.internal.portlet.action.GetFileActionHelper.java
License:Open Source License
protected void getFile(long fileEntryId, long folderId, String name, String title, String version, long fileShortcutId, String uuid, long groupId, String targetExtension, HttpServletRequest request, HttpServletResponse response) throws Exception { if (name.startsWith("DLFE-")) { name = name.substring(5);/*from w ww .ja v a2s. c om*/ } name = FileUtil.stripExtension(name); FileEntry fileEntry = null; if (Validator.isNotNull(uuid) && (groupId > 0)) { fileEntry = DLAppServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupId); folderId = fileEntry.getFolderId(); } if (fileEntryId > 0) { fileEntry = DLAppServiceUtil.getFileEntry(fileEntryId); } else if (fileShortcutId <= 0) { if (Validator.isNotNull(title)) { fileEntry = DLAppServiceUtil.getFileEntry(groupId, folderId, title); } else if (Validator.isNotNull(name)) { DLFileEntry dlFileEntry = DLFileEntryLocalServiceUtil.fetchFileEntryByName(groupId, folderId, name); if (dlFileEntry == null) { // LPS-30374 List<DLFileEntry> dlFileEntries = DLFileEntryLocalServiceUtil.getFileEntries(folderId, name); if (!dlFileEntries.isEmpty()) { dlFileEntry = dlFileEntries.get(0); } } if (dlFileEntry != null) { ThemeDisplay themeDisplay = (ThemeDisplay) request.getAttribute(WebKeys.THEME_DISPLAY); PermissionChecker permissionChecker = themeDisplay.getPermissionChecker(); DLFileEntryPermission.check(permissionChecker, dlFileEntry, ActionKeys.VIEW); fileEntry = new LiferayFileEntry(dlFileEntry); } } } else { FileShortcut fileShortcut = DLAppServiceUtil.getFileShortcut(fileShortcutId); fileEntryId = fileShortcut.getToFileEntryId(); fileEntry = DLAppServiceUtil.getFileEntry(fileEntryId); } if (Validator.isNull(version)) { if ((fileEntry != null) && Validator.isNotNull(fileEntry.getVersion())) { version = fileEntry.getVersion(); } else { throw new NoSuchFileEntryException("{fileEntryId=" + fileEntryId + "}"); } } FileVersion fileVersion = fileEntry.getFileVersion(version); InputStream is = fileVersion.getContentStream(true); String fileName = fileVersion.getTitle(); String sourceExtension = fileVersion.getExtension(); if (Validator.isNotNull(sourceExtension) && !fileName.endsWith(StringPool.PERIOD + sourceExtension)) { fileName += StringPool.PERIOD + sourceExtension; } long contentLength = fileVersion.getSize(); String contentType = fileVersion.getMimeType(); if (Validator.isNotNull(targetExtension)) { String id = DLUtil.getTempFileId(fileEntry.getFileEntryId(), version); File convertedFile = DocumentConversionUtil.convert(id, is, sourceExtension, targetExtension); if (convertedFile != null) { fileName = FileUtil.stripExtension(fileName).concat(StringPool.PERIOD).concat(targetExtension); is = new FileInputStream(convertedFile); contentLength = convertedFile.length(); contentType = MimeTypesUtil.getContentType(fileName); } } FlashMagicBytesUtil.Result flashMagicBytesUtilResult = FlashMagicBytesUtil.check(is); if (flashMagicBytesUtilResult.isFlash()) { fileName = FileUtil.stripExtension(fileName) + ".swf"; } is = flashMagicBytesUtilResult.getInputStream(); ServletResponseUtil.sendFile(request, response, fileName, is, contentLength, contentType); }
From source file:com.liferay.document.library.web.internal.util.DLBreadcrumbUtil.java
License:Open Source License
public static void addPortletBreadcrumbEntries(FileShortcut fileShortcut, HttpServletRequest request, RenderResponse renderResponse) throws Exception { Folder folder = fileShortcut.getFolder(); if (folder.getFolderId() != DLFolderConstants.DEFAULT_PARENT_FOLDER_ID) { addPortletBreadcrumbEntries(folder, request, renderResponse); }/*from w w w .ja v a 2 s. c om*/ FileShortcut unescapedDLFileShortcut = fileShortcut.toUnescapedModel(); PortletURL portletURL = renderResponse.createRenderURL(); portletURL.setParameter("mvcRenderCommandName", "/document_library/view_file_entry"); portletURL.setParameter("fileEntryId", String.valueOf(fileShortcut.getToFileEntryId())); PortalUtil.addPortletBreadcrumbEntry(request, unescapedDLFileShortcut.getToTitle(), portletURL.toString()); }