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

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

Introduction

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

Prototype

public String getFileName();

Source Link

Usage

From source file:blade.document.action.configurationicon.BladeActionConfigurationIcon.java

License:Apache License

public String getURL(PortletRequest portletRequest, PortletResponse portletResponse) {

    HttpServletRequest servletRequest = _portal.getHttpServletRequest(portletRequest);

    ThemeDisplay themeDisplay = (ThemeDisplay) portletRequest.getAttribute(WebKeys.THEME_DISPLAY);

    FileEntry fileEntry = _retrieveFile(servletRequest);

    PortletURL portletURL = PortletURLFactoryUtil.create(servletRequest,
            "blade_document_action_portlet_BladeDocumentActionPortlet", themeDisplay.getPlid(),
            PortletRequest.RENDER_PHASE);

    String fileName = fileEntry.getFileName();
    String mimeType = fileEntry.getMimeType();
    String version = fileEntry.getVersion();
    String createdDate = fileEntry.getCreateDate().toString();
    String createdUserName = fileEntry.getUserName();
    String statusLabel = null;//from  w  w  w .  j a v a2s.  com

    try {
        statusLabel = WorkflowConstants.getStatusLabel(fileEntry.getLatestFileVersion().getStatus());
    } catch (PortalException pe) {
        _log.error(pe);
    }

    portletURL.setParameter("fileName", fileName);
    portletURL.setParameter("mimeType", mimeType);
    portletURL.setParameter("version", version);
    portletURL.setParameter("statusLabel", statusLabel);
    portletURL.setParameter("createdDate", createdDate);
    portletURL.setParameter("createdUserName", createdUserName);

    try {
        portletURL.setWindowState(LiferayWindowState.POP_UP);
    } catch (WindowStateException wse) {
        _log.error(wse);
    }

    StringBuilder stringBuilder = new StringBuilder();

    stringBuilder.append("javascript:Liferay.Util.openWindow(");
    stringBuilder.append("{dialog: {cache: false,width:800,modal: true},");
    stringBuilder.append("title: 'basic information',id: ");
    stringBuilder.append("'testPopupIdUnique',uri: '");
    stringBuilder.append(portletURL.toString() + "'});");

    return stringBuilder.toString();
}

From source file:com.liferay.blogs.internal.exportimport.data.handler.BlogsEntryStagedModelDataHandler.java

License:Open Source License

private ImageSelector _getImageSelector(PortletDataContext portletDataContext, long fileEntryId,
        List<Element> attachmentElements) throws Exception {

    for (Element attachmentElement : attachmentElements) {
        String path = attachmentElement.attributeValue("path");

        FileEntry fileEntry = (FileEntry) portletDataContext.getZipEntryAsObject(path);

        if (fileEntryId == fileEntry.getFileEntryId()) {
            InputStream inputStream = null;

            try {
                String binPath = attachmentElement.attributeValue("bin-path");

                if (Validator.isNull(binPath) && portletDataContext.isPerformDirectBinaryImport()) {

                    try {
                        inputStream = FileEntryUtil.getContentStream(fileEntry);
                    } catch (NoSuchFileException nsfe) {
                    }/*  www . j  a  v a  2s .  c  o  m*/
                } else {
                    inputStream = portletDataContext.getZipEntryAsInputStream(binPath);
                }

                if (inputStream == null) {
                    if (_log.isWarnEnabled()) {
                        _log.warn("Unable to import attachment for file entry " + fileEntry.getFileEntryId());
                    }

                    continue;
                }

                return new ImageSelector(FileUtil.getBytes(inputStream), fileEntry.getFileName(),
                        fileEntry.getMimeType(), null);
            } finally {
                StreamUtil.cleanUp(inputStream);
            }
        }
    }

    return null;
}

From source file:com.liferay.blogs.internal.exportimport.data.handler.test.BlogsEntryStagedModelDataHandlerTest.java

License:Open Source License

