com.liferay.document.library.internal.service.DLFileRankDLAppHelperLocalServiceWrapper.java Source code

Java tutorial

Introduction

Here is the source code for com.liferay.document.library.internal.service.DLFileRankDLAppHelperLocalServiceWrapper.java

Source

/**
 * Copyright (c) 2000-present Liferay, Inc. All rights reserved.
 *
 * This library is free software; you can redistribute it and/or modify it under
 * the terms of the GNU Lesser General Public License as published by the Free
 * Software Foundation; either version 2.1 of the License, or (at your option)
 * any later version.
 *
 * This library is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
 * details.
 */

package com.liferay.document.library.internal.service;

import com.liferay.document.library.file.rank.service.DLFileRankLocalService;
import com.liferay.document.library.kernel.model.DLFolder;
import com.liferay.document.library.kernel.service.DLAppHelperLocalService;
import com.liferay.document.library.kernel.service.DLAppHelperLocalServiceWrapper;
import com.liferay.document.library.kernel.util.DLAppHelperThreadLocal;
import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.repository.model.FileEntry;
import com.liferay.portal.kernel.repository.model.Folder;
import com.liferay.portal.kernel.service.ServiceContext;
import com.liferay.portal.kernel.service.ServiceWrapper;
import com.liferay.portal.kernel.transaction.TransactionCommitCallbackUtil;

import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;

/**
 * @author Sergio Gonzlez
 */
@Component(immediate = true, service = ServiceWrapper.class)
public class DLFileRankDLAppHelperLocalServiceWrapper extends DLAppHelperLocalServiceWrapper {

    public DLFileRankDLAppHelperLocalServiceWrapper() {
        super(null);
    }

    public DLFileRankDLAppHelperLocalServiceWrapper(DLAppHelperLocalService dlAppHelperLocalService) {

        super(dlAppHelperLocalService);
    }

    @Override
    public void deleteFileEntry(FileEntry fileEntry) throws PortalException {
        super.deleteFileEntry(fileEntry);

        if (!DLAppHelperThreadLocal.isEnabled()) {
            return;
        }

        _dlFileRankLocalService.deleteFileRanksByFileEntryId(fileEntry.getFileEntryId());
    }

    @Override
    public void getFileAsStream(long userId, FileEntry fileEntry, boolean incrementCounter) {

        super.getFileAsStream(userId, fileEntry, incrementCounter);

        if (!incrementCounter) {
            return;
        }

        if (userId > 0) {
            TransactionCommitCallbackUtil.registerCallback(() -> {
                _dlFileRankLocalService.updateFileRank(fileEntry.getGroupId(), fileEntry.getCompanyId(), userId,
                        fileEntry.getFileEntryId(), new ServiceContext());

                return null;
            });
        }
    }

    @Override
    public FileEntry moveFileEntryFromTrash(long userId, FileEntry fileEntry, long newFolderId,
            ServiceContext serviceContext) throws PortalException {

        FileEntry curFileEntry = super.moveFileEntryFromTrash(userId, fileEntry, newFolderId, serviceContext);

        if (!DLAppHelperThreadLocal.isEnabled()) {
            return curFileEntry;
        }

        _dlFileRankLocalService.enableFileRanks(fileEntry.getFileEntryId());

        return curFileEntry;
    }

    @Override
    public FileEntry moveFileEntryToTrash(long userId, FileEntry fileEntry) throws PortalException {

        FileEntry curFileEntry = super.moveFileEntryToTrash(userId, fileEntry);

        if (!DLAppHelperThreadLocal.isEnabled()) {
            return curFileEntry;
        }

        _dlFileRankLocalService.disableFileRanks(fileEntry.getFileEntryId());

        return curFileEntry;
    }

    @Override
    public Folder moveFolderFromTrash(long userId, Folder folder, long parentFolderId,
            ServiceContext serviceContext) throws PortalException {

        Folder curFolder = super.moveFolderFromTrash(userId, folder, parentFolderId, serviceContext);

        DLFolder dlFolder = (DLFolder) folder.getModel();

        if (dlFolder.isInTrashExplicitly()) {
            return curFolder;
        }

        _dlFileRankLocalService.enableFileRanksByFolderId(folder.getFolderId());

        return curFolder;
    }

    @Override
    public Folder moveFolderToTrash(long userId, Folder folder) throws PortalException {

        Folder curFolder = super.moveFolderToTrash(userId, folder);

        _dlFileRankLocalService.disableFileRanksByFolderId(folder.getFolderId());

        return curFolder;
    }

    @Override
    public void restoreFileEntryFromTrash(long userId, FileEntry fileEntry) throws PortalException {

        super.restoreFileEntryFromTrash(userId, fileEntry);

        if (!DLAppHelperThreadLocal.isEnabled()) {
            return;
        }

        _dlFileRankLocalService.enableFileRanks(fileEntry.getFileEntryId());
    }

    @Override
    public void restoreFolderFromTrash(long userId, Folder folder) throws PortalException {

        super.restoreFolderFromTrash(userId, folder);

        _dlFileRankLocalService.enableFileRanksByFolderId(folder.getFolderId());
    }

    @Reference
    private DLFileRankLocalService _dlFileRankLocalService;

}