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

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

?? filestorage.java

?? jfreechart標簽庫
?? JAVA
字號:
/* ================================================================
 * Cewolf : Chart enabling Web Objects Framework
 * ================================================================
 *
 * Project Info:  http://cewolf.sourceforge.net
 * Project Lead:  Guido Laures (guido@laures.de);
 *
 * (C) Copyright 2002, by Guido Laures
 *
 * This library is free software; you can redistribute it and/or modify it under the terms
 * of the GNU Lesser General Public License as published by the Free Software Foundation;
 * either version 2.1 of the License, or (at your option) any later version.
 *
 * This library 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 Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License along with this
 * library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
 * Boston, MA 02111-1307, USA.
 */

package de.laures.cewolf.storage;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;

import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.PageContext;

import de.laures.cewolf.CewolfException;
import de.laures.cewolf.ChartImage;
import de.laures.cewolf.Configuration;
import de.laures.cewolf.Storage;
import de.laures.cewolf.taglib.util.KeyGenerator;

/**
 * Storage for storing images as files in the web application directory as files _chart-XXXXX.
 * Note that by default the files won't ever be removed. To remove saved images on VM exit set
 * the <code>FileStorage.deleteOnExit</code> configuration parameter to "true". For example:
 * 
 * <pre>
 *		<init-param>
 *			<param-name>storage</param-name>
 *			<param-value>de.laures.cewolf.storage.FileStorage</param-value>
 *		</init-param>
 *		<init-param>
 *				<param-name>FileStorage.deleteOnExit</param-name>
 *				<param-value>true</param-value>
 *		</init-param> 
 *	</pre> 
 * 
 * @author guido
 */
public class FileStorage implements Storage {
	
	String basePath = null;
	List stored = new ArrayList();
	private boolean deleteOnExit = false;

	/**
	 * @see de.laures.cewolf.Storage#storeChartImage(ChartImage, PageContext)
	 */
	public String storeChartImage(ChartImage cid, PageContext pageContext) {
		if(contains(cid, pageContext)){
			return getKey(cid);
		}
		String id = getKey(cid);
		ObjectOutputStream oos = null;
		try {
			String fileName = getFileName(id);
			pageContext.getServletContext().log("Storing image to file " + fileName);
			File f = new File(fileName);
			if (deleteOnExit) {
				f.deleteOnExit();			
			}
			oos = new ObjectOutputStream(new FileOutputStream(f));
			oos.writeObject(new SerializableChartImage(cid));
			oos.close();
		} catch(IOException ioex){
			ioex.printStackTrace();
		} catch(CewolfException cwex){
			cwex.printStackTrace();
		} finally {
			if(oos != null){
				try {
					oos.close();
				} catch(IOException ioex){
					ioex.printStackTrace();
				}
			}
		}
		return id;		
	}

	/**
	 * @see de.laures.cewolf.Storage#getChartImage(String, HttpServletRequest)
	 */
	public ChartImage getChartImage(String id, HttpServletRequest request) {
		ChartImage res = null;
		ObjectInputStream ois = null;
		try {
			ois = new ObjectInputStream(new FileInputStream(getFileName(id)));
			res = (ChartImage)ois.readObject();
			ois.close();
		} catch(Exception ex){
			ex.printStackTrace();
		} finally {
			if(ois != null){
				try {
					ois.close();
				} catch(IOException ioex){
					ioex.printStackTrace();
				}
			}
		}
		return res;
	}

	/**
	 * @see de.laures.cewolf.Storage#contains(ChartImage, PageContext)
	 */
	public boolean contains(ChartImage chartImage, PageContext pageContext) {
		return new File(getFileName(chartImage)).exists();
	}

	/**
	 * @see de.laures.cewolf.Storage#getKey(ChartImage)
	 */
	public String getKey(ChartImage chartImage) {
		return String.valueOf(KeyGenerator.generateKey((Serializable)chartImage));
	}

