package au.com.vaadinutils.jasper.ui; import java.io.File; import java.sql.Connection; import java.util.Collection; import java.util.List; import java.util.Map; import au.com.vaadinutils.jasper.JasperManager.OutputFormat; import au.com.vaadinutils.jasper.filter.ReportFilterUIBuilder; import au.com.vaadinutils.jasper.parameter.ReportParameter; public class JasperReportPropertiesAlternateFile implements JasperReportProperties { private String title; private String reportFileName; private JasperReportProperties reportPropertiesTemplate; public JasperReportPropertiesAlternateFile(String title, String reportFileName, JasperReportProperties properties) { this.title = title; this.reportFileName = reportFileName; this.reportPropertiesTemplate = properties; } @Override public String getReportFileName() { if (reportPropertiesTemplate.getDynamicJrxmlFileName() !=null){ return reportPropertiesTemplate.getDynamicJrxmlFileName(); } return reportFileName; } @Override public String getReportTitle() { return title; } @Override public Map<String, Object> getCustomReportParameterMap() { return reportPropertiesTemplate.getCustomReportParameterMap(); } @Override public List<ReportParameter<?>> prepareData(Collection<ReportParameter<?>> params, String reportFileName, CleanupCallback cleanupCallback) throws Exception { return reportPropertiesTemplate.prepareData(params, reportFileName, cleanupCallback); } @Override public void prepareForOutputFormat(OutputFormat outputFormat) { reportPropertiesTemplate.prepareForOutputFormat(outputFormat); } @Override public void closeDBConnection() { reportPropertiesTemplate.closeDBConnection(); } @Override public void initDBConnection() { reportPropertiesTemplate.initDBConnection(); } @Override public OutputFormat getDefaultFormat() { return reportPropertiesTemplate.getDefaultFormat(); } @Override public CleanupCallback getCleanupCallback() { return reportPropertiesTemplate.getCleanupCallback(); } @Override public String generateDynamicHeaderImage(int pageWidth,int height, String reportTitle) { return reportPropertiesTemplate.generateDynamicHeaderImage(pageWidth, height,reportTitle); } @Override public boolean isDevMode() { return reportPropertiesTemplate.isDevMode(); } @Override public String getHeaderFooterTemplateName() { return reportPropertiesTemplate.getHeaderFooterTemplateName(); } @Override public String getUsername() { return reportPropertiesTemplate.getUsername(); } @Override public Connection getConnection() { return reportPropertiesTemplate.getConnection(); } @Override public ReportFilterUIBuilder getFilterBuilder() { return reportPropertiesTemplate.getFilterBuilder(); } @Override public File getReportFolder() { return reportPropertiesTemplate.getReportFolder(); } @Override public Class<? extends JasperReportProperties> getReportClass() { return reportPropertiesTemplate.getReportClass(); } @Override public String getUserEmailAddress() { return reportPropertiesTemplate.getUserEmailAddress(); } @Override public Enum<?> getReportIdentifier() { return reportPropertiesTemplate.getReportIdentifier(); } @Override public String getDynamicJrxmlFileName() { return null; } }