com.bemis.portal.report.service.impl.ReportDefinitionServiceImpl.java Source code

Java tutorial

Introduction

Here is the source code for com.bemis.portal.report.service.impl.ReportDefinitionServiceImpl.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.bemis.portal.report.service.impl;

import aQute.bnd.annotation.ProviderType;

import com.bemis.portal.report.definition.ReportParameter;
import com.bemis.portal.report.model.ReportDefinition;
import com.bemis.portal.report.service.base.ReportDefinitionServiceBaseImpl;
import com.bemis.portal.report.service.permission.ReportDefinitionEntryPermissionCheckerUtil;
import com.bemis.portal.report.service.permission.ReportDefinitionPermissionCheckerUtil;

import com.liferay.portal.kernel.exception.PortalException;
import com.liferay.portal.kernel.security.permission.ActionKeys;
import com.liferay.portal.kernel.service.ServiceContext;

import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.Set;

/**
 * @author Michael C. Han
 * @see ReportDefinitionServiceBaseImpl
 * @see com.bemis.portal.report.service.ReportDefinitionServiceUtil
 */
@ProviderType
public class ReportDefinitionServiceImpl extends ReportDefinitionServiceBaseImpl {

    @Override
    public ReportDefinition addReportDefinition(String name, String category, Map<Locale, String> titleMap,
            Map<Locale, String> descriptionMap, String urlPath, Set<String> availableFields,
            Set<String> defaultSelectedFields, Set<String> sortFields, ServiceContext serviceContext)
            throws PortalException {

        return addReportDefinition(name, category, titleMap, descriptionMap, urlPath, availableFields,
                defaultSelectedFields, sortFields, null, serviceContext);
    }

    @Override
    public ReportDefinition addReportDefinition(String name, String category, Map<Locale, String> titleMap,
            Map<Locale, String> descriptionMap, String urlPath, Set<String> availableFields,
            Set<String> defaultSelectedFields, Set<String> sortFields, Set<ReportParameter> reportParameters,
            ServiceContext serviceContext) throws PortalException {

        ReportDefinitionPermissionCheckerUtil.check(getPermissionChecker(), serviceContext.getScopeGroupId(),
                ActionKeys.ADD_ENTRY);

        return reportDefinitionLocalService.addReportDefinition(name, category, titleMap, descriptionMap, urlPath,
                availableFields, defaultSelectedFields, sortFields, reportParameters, serviceContext);
    }

    @Override
    public ReportDefinition deleteReportDefinition(long reportDefinitionId) throws PortalException {

        ReportDefinition reportDefinition = reportDefinitionLocalService.fetchReportDefinition(reportDefinitionId);

        ReportDefinitionEntryPermissionCheckerUtil.checkBaseModel(getPermissionChecker(),
                reportDefinition.getGroupId(), reportDefinition.getReportDefinitionId(), ActionKeys.DELETE);

        return reportDefinitionLocalService.deleteReportDefinition(reportDefinition);
    }

    @Override
    public ReportDefinition deleteReportDefinition(ReportDefinition reportDefinition) throws PortalException {

        ReportDefinitionEntryPermissionCheckerUtil.checkBaseModel(getPermissionChecker(),
                reportDefinition.getGroupId(), reportDefinition.getReportDefinitionId(), ActionKeys.DELETE);

        return reportDefinitionLocalService.deleteReportDefinition(reportDefinition);
    }

    @Override
    public ReportDefinition getReportDefinition(long reportDefinitionId) throws PortalException {

        ReportDefinition reportDefinition = reportDefinitionLocalService.getReportDefinition(reportDefinitionId);

        ReportDefinitionEntryPermissionCheckerUtil.contains(getPermissionChecker(),
                reportDefinition.getReportDefinitionId(), ActionKeys.VIEW);

        return reportDefinition;
    }

    @Override
    public List<ReportDefinition> getReportDefinitions(long companyId, long groupId, int start, int end) {

        return reportDefinitionPersistence.filterFindByC_G(companyId, groupId, start, end);
    }

    @Override
    public int getReportDefinitionsCount(long companyId, long groupId) {
        return reportDefinitionPersistence.filterCountByC_G(companyId, groupId);
    }

    @Override
    public ReportDefinition updateReportDefinition(long reportDefinitionId, String category,
            Map<Locale, String> titleMap, Map<Locale, String> descriptionMap, String urlPath,
            Set<String> availableFields, Set<String> defaultSelectedFields, Set<String> sortFields,
            ServiceContext serviceContext) throws PortalException {

        ReportDefinition reportDefinition = reportDefinitionLocalService.fetchReportDefinition(reportDefinitionId);

        ReportDefinitionEntryPermissionCheckerUtil.checkBaseModel(getPermissionChecker(),
                reportDefinition.getGroupId(), reportDefinition.getReportDefinitionId(), ActionKeys.DELETE);

        return reportDefinitionLocalService.updateReportDefinition(reportDefinitionId, category, titleMap,
                descriptionMap, urlPath, availableFields, defaultSelectedFields, sortFields, serviceContext);
    }

}