/* * Copyright (C) 2006 Erik Swenson - erik@oreports.com * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 2 of the License, or (at your option) * any later version. * * This program 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 General Public License for * more details. * * You should have reserved a copy of the GNU General Public License along with * this program; if not, write to the Free Software Foundation, Inc., 59 Temple * Place - Suite 330, Boston, MA 02111-1307, USA. * */ package org.efs.openreports.actions.admin; import com.opensymphony.xwork2.ActionSupport; import org.apache.log4j.Logger; import org.efs.openreports.objects.Report; import org.efs.openreports.objects.ReportExportOption; import org.efs.openreports.providers.ReportProvider; public class EditExportOptionsAction extends ActionSupport { private static final long serialVersionUID = 8085217825617019729L; protected static Logger log = Logger.getLogger(EditExportOptionsAction.class); private String command; private String submitType; private int id; private boolean xlsRemoveEmptySpaceBetweenRows; private boolean xlsOnePagePerSheet; private boolean xlsAutoDetectCellType; private boolean xlsWhitePageBackground; private boolean htmlRemoveEmptySpaceBetweenRows; private boolean htmlWhitePageBackground; private boolean htmlUsingImagesToAlign; private boolean htmlWrapBreakWord; private Report report; private ReportProvider reportProvider; public String execute() { try { report = reportProvider.getReport(new Integer(id)); ReportExportOption exportOption = report.getReportExportOption(); if (command.equals("edit") && submitType == null) { id = report.getId().intValue(); xlsRemoveEmptySpaceBetweenRows = exportOption.isXlsRemoveEmptySpaceBetweenRows(); xlsOnePagePerSheet = exportOption.isXlsOnePagePerSheet(); xlsAutoDetectCellType = exportOption.isXlsAutoDetectCellType(); xlsWhitePageBackground = exportOption.isXlsWhitePageBackground(); htmlRemoveEmptySpaceBetweenRows = exportOption.isHtmlRemoveEmptySpaceBetweenRows(); htmlUsingImagesToAlign = exportOption.isHtmlUsingImagesToAlign(); htmlWhitePageBackground = exportOption.isHtmlWhitePageBackground(); htmlWrapBreakWord = exportOption.isHtmlWrapBreakWord(); } if (submitType == null) return INPUT; exportOption.setXlsOnePagePerSheet(xlsOnePagePerSheet); exportOption.setXlsRemoveEmptySpaceBetweenRows(xlsRemoveEmptySpaceBetweenRows); exportOption.setXlsAutoDetectCellType(xlsAutoDetectCellType); exportOption.setXlsWhitePageBackground(xlsWhitePageBackground); exportOption.setHtmlRemoveEmptySpaceBetweenRows(htmlRemoveEmptySpaceBetweenRows); exportOption.setHtmlUsingImagesToAlign(htmlUsingImagesToAlign); exportOption.setHtmlWhitePageBackground(htmlWhitePageBackground); exportOption.setHtmlWrapBreakWord(htmlWrapBreakWord); report.setReportExportOption(exportOption); reportProvider.updateReport(report); return SUCCESS; } catch (Exception e) { log.error(e.toString()); addActionError(e.getMessage()); return INPUT; } } public String getCommand() { return command; } public void setCommand(String command) { this.command = command; } public String getSubmitType() { return submitType; } public void setSubmitType(String submitType) { this.submitType = submitType; } public int getId() { return id; } public void setId(int id) { this.id = id; } public void setReportProvider(ReportProvider reportProvider) { this.reportProvider = reportProvider; } public ReportProvider getReportProvider() { return reportProvider; } public Report getReport() { return report; } public void setReport(Report report) { this.report = report; } public boolean isHtmlRemoveEmptySpaceBetweenRows() { return htmlRemoveEmptySpaceBetweenRows; } public void setHtmlRemoveEmptySpaceBetweenRows(boolean htmlRemoveEmptySpaceBetweenRows) { this.htmlRemoveEmptySpaceBetweenRows = htmlRemoveEmptySpaceBetweenRows; } public boolean isHtmlUsingImagesToAlign() { return htmlUsingImagesToAlign; } public void setHtmlUsingImagesToAlign(boolean htmlUsingImagesToAlign) { this.htmlUsingImagesToAlign = htmlUsingImagesToAlign; } public boolean isHtmlWhitePageBackground() { return htmlWhitePageBackground; } public void setHtmlWhitePageBackground(boolean htmlWhitePageBackground) { this.htmlWhitePageBackground = htmlWhitePageBackground; } public boolean isHtmlWrapBreakWord() { return htmlWrapBreakWord; } public void setHtmlWrapBreakWord(boolean htmlWrapBreakWord) { this.htmlWrapBreakWord = htmlWrapBreakWord; } public boolean isXlsAutoDetectCellType() { return xlsAutoDetectCellType; } public void setXlsAutoDetectCellType(boolean xlsAutoDetectCellType) { this.xlsAutoDetectCellType = xlsAutoDetectCellType; } public boolean isXlsOnePagePerSheet() { return xlsOnePagePerSheet; } public void setXlsOnePagePerSheet(boolean xlsOnePagePerSheet) { this.xlsOnePagePerSheet = xlsOnePagePerSheet; } public boolean isXlsRemoveEmptySpaceBetweenRows() { return xlsRemoveEmptySpaceBetweenRows; } public void setXlsRemoveEmptySpaceBetweenRows(boolean xlsRemoveEmptySpaceBetweenRows) { this.xlsRemoveEmptySpaceBetweenRows = xlsRemoveEmptySpaceBetweenRows; } public boolean isXlsWhitePageBackground() { return xlsWhitePageBackground; } public void setXlsWhitePageBackground(boolean xlsWhitePageBackground) { this.xlsWhitePageBackground = xlsWhitePageBackground; } }