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

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

Introduction

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

Prototype

public LiferayFileEntry(DLFileEntry dlFileEntry) 

Source Link

Usage

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

License:Open Source License

public void deleteFileEntries(long groupId, long folderId) throws PortalException, SystemException {

    int count = dlFileEntryPersistence.countByG_F(groupId, folderId);

    int pages = count / _DELETE_INTERVAL;

    for (int i = 0; i <= pages; i++) {
        int start = (i * _DELETE_INTERVAL);
        int end = start + _DELETE_INTERVAL;

        List<DLFileEntry> dlFileEntries = dlFileEntryPersistence.findByG_F(groupId, folderId, start, end);

        for (DLFileEntry dlFileEntry : dlFileEntries) {
            dlAppHelperLocalService.deleteFileEntry(new LiferayFileEntry(dlFileEntry));

            deleteFileEntry(dlFileEntry);
        }/*  ww w . j av  a 2  s . co  m*/
    }
}

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

License:Open Source License

public File getFile(long userId, long fileEntryId, String version, boolean incrementCounter)
        throws PortalException, SystemException {

    DLFileEntry dlFileEntry = dlFileEntryPersistence.findByPrimaryKey(fileEntryId);

    if (PropsValues.DL_FILE_ENTRY_READ_COUNT_ENABLED && incrementCounter) {
        dlFileEntry.setReadCount(dlFileEntry.getReadCount() + 1);

        dlFileEntryPersistence.update(dlFileEntry, false);
    }//w w  w .ja  va  2 s  . co  m

    dlAppHelperLocalService.getFileAsStream(userId, new LiferayFileEntry(dlFileEntry), incrementCounter);

    return DLStoreUtil.getFile(dlFileEntry.getCompanyId(), dlFileEntry.getDataRepositoryId(),
            dlFileEntry.getName(), version);
}

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

License:Open Source License

public InputStream getFileAsStream(long userId, long fileEntryId, String version, boolean incrementCounter)
        throws PortalException, SystemException {

    DLFileEntry dlFileEntry = dlFileEntryPersistence.findByPrimaryKey(fileEntryId);

    if (PropsValues.DL_FILE_ENTRY_READ_COUNT_ENABLED && incrementCounter) {
        dlFileEntry.setReadCount(dlFileEntry.getReadCount() + 1);

        dlFileEntryPersistence.update(dlFileEntry, false);
    }/*  w ww.  ja va2s  .  c o  m*/

    dlAppHelperLocalService.getFileAsStream(userId, new LiferayFileEntry(dlFileEntry), incrementCounter);

    return DLStoreUtil.getFileAsStream(dlFileEntry.getCompanyId(), dlFileEntry.getDataRepositoryId(),
            dlFileEntry.getName(), version);
}

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

License:Open Source License

public DLFileEntry moveFileEntry(long userId, long fileEntryId, long newFolderId, ServiceContext serviceContext)
        throws PortalException, SystemException {

    if (!hasFileEntryLock(userId, fileEntryId)) {
        lockFileEntry(userId, fileEntryId);
    }// w ww  .ja  v  a 2s.  c  o m

    try {
        DLFileEntry dlFileEntry = moveFileEntryImpl(userId, fileEntryId, newFolderId, serviceContext);

        dlAppHelperLocalService.moveFileEntry(new LiferayFileEntry(dlFileEntry));

        return dlFileEntryTypeLocalService.updateFileEntryFileEntryType(dlFileEntry, serviceContext);
    } finally {
        if (!isFileEntryCheckedOut(fileEntryId)) {
            unlockFileEntry(fileEntryId);
        }
    }
}

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 ww  .j  av  a 2s  .c  o 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   w  ww  . j a v a  2  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);
}