亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? reportwriteproviderimpl.java

?? The ability to create groups of reports, and grant users access to reports by group. The ability to
?? 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.providers.impl;

import java.io.OutputStream;
import java.sql.Connection;
import java.util.*;
import java.util.List;
import java.util.Map;

import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.interceptor.component.ComponentManager;

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

import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.engine.export.*;
import net.sf.jasperreports.engine.util.JRLoader;

public class ReportWriteProviderImpl
	implements ReportWriteProvider, DataSourceProviderAware, DirectoryProviderAware
{
	protected static Logger log =
		Logger.getLogger(ReportWriteProviderImpl.class.getName());

	private DataSourceProvider dataSourceProvider;
	private DirectoryProvider directoryProvider;

	public ReportWriteProviderImpl() throws ProviderException
	{
		ComponentManager container =
			(ComponentManager) ActionContext.getContext().get(
				"com.opensymphony.xwork.interceptor.component.ComponentManager");

		container.initializeObject(this);

	}

	public JasperPrint fillReport(Report report, Map map)
		throws ProviderException
	{
		Connection conn = null;

		ReportDataSource dataSource = report.getDataSource();

		try
		{			
			JasperReport jr = (JasperReport) JRLoader.loadObject(directoryProvider
					.getReportDirectory()
					+ report.getFile());
			
			List subReports = report.getSubReportParameters();
			if (subReports != null && subReports.size() > 0)
			{
				Iterator iterator = report.getSubReportParameters().iterator();
				while(iterator.hasNext())
				{
					ReportParameterMap rpMap = (ReportParameterMap) iterator.next();
					
					JasperReport subReport = (JasperReport) JRLoader.loadObject(directoryProvider
							.getReportDirectory()
							+ rpMap.getReportParameter().getData());
					
					map.put(rpMap.getReportParameter().getName(), subReport);
				}
			}

			JasperPrint jp = null;

			if (dataSource == null)
			{
				jp = JasperFillManager.fillReport(jr, map, new JREmptyDataSource());
			}
			else
			{
				conn = dataSourceProvider.getConnection(dataSource.getId());
				jp = JasperFillManager.fillReport(jr, map, conn);
			}

			if (jp == null || jp.getPages().size() < 1)
				throw new ProviderException("Report Empty");

			return jp;
		}
		catch (Exception e)
		{
			log.error("Error creating report: " + e.toString());
			throw new ProviderException(
				"Error creating report: " + e.getMessage());
		}
		finally
		{
			try
			{
				if (conn != null)
					conn.close();
			}
			catch (Exception ex)
			{
				log.error("Error closing connection: " + ex.getMessage());
			}
		}
	}

	public void sendReportToStream(
		JasperPrint jasperPrint,
		OutputStream out,
		int exportType)
		throws ProviderException
	{
		sendReportToStream(jasperPrint, null, out, exportType);
	}

	public void sendReportToStream(
		JasperPrint jasperPrint,
		Map imagesMap,
		OutputStream out,
		int exportType)
		throws ProviderException
	{
		JRAbstractExporter exporter = null;

		try
		{
			if (exportType == EXPORT_PDF)
			{
				byte[] pdfByteArray =
					JasperExportManager.exportReportToPdf(jasperPrint);

				out.write(pdfByteArray, 0, pdfByteArray.length);
				out.flush();
				out.close();

				return;
			}

			if (exportType == EXPORT_XLS)
			{
				exporter = new JRXlsExporter();

				exporter.setParameter(
					JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET,
					Boolean.TRUE);
			}
			else if (exportType == EXPORT_CSV)
			{
				exporter = new JRCsvExporter();
			}
			else
			{
				exporter = new JRHtmlExporter();

				// see ImageLoaderAction for more information
				exporter.setParameter(
					JRHtmlExporterParameter.IMAGES_MAP,
					imagesMap);
				exporter.setParameter(
					JRHtmlExporterParameter.IMAGES_URI,
					"imageLoader.action?imageName=");
			}

			exporter.setParameter(
				JRExporterParameter.JASPER_PRINT,
				jasperPrint);
			exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, out);
			exporter.exportReport();
		}
		catch (Exception e)
		{
			throw new ProviderException(e.toString());
		}
	}

	public void sendPDFToStream(byte[] pdfByteArray, OutputStream out)
		throws ProviderException
	{
		try
		{
			out.write(pdfByteArray, 0, pdfByteArray.length);
			out.flush();
			out.close();
		}
		catch (Exception e)
		{
			throw new ProviderException(e.toString());
		}
	}

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

	public void setDirectoryProvider(DirectoryProvider directoryProvider)
	{
		this.directoryProvider = directoryProvider;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品第1页| 亚洲国产综合在线| 亚洲成人激情自拍| 成人18视频日本| 精品对白一区国产伦| 一区二区三区免费在线观看| 国产高清视频一区| 91精品国产色综合久久 | 91美女福利视频| wwww国产精品欧美| 日韩av一区二区在线影视| 一本大道综合伊人精品热热| 国产欧美日韩亚州综合| 激情五月播播久久久精品| 欧美日韩国产123区| 一区二区三区四区在线免费观看| 成人黄色大片在线观看| 精品99一区二区三区| 亚洲一区二区不卡免费| 在线亚洲高清视频| 亚洲国产一二三| 欧美午夜影院一区| 亚洲资源中文字幕| 欧美日韩视频在线一区二区| 一区二区三区欧美| 在线观看日韩精品| 亚洲国产精品久久一线不卡| 色视频成人在线观看免| 亚洲一区免费在线观看| 欧美亚洲高清一区| 日韩高清不卡一区二区三区| 欧美日高清视频| 久久精品国内一区二区三区| 亚洲精品一线二线三线无人区| 精品制服美女久久| 国产香蕉久久精品综合网| 国产福利一区二区三区视频在线| 久久九九99视频| 不卡的电视剧免费网站有什么| 中文字幕中文字幕一区| 91捆绑美女网站| 亚洲成av人片在www色猫咪| 欧美一区二区三区在线电影| 六月婷婷色综合| 日本一区二区成人在线| 日本久久一区二区三区| 日韩—二三区免费观看av| 精品国产凹凸成av人导航| 国产成人激情av| 一区二区三区av电影| 欧美日韩情趣电影| 国产在线一区二区综合免费视频| 亚洲国产精品黑人久久久| 色综合咪咪久久| 亚洲福利视频三区| 亚洲精品一区二区三区影院| 91视频国产观看| 喷水一区二区三区| 国产欧美日韩三区| 欧美日本免费一区二区三区| 国产精品中文字幕日韩精品 | 99麻豆久久久国产精品免费| 亚洲国产精品久久人人爱| 26uuu亚洲| 91久久线看在观草草青青| 久久99热这里只有精品| 一区在线中文字幕| 日韩欧美高清一区| 色婷婷综合中文久久一本| 免费不卡在线视频| 亚洲日本一区二区| 精品美女在线播放| 欧美性生活影院| 丁香一区二区三区| 日韩精品一级中文字幕精品视频免费观看 | 国产+成+人+亚洲欧洲自线| 亚洲香肠在线观看| 国产精品久久久久久久久久久免费看 | 亚洲综合一区二区| 欧美国产丝袜视频| 日韩欧美一级精品久久| 色乱码一区二区三区88| 国产精品亚洲视频| 日本不卡123| 亚洲18色成人| 136国产福利精品导航| www国产精品av| 欧美一区二区三区不卡| 日本福利一区二区| 99国产精品视频免费观看| 国产精品1区2区3区在线观看| 日韩精品91亚洲二区在线观看| 亚洲日本护士毛茸茸| 日本一区二区在线不卡| 精品奇米国产一区二区三区| 欧美三区免费完整视频在线观看| 91女神在线视频| 成人爱爱电影网址| 国产成人精品亚洲午夜麻豆| 狠狠色丁香婷婷综合| 日韩二区在线观看| 七七婷婷婷婷精品国产| 日产精品久久久久久久性色| 亚洲成人一区在线| 偷窥国产亚洲免费视频| 亚洲国产aⅴ天堂久久| 亚洲最大成人网4388xx| 亚洲一级二级在线| 亚洲妇女屁股眼交7| 午夜国产精品一区| 免费一区二区视频| 国内精品伊人久久久久av一坑 | 久久久国产午夜精品| 欧美精品一区二区三区蜜臀| 精品国产乱码久久久久久图片| 日韩一区二区三| 久久麻豆一区二区| 国产欧美精品区一区二区三区| 亚洲国产精品成人综合色在线婷婷 | 日韩av一二三| 美女在线一区二区| 精东粉嫩av免费一区二区三区| 精品一区二区免费在线观看| 狠狠v欧美v日韩v亚洲ⅴ| 国产综合色产在线精品| 成人久久18免费网站麻豆| 不卡在线观看av| 在线免费观看日本一区| 91麻豆精品91久久久久同性| 精品国产乱码久久久久久久久 | 日本在线播放一区二区三区| 蜜臀av一区二区在线免费观看| 九色综合狠狠综合久久| 国产传媒久久文化传媒| 色婷婷国产精品久久包臀| 欧美日韩亚洲另类| 久久女同互慰一区二区三区| 国产精品第一页第二页第三页 | 亚洲视频一区二区在线观看| 亚洲一区二区精品3399| 国产呦萝稀缺另类资源| 波多野结衣一区二区三区| 欧美日韩一区二区电影| 26uuu国产在线精品一区二区| 国产精品国产三级国产普通话99 | 亚洲欧美怡红院| 日本视频一区二区三区| 国产老妇另类xxxxx| 91极品视觉盛宴| 日韩美女在线视频| 亚洲欧美日韩电影| 极品瑜伽女神91| 色综合久久中文综合久久牛| 日韩欧美的一区| 亚洲欧美日韩国产一区二区三区| 欧美aaa在线| 色噜噜狠狠成人中文综合| 精品sm捆绑视频| 石原莉奈一区二区三区在线观看| 国产伦精一区二区三区| 91精选在线观看| 亚洲欧美一区二区久久| 狠狠色丁香婷婷综合| 欧美日韩三级一区二区| 国产精品高潮久久久久无| 美腿丝袜亚洲综合| 欧美日韩mp4| 亚洲精品成人a在线观看| 国产成人自拍高清视频在线免费播放| 91.com视频| 亚洲一区二区在线视频| 国产成a人亚洲| 精品国产乱码久久久久久影片| 亚洲不卡av一区二区三区| jiyouzz国产精品久久| 久久久久久久久99精品| 久久激情五月婷婷| 91精品国产91久久久久久一区二区| 亚洲视频小说图片| 成人看片黄a免费看在线| 久久久久国色av免费看影院| 亚洲国产另类精品专区| 色欧美片视频在线观看在线视频| 国产精品嫩草影院com| 国产美女娇喘av呻吟久久 | 欧美一区二区黄色| 亚洲午夜三级在线| 日本高清不卡aⅴ免费网站| 亚洲精品中文在线观看| 波多野结衣中文字幕一区二区三区| 久久久久久久久99精品| 国产一区二区在线观看免费| 精品av综合导航| 国产乱码精品1区2区3区| 欧美videofree性高清杂交| 久久99精品久久久久久| 精品美女在线播放| 国产成人av一区二区三区在线| 国产午夜亚洲精品不卡| 成人h动漫精品一区二区|