private void _assertOriginalImage(FileEntry imageFileEntry) throws Exception {

    Folder attachmentsFolder = BlogsEntryLocalServiceUtil.addAttachmentsFolder(TestPropsValues.getUserId(),
            liveGroup.getGroupId());/*w w  w. ja  v a 2 s . c  om*/

    List<FileEntry> attachments = PortletFileRepositoryUtil.getPortletFileEntries(liveGroup.getGroupId(),
            attachmentsFolder.getFolderId());

    Assert.assertEquals(attachments.toString(), 1, attachments.size());

    FileEntry originalFileEntry = attachments.get(0);

    Assert.assertEquals(imageFileEntry.getFileName(), originalFileEntry.getFileName());
}

From source file:com.liferay.blogs.util.BlogsEntryImageSelectorHelper.java

License:Open Source License

public ImageSelector getImageSelector() throws Exception {
    if (_imageFileEntryId != _oldImageFileEntryId) {
        if (_imageFileEntryId != 0) {
            FileEntry fileEntry = PortletFileRepositoryUtil.getPortletFileEntry(_imageFileEntryId);

            _fileEntryTempFile = fileEntry.isRepositoryCapabilityProvided(TemporaryFileEntriesCapability.class);

            return new ImageSelector(FileUtil.getBytes(fileEntry.getContentStream()), fileEntry.getFileName(),
                    fileEntry.getMimeType(), _imageCropRegion);
        } else {//from w  w  w  .java 2s . c  om
            return new ImageSelector();
        }
    } else if (!_imageURL.equals(_oldImageURL)) {
        return new ImageSelector(_imageURL);
    }

    return null;
}

From source file:com.liferay.document.library.internal.exportimport.data.handler.FileEntryStagedModelDataHandler.java

License:Open Source License

