Example usage for com.liferay.portal.repository.liferayrepository.model LiferayFileVersion LiferayFileVersion

List of usage examples for com.liferay.portal.repository.liferayrepository.model LiferayFileVersion LiferayFileVersion

Introduction

In this page you can find the example usage for com.liferay.portal.repository.liferayrepository.model LiferayFileVersion LiferayFileVersion.

Prototype

public LiferayFileVersion(DLFileVersion dlFileVersion) 

Source Link

Usage

From source file:com.custom.portal.verify.CustomVerifyDocumentLibrary.java

License:Open Source License

protected void updateFileEntryAssets() throws Exception {
    List<DLFileEntry> dlFileEntries = DLFileEntryLocalServiceUtil.getNoAssetFileEntries();

    if (_log.isDebugEnabled()) {
        _log.debug("Processing " + dlFileEntries.size() + " file entries with no asset");
    }/*from   w w w.jav  a2 s .  c o  m*/

    for (DLFileEntry dlFileEntry : dlFileEntries) {
        FileEntry fileEntry = new LiferayFileEntry(dlFileEntry);
        FileVersion fileVersion = new LiferayFileVersion(dlFileEntry.getFileVersion());

        try {
            DLAppHelperLocalServiceUtil.updateAsset(dlFileEntry.getUserId(), fileEntry, fileVersion, null, null,
                    null);
        } catch (Exception e) {
            if (_log.isWarnEnabled()) {
                _log.warn("Unable to update asset for file entry " + dlFileEntry.getFileEntryId() + ": "
                        + e.getMessage());
            }
        }
    }

    if (_log.isDebugEnabled()) {
        _log.debug("Assets verified for file entries");
    }
}

From source file:com.liferay.document.library.internal.verify.DLServiceVerifyProcess.java

License:Open Source License

protected void updateFileEntryAssets() throws Exception {
    try (LoggingTimer loggingTimer = new LoggingTimer()) {
        List<DLFileEntry> dlFileEntries = _dlFileEntryLocalService.getNoAssetFileEntries();

        if (_log.isDebugEnabled()) {
            _log.debug("Processing " + dlFileEntries.size() + " file entries with no asset");
        }/*from   ww  w  . jav  a  2  s  . com*/

        for (DLFileEntry dlFileEntry : dlFileEntries) {
            FileEntry fileEntry = new LiferayFileEntry(dlFileEntry);
            FileVersion fileVersion = new LiferayFileVersion(dlFileEntry.getFileVersion());

            try {
                _dlAppHelperLocalService.updateAsset(dlFileEntry.getUserId(), fileEntry, fileVersion, null,
                        null, null);
            } catch (Exception e) {
                if (_log.isWarnEnabled()) {
                    _log.warn("Unable to update asset for file entry " + dlFileEntry.getFileEntryId() + ": "
                            + e.getMessage());
                }
            }
        }

        if (_log.isDebugEnabled()) {
            _log.debug("Assets verified for file entries");
        }
    }
}

From source file:com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl.java

License:Open Source License

