1 package in.co.daffodil.db.rmi; 2 3 import java.sql.*; 4 import java.util.*; 5 import javax.naming.*; 6 import javax.sql.*; 7 import in.co.daffodil.db.jdbc.*; 8 import java.io.PrintStream ; 9 import java.io.PrintWriter ; 10 16 public class RmiDaffodilDBDataSource extends DBXADataSource implements DataSource,Referenceable, ConnectionPoolDataSource{ 17 18 private String hostName; 19 private int portNumber; 20 private Properties props =null; 21 private String defaultSchema = null; 22 public RmiDaffodilDBDataSource(){ 23 super(); 24 portNumber = -1; 25 hostName = "localhost"; 26 driver = new RmiDaffodilDBDriver(); 27 } 28 29 public void setHostName(String hostName0){ 30 hostName = hostName0; 31 } 32 33 public void setPortNumber(String portNumber0){ 34 portNumber = Integer.parseInt(portNumber0.trim()); 35 } 36 37 public String getHostName(){ 38 return hostName; 39 } 40 41 public int getPortNumber(){ 42 return portNumber; 43 } 44 45 public void setDatabaseHome(){ 46 } 47 48 public Reference getReference() throws NamingException{ 49 String factoryName = "in.co.daffodil.db.rmi.DataSourceFactory"; 50 Reference reference = new Reference(getClass().getName(), factoryName, null); 51 reference.add(new StringRefAddr("user",user)); 52 reference.add(new StringRefAddr("password",password)); 53 reference.add(new StringRefAddr("databaseName",databaseName)); 54 reference.add(new StringRefAddr("createDatabase",createDatabase ? "true":"false")); 55 reference.add(new StringRefAddr("hostName",hostName)); 56 reference.add(new StringRefAddr("portNumber",""+portNumber)); 57 return reference; 58 } 59 60 public Properties getConnectionProperties() throws SQLException{ 61 if(props == null){ 62 props = new Properties(); 63 props.put("user", user); 64 props.put("password", password); 65 props.put("hostName", hostName); 66 props.put("portNumber", "" + portNumber); 67 if (defaultSchema != null) 68 props.put("schema", defaultSchema); 69 props.put(DaffodilDBDriver.DATABASE_NAME_PROPERTY, databaseName); 70 props.put(DaffodilDBDriver.DATABASE_CREATE_PROPERTY, 71 createDatabase ? "true" : "false"); 72 String temp = "//"; 73 temp += (hostName == null ? "localhost" : hostName); 74 temp += ":"; 75 temp += (portNumber == -1 ? "3456" : ("" + portNumber)); 76 props.put("rmiStr", temp); 77 } 78 return props; 79 } 80 public PooledConnection getPooledConnection() throws SQLException { 81 return getXAConnection(); 82 } 83 84 public PooledConnection getPooledConnection(String user, String password) throws SQLException { 85 return getXAConnection(user,password); 86 } 87 88 public void setDefaultSchema(String defaultSchema){ 89 this.defaultSchema=defaultSchema; 90 } 91 92 public String getDefaultSchema(){ 93 return defaultSchema; 94 } 95 } 96 | Popular Tags |