亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
精久久久久久久久久久| 99久久精品免费看国产| 日韩美女精品在线| 欧美一级精品大片| 一本色道久久综合狠狠躁的推荐| 卡一卡二国产精品 | 亚洲444eee在线观看| 中文字幕精品在线不卡| 日韩欧美卡一卡二| 欧美影院一区二区三区| av一区二区三区在线| 国产乱人伦偷精品视频不卡| 日产欧产美韩系列久久99| 亚洲黄色小视频| 国产精品入口麻豆原神| 亚洲精品一区二区三区香蕉| 在线不卡一区二区| 在线观看视频欧美| 色先锋aa成人| 9久草视频在线视频精品| 国产成人丝袜美腿| 国内成+人亚洲+欧美+综合在线| 午夜精品免费在线观看| 亚洲精品成人悠悠色影视| 国产精品久久久久aaaa| 国产日韩av一区| 国产日韩av一区| 久久久久久久久久久久电影 | 久久精品国产一区二区三区免费看| 亚洲伊人色欲综合网| 国产精品久久久久久一区二区三区| 精品国产91亚洲一区二区三区婷婷| 欧美一区二区视频在线观看2022| 91福利视频网站| 91国产视频在线观看| 91浏览器入口在线观看| 91视视频在线直接观看在线看网页在线看| 成人午夜av电影| 成人一区二区三区视频在线观看| 成人激情图片网| 成人免费电影视频| av中文字幕在线不卡| av在线一区二区三区| 99亚偷拍自图区亚洲| 91麻豆6部合集magnet| 欧美在线一二三四区| 欧美日韩国产小视频在线观看| 欧美三级韩国三级日本三斤| 欧美日本乱大交xxxxx| 欧美一区二区网站| 久久久影院官网| 中文字幕av一区二区三区高| 国产精品国产a级| 亚洲香蕉伊在人在线观| 五月婷婷激情综合| 蜜桃av一区二区在线观看| 国产精品99久久久久久宅男| 成人理论电影网| 色吧成人激情小说| 欧美一区二区在线免费观看| 久久精品一区蜜桃臀影院| 成人免费一区二区三区视频| 亚洲高清一区二区三区| 久久精品国产99| 成人黄色小视频| 欧美理论片在线| 国产亚洲一区二区在线观看| 亚洲乱码国产乱码精品精98午夜| 日韩黄色在线观看| 国产老妇另类xxxxx| 99久久精品久久久久久清纯| 欧美肥大bbwbbw高潮| 久久久久久久久久久电影| 一级中文字幕一区二区| 奇米一区二区三区av| av高清不卡在线| 91麻豆精品国产综合久久久久久| 久久亚洲精华国产精华液 | 欧美极品少妇xxxxⅹ高跟鞋| 亚洲免费观看视频| 久久99在线观看| 一本大道av一区二区在线播放| 欧美一区二区三区四区久久| 国产精品欧美极品| 日韩二区在线观看| 国产成人在线视频网址| 欧美美女视频在线观看| 中文在线免费一区三区高中清不卡| 亚洲不卡av一区二区三区| 国产精品影音先锋| 欧美日本在线观看| 国产精品九色蝌蚪自拍| 久久www免费人成看片高清| 日本黄色一区二区| 欧美激情一区二区三区在线| 亚洲成人免费影院| 99久久伊人精品| 久久亚洲春色中文字幕久久久| 一个色妞综合视频在线观看| 国产精品1024| 91精品国产免费| 一区二区三区日韩精品| 国产成人在线网站| 精品国产一区二区精华| 亚洲高清久久久| 一本一道久久a久久精品综合蜜臀| 精品国产乱码久久久久久久久| 亚洲香肠在线观看| 99re在线精品| 欧美国产一区在线| 国产裸体歌舞团一区二区| 欧美一区二区三区啪啪| 午夜视频一区二区| 欧美最猛性xxxxx直播| 国产精品情趣视频| 国产自产视频一区二区三区| 日韩一区二区在线观看视频| 天天影视涩香欲综合网| 日本精品视频一区二区三区| 中文字幕在线不卡| 国产盗摄视频一区二区三区| 欧美不卡一区二区三区四区| 五月天激情综合网| 欧美日韩视频在线观看一区二区三区 | 国产麻豆一精品一av一免费| 日韩一本二本av| 日本最新不卡在线| 欧美精品123区| 五月天久久比比资源色| 欧美剧情电影在线观看完整版免费励志电影 | 亚洲精品一区二区三区福利| 制服视频三区第一页精品| 国产精品996| 成人午夜在线播放| 91九色最新地址| 欧美日韩电影在线| 精品国产1区2区3区| 亚洲欧洲精品天堂一级| 成人av资源在线观看| 欧美激情自拍偷拍| eeuss鲁片一区二区三区在线看| 欧美国产精品中文字幕| www.性欧美| 亚洲综合视频在线观看| 欧美日韩国产一区| 男女男精品网站| 日韩三级精品电影久久久 | 欧美大片免费久久精品三p| 麻豆国产一区二区| 国产三级三级三级精品8ⅰ区| 成人美女视频在线观看18| 亚洲人成影院在线观看| 欧美视频在线观看一区二区| 日韩不卡一区二区| 国产午夜精品在线观看| 97久久久精品综合88久久| 午夜亚洲福利老司机| 精品久久久久久久久久久久包黑料| 韩国女主播一区| 亚洲欧洲日韩在线| 欧美色涩在线第一页| 美女视频一区在线观看| 国产日韩精品一区| 在线免费一区三区| 久久99在线观看| 18欧美亚洲精品| 在线成人高清不卡| 国产白丝精品91爽爽久久| 亚洲精品视频在线观看免费| 91麻豆精品国产91久久久| 国产伦精品一区二区三区免费迷| 成人欧美一区二区三区黑人麻豆| 欧美亚洲综合色| 国产精品一卡二| 亚洲电影你懂得| 久久网站最新地址| 色狠狠一区二区三区香蕉| 老司机免费视频一区二区三区| 国产精品卡一卡二卡三| 91精品国产综合久久香蕉麻豆| 成人小视频免费在线观看| 婷婷成人激情在线网| 欧美国产成人精品| 日韩一区二区在线观看视频| av一本久道久久综合久久鬼色| 天天综合日日夜夜精品| 中文字幕 久热精品 视频在线 | 欧美日韩美少妇| 99国产精品久| 精品在线播放免费| 亚洲自拍偷拍av| 日本一区二区不卡视频| 在线成人小视频| 91农村精品一区二区在线| 国内精品视频666| 日本91福利区| 一区二区三区欧美| 国产精品视频看| 精品入口麻豆88视频| 7777精品伊人久久久大香线蕉的 |