public DLFileEntry updateStatus(long userId, long fileVersionId, int status,
        Map<String, Serializable> workflowContext, ServiceContext serviceContext)
        throws PortalException, SystemException {

    // File version

    User user = userPersistence.findByPrimaryKey(userId);

    DLFileVersion dlFileVersion = dlFileVersionPersistence.findByPrimaryKey(fileVersionId);

    dlFileVersion.setStatus(status);//  w w w.j  a va 2s.co m
    dlFileVersion.setStatusByUserId(user.getUserId());
    dlFileVersion.setStatusByUserName(user.getFullName());
    dlFileVersion.setStatusDate(new Date());

    dlFileVersionPersistence.update(dlFileVersion, false);

    // File entry

    DLFileEntry dlFileEntry = dlFileEntryPersistence.findByPrimaryKey(dlFileVersion.getFileEntryId());

    if (status == WorkflowConstants.STATUS_APPROVED) {
        if (DLUtil.compareVersions(dlFileEntry.getVersion(), dlFileVersion.getVersion()) <= 0) {

            dlFileEntry.setExtension(dlFileVersion.getExtension());
            dlFileEntry.setTitle(dlFileVersion.getTitle());
            dlFileEntry.setDescription(dlFileVersion.getDescription());
            dlFileEntry.setExtraSettings(dlFileVersion.getExtraSettings());
            dlFileEntry.setFileEntryTypeId(dlFileVersion.getFileEntryTypeId());
            dlFileEntry.setVersion(dlFileVersion.getVersion());
            dlFileEntry.setVersionUserId(dlFileVersion.getUserId());
            dlFileEntry.setVersionUserName(dlFileVersion.getUserName());
            dlFileEntry.setModifiedDate(dlFileVersion.getCreateDate());
            dlFileEntry.setSize(dlFileVersion.getSize());

            dlFileEntryPersistence.update(dlFileEntry, false);
        }
    } else {

        // File entry

        if (dlFileEntry.getVersion().equals(dlFileVersion.getVersion())) {
            String newVersion = DLFileEntryConstants.VERSION_DEFAULT;

            List<DLFileVersion> approvedFileVersions = dlFileVersionPersistence
                    .findByF_S(dlFileEntry.getFileEntryId(), WorkflowConstants.STATUS_APPROVED);

            if (!approvedFileVersions.isEmpty()) {
                newVersion = approvedFileVersions.get(0).getVersion();
            }

            dlFileEntry.setVersion(newVersion);

            dlFileEntryPersistence.update(dlFileEntry, false);
        }

        // Indexer

        if (dlFileVersion.getVersion().equals(DLFileEntryConstants.VERSION_DEFAULT)) {

            Indexer indexer = IndexerRegistryUtil.getIndexer(DLFileEntry.class);

            indexer.delete(dlFileEntry);
        }
    }

    // App helper

    dlAppHelperLocalService.updateStatus(userId, new LiferayFileEntry(dlFileEntry),
            new LiferayFileVersion(dlFileVersion), status, workflowContext);

    // Indexer

    if (status == WorkflowConstants.STATUS_APPROVED) {
        reindex(dlFileEntry);
    }

    return dlFileEntry;
}

From source file:com.liferay.portlet.documentlibrary.service.impl.DLFileEntryLocalServiceImpl.java

License:Open Source License