@Override
protected void doImportStagedModel(PortletDataContext portletDataContext, FileEntry fileEntry)
        throws Exception {

    long userId = portletDataContext.getUserId(fileEntry.getUserUuid());

    if (!fileEntry.isDefaultRepository()) {

        // References has been automatically imported, nothing to do here

        return;/*from   w ww.j a  v  a2  s  .com*/
    }

    Map<Long, Long> folderIds = (Map<Long, Long>) portletDataContext.getNewPrimaryKeysMap(Folder.class);

    long folderId = MapUtil.getLong(folderIds, fileEntry.getFolderId(), fileEntry.getFolderId());

    long[] assetCategoryIds = portletDataContext.getAssetCategoryIds(DLFileEntry.class,
            fileEntry.getFileEntryId());
    String[] assetTagNames = portletDataContext.getAssetTagNames(DLFileEntry.class, fileEntry.getFileEntryId());

    ServiceContext serviceContext = portletDataContext.createServiceContext(fileEntry, DLFileEntry.class);

    serviceContext.setAttribute("sourceFileName", "A." + fileEntry.getExtension());
    serviceContext.setUserId(userId);

    Element fileEntryElement = portletDataContext.getImportDataElement(fileEntry);

    String binPath = fileEntryElement.attributeValue("bin-path");

    InputStream is = null;

    try {
        if (Validator.isNull(binPath) && portletDataContext.isPerformDirectBinaryImport()) {

            try {
                is = FileEntryUtil.getContentStream(fileEntry);
            } catch (Exception e) {
                if (_log.isWarnEnabled()) {
                    _log.warn("Unable to retrieve content for file entry " + fileEntry.getFileEntryId(), e);
                }

                return;
            }
        } else {
            is = portletDataContext.getZipEntryAsInputStream(binPath);
        }

        if (is == null) {
            if (_log.isWarnEnabled()) {
                _log.warn("No file found for file entry " + fileEntry.getFileEntryId());
            }

            return;
        }

        importMetaData(portletDataContext, fileEntryElement, fileEntry, serviceContext);

        FileEntry importedFileEntry = null;

        if (portletDataContext.isDataStrategyMirror()) {
            FileEntry existingFileEntry = fetchStagedModelByUuidAndGroupId(fileEntry.getUuid(),
                    portletDataContext.getScopeGroupId());

            FileVersion fileVersion = fileEntry.getFileVersion();

            if (existingFileEntry == null) {
                if (portletDataContext.isDataStrategyMirrorWithOverwriting()) {

                    FileEntry existingTitleFileEntry = FileEntryUtil
                            .fetchByR_F_T(portletDataContext.getScopeGroupId(), folderId, fileEntry.getTitle());

                    if (existingTitleFileEntry == null) {
                        existingTitleFileEntry = FileEntryUtil.fetchByR_F_FN(
                                portletDataContext.getScopeGroupId(), folderId, fileEntry.getFileName());
                    }

                    if (existingTitleFileEntry != null) {
                        _dlAppLocalService.deleteFileEntry(existingTitleFileEntry.getFileEntryId());
                    }
                }

                serviceContext.setAttribute("fileVersionUuid", fileVersion.getUuid());
                serviceContext.setUuid(fileEntry.getUuid());

                String fileEntryTitle = _dlFileEntryLocalService.getUniqueTitle(
                        portletDataContext.getScopeGroupId(), folderId, 0, fileEntry.getTitle(),
                        fileEntry.getExtension());

                importedFileEntry = _dlAppLocalService.addFileEntry(userId,
                        portletDataContext.getScopeGroupId(), folderId, fileEntry.getFileName(),
                        fileEntry.getMimeType(), fileEntryTitle, fileEntry.getDescription(), null, is,
                        fileEntry.getSize(), serviceContext);

                if (fileEntry.isInTrash()) {
                    importedFileEntry = _dlTrashService
                            .moveFileEntryToTrash(importedFileEntry.getFileEntryId());
                }
            } else {
                FileVersion latestExistingFileVersion = existingFileEntry.getLatestFileVersion(true);

                boolean indexEnabled = serviceContext.isIndexingEnabled();

                boolean deleteFileEntry = false;
                boolean updateFileEntry = false;

                if (!Objects.equals(fileVersion.getUuid(), latestExistingFileVersion.getUuid())) {

                    deleteFileEntry = true;
                    updateFileEntry = true;
                } else {
                    InputStream existingFileVersionInputStream = null;

                    try {
                        existingFileVersionInputStream = latestExistingFileVersion.getContentStream(false);
                    } catch (Exception e) {
                        if (_log.isDebugEnabled()) {
                            _log.debug(e, e);
                        }
                    } finally {
                        if (existingFileVersionInputStream != null) {
                            existingFileVersionInputStream.close();
                        }
                    }

                    if (existingFileVersionInputStream == null) {
                        updateFileEntry = true;
                    }
                }

                try {
                    serviceContext.setIndexingEnabled(false);

                    if (updateFileEntry) {
                        DLFileVersion alreadyExistingFileVersion = _dlFileVersionLocalService
                                .getFileVersionByUuidAndGroupId(fileVersion.getUuid(),
                                        existingFileEntry.getGroupId());

                        if (alreadyExistingFileVersion != null) {
                            serviceContext.setAttribute("existingDLFileVersionId",
                                    alreadyExistingFileVersion.getFileVersionId());
                        }

                        serviceContext.setUuid(fileVersion.getUuid());

                        String fileEntryTitle = _dlFileEntryLocalService.getUniqueTitle(
                                portletDataContext.getScopeGroupId(), existingFileEntry.getFolderId(),
                                existingFileEntry.getFileEntryId(), fileEntry.getTitle(),
                                fileEntry.getExtension());

                        importedFileEntry = _dlAppLocalService.updateFileEntry(userId,
                                existingFileEntry.getFileEntryId(), fileEntry.getFileName(),
                                fileEntry.getMimeType(), fileEntryTitle, fileEntry.getDescription(), null,
                                false, is, fileEntry.getSize(), serviceContext);
                    } else {
                        _dlAppLocalService.updateAsset(userId, existingFileEntry, latestExistingFileVersion,
                                assetCategoryIds, assetTagNames, null);

                        importedFileEntry = existingFileEntry;
                    }

                    if (importedFileEntry.getFolderId() != folderId) {
                        importedFileEntry = _dlAppLocalService.moveFileEntry(userId,
                                importedFileEntry.getFileEntryId(), folderId, serviceContext);
                    }

                    if (importedFileEntry instanceof LiferayFileEntry) {
                        LiferayFileEntry liferayFileEntry = (LiferayFileEntry) importedFileEntry;

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

                        indexer.reindex((DLFileEntry) liferayFileEntry.getModel());
                    }

                    if (deleteFileEntry && ExportImportThreadLocal.isStagingInProcess()) {

                        _dlAppService.deleteFileVersion(latestExistingFileVersion.getFileEntryId(),
                                latestExistingFileVersion.getVersion());
                    }
                } finally {
                    serviceContext.setIndexingEnabled(indexEnabled);
                }
            }
        } else {
            String fileEntryTitle = _dlFileEntryLocalService.getUniqueTitle(
                    portletDataContext.getScopeGroupId(), folderId, 0, fileEntry.getTitle(),
                    fileEntry.getExtension());

            importedFileEntry = _dlAppLocalService.addFileEntry(userId, portletDataContext.getScopeGroupId(),
                    folderId, fileEntry.getFileName(), fileEntry.getMimeType(), fileEntryTitle,
                    fileEntry.getDescription(), null, is, fileEntry.getSize(), serviceContext);
        }

        for (DLPluggableContentDataHandler dlPluggableContentDataHandler : _serviceTrackerList) {

            dlPluggableContentDataHandler.importContent(portletDataContext, fileEntryElement, fileEntry,
                    importedFileEntry);
        }

        portletDataContext.importClassedModel(fileEntry, importedFileEntry, DLFileEntry.class);

        Map<Long, Long> fileEntryIds = (Map<Long, Long>) portletDataContext
                .getNewPrimaryKeysMap(FileEntry.class);

        fileEntryIds.put(fileEntry.getFileEntryId(), importedFileEntry.getFileEntryId());
    } finally {
        try {
            is.close();
        } catch (IOException ioe) {
            _log.error(ioe, ioe);
        }
    }
}

