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

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

?? queryreportaction.java

?? OpenReports是一個完整的基于Web的報表方案
?? JAVA
字號:
/*
 * Copyright (C) 2004 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;

import java.sql.*;
import java.util.*;
import java.util.Date;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.sql.DataSource;

import com.opensymphony.xwork.ActionContext;
import com.opensymphony.xwork.ActionSupport;

import dori.jasper.engine.design.JRDesignQuery;
import dori.jasper.engine.util.JRQueryExecuter;

import org.apache.commons.beanutils.DynaProperty;
import org.apache.commons.beanutils.RowSetDynaClass;
import org.apache.log4j.Logger;
import org.efs.openreports.ORStatics;
import org.efs.openreports.objects.*;
import org.efs.openreports.providers.*;
import org.efs.openreports.util.ORUtil;

public class QueryReportAction
	extends ActionSupport
	implements ReportLogProviderAware, DataSourceProviderAware
{
	protected static Logger log = Logger.getLogger(QueryReportAction.class);

	private DataSourceProvider dataSourceProvider;
	private ReportLogProvider reportLogProvider;
	
	private List results;
	private DynaProperty[] properties;

	public String execute()
	{
		ReportUser user =
			(ReportUser) ActionContext.getContext().getSession().get(
				ORStatics.REPORT_USER);

		Report report =
			(Report) ActionContext.getContext().getSession().get(
				ORStatics.REPORT);

		Map reportParameters = getReportParameterMap(user);

		ReportLog reportLog = new ReportLog(user, report, new Date());

		try
		{
			log.debug("Starting Query Report: " + report.getName());
			log.debug("Query: " + report.getQuery());

			reportLogProvider.insertReportLog(reportLog);

			executeQuery(report, reportParameters);

			reportLog.setEndTime(new Date());
			reportLog.setStatus(ReportLog.STATUS_SUCCESS);
			reportLogProvider.updateReportLog(reportLog);

			log.debug("Finished Query Report: " + report.getName());
		}
		catch (Exception e)
		{

			addActionError(e.getMessage());

			log.error(e.getMessage());

			reportLog.setMessage(e.getMessage());
			reportLog.setStatus(ReportLog.STATUS_FAILURE);

			reportLog.setEndTime(new Date());

			try
			{
				reportLogProvider.updateReportLog(reportLog);
			}
			catch (Exception ex)
			{
				log.error("Unable to create ReportLog: " + ex.getMessage());
			}

			return ERROR;
		}

		return SUCCESS;
	}

	private void executeQuery(Report report, Map parameters)
		throws ProviderException
	{
		results = new ArrayList();
		
		Connection conn = null;
		PreparedStatement pStmt = null;
		ResultSet rs = null;

		try
		{
			ReportDataSource dataSource = report.getDataSource();

			if (dataSource.isJndi())
			{
				Context initCtx = new InitialContext();

				DataSource jndiDataSource =
					(DataSource) initCtx.lookup(dataSource.getUrl());

				conn = jndiDataSource.getConnection();
			}
			else
			{
				conn = dataSourceProvider.getConnection(dataSource.getId());
			}

			if (parameters == null || parameters.isEmpty())
			{
				pStmt = conn.prepareStatement(report.getQuery());				
			}
			else				
			{				
				// Use JasperReports Query logic to parse parameters in chart
				// queries

				JRDesignQuery query = new JRDesignQuery();
				query.setText(report.getQuery());

				// convert parameters to JRDesignParameters so they can be
				// parsed
				Map jrParameters = ORUtil.buildJRDesignParameters(parameters);
				
				pStmt =
					JRQueryExecuter.getStatement(
						query,
						jrParameters,
						parameters,
						conn);				
			}
			
			rs = pStmt.executeQuery();

			RowSetDynaClass rowSetDynaClass = new RowSetDynaClass(rs);			
			
			results = rowSetDynaClass.getRows();	
			properties = rowSetDynaClass.getDynaProperties();
			
			rs.close();
		}
		catch (Exception e)
		{
			throw new ProviderException(
				"Error executing report query: " + e.getMessage());
		}
		finally
		{
			try
			{
				if (pStmt != null)
					pStmt.close();
				if (conn != null)
					conn.close();
			}
			catch (Exception c)
			{
				log.error("Error closing");
			}
		}
	}

	protected Map getReportParameterMap(ReportUser user)
	{
		Map reportParameters = new HashMap();

		if (ActionContext
			.getContext()
			.getSession()
			.get(ORStatics.REPORT_PARAMETERS)
			!= null)
		{
			reportParameters =
				(Map) ActionContext.getContext().getSession().get(
					ORStatics.REPORT_PARAMETERS);
		}

		// add standard report parameters
		reportParameters.put(ORStatics.USER_ID, user.getId());
		reportParameters.put(ORStatics.EXTERNAL_ID, user.getExternalId());
		reportParameters.put(ORStatics.USER_NAME, user.getName());

		return reportParameters;
	}

	public void setReportLogProvider(ReportLogProvider reportLogProvider)
	{
		this.reportLogProvider = reportLogProvider;
	}

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

	public List getResults()
	{
		return results;
	}
	
	public DynaProperty[] getProperties()
	{
		return properties;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩免费观看高清完整版| 亚洲精品欧美激情| 亚洲婷婷在线视频| 首页综合国产亚洲丝袜| 国产成人av在线影院| 欧洲亚洲国产日韩| 国产调教视频一区| 美女网站一区二区| 欧美日产在线观看| 亚洲免费av网站| 国产剧情一区二区| 91精品国产日韩91久久久久久| 亚洲欧美自拍偷拍| 粉嫩嫩av羞羞动漫久久久| 日韩一二三四区| 天天色综合成人网| 在线观看国产日韩| 亚洲品质自拍视频网站| 丰满亚洲少妇av| 国产蜜臀av在线一区二区三区| 日产国产高清一区二区三区| 欧美在线看片a免费观看| 日本一区二区三区久久久久久久久不 | 国产欧美日韩激情| 激情五月婷婷综合| 欧美成人精品1314www| 午夜欧美视频在线观看| 欧美日韩黄色影视| 最新高清无码专区| 不卡av在线免费观看| 中文字幕欧美日韩一区| 福利视频网站一区二区三区| 国产日韩欧美电影| 国产宾馆实践打屁股91| 国产精品―色哟哟| 成人av网址在线观看| 国产三级精品三级| va亚洲va日韩不卡在线观看| 国产精品乱码一区二区三区软件| 成人高清视频在线| 亚洲欧美日韩在线| 欧美色手机在线观看| 首页综合国产亚洲丝袜| 日韩欧美精品三级| 国产麻豆成人精品| 欧美激情资源网| 色综合天天做天天爱| 亚洲图片欧美一区| 日韩一级二级三级精品视频| 激情欧美一区二区| 国产精品欧美一区喷水| 91蜜桃免费观看视频| 亚洲成人你懂的| 欧美变态口味重另类| 国产成人8x视频一区二区| 综合久久综合久久| 这里只有精品视频在线观看| 精品综合免费视频观看| 国产精品久久久久影院| 欧美性三三影院| 美女视频网站黄色亚洲| 中日韩av电影| 欧美日韩精品免费| 狠狠色狠狠色综合| 一区二区三区不卡在线观看 | 一区二区三区四区在线| 日韩欧美123| 成人av在线资源网站| 天堂蜜桃一区二区三区| 久久人人爽爽爽人久久久| 99精品视频免费在线观看| 日韩专区一卡二卡| 国产精品久久久久影院| 日韩亚洲欧美成人一区| av动漫一区二区| 另类小说综合欧美亚洲| 亚洲人成7777| 久久精品视频一区二区| 欧美日韩亚洲综合一区| 成人精品视频一区二区三区 | 国产精品一区二区果冻传媒| 亚洲美女在线一区| 精品福利一二区| 欧美日韩一级视频| 成人激情动漫在线观看| 奇米色777欧美一区二区| 国产精品国产自产拍高清av| 制服.丝袜.亚洲.另类.中文| 91麻豆产精品久久久久久| 精品一区二区免费| 亚洲成人免费在线观看| 亚洲欧美一区二区三区极速播放| 欧美大胆一级视频| 欧美精品丝袜中出| 91美女福利视频| 国产99精品在线观看| 久久99国产精品尤物| 天堂一区二区在线免费观看| 亚洲黄色小视频| 亚洲欧美在线aaa| 国产欧美日韩亚州综合| 久久一留热品黄| 91精品午夜视频| 欧美精品一卡两卡| 2023国产精品| 欧美二区乱c少妇| 欧美视频精品在线| 日本精品一区二区三区高清| av激情亚洲男人天堂| gogogo免费视频观看亚洲一| 成人午夜伦理影院| 国产精品系列在线播放| 国产一区二区三区视频在线播放| 久久国产精品99精品国产| 青娱乐精品视频在线| 日韩高清不卡一区二区三区| 亚洲国产精品尤物yw在线观看| 亚洲欧美电影院| 亚洲在线视频网站| 亚洲男人天堂av| 亚洲美女屁股眼交| 亚洲精品国产精华液| 亚洲欧美日韩在线不卡| 亚洲精品久久久蜜桃| 一区二区三区91| 天堂精品中文字幕在线| 全部av―极品视觉盛宴亚洲| 美女一区二区视频| 秋霞国产午夜精品免费视频| 久久草av在线| 国产suv精品一区二区三区| yourporn久久国产精品| 色视频欧美一区二区三区| 在线免费观看日韩欧美| 欧美精品1区2区| 精品成a人在线观看| 国产精品美女一区二区三区| 亚洲欧美aⅴ...| 日本亚洲三级在线| 国产成人福利片| 在线观看日产精品| 欧美成人精品福利| 成人欧美一区二区三区白人| 亚洲韩国精品一区| 黄一区二区三区| 91美女片黄在线观看| 日韩亚洲欧美高清| 亚洲视频在线一区| 日本sm残虐另类| 99久久精品一区二区| 欧美日韩在线直播| 国产欧美日韩精品一区| 亚洲自拍另类综合| 国产一区二区看久久| 91看片淫黄大片一级在线观看| 日韩理论片一区二区| 日本不卡123| 99久久er热在这里只有精品15| 欧美肥妇毛茸茸| 亚洲特级片在线| 乱中年女人伦av一区二区| www.欧美亚洲| 精品捆绑美女sm三区| 亚洲欧洲日韩一区二区三区| 美女爽到高潮91| 91美女视频网站| 久久综合国产精品| 丝袜美腿亚洲综合| 91在线精品一区二区三区| 日韩欧美资源站| 夜夜操天天操亚洲| 成人免费视频网站在线观看| 日韩欧美一级二级三级久久久| 亚洲精品免费视频| 高清不卡一区二区| www日韩大片| 日韩国产在线观看一区| 91麻豆成人久久精品二区三区| 久久久久久久电影| 日日骚欧美日韩| 欧美视频一区二区| 亚洲欧美一区二区三区久本道91 | 国产不卡免费视频| 欧美不卡一区二区三区| 午夜不卡av免费| 欧美伊人久久久久久午夜久久久久| 欧美韩国一区二区| 国产一区二区三区av电影| 91精品国产综合久久精品性色| 亚洲精品国产成人久久av盗摄| 成人性生交大片| 国产欧美综合在线| 狠狠色丁香婷综合久久| 欧美群妇大交群中文字幕| 日韩一区中文字幕| 91浏览器打开| 一区二区三区电影在线播| 91女厕偷拍女厕偷拍高清| 亚洲日本电影在线| 一本大道av伊人久久综合|