Here is a patch that allows dbcp to be compiled under jdk 1.3 and 1.4.

The TesterXXX classes are Lev's noop versions.  I implemented working
versions for the DelegatingXXX classes.  The new methods are surrounded
by comments.

I modified the build system to copy the src to a build directory and
then the comments that hide the code for 1.3 are removed if
java.sql.Savepoint is available.


john mcnally


Lev Assinovsky wrote:
> 
> I attached the classes modified for JSK 1.4/JDBC 3.0
> Use it as you want.
> --
> Lev Assinovsky                Peterlink Web
> Programmer                    St. Petersburg, Russia
> Tel/Fax: +7 812 3275343       197022 ul.Chapigina 7�
> E-mail: [EMAIL PROTECTED]
> 
>   ------------------------------------------------------------------------
>                           Name: dbcp_jdbc3.0.tar.gz
>    dbcp_jdbc3.0.tar.gz    Type: Unix Tape Archive (application/x-tar)
>                       Encoding: base64
> 
>   ------------------------------------------------------------------------
> --
> To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
? jdbc3.patch
Index: build.xml
===================================================================
RCS file: /home/cvspublic/jakarta-commons/dbcp/build.xml,v
retrieving revision 1.5
diff -u -r1.5 build.xml
--- build.xml   16 Jan 2002 00:19:36 -0000      1.5
+++ build.xml   18 Mar 2002 09:01:56 -0000
@@ -59,6 +59,7 @@
       <property name="source.src.test" value="${source.src}/test"/>
       <property name="source.doc" value="${basedir}/doc"/>
       <property name="dest" value="${basedir}/dist"/>
+      <property name="dest.src" value="${dest}/src"/>
       <property name="dest.classes" value="${dest}/classes"/>
       <property name="dest.doc" value="${dest}/docs"/>
       <property name="dest.doc.api" value="${dest.doc}/api"/>
@@ -69,6 +70,7 @@
       <available property="available-src-java" file="${source.src.java}"/> <!-- does 
this module have java src? -->      
       <available property="available-src-test" file="${source.src.test}"/> <!-- does 
this module have test src? -->      
       <available property="jndi.present" classname="javax.naming.Context"/>
+      <available property="jdbc3.present" classname="java.sql.Savepoint"/>
 
    </target>
 
@@ -168,10 +170,31 @@
 
    <target name="build" depends="init,build-java" description="compiles source 
files"/>
 
-   <target name="build-java" depends="init" if="available-src-java">
+   <target name="copy-src" depends="init">
+      <mkdir dir="${dest.src}"/>
+
+        <!-- the source code directory -->
+        <copy todir="${dest.src}/org" filtering="yes">
+            <fileset dir="${source.src.java}" defaultexcludes="no">
+                <include name="**/*.java"/>
+                <include name="**/*.xml"/>
+                <include name="**/*.properties"/>
+                <include name="**/package.html"/>
+            </fileset>
+        </copy>
+
+   </target>
+
+   <target name="prepare-jdbc3" if="jdbc3.present">
+      <replace dir="${dest.src}" token="/* JDBC_3_ANT_KEY" value="" />
+      <replace dir="${dest.src}" token="JDBC_3_ANT_KEY */" value="" />
+   </target>
+
+   <target name="build-java" depends="copy-src, prepare-jdbc3" 
+if="available-src-java">
       <mkdir dir="${dest.classes}"/>
+
       <javac destdir="${dest.classes}"
-             srcdir="${source.src.java}"
+             srcdir="${dest.src}"
              classpath="${classpath}"
              debug="false"
              deprecation="true"
@@ -182,9 +205,19 @@
    </target>
 
    <target name="build-test" depends="init,build-java" if="available-src-test">
+      <mkdir dir="${dest.src}"/>
+        <!-- the source code directory -->
+        <copy todir="${dest.src}/org" filtering="yes">
+            <fileset dir="${source.src.test}" defaultexcludes="no">
+                <include name="**/*.java"/>
+            </fileset>
+        </copy>
+
+      <antcall target="prepare-jdbc3" />
+
       <mkdir dir="${dest.classes}"/>
       <javac destdir="${dest.classes}"
-             srcdir="${source.src.test}"
+             srcdir="${dest.src}"
              classpath="${classpath}"
              debug="false"
              deprecation="true"
