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

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

?? basicmultipropertiesconfig.java

?? c3p0數據庫連接池實現源碼
?? JAVA
字號:
/* * Distributed as part of c3p0 v.0.9.1-pre6 * * Copyright (C) 2005 Machinery For Change, Inc. * * Author: Steve Waldman <swaldman@mchange.com> * * This library is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 2.1, as  * published by the Free Software Foundation. * * This software 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 software; see the file LICENSE.  If not, write to the * Free Software Foundation, Inc., 59 Temple Place, Suite 330, * Boston, MA 02111-1307, USA. */package com.mchange.v2.cfg;import java.util.*;import java.io.*;import com.mchange.v2.log.*;public class BasicMultiPropertiesConfig extends MultiPropertiesConfig{    String[] rps;    Map  propsByResourcePaths = new HashMap();    Map  propsByPrefixes;    Properties propsByKey;    public BasicMultiPropertiesConfig(String[] resourcePaths)    { this( resourcePaths, null ); }    public BasicMultiPropertiesConfig(String[] resourcePaths, MLogger logger)    {	List goodPaths = new ArrayList();	for( int i = 0, len = resourcePaths.length; i < len; ++i )	    {		String rp = resourcePaths[i];		if ("/".equals(rp))		    {			try			    {				propsByResourcePaths.put( rp, System.getProperties() );				goodPaths.add( rp );			    }			catch (SecurityException e)			    {				if (logger != null)				    {					if ( logger.isLoggable( MLevel.WARNING ) )					    logger.log( MLevel.WARNING, 							"Read of system Properties blocked -- " +							"ignoring any configuration via System properties, and using Empty Properties! " +							"(But any configuration via a resource properties files is still okay!)",							e );				    }				else				    {					System.err.println("Read of system Properties blocked -- " +							   "ignoring any configuration via System properties, and using Empty Properties! " +							   "(But any configuration via a resource properties files is still okay!)");					e.printStackTrace(); 				    }			    }		    }		else		    {			Properties p = new Properties();			InputStream pis = MultiPropertiesConfig.class.getResourceAsStream( rp );			if ( pis != null )			    {				try				    {					p.load( pis );					propsByResourcePaths.put( rp, p );					goodPaths.add( rp );				    }				catch (IOException e)				    {					if (logger != null)					    {						if ( logger.isLoggable( MLevel.WARNING ) )						    logger.log( MLevel.WARNING, 								"An IOException occurred while loading configuration properties from resource path '" + rp + "'.",								e );					    }					else					    e.printStackTrace(); 				    }				finally				    {					try { if ( pis != null ) pis.close(); }					catch (IOException e) 					    { 						if (logger != null)						    {							if ( logger.isLoggable( MLevel.WARNING ) )							    logger.log( MLevel.WARNING, 									"An IOException occurred while closing InputStream from resource path '" + rp + "'.",									e );						    }						else						    e.printStackTrace(); 					    }				    }			    }			else			    {				if (logger != null)				    {					if ( logger.isLoggable( MLevel.FINE ) )					    logger.fine( "Configuration properties not found at ResourcePath '" + rp + "'. [logger name: " + logger.getName() + ']' );				    }// 			else if (Debug.DEBUG && Debug.TRACE == Debug.TRACE_MAX)// 			    System.err.println("Configuration properties not found at ResourcePath '" + rp + "'." );			    }		    }	    }		this.rps = (String[]) goodPaths.toArray( new String[ goodPaths.size() ] );	this.propsByPrefixes = Collections.unmodifiableMap( extractPrefixMapFromRsrcPathMap(rps, propsByResourcePaths) );	this.propsByResourcePaths = Collections.unmodifiableMap( propsByResourcePaths );	this.propsByKey = extractPropsByKey(rps, propsByResourcePaths);    }    private static String extractPrefix( String s )    {	int lastdot = s.lastIndexOf('.');	if ( lastdot < 0 )	    return null;	else	    return s.substring(0, lastdot);    }    private static Properties findProps(String rp, Map pbrp)    {	//System.err.println("findProps( " + rp + ", ... )");	Properties p;		// MOVED THIS LOGIC INTO CONSTRUCTOR ABOVE, TO TREAT SYSTEM PROPS UNIFORMLY	// WITH THE REST, AND TO AVOID UNINTENTIONAL ATTEMPTS TO READ RESOURCE "/"	// AS STREAM -- swaldman, 2006-01-19	// 	if ( "/".equals( rp ) )// 	    {// 		try { p = System.getProperties(); }// 		catch ( SecurityException e )// 		    {// 			System.err.println(BasicMultiPropertiesConfig.class.getName() +// 					   " Read of system Properties blocked -- ignoring any configuration via System properties, and using Empty Properties! " +// 					   "(But any configuration via a resource properties files is still okay!)"); // 			p = new Properties(); // 		    }// 	    }// 	else	p = (Properties) pbrp.get( rp );	// 	System.err.println( p );	return p;    }    private static Properties extractPropsByKey( String[] resourcePaths, Map pbrp )    {	Properties out = new Properties();	for (int i = 0, len = resourcePaths.length; i < len; ++i)	    {		String rp = resourcePaths[i];		Properties p = findProps( rp, pbrp );		if (p == null)		    {			System.err.println("Could not find loaded properties for resource path: " + rp);			continue;		    }		for (Iterator ii = p.keySet().iterator(); ii.hasNext(); )		    {			Object kObj = ii.next();			if (!(kObj instanceof String))			    {				// note that we can not use the MLog library here, because initialization				// of that library depends on this function.				System.err.println( BasicMultiPropertiesConfig.class.getName() + ": " +						    "Properties object found at resource path " +						    ("/".equals(rp) ? "[system properties]" : "'" + rp + "'") +						    "' contains a key that is not a String: " +						    kObj);				System.err.println("Skipping...");				continue;			    }			Object vObj = p.get( kObj );			if (vObj != null && !(vObj instanceof String))			    {				// note that we can not use the MLog library here, because initialization				// of that library depends on this function.				System.err.println( BasicMultiPropertiesConfig.class.getName() + ": " +						    "Properties object found at resource path " +						    ("/".equals(rp) ? "[system properties]" : "'" + rp + "'") +						    " contains a value that is not a String: " +						    vObj);				System.err.println("Skipping...");				continue;			    }			String key = (String) kObj;			String val = (String) vObj;			out.put( key, val );		    }	    }	return out;    }    private static Map extractPrefixMapFromRsrcPathMap(String[] resourcePaths, Map pbrp)    {	Map out = new HashMap();	//for( Iterator ii = pbrp.values().iterator(); ii.hasNext(); )	for (int i = 0, len = resourcePaths.length; i < len; ++i)	    {		String rp = resourcePaths[i];		Properties p = findProps( rp, pbrp );		if (p == null)		    {			System.err.println(BasicMultiPropertiesConfig.class.getName() + " -- Could not find loaded properties for resource path: " + rp);			continue;		    }		for (Iterator jj = p.keySet().iterator(); jj.hasNext(); )		    {			Object kObj = jj.next();			if (! (kObj instanceof String))			    {				// note that we can not use the MLog library here, because initialization				// of that library depends on this function.				System.err.println( BasicMultiPropertiesConfig.class.getName() + ": " +						    "Properties object found at resource path " +						    ("/".equals(rp) ? "[system properties]" : "'" + rp + "'") +						    "' contains a key that is not a String: " +						    kObj);				System.err.println("Skipping...");				continue;			    }			String key = (String) kObj;			String prefix = extractPrefix( key );			while (prefix != null)			    {				Properties byPfx = (Properties) out.get( prefix );				if (byPfx == null)				    {					byPfx = new Properties();					out.put( prefix, byPfx );				    }				byPfx.put( key, p.get( key ) );				prefix=extractPrefix( prefix );			    }		    }	    }	return out;    }    public String[] getPropertiesResourcePaths()    { return (String[]) rps.clone(); }    public Properties getPropertiesByResourcePath(String path)    { 	Properties out = ((Properties) propsByResourcePaths.get( path )); 	return (out == null ? new Properties() : out);    }    public Properties getPropertiesByPrefix(String pfx)    {	Properties out = ((Properties) propsByPrefixes.get( pfx ));	return (out == null ? new Properties() : out);    }    public String getProperty( String key )    { return propsByKey.getProperty( key ); }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美aa在线视频| 成人h版在线观看| 国产在线国偷精品免费看| 成人av网站免费| 欧美精品vⅰdeose4hd| 中文字幕 久热精品 视频在线| 亚洲一区二区三区四区五区中文| 精品一区二区三区在线播放 | 精品999久久久| 尤物av一区二区| 国产成人av网站| 91精品国产入口| 亚洲黄色小视频| 大白屁股一区二区视频| 精品99一区二区| 日韩国产高清在线| 色老头久久综合| 亚洲国产精品av| 精品在线免费观看| 在线播放/欧美激情| 亚洲精品成人天堂一二三| 国产成人小视频| 久久久综合视频| 美女被吸乳得到大胸91| 欧美视频中文字幕| 亚洲欧美日韩小说| 972aa.com艺术欧美| 久久精品一区二区三区不卡| 麻豆中文一区二区| 欧美日韩国产免费| 亚洲最新视频在线播放| 99久久精品情趣| 国产精品亲子伦对白| 国产久卡久卡久卡久卡视频精品| 欧美这里有精品| 一区二区三区四区视频精品免费 | 欧美中文字幕不卡| 亚洲精品中文在线| 9久草视频在线视频精品| 欧美www视频| 蜜桃视频在线一区| 精品欧美乱码久久久久久1区2区| 免费在线视频一区| 91精品国产一区二区三区| 三级久久三级久久| 制服丝袜亚洲精品中文字幕| 午夜精品久久久久久| 7777精品伊人久久久大香线蕉的 | 夜夜嗨av一区二区三区网页| 91小视频在线免费看| 亚洲乱码日产精品bd| 色婷婷综合久色| 亚洲v日本v欧美v久久精品| 51久久夜色精品国产麻豆| 免费日韩伦理电影| 26uuu欧美| 成人免费黄色大片| 亚洲精品日韩一| 欧美精品色综合| 久久99久国产精品黄毛片色诱| 精品国产一区二区三区av性色| 国产自产视频一区二区三区| 国产女人aaa级久久久级| 日本久久一区二区| 日产精品久久久久久久性色| 久久嫩草精品久久久精品一| 成人禁用看黄a在线| 亚洲电影你懂得| www亚洲一区| 91免费观看视频| 日本va欧美va欧美va精品| 久久夜色精品国产噜噜av| 99国产精品99久久久久久| 天天综合色天天| 日本一区二区在线不卡| 在线观看日韩毛片| 精品一区中文字幕| 亚洲女子a中天字幕| 欧美一级在线免费| 99在线精品观看| 日本美女一区二区三区| 国产精品美女视频| 日韩精品综合一本久道在线视频| 91视视频在线直接观看在线看网页在线看| 亚洲午夜一区二区三区| 久久精品这里都是精品| 欧美三级欧美一级| 国产寡妇亲子伦一区二区| 亚洲电影一区二区| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 久久66热re国产| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 91在线视频官网| 精品一区二区三区在线观看国产 | 日韩电影在线观看电影| 国产精品欧美经典| 欧美成人a视频| 欧美日本韩国一区| 在线国产亚洲欧美| 风流少妇一区二区| 久久国产精品免费| 亚洲成人av一区| 亚洲美女少妇撒尿| 国产精品亲子乱子伦xxxx裸| 精品久久国产字幕高潮| 欧美天堂亚洲电影院在线播放| 成人av网站在线观看| 国产成人免费视频网站| 老色鬼精品视频在线观看播放| 香蕉av福利精品导航 | 久久精品一二三| 日韩午夜激情视频| 欧美日韩亚洲国产综合| 在线观看三级视频欧美| 91黄色激情网站| 色婷婷精品久久二区二区蜜臀av| caoporen国产精品视频| 成人综合日日夜夜| 成人中文字幕在线| 国产xxx精品视频大全| 国产成人精品免费网站| 国产风韵犹存在线视精品| 精品中文字幕一区二区| 久久99精品久久久久久| 久久99久久久久| 国产一级精品在线| 高清国产一区二区三区| 国产成人亚洲精品青草天美| 粉嫩av一区二区三区在线播放| 国产精一区二区三区| 国产成人精品1024| 成人激情黄色小说| 91啦中文在线观看| 欧美在线免费观看视频| 欧美老年两性高潮| 欧美一级片在线观看| 26uuu久久综合| 国产精品丝袜久久久久久app| 欧美国产1区2区| 日韩理论片一区二区| 亚洲国产美国国产综合一区二区| 亚洲成a人片在线不卡一二三区 | 国产精品一卡二| 9久草视频在线视频精品| 欧美在线色视频| 精品福利在线导航| 国产日本亚洲高清| 一区二区三区四区视频精品免费 | 精品亚洲成a人| 成人午夜又粗又硬又大| 欧洲一区二区三区在线| 欧美肥妇毛茸茸| 久久久久久久电影| 亚洲视频一区二区在线观看| 亚洲成av人片一区二区梦乃| 麻豆成人综合网| www.亚洲精品| 欧美精品在线视频| 国产亚洲欧美日韩日本| 一区二区三区.www| 激情文学综合丁香| 91麻豆高清视频| 日韩精品影音先锋| 一区二区三区国产精华| 久久99精品国产91久久来源| 91蜜桃在线观看| 日韩视频免费观看高清在线视频| 最新高清无码专区| 久久不见久久见中文字幕免费| 99久久综合国产精品| 精品粉嫩超白一线天av| 亚洲老司机在线| 国产在线一区观看| 欧美日韩国产大片| 中文字幕一区二区三区在线观看 | 日韩午夜精品电影| 亚洲老司机在线| 国产精品99久久久久| 91精品国产麻豆国产自产在线| 成人免费在线观看入口| 国产一区二区0| 日韩欧美成人一区二区| 亚洲午夜久久久久久久久电影院| 不卡大黄网站免费看| www国产成人免费观看视频 深夜成人网| 一区二区三区中文在线| 99在线热播精品免费| 中文字幕 久热精品 视频在线| 久久精品国内一区二区三区| 欧美亚洲免费在线一区| 亚洲乱码国产乱码精品精小说 | 久久精品夜色噜噜亚洲aⅴ| 日韩中文字幕一区二区三区| 色综合久久综合网| 国产精品理伦片| 国产精品中文有码| 337p日本欧洲亚洲大胆精品| 日韩成人精品视频| 欧美日本在线看| 亚洲成人在线免费|