package gov.samhsa.consent2share.infrastructure.report.configurer; import gov.samhsa.consent2share.infrastructure.report.ReportFormat; import gov.samhsa.consent2share.infrastructure.report.ReportParameterConfigurerTask; import gov.samhsa.consent2share.infrastructure.report.ReportProps; import gov.samhsa.consent2share.infrastructure.report.RequestScopedParameters; import gov.samhsa.consent2share.infrastructure.report.RequestScopedParametersProvider; import java.util.Map; import net.sf.jasperreports.engine.JRDataSource; import org.springframework.util.Assert; /** * This task depends on {@link RequestScopedParametersProvider} to get * {@link RequestScopedParameters} instance and returns * {@link RequestScopedParameters#parameters} as it is after asserting that it * is not empty. */ public class SetRequestScopedParametersTask implements ReportParameterConfigurerTask { /** The request scoped parameters provider. */ private final RequestScopedParametersProvider requestScopedParametersProvider; /** * Instantiates a new sets the request scoped parameters task. * * @param requestScopedParametersProvider * the request scoped parameters provider */ public SetRequestScopedParametersTask( RequestScopedParametersProvider requestScopedParametersProvider) { super(); this.requestScopedParametersProvider = requestScopedParametersProvider; } /* * (non-Javadoc) * * @see * gov.samhsa.consent2share.infrastructure.report.ReportParameterConfigurerTask * #configure(gov.samhsa.consent2share.infrastructure.report.ReportProps, * gov.samhsa.consent2share.infrastructure.report.ReportFormat, * net.sf.jasperreports.engine.JRDataSource) */ @Override public Map<String, Object> configure(ReportProps reportProps, ReportFormat reportFormat, JRDataSource datasource) { final Map<String, Object> parameters = this.requestScopedParametersProvider .getRequestScopedParameters().getParameters(); Assert.notEmpty(parameters, "RequestScopedParameters.parameters must have at least '1' element"); return parameters; } }