protected DLFileEntry updateFileEntry(long userId, long fileEntryId, String sourceFileName, String extension,
        String mimeType, String title, String description, String changeLog, boolean majorVersion,
        String extraSettings, long fileEntryTypeId, Map<String, Fields> fieldsMap, File file, InputStream is,
        long size, ServiceContext serviceContext) throws PortalException, SystemException {

    User user = userPersistence.findByPrimaryKey(userId);
    DLFileEntry dlFileEntry = dlFileEntryPersistence.findByPrimaryKey(fileEntryId);

    boolean checkedOut = dlFileEntry.isCheckedOut();

    DLFileVersion dlFileVersion = dlFileVersionLocalService.getLatestFileVersion(fileEntryId, !checkedOut);

    boolean autoCheckIn = !checkedOut && dlFileVersion.isApproved();

    if (autoCheckIn) {
        dlFileEntry = checkOutFileEntry(userId, fileEntryId);
    } else if (!checkedOut) {
        lockFileEntry(userId, fileEntryId);
    }/*from  ww  w.  j a  v  a2  s .  c  o m*/

    if (!hasFileEntryLock(userId, fileEntryId)) {
        lockFileEntry(userId, fileEntryId);
    }

    if (checkedOut || autoCheckIn) {
        dlFileVersion = dlFileVersionLocalService.getLatestFileVersion(fileEntryId, false);
    }

    try {
        if (Validator.isNull(extension)) {
            extension = dlFileEntry.getExtension();
        }

        if (Validator.isNull(mimeType)) {
            mimeType = dlFileEntry.getMimeType();
        }

        if (Validator.isNull(title)) {
            title = sourceFileName;

            if (Validator.isNull(title)) {
                title = dlFileEntry.getTitle();
            }
        }

        Date now = new Date();

        validateFile(dlFileEntry.getGroupId(), dlFileEntry.getFolderId(), dlFileEntry.getFileEntryId(),
                extension, title, sourceFileName, file, is);

        // File version

        String version = dlFileVersion.getVersion();

        if (size == 0) {
            size = dlFileVersion.getSize();
        }

        updateFileVersion(user, dlFileVersion, sourceFileName, extension, mimeType, title, description,
                changeLog, extraSettings, fileEntryTypeId, fieldsMap, version, size, dlFileVersion.getStatus(),
                serviceContext.getModifiedDate(now), serviceContext);

        // App helper

        dlAppHelperLocalService.updateAsset(userId, new LiferayFileEntry(dlFileEntry),
                new LiferayFileVersion(dlFileVersion), serviceContext.getAssetCategoryIds(),
                serviceContext.getAssetTagNames(), serviceContext.getAssetLinkEntryIds());

        // File

        if ((file != null) || (is != null)) {
            try {
                DLStoreUtil.deleteFile(user.getCompanyId(), dlFileEntry.getDataRepositoryId(),
                        dlFileEntry.getName(), version);
            } catch (NoSuchFileException nsfe) {
            }

            if (file != null) {
                DLStoreUtil.updateFile(user.getCompanyId(), dlFileEntry.getDataRepositoryId(),
                        dlFileEntry.getName(), dlFileEntry.getExtension(), false, version, sourceFileName,
                        file);
            } else {
                DLStoreUtil.updateFile(user.getCompanyId(), dlFileEntry.getDataRepositoryId(),
                        dlFileEntry.getName(), dlFileEntry.getExtension(), false, version, sourceFileName, is);
            }
        }

        if (autoCheckIn) {
            checkInFileEntry(userId, fileEntryId, majorVersion, changeLog, serviceContext);
        } else if (serviceContext.getWorkflowAction() == WorkflowConstants.ACTION_PUBLISH) {

            String syncEvent = DLSyncConstants.EVENT_UPDATE;

            if (dlFileVersion.getVersion().equals(DLFileEntryConstants.VERSION_DEFAULT)) {

                syncEvent = DLSyncConstants.EVENT_ADD;
            }

            startWorkflowInstance(userId, serviceContext, dlFileVersion, syncEvent);
        }
    } catch (PortalException pe) {
        if (autoCheckIn) {
            cancelCheckOut(userId, fileEntryId);
        }

        throw pe;
    } catch (SystemException se) {
        if (autoCheckIn) {
            cancelCheckOut(userId, fileEntryId);
        }

        throw se;
    } finally {
        if (!autoCheckIn && !checkedOut) {
            unlockFileEntry(fileEntryId);
        }
    }

    return dlFileEntryPersistence.findByPrimaryKey(fileEntryId);
}

From source file:com.liferay.portlet.documentlibrary.util.DLProcessorRegistryImpl.java

License:Open Source License

public void trigger(FileEntry fileEntry) {
    if (!DLProcessorThreadLocal.isEnabled()) {
        return;//w  w w  .  j av a2s  . c  om
    }

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

    FileVersion latestFileVersion = null;

    try {
        if (fileEntry.getModel() instanceof DLFileEntry) {
            DLFileEntry dlFileEntry = (DLFileEntry) fileEntry.getModel();

            latestFileVersion = new LiferayFileVersion(dlFileEntry.getLatestFileVersion(false));
        } else {
            latestFileVersion = fileEntry.getLatestFileVersion();
        }
    } catch (Exception e) {
        _log.error(e, e);

        return;
    }

    for (String dlProcessorClassName : _DL_FILE_ENTRY_PROCESSORS) {
        DLProcessor dlProcessor = (DLProcessor) InstancePool.get(dlProcessorClassName);

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

    for (DLProcessor dlProcessor : _dlProcessors) {
        if (dlProcessor.isSupported(latestFileVersion)) {
            dlProcessor.trigger(latestFileVersion);
        }
    }
}