*** empty log message ***
[csql.git] / src / jdbc / JdbcSqlDriver.java
blob20c5e22970dfbedb07cbb6dbb3c91edfed374949
1 package csql.jdbc;
2 import java.util.Properties;
3 import java.util.StringTokenizer;
4 import java.sql.Driver;
5 import java.sql.DriverManager;
6 import java.sql.SQLException;
7 import java.sql.Connection;
8 import java.sql.DriverPropertyInfo;
10 public final class JdbcSqlDriver extends JSqlError implements Driver, JSqlErrorType
12 static
14 try
16 DriverManager.registerDriver(new JdbcSqlDriver());
18 catch (Exception e)
20 System.out.println ("CSql JDBC Driver: " + e);
23 public int mode;
24 public boolean acceptsURL(String url)
26 //pattern jdbc:csql:
27 String trimURL = url.toLowerCase().trim();
28 StringTokenizer tokens = new StringTokenizer(trimURL, ":", false);
29 int tokenNo =1;
30 while(tokens.hasMoreTokens())
32 String t = tokens.nextToken().trim();
33 switch(tokenNo)
35 case 1:
36 if( t.equalsIgnoreCase("jdbc") )
38 tokenNo++;
39 continue;
41 break;
42 case 2:
43 if( t.equalsIgnoreCase("csql") )
45 tokenNo++;
46 mode = 1;
47 continue;
48 }else if (t.equalsIgnoreCase("gateway") )
50 tokenNo++;
51 mode = 2;
52 continue;
54 break;
55 default:
56 tokenNo++;
57 break;
60 if(tokenNo != 3) return false;
61 return true;
63 public Connection connect(String connectString, Properties info) throws SQLException
65 String uName, pword;
67 if( info.isEmpty() )
68 throw getException(CSQL_AUTHEN_ERR);
70 if(!acceptsURL(connectString))
71 throw getException(CSQL_AUTHEN_ERR);
73 //System.loadLibrary("crypt");
74 //System.loadLibrary("csql");
75 //System.loadLibrary("csqlsql");
76 System.loadLibrary("csqljdbc");
78 uName = info.getProperty("user");
79 pword = info.getProperty("password");
80 JdbcSqlConnection con = new JdbcSqlConnection(mode, uName, pword);
81 return((Connection) con);
83 public DriverPropertyInfo[] getPropertyInfo (String connectString,
84 java.util.Properties info ) throws SQLException
86 return null;
88 public int getMajorVersion()
90 return 1;
92 public int getMinorVersion()
94 return 0;
96 public boolean jdbcCompliant()
98 return false;