List of usage examples for com.liferay.portal.kernel.repository.model FileEntry getFileVersion
public FileVersion getFileVersion(String version) throws PortalException;
From source file:com.liferay.document.library.web.internal.portlet.action.ActionUtil.java
License:Open Source License
public static FileVersion getFileVersion(HttpServletRequest request, FileEntry fileEntry) throws PortalException { if (fileEntry == null) { return null; }/* w w w . ja va 2s. c om*/ FileVersion fileVersion = null; String version = ParamUtil.getString(request, "version"); if (Validator.isNotNull(version)) { fileVersion = fileEntry.getFileVersion(version); } else { fileVersion = fileEntry.getFileVersion(); } if (RawMetadataProcessorUtil.isSupported(fileVersion)) { RawMetadataProcessorUtil.generateMetadata(fileVersion); } return fileVersion; }
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);// w ww . ja va2 s . 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.portlet.documentlibrary.action.ActionUtil.java
License:Open Source License
public static void getFileEntry(HttpServletRequest request) throws Exception { long fileEntryId = ParamUtil.getLong(request, "fileEntryId"); FileEntry fileEntry = null; if (fileEntryId > 0) { fileEntry = DLAppServiceUtil.getFileEntry(fileEntryId); }/*from ww w .jav a 2 s . com*/ request.setAttribute(WebKeys.DOCUMENT_LIBRARY_FILE_ENTRY, fileEntry); String version = ParamUtil.getString(request, "version"); if (fileEntry != null) { if (Validator.isNotNull(version)) { FileVersion fileVersion = fileEntry.getFileVersion(version); request.setAttribute(WebKeys.DOCUMENT_LIBRARY_FILE_VERSION, fileVersion); RawMetadataProcessorUtil.generateMetadata(fileVersion); } else { RawMetadataProcessorUtil.generateMetadata(fileEntry.getFileVersion()); } } }
From source file:com.liferay.portlet.documentlibrary.action.CompareVersionsAction.java
License:Open Source License
protected void compareVersions(RenderRequest renderRequest) throws Exception { long fileEntryId = ParamUtil.getLong(renderRequest, "fileEntryId"); String sourceVersion = ParamUtil.getString(renderRequest, "sourceVersion"); String targetVersion = ParamUtil.getString(renderRequest, "targetVersion"); FileEntry fileEntry = DLAppServiceUtil.getFileEntry(fileEntryId); String extension = fileEntry.getExtension(); FileVersion sourceFileVersion = fileEntry.getFileVersion(sourceVersion); String sourceTitle = sourceFileVersion.getTitle(); FileVersion targetFileVersion = fileEntry.getFileVersion(targetVersion); String targetTitle = targetFileVersion.getTitle(); InputStream sourceIs = fileEntry.getContentStream(sourceVersion); InputStream targetIs = fileEntry.getContentStream(targetVersion); if (extension.equals("htm") || extension.equals("html") || extension.equals("xml")) { String escapedSource = HtmlUtil.escape(StringUtil.read(sourceIs)); String escapedTarget = HtmlUtil.escape(StringUtil.read(targetIs)); sourceIs = new UnsyncByteArrayInputStream(escapedSource.getBytes(StringPool.UTF8)); targetIs = new UnsyncByteArrayInputStream(escapedTarget.getBytes(StringPool.UTF8)); }//from w w w. j a v a2 s . c o m if (DocumentConversionUtil.isEnabled() && DocumentConversionUtil.isConvertBeforeCompare(extension)) { String sourceTempFileId = DLUtil.getTempFileId(fileEntryId, sourceVersion); String targetTempFileId = DLUtil.getTempFileId(fileEntryId, targetVersion); sourceIs = new FileInputStream( DocumentConversionUtil.convert(sourceTempFileId, sourceIs, extension, "txt")); targetIs = new FileInputStream( DocumentConversionUtil.convert(targetTempFileId, targetIs, extension, "txt")); } List<DiffResult>[] diffResults = DiffUtil.diff(new InputStreamReader(sourceIs), new InputStreamReader(targetIs)); renderRequest.setAttribute(WebKeys.SOURCE_NAME, sourceTitle + StringPool.SPACE + sourceVersion); renderRequest.setAttribute(WebKeys.TARGET_NAME, targetTitle + StringPool.SPACE + targetVersion); renderRequest.setAttribute(WebKeys.DIFF_RESULTS, diffResults); }
From source file:com.liferay.portlet.documentlibrary.action.GetFileAction.java
License:Open Source License
protected void getFile(long fileEntryId, long folderId, String title, String version, long fileShortcutId, String uuid, long groupId, String targetExtension, ThemeDisplay themeDisplay, HttpServletRequest request, HttpServletResponse response) throws Exception { FileEntry fileEntry = null; if (Validator.isNotNull(uuid) && (groupId > 0)) { fileEntry = DLAppServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupId); folderId = fileEntry.getFolderId(); }/*from w w w . j a v a 2s . c o m*/ if (fileEntryId > 0) { fileEntry = DLAppServiceUtil.getFileEntry(fileEntryId); } else if (fileShortcutId <= 0) { if (Validator.isNotNull(title)) { fileEntry = DLAppServiceUtil.getFileEntry(groupId, folderId, title); } } else { DLFileShortcut fileShortcut = DLAppServiceUtil.getFileShortcut(fileShortcutId); fileEntryId = fileShortcut.getToFileEntryId(); fileEntry = DLAppServiceUtil.getFileEntry(fileEntryId); } if (Validator.isNull(version)) { if (Validator.isNotNull(fileEntry.getVersion())) { version = fileEntry.getVersion(); } else { throw new NoSuchFileEntryException(); } } FileVersion fileVersion = fileEntry.getFileVersion(version); InputStream is = fileVersion.getContentStream(true); String fileName = fileVersion.getTitle(); long contentLength = fileVersion.getSize(); String contentType = fileVersion.getMimeType(); if (Validator.isNotNull(targetExtension)) { String id = DLUtil.getTempFileId(fileEntry.getFileEntryId(), version); String sourceExtension = fileVersion.getExtension(); if (!fileName.endsWith(StringPool.PERIOD + sourceExtension)) { fileName += StringPool.PERIOD + sourceExtension; } 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); } } ServletResponseUtil.sendFile(request, response, fileName, is, contentLength, contentType); }
From source file:com.liferay.sync.internal.servlet.SyncDownloadServlet.java
License:Open Source License
protected DownloadServletInputStream getFileDownloadServletInputStream(long userId, long groupId, String uuid, String version, long versionId) throws Exception { FileEntry fileEntry = _dlAppService.getFileEntryByUuidAndGroupId(uuid, groupId); if (fileEntry.isInTrash()) { throw new NoSuchFileEntryException(); }// w w w.j ava2s. c o m if (Validator.isNull(version)) { InputStream inputStream = _dlFileEntryLocalService.getFileAsStream(userId, fileEntry.getFileEntryId(), fileEntry.getVersion(), false); return new DownloadServletInputStream(inputStream, fileEntry.getFileName(), fileEntry.getMimeType(), fileEntry.getSize()); } else { if (versionId > 0) { DLFileVersion dlFileVersion = _dlFileVersionLocalService.fetchDLFileVersion(versionId); return new DownloadServletInputStream(dlFileVersion.getContentStream(false), dlFileVersion.getFileName(), dlFileVersion.getMimeType(), dlFileVersion.getSize()); } else { FileVersion fileVersion = fileEntry.getFileVersion(version); return new DownloadServletInputStream(fileVersion.getContentStream(false), fileVersion.getFileName(), fileVersion.getMimeType(), fileVersion.getSize()); } } }
From source file:com.liferay.sync.servlet.DownloadServlet.java
License:Open Source License
protected void sendFile(HttpServletRequest request, HttpServletResponse response, long groupId, String uuid) throws Exception { FileEntry fileEntry = DLAppServiceUtil.getFileEntryByUuidAndGroupId(uuid, groupId); String contentType = fileEntry.getMimeType(); response.setContentType(contentType); String version = ParamUtil.getString(request, "version"); if (Validator.isNull(version)) { version = fileEntry.getVersion(); }/* w ww . j a v a 2 s. c om*/ FileVersion fileVersion = fileEntry.getFileVersion(version); InputStream inputStream = fileVersion.getContentStream(false); ServletResponseUtil.write(response, inputStream, fileVersion.getSize()); }