| 0 | 1 package global; | 
|  | 2 | 
|  | 3 import java.sql.Connection; | 
|  | 4 import java.sql.DriverManager; | 
|  | 5 import java.sql.SQLException; | 
|  | 6 import java.util.Collection; | 
|  | 7 import java.util.LinkedHashMap; | 
|  | 8 import java.util.Map; | 
|  | 9 import java.util.Properties; | 
|  | 10 | 
|  | 11 | 
|  | 12 public final class Server { | 
|  | 13 | 
|  | 14 	private static final Map<String,Server> map = new LinkedHashMap<String,Server>(); | 
|  | 15 | 
|  | 16 	// call from beanshell | 
|  | 17 	public static void add(String name,String dbUrl,String dbUser,String dbPassword,String host) throws ClassNotFoundException { | 
|  | 18 		map.put( name, new Server(name,dbUrl,dbUser,dbPassword,host) ); | 
|  | 19 	} | 
|  | 20 | 
|  | 21 	static Collection<Server> getServers() { | 
|  | 22 		return map.values(); | 
|  | 23 	} | 
|  | 24 | 
|  | 25 	public static Server getServer(String name) { | 
|  | 26 		return map.get(name); | 
|  | 27 	} | 
|  | 28 | 
|  | 29 	public final String name; | 
|  | 30 	private final String dbUrl; | 
|  | 31 	private final Properties dbProperties = new Properties(); | 
|  | 32 	public final String host; | 
|  | 33 | 
|  | 34 	private Server(String name,String dbUrl,String dbUser,String dbPassword,String host) | 
|  | 35 		throws ClassNotFoundException | 
|  | 36 	{ | 
|  | 37 		this.name = name; | 
|  | 38 		Class.forName("org.postgresql.Driver"); | 
|  | 39 		this.dbUrl = dbUrl; | 
|  | 40 		dbProperties.setProperty("user",dbUser); | 
|  | 41 		dbProperties.setProperty("password",dbPassword); | 
|  | 42 		this.host = host; | 
|  | 43 	} | 
|  | 44 | 
|  | 45 	Connection getConnection() | 
|  | 46 		throws SQLException | 
|  | 47 	{ | 
|  | 48 		return DriverManager.getConnection(dbUrl,dbProperties); | 
|  | 49 	} | 
|  | 50 | 
|  | 51 } |