jetbrick-orm/src/main/java/jetbrick/dao/jdbclog/JdbcLogDriver.java
private String getDriverClassName(String url) {
        String driverClassName = null;
        if (url.startsWith(CONNECTION_URL_SUFFIX)) {
            url = url.substring(CONNECTION_URL_SUFFIX.length());
            driverClassName = url.substring(0, url.indexOf(":"));
            if (driverClassName.length() > 0) {
                return driverClassName;
            }
            url = url.substring(url.indexOf(":") + 1);
        }

        if (url.startsWith("jdbc:oracle:thin:")) {
            driverClassName = "oracle.jdbc.driver.OracleDriver";
        } else if (url.startsWith("jdbc:mysql:")) {
            driverClassName = "com.mysql.jdbc.Driver";
        } else if (url.startsWith("jdbc:jtds:")) {
            // SQL Server or SyBase
            driverClassName = "net.sourceforge.jtds.jdbc.Driver";
        } else if (url.startsWith("jdbc:db2:")) {
            driverClassName = "com.ibm.db2.jdbc.net.DB2Driver";
        } else if (url.startsWith("jdbc:microsoft:sqlserver:")) {
            // SQL Server 7.0/2000
            driverClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
        } else if (url.startsWith("jdbc:sqlserver:")) {
            // SQL Server 2005
            driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        } else if (url.startsWith("jdbc:postgresql:")) {
            driverClassName = "org.postgresql.Driver";
        } else if (url.startsWith("jdbc:hsqldb:")) {
            driverClassName = "org.hsqldb.jdbcDriver";
        } else if (url.startsWith("jdbc:derby://")) {
            driverClassName = "org.apache.derby.jdbc.ClientDriver";
        } else if (url.startsWith("jdbc:derby:")) {
            driverClassName = "org.apache.derby.jdbc.EmbeddedDriver";
        } else if (url.startsWith("jdbc:sybase:Tds:")) {
            driverClassName = "com.sybase.jdbc.SybDriver";
        } else if (url.startsWith("jdbc:informix-sqli:")) {
            driverClassName = "com.informix.jdbc.IfxDriver";
        } else if (url.startsWith("jdbc:odbc:")) {
            driverClassName = "sun.jdbc.odbc.JdbcOdbcDriver";
        } else if (url.startsWith("jdbc:timesten:client:")) {
            driverClassName = "com.timesten.jdbc.TimesTenDriver";
        } else if (url.startsWith("jdbc:as400:")) {
            driverClassName = "com.ibm.as400.access.AS400JDBCDriver";
        } else if (url.startsWith("jdbc:sapdb:")) {
            driverClassName = "com.sap.dbtech.jdbc.DriverSapDB";
        } else if (url.startsWith("jdbc:interbase:")) {
            driverClassName = "interbase.interclient.Driver";
        }
        return driverClassName;
    }
private String getDriverClassName(String url) {
        String driverClassName = null;
        if (url.startsWith(CONNECTION_URL_SUFFIX)) {
            url = url.substring(CONNECTION_URL_SUFFIX.length());
            driverClassName = url.substring(0, url.indexOf(":"));
            if (driverClassName.length() > 0) {
                return driverClassName;
            }
            url = url.substring(url.indexOf(":") + 1);
        }

        if (url.startsWith("jdbc:oracle:thin:")) {
            driverClassName = "oracle.jdbc.driver.OracleDriver";
        } else if (url.startsWith("jdbc:mysql:")) {
            driverClassName = "com.mysql.jdbc.Driver";
        } else if (url.startsWith("jdbc:jtds:")) {
            // SQL Server or SyBase
            driverClassName = "net.sourceforge.jtds.jdbc.Driver";
        } else if (url.startsWith("jdbc:db2:")) {
            driverClassName = "com.ibm.db2.jdbc.net.DB2Driver";
        } else if (url.startsWith("jdbc:microsoft:sqlserver:")) {
            // SQL Server 7.0/2000
            driverClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
        } else if (url.startsWith("jdbc:sqlserver:")) {
            // SQL Server 2005
            driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        } else if (url.startsWith("jdbc:postgresql:")) {
            driverClassName = "org.postgresql.Driver";
        } else if (url.startsWith("jdbc:hsqldb:")) {
            driverClassName = "org.hsqldb.jdbcDriver";
        } else if (url.startsWith("jdbc:derby://")) {
            driverClassName = "org.apache.derby.jdbc.ClientDriver";
        } else if (url.startsWith("jdbc:derby:")) {
            driverClassName = "org.apache.derby.jdbc.EmbeddedDriver";
        } else if (url.startsWith("jdbc:sybase:Tds:")) {
            driverClassName = "com.sybase.jdbc.SybDriver";
        } else if (url.startsWith("jdbc:informix-sqli:")) {
            driverClassName = "com.informix.jdbc.IfxDriver";
        } else if (url.startsWith("jdbc:odbc:")) {
            driverClassName = "sun.jdbc.odbc.JdbcOdbcDriver";
        } else if (url.startsWith("jdbc:timesten:client:")) {
            driverClassName = "com.timesten.jdbc.TimesTenDriver";
        } else if (url.startsWith("jdbc:as400:")) {
            driverClassName = "com.ibm.as400.access.AS400JDBCDriver";
        } else if (url.startsWith("jdbc:sapdb:")) {
            driverClassName = "com.sap.dbtech.jdbc.DriverSapDB";
        } else if (url.startsWith("jdbc:interbase:")) {
            driverClassName = "interbase.interclient.Driver";
        }
        return driverClassName;
    }