Index: src/java/org/apache/commons/dbcp/DelegatingConnection.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/dbcp/src/java/org/apache/commons/dbcp/DelegatingConnection.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 DelegatingConnection.java
--- src/java/org/apache/commons/dbcp/DelegatingConnection.java  14 Apr 2001 17:15:17 
-0000      1.1.1.1
+++ src/java/org/apache/commons/dbcp/DelegatingConnection.java  18 Mar 2002 09:01:56 
+-0000
@@ -172,4 +172,95 @@
             ((DelegatingConnection)_conn).passivate();
         }
     }
-}
\ No newline at end of file
+
+    // -------------------- JDBC 3.0 ------------------------------------
+    /* JDBC_3_ANT_KEY
+
+    public void setHoldability(int holdability) throws SQLException
+    {
+        checkOpen(); 
+        _conn.setHoldability(holdability);
+    }
+
+    public int getHoldability() throws SQLException
+    {
+        checkOpen(); 
+        return _conn.getHoldability();
+    }
+
+    public java.sql.Savepoint setSavepoint() throws SQLException
+    {
+        checkOpen(); 
+        return _conn.setSavepoint();
+    }
+
+    public java.sql.Savepoint setSavepoint(String name) throws SQLException
+    {
+        checkOpen(); 
+        return _conn.setSavepoint(name);
+    }
+
+    public void rollback(java.sql.Savepoint savepoint) throws SQLException
+    {
+        checkOpen(); 
+        _conn.rollback(savepoint);
+    }
+
+    public void releaseSavepoint(java.sql.Savepoint savepoint) 
+        throws SQLException
+    {
+        checkOpen(); 
+        _conn.releaseSavepoint(savepoint);
+    }
+
+    public Statement createStatement(int resultSetType, 
+                                     int resultSetConcurrency, 
+                                     int resultSetHoldability) 
+        throws SQLException
+    {
+        checkOpen(); 
+        return _conn.createStatement(resultSetType, resultSetConcurrency, 
+                                     resultSetHoldability);
+    }
+
+    public PreparedStatement prepareStatement(String sql, int resultSetType, 
+                                      int resultSetConcurrency, int 
+resultSetHoldability)
+        throws SQLException
+    {
+        checkOpen(); 
+        return _conn.prepareStatement(sql, resultSetType, 
+                               resultSetConcurrency, resultSetHoldability);
+    }
+
+    public CallableStatement prepareCall(String sql, int resultSetType, 
+                                 int resultSetConcurrency, 
+                                 int resultSetHoldability) throws SQLException
+    {
+        checkOpen(); 
+        return _conn.prepareCall(sql, resultSetType, 
+                                 resultSetConcurrency, resultSetHoldability);
+    }
+
+    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
+        throws SQLException
+    {
+        checkOpen(); 
+        return _conn.prepareStatement(sql, autoGeneratedKeys);
+    }
+
+    public PreparedStatement prepareStatement(String sql, int columnIndexes[])
+        throws SQLException
+    {
+        checkOpen(); 
+        return _conn.prepareStatement(sql, columnIndexes);
+    }
+
+    public PreparedStatement prepareStatement(String sql, String columnNames[])
+        throws SQLException
+    {
+        checkOpen(); 
+        return _conn.prepareStatement(sql, columnNames);
+    }
+
+    JDBC_3_ANT_KEY */ 
+}
Index: src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/dbcp/src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 DelegatingPreparedStatement.java
--- src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java   14 Apr 2001 
17:15:22 -0000      1.1.1.1
+++ src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java   18 Mar 2002 
+09:01:57 -0000
@@ -215,4 +215,76 @@
     }
 
     protected boolean _closed = false;