	/**
	 * @see de.laures.cewolf.Storage#init(ServletContext)
	 */
	public void init(ServletContext servletContext) throws CewolfException {
		basePath = servletContext.getRealPath("/");
		Configuration config = Configuration.getInstance(servletContext);
		deleteOnExit = "true".equalsIgnoreCase("" + config.getParameters().get("FileStorage.deleteOnExit"));
		servletContext.log("FileStorage initialized, deleteOnExit=" + deleteOnExit);
	}
	
	private String getFileName(ChartImage chartImage){
		return getFileName(getKey(chartImage));
	}

	private String getFileName(String id){
		return basePath + "_chart" + id;
	}

	/**
	 * @see de.laures.cewolf.Storage#removeChartImage(java.lang.String, javax.servlet.jsp.PageContext)
	 */
	public String removeChartImage(String imgKey, HttpServletRequest pageContext) throws CewolfException {
		File file = new File(getFileName(imgKey));
		if (file.exists())
		{
			if (!file.delete())
			{
				throw new CewolfException("Could not delete file " + file.getAbsolutePath());
			}
		}
		return imgKey;
	}

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
av成人老司机| 日韩欧美国产午夜精品| 久久综合给合久久狠狠狠97色69| 天天色天天操综合| 欧美肥大bbwbbw高潮| 日本v片在线高清不卡在线观看| 日韩欧美在线1卡| 麻豆一区二区99久久久久| 欧美精品一区在线观看| 国产精品污污网站在线观看| 精品一二线国产| 中文字幕+乱码+中文字幕一区| 成人精品一区二区三区四区| 亚洲激情自拍偷拍| 欧美日韩国产高清一区| 免费一区二区视频| 国产欧美日韩在线视频| 91麻豆视频网站| 日本伊人色综合网| 国产日韩av一区| 欧洲激情一区二区| 男人操女人的视频在线观看欧美| 亚洲精品在线电影| 色综合久久天天综合网| 视频一区欧美日韩| 国产精品免费久久| 717成人午夜免费福利电影| 久久疯狂做爰流白浆xx| 亚洲丝袜精品丝袜在线| 欧美日韩高清一区| 国产成人精品亚洲午夜麻豆| 亚洲精品乱码久久久久久| 91精品国产综合久久福利软件| 国产一区二区三区香蕉| 亚洲综合丁香婷婷六月香| 欧美成人福利视频| 91麻豆6部合集magnet| 另类欧美日韩国产在线| 亚洲欧美另类综合偷拍| 日韩精品中文字幕在线不卡尤物| 成人av免费在线观看| 日本成人在线网站| 91精品国产综合久久精品麻豆 | 国产亚洲精品免费| 91国产免费看| 成人一区二区三区在线观看| 天天射综合影视| 亚洲专区一二三| 国产精品视频你懂的| 日韩欧美一区二区免费| 在线中文字幕不卡| 成+人+亚洲+综合天堂| 免费成人结看片| 午夜伦理一区二区| 亚洲欧美视频在线观看| 国产区在线观看成人精品| 日韩久久免费av| 555www色欧美视频| 欧美在线视频你懂得| 99精品视频中文字幕| 国产精品99久久久久久似苏梦涵 | 成人精品视频一区二区三区| 精品一区二区三区欧美| 婷婷综合另类小说色区| 一区二区三区精品在线| 成人免费在线视频| 国产精品区一区二区三区| 26uuu亚洲婷婷狠狠天堂| 欧美一级生活片| 欧美一区二区三区喷汁尤物| 欧美日韩一区二区三区不卡| 日本高清无吗v一区| 99久久综合色| 99综合影院在线| 99在线热播精品免费| 成人精品国产免费网站| 懂色av噜噜一区二区三区av| 国产黑丝在线一区二区三区| 国产精品一二三| 高清国产午夜精品久久久久久| 国产一区视频在线看| 国产精品资源站在线| 国产一区二区免费视频| 国产高清久久久久| 成人免费毛片app| 不卡av在线免费观看| 成人18视频在线播放| 91免费精品国自产拍在线不卡 | 欧美亚洲国产一区二区三区| 在线视频综合导航| 欧美日韩一区精品| 在线播放视频一区| 精品久久国产字幕高潮| 国产视频一区不卡| 中文字幕在线一区免费| 中文字幕亚洲在| 亚洲国产综合色| 日本中文一区二区三区| 国产综合色在线视频区| av电影天堂一区二区在线| 一本到一区二区三区| 欧美高清dvd| 精品99一区二区| 国产精品三级在线观看| 亚洲黄网站在线观看| 日韩高清一级片| 国产精华液一区二区三区| 91一区一区三区| 6080yy午夜一二三区久久| 久久蜜桃一区二区| 亚洲日本一区二区三区| 日韩电影在线一区二区| 国产精品香蕉一区二区三区| 一本久久综合亚洲鲁鲁五月天 | 日本精品视频一区二区三区| 91精品在线一区二区| 国产无一区二区| 一区二区三区国产精品| 精品在线亚洲视频| 91亚洲精品久久久蜜桃网站| 91精品国产高清一区二区三区| 国产欧美精品国产国产专区| 亚洲精品国产无天堂网2021| 韩国中文字幕2020精品| 一本大道av伊人久久综合| 欧美v日韩v国产v| 综合久久久久久久| 国产呦精品一区二区三区网站| 欧美在线free| 国产亚洲欧美在线| 日韩国产在线一| 色综合欧美在线视频区| 欧美tk—视频vk| 亚洲国产视频在线| 成人av在线观| 欧美大度的电影原声| 一区二区三区在线免费播放| 国产精品66部| 精品久久久久久久久久久久久久久久久 | 琪琪久久久久日韩精品| 成人黄色免费短视频| 欧美精品一区二区蜜臀亚洲| 亚洲精品成人a在线观看| 国产成人精品影视| 精品国产乱码久久久久久老虎| 亚洲精品你懂的| 本田岬高潮一区二区三区| 精品国产百合女同互慰| 日本大胆欧美人术艺术动态 | 色综合欧美在线视频区| 国产精品视频免费| 国产91精品久久久久久久网曝门| 欧美一级高清片| 日韩在线观看一区二区| 欧美性生交片4| 亚洲美女一区二区三区| 不卡区在线中文字幕| 国产视频一区在线观看| 国产很黄免费观看久久| 国产亚洲欧美在线| 国产精品99久久久久久宅男| 国产亚洲自拍一区| 国产综合成人久久大片91| 精品久久人人做人人爱| 九九热在线视频观看这里只有精品| 51精品国自产在线| 日韩精品乱码免费| 日韩一级二级三级精品视频| 日韩精品久久久久久| 欧美一区二区免费| 久久99在线观看| 精品蜜桃在线看| 国产精品一区二区你懂的| 欧美成人午夜电影| 国产精品资源网| 日本一区二区三区在线观看| 成人av影院在线| 伊人一区二区三区| 欧美日韩亚洲综合在线 欧美亚洲特黄一级 | 精品国产三级a在线观看| 精品综合久久久久久8888| www久久精品| 成人视屏免费看| 成人免费一区二区三区视频| 91蜜桃网址入口| 亚洲.国产.中文慕字在线| 欧美电影在线免费观看| 日韩成人精品在线| 久久久蜜桃精品| 色成人在线视频| 日韩电影在线一区二区| 久久久久久久免费视频了| 国产精品亚洲专一区二区三区| 国产精品国产三级国产aⅴ中文| 色婷婷综合五月| 美国欧美日韩国产在线播放| 久久久久久久久久久久久女国产乱| 成人黄色国产精品网站大全在线免费观看| 亚洲欧美成人一区二区三区| 欧美精品123区|