From source file:com.liferay.document.library.internal.exportimport.data.handler.test.FileEntryStagedModelDataHandlerTest.java

License:Open Source License

@Override
protected void validateImportedStagedModel(StagedModel stagedModel, StagedModel importedStagedModel)
        throws Exception {

    Assert.assertTrue(//w  w w  .j a v  a2 s .  com
            String.valueOf(stagedModel.getCreateDate()) + StringPool.SPACE
                    + importedStagedModel.getCreateDate(),
            DateUtil.equals(stagedModel.getCreateDate(), importedStagedModel.getCreateDate()));

    Assert.assertEquals(stagedModel.getUuid(), importedStagedModel.getUuid());

    FileEntry fileEntry = (FileEntry) stagedModel;
    FileEntry importedFileEntry = (FileEntry) importedStagedModel;

    Assert.assertEquals(fileEntry.getFileName(), importedFileEntry.getFileName());
    Assert.assertEquals(fileEntry.getExtension(), importedFileEntry.getExtension());
    Assert.assertEquals(fileEntry.getMimeType(), importedFileEntry.getMimeType());
    Assert.assertEquals(fileEntry.getTitle(), importedFileEntry.getTitle());
    Assert.assertEquals(fileEntry.getDescription(), importedFileEntry.getDescription());
    Assert.assertEquals(fileEntry.getSize(), importedFileEntry.getSize());

    FileVersion latestFileVersion = fileEntry.getLatestFileVersion();
    FileVersion importedLatestFileVersion = importedFileEntry.getLatestFileVersion();

    Assert.assertEquals(latestFileVersion.getUuid(), importedLatestFileVersion.getUuid());
    Assert.assertEquals(latestFileVersion.getFileName(), importedLatestFileVersion.getFileName());
    Assert.assertEquals(latestFileVersion.getExtension(), importedLatestFileVersion.getExtension());
    Assert.assertEquals(latestFileVersion.getMimeType(), importedLatestFileVersion.getMimeType());
    Assert.assertEquals(latestFileVersion.getTitle(), importedLatestFileVersion.getTitle());
    Assert.assertEquals(latestFileVersion.getDescription(), importedLatestFileVersion.getDescription());
    Assert.assertEquals(latestFileVersion.getSize(), importedLatestFileVersion.getSize());
    Assert.assertEquals(latestFileVersion.getStatus(), importedLatestFileVersion.getStatus());
}