-}
\ No newline at end of file
+
+
+    // --------------------- JDBC 3.0 -----------------------------
+    /* JDBC_3_ANT_KEY
+
+    public boolean getMoreResults(int current) throws SQLException
+    {
+         checkOpen(); 
+         return _stmt.getMoreResults(current);
+    }
+
+    public ResultSet getGeneratedKeys() throws SQLException
+    {
+         checkOpen(); 
+         return _stmt.getGeneratedKeys();
+    }
+  
+    public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException
+    {
+         checkOpen(); 
+         return _stmt.executeUpdate(sql, autoGeneratedKeys);
+    }
+
+    public int executeUpdate(String sql, int columnIndexes[]) throws SQLException
+    {
+         checkOpen(); 
+         return _stmt.executeUpdate(sql, columnIndexes);
+    }
+
+    public int executeUpdate(String sql, String columnNames[]) throws SQLException
+    {
+         checkOpen(); 
+         return _stmt.executeUpdate(sql, columnNames);
+    }
+
+    public boolean execute(String sql, int autoGeneratedKeys) throws SQLException
+    {
+         checkOpen(); 
+         return _stmt.execute(sql, autoGeneratedKeys);
+    }
+
+    public boolean execute(String sql, int columnIndexes[]) throws SQLException
+    {
+         checkOpen(); 
+         return _stmt.execute(sql, columnIndexes);
+    }
+
+    public boolean execute(String sql, String columnNames[]) throws SQLException
+    {
+         checkOpen(); 
+         return _stmt.execute(sql, columnNames);
+    }
+
+    public int getResultSetHoldability() throws SQLException
+    {
+         checkOpen(); 
+         return _stmt.getResultSetHoldability();
+    }
+
+    public void setURL(int parameterIndex, java.net.URL x) throws SQLException
+    {
+         checkOpen(); 
+         _stmt.setURL(parameterIndex, x);
+    }
+
+    public ParameterMetaData getParameterMetaData() throws SQLException
+    {
+         checkOpen(); 
+         return _stmt.getParameterMetaData();
+    }
+
+    JDBC_3_ANT_KEY */ 
+}
Index: src/java/org/apache/commons/dbcp/DelegatingStatement.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/dbcp/src/java/org/apache/commons/dbcp/DelegatingStatement.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 DelegatingStatement.java
--- src/java/org/apache/commons/dbcp/DelegatingStatement.java   14 Apr 2001 17:15:27 
-0000      1.1.1.1
+++ src/java/org/apache/commons/dbcp/DelegatingStatement.java   18 Mar 2002 09:01:58 
+-0000
@@ -174,4 +174,68 @@
     }
 
     protected boolean _closed = false;
-}
\ No newline at end of file
+
+    // --------------------------- JDBC 3.0 --------------------------------
+    /* JDBC_3_ANT_KEY
+
+    public boolean getMoreResults(int current)
+        throws SQLException
+    {
+        checkOpen(); 
+        return _stmt.getMoreResults(current);
+    }
+
+    public ResultSet getGeneratedKeys() throws SQLException
+    {
+        checkOpen(); 
+        return _stmt.getGeneratedKeys();
+    }
+
+    public int executeUpdate(String sql, int autoGeneratedKeys) 
+        throws SQLException
+    {
+        checkOpen(); 
+        return _stmt.executeUpdate(sql, autoGeneratedKeys);
+    }
+
+    public int executeUpdate(String sql, int columnIndexes[]) 
+        throws SQLException
+    {
+        checkOpen(); 
+        return _stmt.executeUpdate(sql, columnIndexes);
+    }
+
+    public int executeUpdate(String sql, String columnNames[]) 
+        throws SQLException
+    {
+        checkOpen(); 
+        return _stmt.executeUpdate(sql, columnNames);
+    }
+
+    public boolean execute(String sql, int autoGeneratedKeys)
+        throws SQLException
+    {
+        checkOpen(); 
+        return _stmt.execute(sql, autoGeneratedKeys);
+    }
+
+    public boolean execute(String sql, int columnIndexes[]) throws SQLException
+    {
+        checkOpen(); 
+        return _stmt.execute(sql, columnIndexes);
+    }
+
+    public boolean execute(String sql, String columnNames[]) throws SQLException
+    {
+        checkOpen(); 
+        return _stmt.execute(sql, columnNames);
+    }
+
+    public int getResultSetHoldability() throws SQLException
+    {
+        checkOpen(); 
+        return _stmt.getResultSetHoldability();
+    }
+
+    JDBC_3_ANT_KEY */ 
+}
Index: src/test/org/apache/commons/dbcp/TesterConnection.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/dbcp/src/test/org/apache/commons/dbcp/TesterConnection.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 TesterConnection.java
--- src/test/org/apache/commons/dbcp/TesterConnection.java      14 Apr 2001 17:16:27 
-0000      1.1.1.1
+++ src/test/org/apache/commons/dbcp/TesterConnection.java      18 Mar 2002 09:01:59 
+-0000
@@ -199,4 +199,77 @@
             throw new SQLException("Connection is closed.");
         }
     }
+
+    // -------------------- JDBC 3.0 ------------------------------------
+    /* JDBC_3_ANT_KEY
+
+    public void setHoldability(int holdability) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public int getHoldability() throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public Savepoint setSavepoint() throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public Savepoint setSavepoint(String name) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public void rollback(Savepoint savepoint) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public void releaseSavepoint(Savepoint savepoint) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public Statement createStatement(int resultSetType, int resultSetConcurrency, 
+                             int resultSetHoldability) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public PreparedStatement prepareStatement(String sql, int resultSetType, 
+                                      int resultSetConcurrency, int 
+resultSetHoldability)
+       throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public CallableStatement prepareCall(String sql, int resultSetType, 
+                                 int resultSetConcurrency, 
+                                 int resultSetHoldability) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public PreparedStatement prepareStatement(String sql, int autoGeneratedKeys)
+       throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public PreparedStatement prepareStatement(String sql, int columnIndexes[])
+       throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public PreparedStatement prepareStatement(String sql, String columnNames[])
+       throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    JDBC_3_ANT_KEY */ 
 }
