Example usage for com.liferay.portal.kernel.repository.model FileEntry getFileVersion

List of usage examples for com.liferay.portal.kernel.repository.model FileEntry getFileVersion

Introduction

In this page you can find the example usage for com.liferay.portal.kernel.repository.model FileEntry getFileVersion.

Prototype

public FileVersion getFileVersion(String version) throws PortalException;

Source Link

Usage

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());
}