From source file:com.liferay.document.library.jaxrs.FileRepr.java

License:Open Source License

public static FileRepr fromFileEntry(FileEntry fileEntry, UriBuilder uriBuilder) {

    return new FileRepr(fileEntry.getFileEntryId(), fileEntry.getDescription(), fileEntry.getFileName(),
            fileEntry.getTitle(), fileEntry.getSize(), uriBuilder.build(fileEntry.getFileEntryId()).toString(),
            uriBuilder.path("content").build(fileEntry.getUuid()).toString());
}

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;//w ww .  j a v  a 2 s  .c  o 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 zipFileEntry(FileEntry fileEntry, String path, ZipWriter zipWriter) throws Exception {

    zipWriter.addEntry(path + StringPool.SLASH + fileEntry.getFileName(), fileEntry.getContentStream());
}

From source file:com.liferay.document.library.web.internal.portlet.action.EditFileEntryMVCActionCommand.java

License:Open Source License

protected void addMultipleFileEntries(PortletConfig portletConfig, ActionRequest actionRequest,
        ActionResponse actionResponse, String selectedFileName, List<KeyValuePair> validFileNameKVPs,
        List<KeyValuePair> invalidFileNameKVPs) throws Exception {

    ThemeDisplay themeDisplay = (ThemeDisplay) actionRequest.getAttribute(WebKeys.THEME_DISPLAY);

    long repositoryId = ParamUtil.getLong(actionRequest, "repositoryId");
    long folderId = ParamUtil.getLong(actionRequest, "folderId");
    String description = ParamUtil.getString(actionRequest, "description");
    String changeLog = ParamUtil.getString(actionRequest, "changeLog");

    FileEntry tempFileEntry = null;

    try {// w ww  . j  a  va 2  s  .c o  m
        tempFileEntry = TempFileEntryUtil.getTempFileEntry(themeDisplay.getScopeGroupId(),
                themeDisplay.getUserId(), TEMP_FOLDER_NAME, selectedFileName);

        String originalSelectedFileName = TempFileEntryUtil
                .getOriginalTempFileName(tempFileEntry.getFileName());

        String uniqueFileName = DLUtil.getUniqueFileName(tempFileEntry.getGroupId(), folderId,
                originalSelectedFileName);

        String mimeType = tempFileEntry.getMimeType();
        InputStream inputStream = tempFileEntry.getContentStream();
        long size = tempFileEntry.getSize();

        ServiceContext serviceContext = ServiceContextFactory.getInstance(DLFileEntry.class.getName(),
                actionRequest);

        _dlAppService.addFileEntry(repositoryId, folderId, uniqueFileName, mimeType, uniqueFileName,
                description, changeLog, inputStream, size, serviceContext);

        validFileNameKVPs.add(new KeyValuePair(uniqueFileName, selectedFileName));

        return;
    } catch (Exception e) {
        String errorMessage = getAddMultipleFileEntriesErrorMessage(portletConfig, actionRequest,
                actionResponse, e);

        invalidFileNameKVPs.add(new KeyValuePair(selectedFileName, errorMessage));
    } finally {
        if (tempFileEntry != null) {
            TempFileEntryUtil.deleteTempFileEntry(tempFileEntry.getFileEntryId());
        }
    }
}