Index: src/test/org/apache/commons/dbcp/TesterPreparedStatement.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/dbcp/src/test/org/apache/commons/dbcp/TesterPreparedStatement.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 TesterPreparedStatement.java
--- src/test/org/apache/commons/dbcp/TesterPreparedStatement.java       14 Apr 2001 
17:16:40 -0000      1.1.1.1
+++ src/test/org/apache/commons/dbcp/TesterPreparedStatement.java       18 Mar 2002 
+09:02:00 -0000
@@ -232,4 +232,65 @@
     public void setNull (int paramIndex, int sqlType, String typeName) throws 
SQLException {
         checkOpen();
     }
+
+
+    // --------------------- JDBC 3.0 -----------------------------
+    /* JDBC_3_ANT_KEY
+
+    public boolean getMoreResults(int current) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public ResultSet getGeneratedKeys() throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+  
+    public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public int executeUpdate(String sql, int columnIndexes[]) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public int executeUpdate(String sql, String columnNames[]) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public boolean execute(String sql, int autoGeneratedKeys) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public boolean execute(String sql, int columnIndexes[]) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public boolean execute(String sql, String columnNames[]) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public int getResultSetHoldability() throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public void setURL(int parameterIndex, java.net.URL x) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public ParameterMetaData getParameterMetaData() throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    JDBC_3_ANT_KEY */ 
 }
Index: src/test/org/apache/commons/dbcp/TesterResultSet.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/dbcp/src/test/org/apache/commons/dbcp/TesterResultSet.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 TesterResultSet.java
--- src/test/org/apache/commons/dbcp/TesterResultSet.java       14 Apr 2001 17:16:37 
-0000      1.1.1.1
+++ src/test/org/apache/commons/dbcp/TesterResultSet.java       18 Mar 2002 09:02:02 
+-0000
@@ -633,14 +633,62 @@
             throw new SQLException("Connection is closed.");
         }
     }
-}
-
-
-
-
 
 
+    // --------------------- JDBC 3.0 -----------------------------
+    /* JDBC_3_ANT_KEY
 
+    public java.net.URL getURL(int columnIndex) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public java.net.URL getURL(String columnName) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public void updateRef(int columnIndex, java.sql.Ref x) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+    
+    public void updateRef(String columnName, java.sql.Ref x) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public void updateBlob(int columnIndex, java.sql.Blob x) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public void updateBlob(String columnName, java.sql.Blob x) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public void updateClob(int columnIndex, java.sql.Clob x) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public void updateClob(String columnName, java.sql.Clob x) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public void updateArray(int columnIndex, java.sql.Array x) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public void updateArray(String columnName, java.sql.Array x) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
 
+    JDBC_3_ANT_KEY */ 
+}
 
 
Index: src/test/org/apache/commons/dbcp/TesterStatement.java
===================================================================
RCS file: 
/home/cvspublic/jakarta-commons/dbcp/src/test/org/apache/commons/dbcp/TesterStatement.java,v
retrieving revision 1.1.1.1
diff -u -r1.1.1.1 TesterStatement.java
--- src/test/org/apache/commons/dbcp/TesterStatement.java       14 Apr 2001 17:16:42 
-0000      1.1.1.1
+++ src/test/org/apache/commons/dbcp/TesterStatement.java       18 Mar 2002 09:02:02 
+-0000
@@ -225,4 +225,55 @@
             throw new SQLException("Connection is closed.");
         }
     }
+
+    // --------------------------- JDBC 3.0 --------------------------------
+    /* JDBC_3_ANT_KEY
+        
+    public boolean getMoreResults(int current)
+       throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public ResultSet getGeneratedKeys() throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public int executeUpdate(String sql, int autoGeneratedKeys) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public int executeUpdate(String sql, int columnIndexes[]) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public int executeUpdate(String sql, String columnNames[]) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public boolean execute(String sql, int autoGeneratedKeys) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public boolean execute(String sql, int columnIndexes[]) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public boolean execute(String sql, String columnNames[]) throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    public int getResultSetHoldability() throws SQLException
+    {
+       throw new SQLException("Not implemented.");
+    }
+
+    JDBC_3_ANT_KEY */ 
 }

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to