⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 editreportaction.java

📁 OpenReports是一个完整的基于Web的报表方案
💻 JAVA
字号:
/*
 * Copyright (C) 2002 Erik Swenson - eswenson@opensourcesoft.net
 * 
 * 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 received 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 java.util.*;

import com.opensymphony.xwork.ActionSupport;

import org.apache.log4j.Logger;
import org.efs.openreports.objects.*;
import org.efs.openreports.providers.*;

public class EditReportAction
	extends ActionSupport
	implements ReportProviderAware, DataSourceProviderAware, ChartProviderAware
{
	protected static Logger log = Logger.getLogger(EditReportAction.class);

	private String command;
	private String submitType;

	private int id;
	private String name;
	private String description;
	private String file;
	private String query;
	private int dataSourceId;
	private int reportChartId;

	private boolean pdfExportEnabled;
	private boolean htmlExportEnabled;
	private boolean csvExportEnabled;
	private boolean xlsExportEnabled;

	private Report report;

	private ReportProvider reportProvider;
	private DataSourceProvider dataSourceProvider;
	private ChartProvider chartProvider;

	public String execute()
	{
		try
		{
			if (command.equals("edit"))
			{
				report = reportProvider.getReport(new Integer(id));
			}
			else
			{
				report = new Report();
			}

			if (command.equals("edit") && submitType == null)
			{
				name = report.getName();
				description = report.getDescription();
				file = report.getFile();
				query = report.getQuery();
				id = report.getId().intValue();
				pdfExportEnabled = report.isPdfExportEnabled();
				csvExportEnabled = report.isCsvExportEnabled();
				htmlExportEnabled = report.isHtmlExportEnabled();
				xlsExportEnabled = report.isXlsExportEnabled();
				if (report.getDataSource() != null)
				{
					dataSourceId = report.getDataSource().getId().intValue();
				}
				if (report.getReportChart() != null)
				{
					reportChartId = report.getReportChart().getId().intValue();
				}
			}

			if (submitType == null)
				return INPUT;

			report.setName(name);
			report.setDescription(description);
			report.setFile(file);
			report.setQuery(query);
			report.setCsvExportEnabled(csvExportEnabled);
			report.setHtmlExportEnabled(htmlExportEnabled);
			report.setPdfExportEnabled(pdfExportEnabled);
			report.setXlsExportEnabled(xlsExportEnabled);

			if ((query == null || query.trim().length() < 1)
				&& !csvExportEnabled
				&& !htmlExportEnabled
				&& !pdfExportEnabled
				&& !xlsExportEnabled)
			{
				addActionError("You must select at least one Export Type.");
				return INPUT;
			}

			if (dataSourceId != -1)
			{
				report.setDataSource(
					dataSourceProvider.getDataSource(
						new Integer(dataSourceId)));
			}
			else
			{
				report.setDataSource(null);
			}

			if (reportChartId != -1)
			{
				report.setReportChart(
					chartProvider.getReportChart(new Integer(reportChartId)));
			}
			else
			{
				report.setReportChart(null);
			}

			if (command.equals("edit"))
			{
				reportProvider.updateReport(report);
			}

			if (command.equals("add"))
			{
				reportProvider.insertReport(report);
			}

			return SUCCESS;
		}
		catch (Exception e)
		{
			addActionError(e.toString());
			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 getDataSourceId()
	{
		return dataSourceId;
	}

	public String getDescription()
	{
		return description;
	}

	public String getFile()
	{
		return file;
	}

	public String getName()
	{
		return name;
	}

	public void setDataSourceId(int dataSourceId)
	{
		this.dataSourceId = dataSourceId;
	}

	public void setDescription(String description)
	{
		this.description = description;
	}

	public void setFile(String file)
	{
		this.file = file;
	}

	public void setName(String name)
	{
		this.name = name;
	}

	public List getDataSources()
	{
		try
		{
			return dataSourceProvider.getDataSources();
		}
		catch (Exception e)
		{
			addActionError(e.toString());
			return null;
		}
	}

	public List getReportFileNames()
	{
		try
		{
			return reportProvider.getReportFileNames();
		}
		catch (Exception e)
		{
			addActionError(e.toString());
			return null;
		}
	}

	public int getId()
	{
		return id;
	}

	public void setId(int id)
	{
		this.id = id;
	}

	public List getParametersInReport()
	{
		if (report == null || report.getParameters() == null)
			return null;

		List list = report.getParameters();
		Collections.sort(list);

		return list;
	}

	public void setDataSourceProvider(DataSourceProvider dataSourceProvider)
	{
		this.dataSourceProvider = dataSourceProvider;
	}

	public void setReportProvider(ReportProvider reportProvider)
	{
		this.reportProvider = reportProvider;
	}

	public int getReportChartId()
	{
		return reportChartId;
	}

	public void setReportChartId(int reportChartId)
	{
		this.reportChartId = reportChartId;
	}

	public List getReportCharts()
	{
		try
		{
			return chartProvider.getReportCharts();
		}
		catch (Exception e)
		{
			addActionError(e.toString());
			return null;
		}
	}

	public void setChartProvider(ChartProvider chartProvider)
	{
		this.chartProvider = chartProvider;
	}

	public boolean isCsvExportEnabled()
	{
		return csvExportEnabled;
	}

	public void setCsvExportEnabled(boolean csvExportEnabled)
	{
		this.csvExportEnabled = csvExportEnabled;
	}

	public boolean isHtmlExportEnabled()
	{
		return htmlExportEnabled;
	}

	public void setHtmlExportEnabled(boolean htmlExportEnabled)
	{
		this.htmlExportEnabled = htmlExportEnabled;
	}

	public boolean isPdfExportEnabled()
	{
		return pdfExportEnabled;
	}

	public void setPdfExportEnabled(boolean pdfExportEnabled)
	{
		this.pdfExportEnabled = pdfExportEnabled;
	}

	public boolean isXlsExportEnabled()
	{
		return xlsExportEnabled;
	}

	public void setXlsExportEnabled(boolean xlsExportEnabled)
	{
		this.xlsExportEnabled = xlsExportEnabled;
	}

	public String getQuery()
	{
		return query;
	}

	public void setQuery(String query)
	{
		this.query = query;
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -