KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > in > co > daffodil > db > rmi > RmiDaffodilDBDataSource


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 JavaDoc;
9 import java.io.PrintWriter JavaDoc;
10 /**
11  * Last Maint. : Dec. 22, 2004 , Jan. 6,2005
12  * Work done regarding setDefaultSchema and props.
13  * @author Manoj Kr. Sheoran
14  *
15  * */

16 public class RmiDaffodilDBDataSource extends DBXADataSource implements DataSource,Referenceable, ConnectionPoolDataSource{
17
18    private String JavaDoc hostName;
19    private int portNumber;
20    private Properties props =null;
21    private String JavaDoc defaultSchema = null;
22    public RmiDaffodilDBDataSource(){
23       super();
24       portNumber = -1;
25       hostName = "localhost";
26       driver = new RmiDaffodilDBDriver();
27    }
28
29    public void setHostName(String JavaDoc hostName0){
30        hostName = hostName0;
31    }
32
33    public void setPortNumber(String JavaDoc portNumber0){
34        portNumber = Integer.parseInt(portNumber0.trim());
35    }
36
37    public String JavaDoc 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 JavaDoc 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 JavaDoc 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 JavaDoc user, String JavaDoc password) throws SQLException {
85       return getXAConnection(user,password);
86    }
87
88    public void setDefaultSchema(String JavaDoc defaultSchema){
89      this.defaultSchema=defaultSchema;
90    }
91
92    public String JavaDoc getDefaultSchema(){
93      return defaultSchema;
94    }
95 }
96
Popular Tags