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

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

Introduction

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

Prototype

public long getSize();

Source Link

Usage

From source file:au.com.permeance.liferay.portlet.documentlibrary.service.impl.DLFolderUsageHelper.java

License:Open Source License

/**
 * Visit File Entry.//  ww w .ja v  a 2 s .c  o  m
 *
 * @param fileEntry file entry
 * @param folderPath folder path
 * @param folderUsageCollector folder usage collector
 * 
 * @throws PortalException
 * @throws SystemException
 * @throws IOException
 */
public static void calculateFileEntryUsage(FileEntry fileEntry, String folderPath,
        DLFolderUsageCollector folderUsageCollector) throws PortalException, SystemException, IOException {

    if (s_log.isDebugEnabled()) {
        s_log.debug(
                "calculating usage for file entry " + fileEntry.getFileEntryId() + "/" + fileEntry.getTitle());
    }

    try {

        long fileEntrySize = fileEntry.getSize();

        folderUsageCollector.incrementFolderSize(fileEntrySize);

    } catch (Exception e) {

        String msg = "Error calculating usage for file entry " + fileEntry.getFileEntryId() + " : "
                + e.getMessage();

        s_log.error(msg, e);

        if (e instanceof PortalException) {
            throw (PortalException) e;

        } else if (e instanceof SystemException) {
            throw (SystemException) e;

        } else if (e instanceof IOException) {
            throw (IOException) e;
        }
    }
}

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  www  .  j  a  v a2s .  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(/*from w w w  .j  a  v  a 2s.c  o  m*/
            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.internal.util.DLProcessorRegistryImpl.java

License:Open Source License

@Override
public void exportGeneratedFiles(PortletDataContext portletDataContext, FileEntry fileEntry,
        Element fileEntryElement) throws Exception {

    if ((fileEntry == null) || (fileEntry.getSize() == 0)) {
        return;//from   w  ww .  ja  v a2s .c o  m
    }

    FileVersion latestFileVersion = _getLatestFileVersion(fileEntry, true);

    if (latestFileVersion == null) {
        return;
    }

    Iterable<String> dlProcessorTypes = _dlProcessorServiceTrackerMap.keySet();

    for (String dlProcessorType : dlProcessorTypes) {
        DLProcessor dlProcessor = _dlProcessorServiceTrackerMap.getService(dlProcessorType);

        if (dlProcessor.isSupported(latestFileVersion)) {
            dlProcessor.exportGeneratedFiles(portletDataContext, fileEntry, fileEntryElement);
        }
    }
}

From source file:com.liferay.document.library.internal.util.DLProcessorRegistryImpl.java

License:Open Source License

@Override
public void importGeneratedFiles(PortletDataContext portletDataContext, FileEntry fileEntry,
        FileEntry importedFileEntry, Element fileEntryElement) throws Exception {

    if ((importedFileEntry == null) || (importedFileEntry.getSize() == 0)) {
        return;//from   w ww.j  a va  2s .co  m
    }

    FileVersion fileVersion = importedFileEntry.getFileVersion();

    if (fileVersion == null) {
        return;
    }

    Iterable<String> dlProcessorTypes = _dlProcessorServiceTrackerMap.keySet();

    for (String dlProcessorType : dlProcessorTypes) {
        DLProcessor dlProcessor = _dlProcessorServiceTrackerMap.getService(dlProcessorType);

        if (dlProcessor.isSupported(fileVersion)) {
            dlProcessor.importGeneratedFiles(portletDataContext, fileEntry, importedFileEntry,
                    fileEntryElement);
        }
    }
}

From source file:com.liferay.document.library.internal.util.DLProcessorRegistryImpl.java

License:Open Source License

@Override
public void trigger(FileEntry fileEntry, FileVersion fileVersion, boolean trusted) {

    if (!DLProcessorThreadLocal.isEnabled()) {
        return;//w ww . j av  a 2s.  com
    }

    if ((fileEntry == null) || (fileEntry.getSize() == 0)) {
        return;
    }

    FileVersion latestFileVersion = _getLatestFileVersion(fileEntry, trusted);

    if (latestFileVersion == null) {
        return;
    }

    Iterable<String> dlProcessorTypes = _dlProcessorServiceTrackerMap.keySet();

    for (String dlProcessorType : dlProcessorTypes) {
        DLProcessor dlProcessor = _dlProcessorServiceTrackerMap.getService(dlProcessorType);

        if (dlProcessor.isSupported(latestFileVersion)) {
            dlProcessor.trigger(fileVersion, latestFileVersion);
        }
    }
}

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.service.test.DLFileVersionUpdateTest.java

License:Open Source License

protected void testVersionUpdate(String addFileName, byte[] addBytes, String addMimeType, String updateFileName,
        byte[] updateBytes, String updateMimeType) throws PortalException {

    String description = StringPool.BLANK;
    String changeLog = StringPool.BLANK;

    ServiceContext serviceContext = ServiceContextTestUtil.getServiceContext(group.getGroupId());

    FileEntry fileEntry = DLAppServiceUtil.addFileEntry(group.getGroupId(), parentFolder.getFolderId(),
            addFileName, addMimeType, addFileName, description, changeLog, addBytes, serviceContext);

    fileEntry = DLAppServiceUtil.updateFileEntry(fileEntry.getFileEntryId(), updateFileName, updateMimeType,
            updateFileName, description, changeLog, false, updateBytes, serviceContext);

    FileVersion fileVersion = fileEntry.getFileVersion();

    Assert.assertEquals(DLFileEntryConstants.VERSION_DEFAULT, fileVersion.getVersion());
    Assert.assertEquals(updateMimeType, fileVersion.getMimeType());
    Assert.assertEquals(updateBytes.length, fileVersion.getSize());
    Assert.assertEquals(fileVersion.getExtension(), fileEntry.getExtension());
    Assert.assertEquals(fileVersion.getMimeType(), fileEntry.getMimeType());
    Assert.assertEquals(fileVersion.getSize(), fileEntry.getSize());
}

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 {/*from   w w  w  .  j  av  a  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());
        }
    }
}

From source file:com.liferay.dynamic.data.mapping.util.DocumentLibraryDDMFormFieldValueTransformer.java

License:Open Source License

protected FileEntry addFileEntry(FileEntry tempFileEntry) throws PortalException {

    String fileName = DLUtil.getUniqueFileName(tempFileEntry.getGroupId(), tempFileEntry.getFolderId(),
            tempFileEntry.getFileName());

    return DLAppServiceUtil.addFileEntry(tempFileEntry.getGroupId(), 0, fileName, tempFileEntry.getMimeType(),
            fileName, StringPool.BLANK, StringPool.BLANK, tempFileEntry.getContentStream(),
            tempFileEntry.getSize(), new ServiceContext());
}