package com.griddynamics.jagger.jaas.service; import com.griddynamics.jagger.reporting.ReportingContext; import com.griddynamics.jagger.reporting.ReportingService; import org.apache.commons.lang.StringUtils; /** * Produces {@link com.griddynamics.jagger.reporting.ReportingService} instances * based on custom session id and output report location * but still using some defaults */ public class ReportingServiceFactory { private final ReportingContext context; private final String rootTemplateLocation; public ReportingServiceFactory(ReportingContext context, String rootTemplateLocation) { this.context = context; this.rootTemplateLocation = rootTemplateLocation; } public ReportingService newInstance(String sessionId, String outputReportLocation) { ReportingService reportingService = new ReportingService(); reportingService.setContext(context); reportingService.setRootTemplateLocation(rootTemplateLocation); reportingService.setDoGenerateXmlReport(false); reportingService.setReportType(ReportingService.ReportType.PDF); reportingService.setOutputReportLocation(outputReportLocation); reportingService.setSessionId(sessionId); return reportingService; } public ReportingService newInstance(String sessionId, String baselineSessionId, String outputReportLocation) { ReportingService reportingService = newInstance(sessionId, outputReportLocation); if (StringUtils.isNotBlank(baselineSessionId)) { reportingService.getContext().getBaselineSessionProvider().setBaselineSessionId(baselineSessionId); } return reportingService; } }