private String getDriverClassName ( String url ) { String driverClassName = null ; if ( url . startsWith ( CONNECTION_URL_SUFFIX ) ) { url = url . substring ( CONNECTION_URL_SUFFIX . length ( ) ) ; driverClassName = url . substring ( 0 , url . indexOf ( ":" ) ) ; if ( driverClassName . length ( ) > 0 ) { return driverClassName ; } url = url . substring ( url . indexOf ( ":" ) + 1 ) ; } if ( url . startsWith ( "jdbc:oracle:thin:" ) ) { driverClassName = "oracle.jdbc.driver.OracleDriver" ; } else if ( url . startsWith ( "jdbc:mysql:" ) ) { driverClassName = "com.mysql.jdbc.Driver" ; } else if ( url . startsWith ( "jdbc:jtds:" ) ) { // SQL Server or SyBase driverClassName = "net.sourceforge.jtds.jdbc.Driver" ; } else if ( url . startsWith ( "jdbc:db2:" ) ) { driverClassName = "com.ibm.db2.jdbc.net.DB2Driver" ; } else if ( url . startsWith ( "jdbc:microsoft:sqlserver:" ) ) { // SQL Server 7.0/2000 driverClassName = "com.microsoft.jdbc.sqlserver.SQLServerDriver" ; } else if ( url . startsWith ( "jdbc:sqlserver:" ) ) { // SQL Server 2005 driverClassName = "com.microsoft.sqlserver.jdbc.SQLServerDriver" ; } else if ( url . startsWith ( "jdbc:postgresql:" ) ) { driverClassName = "org.postgresql.Driver" ; } else if ( url . startsWith ( "jdbc:hsqldb:" ) ) { driverClassName = "org.hsqldb.jdbcDriver" ; } else if ( url . startsWith ( "jdbc:derby://" ) ) { driverClassName = "org.apache.derby.jdbc.ClientDriver" ; } else if ( url . startsWith ( "jdbc:derby:" ) ) { driverClassName = "org.apache.derby.jdbc.EmbeddedDriver" ; } else if ( url . startsWith ( "jdbc:sybase:Tds:" ) ) { driverClassName = "com.sybase.jdbc.SybDriver" ; } else if ( url . startsWith ( "jdbc:informix-sqli:" ) ) { driverClassName = "com.informix.jdbc.IfxDriver" ; } else if ( url . startsWith ( "jdbc:odbc:" ) ) { driverClassName = "sun.jdbc.odbc.JdbcOdbcDriver" ; } else if ( url . startsWith ( "jdbc:timesten:client:" ) ) { driverClassName = "com.timesten.jdbc.TimesTenDriver" ; } else if ( url . startsWith ( "jdbc:as400:" ) ) { driverClassName = "com.ibm.as400.access.AS400JDBCDriver" ; } else if ( url . startsWith ( "jdbc:sapdb:" ) ) { driverClassName = "com.sap.dbtech.jdbc.DriverSapDB" ; } else if ( url . startsWith ( "jdbc:interbase:" ) ) { driverClassName = "interbase.interclient.Driver" ; } return driverClassName ; }
url pattern = "JdbcLog" ":" [DriverClassName] ":" ConnectionUrl
url pattern = JdbcLog : [ DriverClassName ] : ConnectionUrl