summaryrefslogtreecommitdiffstats
path: root/storage/connect/ApacheInterface.java
blob: 47b46dc05066e68e62185e93f051343a36e0906c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package wrappers;

import java.sql.*;
import java.util.Hashtable;
import org.apache.commons.dbcp2.BasicDataSource;

public class ApacheInterface extends JdbcInterface {
    static Hashtable<String,BasicDataSource> pool = new Hashtable<String, BasicDataSource>(); 
    
    public ApacheInterface() {
    	this(true);
    } // end of default constructor

    public ApacheInterface(boolean b) {
    	super(b);
    } // end of constructor

    @Override
    public int JdbcConnect(String[] parms, int fsize, boolean scrollable) {
        int rc = 0;
        String url = parms[1];
        BasicDataSource ds = null;
        
	    if (DEBUG)
	    	System.out.println("Connecting to Apache data source");
	      
        try {
    	    CheckURL(url, null);
           
          	if ((ds = pool.get(url)) == null) {
            	ds = new BasicDataSource();
                ds.setDriverClassName(parms[0]);
                ds.setUrl(url);
                ds.setUsername(parms[2]);
                ds.setPassword(parms[3]);
                pool.put(url, ds);
            } // endif ds
            
          	// if (parms.length > 4 && parms[4] != null)
          	//  ds.setConnectionProperties(parms[4]);
          		
            // Get a connection from the data source
            conn = ds.getConnection();
        	    
        	// Get the data base meta data object
        	dbmd = conn.getMetaData();
        	    
    	    // Get a statement from the connection
    	    stmt = GetStmt(fsize, scrollable);
    	} catch (SQLException se) {
    		SetErrmsg(se);
    	    rc = -2; 
    	} catch (Exception e) {
    		SetErrmsg(e);
    	    rc = -3; 
    	} // end try/catch

        return rc;
    } // end of JdbcConnect    

} // end of class ApacheInterface