[packages/java-commons-dbcp] Rel 2

arekm arekm at pld-linux.org
Sun Apr 5 00:49:24 CEST 2026


commit ef4577751f81f6ccd8a5e72450253ac3c97456bf
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Sun Apr 5 00:48:42 2026 +0200

    Rel 2

 jakarta-commons-dbcp-bug-191.patch     | 1500 --------------------------------
 jakarta-commons-dbcp-tomcat5-build.xml |   71 --
 java-commons-dbcp-no-managed.patch     |   10 +
 java-commons-dbcp.spec                 |   61 +-
 4 files changed, 21 insertions(+), 1621 deletions(-)
---
diff --git a/java-commons-dbcp.spec b/java-commons-dbcp.spec
index 5f55c5d..834c842 100644
--- a/java-commons-dbcp.spec
+++ b/java-commons-dbcp.spec
@@ -1,38 +1,35 @@
-# TODO
-# - use ant conditions (replace JDBC_4_ANT_KEY_BEGIN) instead of the code in prep
 #
 # Conditional build:
 %bcond_without	javadoc		# don't build javadoc
 
+%{?use_default_jdk:%use_default_jdk 8}
+
 %define		srcname	commons-dbcp
 Summary:	Commons DBCP - database connection pooling
 Summary(pl.UTF-8):	Commons DBCP - zarządzanie połączeniem z bazą danych
 Name:		java-commons-dbcp
 Version:	1.4
-Release:	1
+Release:	2
 License:	Apache v2.0
 Group:		Libraries/Java
-Source0:	http://www.apache.org/dist/commons/dbcp/source/commons-dbcp-%{version}-src.tar.gz
+Source0:	https://archive.apache.org/dist/commons/dbcp/source/commons-dbcp-%{version}-src.tar.gz
 # Source0-md5:	e9f599c99baefeeb0e192030c5d19d5d
-Source1:	jakarta-commons-dbcp-tomcat5-build.xml
-Patch0:		jakarta-commons-dbcp-bug-191.patch
 Patch1:		jakarta-commons-dbcp-javadoc.patch
-URL:		http://commons.apache.org/dbcp/
+Patch2:		java-commons-dbcp-no-managed.patch
+URL:		https://commons.apache.org/dbcp/
 BuildRequires:	ant
-BuildRequires:	java(jaxp_parser_impl)
 BuildRequires:	java-commons-collections
-BuildRequires:	java-commons-collections-tomcat5
 BuildRequires:	java-commons-pool >= 1.2
-BuildRequires:	java-commons-pool-tomcat5
-BuildRequires:	jdk
+%buildrequires_jdk
 BuildRequires:	jpackage-utils
 BuildRequires:	rpm-javaprov
-BuildRequires:	rpmbuild(macros) >= 1.300
+BuildRequires:	rpmbuild(macros) >= 1.556
 Requires:	java-commons-collections
 Requires:	java-commons-pool >= 1.2
 Requires:	jpackage-utils
 Provides:	jakarta-commons-dbcp
 Obsoletes:	jakarta-commons-dbcp
+Obsoletes:	java-commons-dbcp-tomcat5 < 1.4-2
 BuildArch:	noarch
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -73,45 +70,17 @@ Commons DBCP documentation.
 %description javadoc -l pl.UTF-8
 Dokumentacja do Commons DBCP.
 
-%package tomcat5
-Summary:	Commons DBCP dependency for Tomcat5
-Summary(pl.UTF-8):	Elementy Commons DBCP dla Tomcata 5
-Group:		Development/Languages/Java
-Requires:	java(jaxp_parser_impl)
-Provides:	jakarta-commons-dbcp-tomcat5
-Obsoletes:	jakarta-commons-dbcp-source
-Obsoletes:	jakarta-commons-dbcp-tomcat5
-
-%description tomcat5
-Commons DBCP dependency for Tomcat5.
-
-%description tomcat5 -l pl.UTF-8
-Elementy Commons DBCP dla Tomcata 5.
-
 %prep
 %setup -q -n commons-dbcp-%{version}-src
-cp %{SOURCE1} tomcat5-build.xml
 %{__sed} -i -e 's,\r$,,' build.xml
-
-
-%if %{with java_sun}
-java_version=$(IFS=.; set -- $(java -fullversion 2>&1 | grep -o '".*"' | xargs); echo "$1.$2")
-if ! awk -vv=$java_version 'BEGIN{exit(v >= 1.6)}'; then # java is at least 1.6
-%patch -P0 -p0
-fi
-%endif
 %patch -P1 -p1
+%patch -P2 -p0
 
 %build
-required_jars="commons-pool commons-collections libgcj"
+required_jars="commons-pool commons-collections"
 export CLASSPATH=$(build-classpath $required_jars)
-%ant clean
 %ant build-jar %{?with_javadoc:javadoc}
 
-required_jars="jdbc-stdext xercesImpl commons-collections-tomcat5 commons-pool-tomcat5 libgcj"
-export CLASSPATH=$(build-classpath $required_jars)
-%ant -f tomcat5-build.xml
-
 %install
 rm -rf $RPM_BUILD_ROOT
 install -d $RPM_BUILD_ROOT%{_javadir}
@@ -119,9 +88,6 @@ install -d $RPM_BUILD_ROOT%{_javadir}
 install dist/%{srcname}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}-%{version}.jar
 ln -sf %{srcname}-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}.jar
 
-install dbcp-tomcat5/%{srcname}-tomcat5.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}-tomcat5-%{version}.jar
-ln -sf %{srcname}-tomcat5-%{version}.jar $RPM_BUILD_ROOT%{_javadir}/%{srcname}-tomcat5.jar
-
 # javadoc
 %if %{with javadoc}
 install -d $RPM_BUILD_ROOT%{_javadocdir}/%{srcname}-%{version}
@@ -141,11 +107,6 @@ ln -nfs %{name}-%{version} %{_javadocdir}/%{name}
 %{_javadir}/commons-dbcp.jar
 %{_javadir}/commons-dbcp-%{version}.jar
 
-%files tomcat5
-%defattr(644,root,root,755)
-%{_javadir}/commons-dbcp-tomcat5.jar
-%{_javadir}/commons-dbcp-tomcat5-%{version}.jar
-
 %if %{with javadoc}
 %files javadoc
 %defattr(644,root,root,755)
diff --git a/jakarta-commons-dbcp-bug-191.patch b/jakarta-commons-dbcp-bug-191.patch
deleted file mode 100644
index e316ba6..0000000
--- a/jakarta-commons-dbcp-bug-191.patch
+++ /dev/null
@@ -1,1500 +0,0 @@
---- src/java/org/apache/commons/dbcp/DelegatingCallableStatement.java	(revision 558600)
-+++ src/java/org/apache/commons/dbcp/DelegatingCallableStatement.java	(working copy)
-@@ -32,6 +32,11 @@
- import java.io.InputStream;
- import java.io.Reader;
- import java.sql.SQLException;
-+/* JDBC_4_ANT_KEY_BEGIN */
-+import java.sql.NClob;
-+import java.sql.RowId;
-+import java.sql.SQLXML;
-+/* JDBC_4_ANT_KEY_END */
- 
- /**
-  * A base delegating implementation of {@link CallableStatement}.
-@@ -332,6 +337,337 @@
- 
-     public URL getURL(String parameterName) throws SQLException
-     { checkOpen(); try { return _stmt.getURL(parameterName); } catch (SQLException e) { handleException(e); return null; } }
-+/* JDBC_3_ANT_KEY_END */
-+/* JDBC_4_ANT_KEY_BEGIN */
- 
--/* JDBC_3_ANT_KEY_END */
-+    public RowId getRowId(int parameterIndex) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getRowId(parameterIndex);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public RowId getRowId(String parameterName) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getRowId(parameterName);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public void setRowId(String parameterName, RowId value) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setRowId(parameterName, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setNString(String parameterName, String value) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNString(parameterName, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setNCharacterStream(String parameterName, Reader reader, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNCharacterStream(parameterName, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setNClob(String parameterName, NClob value) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNClob(parameterName, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setClob(String parameterName, Reader reader, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setClob(parameterName, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setBlob(parameterName, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setNClob(String parameterName, Reader reader, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNClob(parameterName, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public NClob getNClob(int parameterIndex) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getNClob(parameterIndex);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public NClob getNClob(String parameterName) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getNClob(parameterName);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public void setSQLXML(String parameterName, SQLXML value) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setSQLXML(parameterName, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public SQLXML getSQLXML(int parameterIndex) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getSQLXML(parameterIndex);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public SQLXML getSQLXML(String parameterName) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getSQLXML(parameterName);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public String getNString(int parameterIndex) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getNString(parameterIndex);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public String getNString(String parameterName) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getNString(parameterName);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public Reader getNCharacterStream(int parameterIndex) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getNCharacterStream(parameterIndex);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public Reader getNCharacterStream(String parameterName) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getNCharacterStream(parameterName);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public Reader getCharacterStream(int parameterIndex) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getCharacterStream(parameterIndex);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public Reader getCharacterStream(String parameterName) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.getCharacterStream(parameterName);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public void setBlob(String parameterName, Blob blob) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setBlob(parameterName, blob);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setClob(String parameterName, Clob clob) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setClob(parameterName, clob);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setAsciiStream(String parameterName, InputStream inputStream, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setAsciiStream(parameterName, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setBinaryStream(String parameterName, InputStream inputStream, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setBinaryStream(parameterName, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setCharacterStream(String parameterName, Reader reader, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setCharacterStream(parameterName, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setAsciiStream(String parameterName, InputStream inputStream) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setAsciiStream(parameterName, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setBinaryStream(String parameterName, InputStream inputStream) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setBinaryStream(parameterName, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setCharacterStream(String parameterName, Reader reader) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setCharacterStream(parameterName, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setNCharacterStream(String parameterName, Reader reader) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNCharacterStream(parameterName, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setClob(String parameterName, Reader reader) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setClob(parameterName, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }    }
-+
-+    public void setBlob(String parameterName, InputStream inputStream) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setBlob(parameterName, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }    }
-+
-+    public void setNClob(String parameterName, Reader reader) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNClob(parameterName, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+/* JDBC_4_ANT_KEY_END */
- }
---- src/java/org/apache/commons/dbcp/cpdsadapter/ConnectionImpl.java	(revision 558600)
-+++ src/java/org/apache/commons/dbcp/cpdsadapter/ConnectionImpl.java	(working copy)
-@@ -25,6 +25,19 @@
- import java.sql.Statement;
- import java.sql.SQLWarning;
- import java.sql.SQLException;
-+/* JDBC_4_ANT_KEY_BEGIN */
-+import java.sql.Array;
-+import java.sql.Blob;
-+import java.sql.ClientInfoStatus;
-+import java.sql.Clob;
-+import java.sql.NClob;
-+import java.sql.SQLClientInfoException;
-+import java.sql.SQLXML;
-+import java.sql.Struct;
-+import java.util.Collections;
-+import java.util.Map;
-+import java.util.Properties;
-+/* JDBC_4_ANT_KEY_END */
- 
- /**
-  * This class is the <code>Connection</code> that will be returned
-@@ -42,6 +55,11 @@
-     private static final String CLOSED 
-             = "Attempted to use Connection after closed() was called.";
- 
-+/* JDBC_4_ANT_KEY_BEGIN */
-+    private static final Map<String, ClientInfoStatus> EMPTY_FAILED_PROPERTIES =
-+        Collections.<String, ClientInfoStatus>emptyMap();
-+/* JDBC_4_ANT_KEY_END */
-+
-     /** The JDBC database connection. */
-     private Connection connection;
- 
-@@ -453,6 +471,86 @@
-         assertOpen();
-         return connection.prepareStatement(sql, columnNames);
-     }
-+/* JDBC_3_ANT_KEY_END */
-+/* JDBC_4_ANT_KEY_BEGIN */
- 
--/* JDBC_3_ANT_KEY_END */
-+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-+        return connection.isWrapperFor(iface);
-+    }
-+
-+    public <T> T unwrap(Class<T> iface) throws SQLException {
-+        return connection.unwrap(iface);
-+    }
-+
-+    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
-+        assertOpen();
-+        return connection.createArrayOf(typeName, elements);
-+    }
-+
-+    public Blob createBlob() throws SQLException {
-+        assertOpen();
-+        return connection.createBlob();
-+    }
-+
-+    public Clob createClob() throws SQLException {
-+        assertOpen();
-+        return connection.createClob();
-+    }
-+
-+    public NClob createNClob() throws SQLException {
-+        assertOpen();
-+        return connection.createNClob();
-+    }
-+
-+    public SQLXML createSQLXML() throws SQLException {
-+        assertOpen();
-+        return connection.createSQLXML();
-+    }
-+
-+    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
-+        assertOpen();
-+        return connection.createStruct(typeName, attributes);
-+    }
-+
-+    public boolean isValid(int timeout) throws SQLException {
-+        assertOpen();
-+        return connection.isValid(timeout);
-+    }
-+
-+    public void setClientInfo(String name, String value) throws SQLClientInfoException {
-+        try {
-+            assertOpen();
-+            connection.setClientInfo(name, value);
-+        }
-+        catch (SQLClientInfoException e) {
-+            throw e;
-+        }
-+        catch (SQLException e) {
-+            throw new SQLClientInfoException("Connection is closed.", EMPTY_FAILED_PROPERTIES, e);
-+        }
-+    }
-+
-+    public void setClientInfo(Properties properties) throws SQLClientInfoException {
-+        try {
-+            assertOpen();
-+            connection.setClientInfo(properties);
-+        }
-+        catch (SQLClientInfoException e) {
-+            throw e;
-+        }
-+        catch (SQLException e) {
-+            throw new SQLClientInfoException("Connection is closed.", EMPTY_FAILED_PROPERTIES, e);
-+        }
-+    }
-+
-+    public Properties getClientInfo() throws SQLException {
-+        assertOpen();
-+        return connection.getClientInfo();
-+    }
-+
-+    public String getClientInfo(String name) throws SQLException {
-+        assertOpen();
-+        return connection.getClientInfo(name);
-+    }
-+/* JDBC_4_ANT_KEY_END */
- }
---- src/java/org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.java	(revision 558600)
-+++ src/java/org/apache/commons/dbcp/cpdsadapter/PooledConnectionImpl.java	(working copy)
-@@ -26,6 +26,7 @@
- import javax.sql.ConnectionEvent;
- import javax.sql.ConnectionEventListener;
- import javax.sql.PooledConnection;
-+import javax.sql.StatementEventListener;
- 
- import org.apache.commons.dbcp.DelegatingConnection;
- import org.apache.commons.dbcp.DelegatingPreparedStatement;
-@@ -66,6 +67,11 @@
-     private Vector eventListeners;
- 
-     /**
-+     * StatementEventListeners
-+     */
-+    private Vector statementEventListeners;
-+
-+    /**
-      * flag set to true, once close() is called.
-      */
-     boolean isClosed;
-@@ -101,6 +107,12 @@
-         }
-     }
- 
-+    public void addStatementEventListener(StatementEventListener listener) {
-+        if (!statementEventListeners.contains(listener)) {
-+            statementEventListeners.add(listener);
-+        }
-+    }
-+
-     /**
-      * Closes the physical connection and marks this 
-      * <code>PooledConnection</code> so that it may not be used 
-@@ -169,6 +181,10 @@
-         eventListeners.remove(listener);
-     }
- 
-+    public void removeStatementEventListener(StatementEventListener listener) {
-+        statementEventListeners.remove(listener);
-+    }
-+
-     /**
-      * Closes the physical connection and checks that the logical connection
-      * was closed as well.
---- src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java	(revision 558600)
-+++ src/java/org/apache/commons/dbcp/DelegatingPreparedStatement.java	(working copy)
-@@ -27,6 +27,13 @@
- import java.sql.ResultSetMetaData;
- import java.sql.SQLException;
- import java.util.Calendar;
-+/* JDBC_4_ANT_KEY_BEGIN */
-+import java.io.InputStream;
-+import java.io.Reader;
-+import java.sql.NClob;
-+import java.sql.RowId;
-+import java.sql.SQLXML;
-+/* JDBC_4_ANT_KEY_END */
- 
- /**
-  * A base delegating implementation of {@link PreparedStatement}.
-@@ -221,6 +228,187 @@
- 
-     public java.sql.ParameterMetaData getParameterMetaData() throws SQLException
-     { checkOpen(); try { return _stmt.getParameterMetaData(); } catch (SQLException e) { handleException(e); return null; } }
-+/* JDBC_3_ANT_KEY_END */
-+/* JDBC_4_ANT_KEY_BEGIN */
- 
--/* JDBC_3_ANT_KEY_END */
-+    public void setRowId(int parameterIndex, RowId value) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setRowId(parameterIndex, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setNString(int parameterIndex, String value) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNString(parameterIndex, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNCharacterStream(parameterIndex, value, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setNClob(int parameterIndex, NClob value) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNClob(parameterIndex, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setClob(parameterIndex, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setBlob(parameterIndex, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNClob(parameterIndex, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setSQLXML(int parameterIndex, SQLXML value) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setSQLXML(parameterIndex, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setAsciiStream(int parameterIndex, InputStream inputStream, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setAsciiStream(parameterIndex, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setBinaryStream(int parameterIndex, InputStream inputStream, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setBinaryStream(parameterIndex, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setCharacterStream(parameterIndex, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setAsciiStream(int parameterIndex, InputStream inputStream) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setAsciiStream(parameterIndex, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setBinaryStream(int parameterIndex, InputStream inputStream) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setBinaryStream(parameterIndex, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setCharacterStream(parameterIndex, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setNCharacterStream(int parameterIndex, Reader reader) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNCharacterStream(parameterIndex, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setClob(int parameterIndex, Reader reader) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setClob(parameterIndex, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setBlob(parameterIndex, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void setNClob(int parameterIndex, Reader reader) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setNClob(parameterIndex, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+/* JDBC_4_ANT_KEY_END */
- }
---- src/java/org/apache/commons/dbcp/DelegatingResultSet.java	(revision 558600)
-+++ src/java/org/apache/commons/dbcp/DelegatingResultSet.java	(working copy)
-@@ -34,6 +34,11 @@
- import java.sql.Clob;
- import java.sql.Array;
- import java.util.Calendar;
-+/* JDBC_4_ANT_KEY_BEGIN */
-+import java.sql.NClob;
-+import java.sql.RowId;
-+import java.sql.SQLXML;
-+/* JDBC_4_ANT_KEY_END */
- 
- /**
-  * A base delegating implementation of {@link ResultSet}.
-@@ -585,6 +590,459 @@
- 
-     public void updateArray(String columnName, java.sql.Array x) throws SQLException
-     { try { _res.updateArray(columnName, x); } catch (SQLException e) { handleException(e); } }
-+/* JDBC_3_ANT_KEY_END */
-+/* JDBC_4_ANT_KEY_BEGIN */
- 
--/* JDBC_3_ANT_KEY_END */
-+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-+        return _res.isWrapperFor(iface);
-+    }
-+
-+    public <T> T unwrap(Class<T> iface) throws SQLException {
-+        return _res.unwrap(iface);
-+    }
-+
-+    public RowId getRowId(int columnIndex) throws SQLException {
-+        try {
-+            return _res.getRowId(columnIndex);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public RowId getRowId(String columnLabel) throws SQLException {
-+        try {
-+            return _res.getRowId(columnLabel);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public void updateRowId(int columnIndex, RowId value) throws SQLException {
-+        try {
-+            _res.updateRowId(columnIndex, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateRowId(String columnLabel, RowId value) throws SQLException {
-+        try {
-+            _res.updateRowId(columnLabel, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public int getHoldability() throws SQLException {
-+        try {
-+            return _res.getHoldability();
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return 0;
-+        }
-+    }
-+
-+    public boolean isClosed() throws SQLException {
-+        try {
-+            return _res.isClosed();
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return false;
-+        }
-+    }
-+
-+    public void updateNString(int columnIndex, String value) throws SQLException {
-+        try {
-+            _res.updateNString(columnIndex, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateNString(String columnLabel, String value) throws SQLException {
-+        try {
-+            _res.updateNString(columnLabel, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateNClob(int columnIndex, NClob value) throws SQLException {
-+        try {
-+            _res.updateNClob(columnIndex, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateNClob(String columnLabel, NClob value) throws SQLException {
-+        try {
-+            _res.updateNClob(columnLabel, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public NClob getNClob(int columnIndex) throws SQLException {
-+        try {
-+            return _res.getNClob(columnIndex);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public NClob getNClob(String columnLabel) throws SQLException {
-+        try {
-+            return _res.getNClob(columnLabel);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public SQLXML getSQLXML(int columnIndex) throws SQLException {
-+        try {
-+            return _res.getSQLXML(columnIndex);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public SQLXML getSQLXML(String columnLabel) throws SQLException {
-+        try {
-+            return _res.getSQLXML(columnLabel);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public void updateSQLXML(int columnIndex, SQLXML value) throws SQLException {
-+        try {
-+            _res.updateSQLXML(columnIndex, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateSQLXML(String columnLabel, SQLXML value) throws SQLException {
-+        try {
-+            _res.updateSQLXML(columnLabel, value);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public String getNString(int columnIndex) throws SQLException {
-+        try {
-+            return _res.getNString(columnIndex);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public String getNString(String columnLabel) throws SQLException {
-+        try {
-+            return _res.getNString(columnLabel);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public Reader getNCharacterStream(int columnIndex) throws SQLException {
-+        try {
-+            return _res.getNCharacterStream(columnIndex);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public Reader getNCharacterStream(String columnLabel) throws SQLException {
-+        try {
-+            return _res.getNCharacterStream(columnLabel);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public void updateNCharacterStream(int columnIndex, Reader reader, long length) throws SQLException {
-+        try {
-+            _res.updateNCharacterStream(columnIndex, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateNCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
-+        try {
-+            _res.updateNCharacterStream(columnLabel, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateAsciiStream(int columnIndex, InputStream inputStream, long length) throws SQLException {
-+        try {
-+            _res.updateAsciiStream(columnIndex, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateBinaryStream(int columnIndex, InputStream inputStream, long length) throws SQLException {
-+        try {
-+            _res.updateBinaryStream(columnIndex, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateCharacterStream(int columnIndex, Reader reader, long length) throws SQLException {
-+        try {
-+            _res.updateCharacterStream(columnIndex, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateAsciiStream(String columnLabel, InputStream inputStream, long length) throws SQLException {
-+        try {
-+            _res.updateAsciiStream(columnLabel, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateBinaryStream(String columnLabel, InputStream inputStream, long length) throws SQLException {
-+        try {
-+            _res.updateBinaryStream(columnLabel, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateCharacterStream(String columnLabel, Reader reader, long length) throws SQLException {
-+        try {
-+            _res.updateCharacterStream(columnLabel, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateBlob(int columnIndex, InputStream inputStream, long length) throws SQLException {
-+        try {
-+            _res.updateBlob(columnIndex, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateBlob(String columnLabel, InputStream inputStream, long length) throws SQLException {
-+        try {
-+            _res.updateBlob(columnLabel, inputStream, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateClob(int columnIndex, Reader reader, long length) throws SQLException {
-+        try {
-+            _res.updateClob(columnIndex, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateClob(String columnLabel, Reader reader, long length) throws SQLException {
-+        try {
-+            _res.updateClob(columnLabel, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateNClob(int columnIndex, Reader reader, long length) throws SQLException {
-+        try {
-+            _res.updateNClob(columnIndex, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateNClob(String columnLabel, Reader reader, long length) throws SQLException {
-+        try {
-+            _res.updateNClob(columnLabel, reader, length);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateNCharacterStream(int columnIndex, Reader reader) throws SQLException {
-+        try {
-+            _res.updateNCharacterStream(columnIndex, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateNCharacterStream(String columnLabel, Reader reader) throws SQLException {
-+        try {
-+            _res.updateNCharacterStream(columnLabel, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateAsciiStream(int columnIndex, InputStream inputStream) throws SQLException {
-+        try {
-+            _res.updateAsciiStream(columnIndex, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateBinaryStream(int columnIndex, InputStream inputStream) throws SQLException {
-+        try {
-+            _res.updateBinaryStream(columnIndex, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateCharacterStream(int columnIndex, Reader reader) throws SQLException {
-+        try {
-+            _res.updateCharacterStream(columnIndex, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateAsciiStream(String columnLabel, InputStream inputStream) throws SQLException {
-+        try {
-+            _res.updateAsciiStream(columnLabel, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateBinaryStream(String columnLabel, InputStream inputStream) throws SQLException {
-+        try {
-+            _res.updateBinaryStream(columnLabel, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateCharacterStream(String columnLabel, Reader reader) throws SQLException {
-+        try {
-+            _res.updateCharacterStream(columnLabel, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateBlob(int columnIndex, InputStream inputStream) throws SQLException {
-+        try {
-+            _res.updateBlob(columnIndex, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateBlob(String columnLabel, InputStream inputStream) throws SQLException {
-+        try {
-+            _res.updateBlob(columnLabel, inputStream);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateClob(int columnIndex, Reader reader) throws SQLException {
-+        try {
-+            _res.updateClob(columnIndex, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateClob(String columnLabel, Reader reader) throws SQLException {
-+        try {
-+            _res.updateClob(columnLabel, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateNClob(int columnIndex, Reader reader) throws SQLException {
-+        try {
-+            _res.updateNClob(columnIndex, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public void updateNClob(String columnLabel, Reader reader) throws SQLException {
-+        try {
-+            _res.updateNClob(columnLabel, reader);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+/* JDBC_4_ANT_KEY_END */
- }
---- src/java/org/apache/commons/dbcp/PoolingDataSource.java	(revision 558600)
-+++ src/java/org/apache/commons/dbcp/PoolingDataSource.java	(working copy)
-@@ -84,6 +84,14 @@
-     public void setAccessToUnderlyingConnectionAllowed(boolean allow) {
-         this.accessToUnderlyingConnectionAllowed = allow;
-     }
-+
-+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-+        return false;
-+    }
-+
-+    public <T> T unwrap(Class<T> iface) throws SQLException {
-+        throw new SQLException("PoolingDataSource is not a wrapper.");
-+    }
-     
-     //--- DataSource methods -----------------------------------------
- 
---- src/java/org/apache/commons/dbcp/DelegatingConnection.java	(revision 558600)
-+++ src/java/org/apache/commons/dbcp/DelegatingConnection.java	(working copy)
-@@ -26,6 +26,19 @@
- import java.sql.Statement;
- import java.util.List;
- import java.util.Map;
-+/* JDBC_4_ANT_KEY_BEGIN */
-+import java.sql.Array;
-+import java.sql.Blob;
-+import java.sql.ClientInfoStatus;
-+import java.sql.Clob;
-+import java.sql.NClob;
-+import java.sql.SQLClientInfoException;
-+import java.sql.SQLXML;
-+import java.sql.Struct;
-+import java.util.Collections;
-+import java.util.Map;
-+import java.util.Properties;
-+/* JDBC_4_ANT_KEY_END */
- 
- /**
-  * A base delegating implementation of {@link Connection}.
-@@ -50,6 +63,10 @@
-  */
- public class DelegatingConnection extends AbandonedTrace
-         implements Connection {
-+/* JDBC_4_ANT_KEY_BEGIN */
-+    private static final Map<String, ClientInfoStatus> EMPTY_FAILED_PROPERTIES =
-+        Collections.<String, ClientInfoStatus>emptyMap();
-+/* JDBC_4_ANT_KEY_END */
-     /** My delegate {@link Connection}. */
-     protected Connection _conn = null;
- 
-@@ -495,4 +512,139 @@
-         }
-     }
- /* JDBC_3_ANT_KEY_END */
-+/* JDBC_4_ANT_KEY_BEGIN */
-+
-+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-+        return _conn.isWrapperFor(iface);
-+    }
-+
-+    public <T> T unwrap(Class<T> iface) throws SQLException {
-+        return _conn.unwrap(iface);
-+    }
-+
-+    public Array createArrayOf(String typeName, Object[] elements) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _conn.createArrayOf(typeName, elements);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public Blob createBlob() throws SQLException {
-+        checkOpen();
-+        try {
-+            return _conn.createBlob();
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public Clob createClob() throws SQLException {
-+        checkOpen();
-+        try {
-+            return _conn.createClob();
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public NClob createNClob() throws SQLException {
-+        checkOpen();
-+        try {
-+            return _conn.createNClob();
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public SQLXML createSQLXML() throws SQLException {
-+        checkOpen();
-+        try {
-+            return _conn.createSQLXML();
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public Struct createStruct(String typeName, Object[] attributes) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _conn.createStruct(typeName, attributes);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public boolean isValid(int timeout) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _conn.isValid(timeout);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return false;
-+        }
-+    }
-+
-+    public void setClientInfo(String name, String value) throws SQLClientInfoException {
-+        try {
-+            checkOpen();
-+            _conn.setClientInfo(name, value);
-+        }
-+        catch (SQLClientInfoException e) {
-+            throw e;
-+        }
-+        catch (SQLException e) {
-+            throw new SQLClientInfoException("Connection is closed.", EMPTY_FAILED_PROPERTIES, e);
-+        }
-+    }
-+
-+    public void setClientInfo(Properties properties) throws SQLClientInfoException {
-+        try {
-+            checkOpen();
-+            _conn.setClientInfo(properties);
-+        }
-+        catch (SQLClientInfoException e) {
-+            throw e;
-+        }
-+        catch (SQLException e) {
-+            throw new SQLClientInfoException("Connection is closed.", EMPTY_FAILED_PROPERTIES, e);
-+        }
-+    }
-+
-+    public Properties getClientInfo() throws SQLException {
-+        checkOpen();
-+        try {
-+            return _conn.getClientInfo();
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+
-+    public String getClientInfo(String name) throws SQLException {
-+        checkOpen();
-+        try {
-+            return _conn.getClientInfo(name);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return null;
-+        }
-+    }
-+/* JDBC_4_ANT_KEY_END */
- }
---- src/java/org/apache/commons/dbcp/DelegatingStatement.java	(revision 558600)
-+++ src/java/org/apache/commons/dbcp/DelegatingStatement.java	(working copy)
-@@ -128,10 +128,6 @@
- 
-     protected boolean _closed = false;
- 
--    protected boolean isClosed() {
--        return _closed;
--    }
--
-     protected void checkOpen() throws SQLException {
-         if(isClosed()) {
-             throw new SQLException
-@@ -346,4 +342,39 @@
-     { checkOpen(); try { return _stmt.getResultSetHoldability(); } catch (SQLException e) { handleException(e); return 0; } }
- 
- /* JDBC_3_ANT_KEY_END */
-+/* JDBC_4_ANT_KEY_BEGIN */
-+
-+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-+        return _conn.isWrapperFor(iface);
-+    }
-+
-+    public <T> T unwrap(Class<T> iface) throws SQLException {
-+        return _conn.unwrap(iface);
-+    }
-+
-+    public boolean isClosed() throws SQLException {
-+        return _closed;
-+    }
-+
-+    public void setPoolable(boolean poolable) throws SQLException {
-+        checkOpen();
-+        try {
-+            _stmt.setPoolable(poolable);
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+        }
-+    }
-+
-+    public boolean isPoolable() throws SQLException {
-+        checkOpen();
-+        try {
-+            return _stmt.isPoolable();
-+        }
-+        catch (SQLException e) {
-+            handleException(e);
-+            return false;
-+        }
-+    }
-+/* JDBC_4_ANT_KEY_END */
- }
---- src/java/org/apache/commons/dbcp/BasicDataSource.java	(revision 558600)
-+++ src/java/org/apache/commons/dbcp/BasicDataSource.java	(working copy)
-@@ -1115,7 +1115,14 @@
-         }
-     }
- 
-+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-+        return false;
-+    }
- 
-+    public <T> T unwrap(Class<T> iface) throws SQLException {
-+        throw new SQLException("BasicDataSource is not a wrapper.");
-+    }
-+
-     // ------------------------------------------------------ Protected Methods
- 
- 
---- src/java/org/apache/commons/dbcp/datasources/InstanceKeyDataSource.java	(revision 558600)
-+++ src/java/org/apache/commons/dbcp/datasources/InstanceKeyDataSource.java	(working copy)
-@@ -154,6 +154,14 @@
-      */
-     public abstract void close() throws Exception;
- 
-+    public boolean isWrapperFor(Class<?> iface) throws SQLException {
-+        return false;
-+    }
-+
-+    public <T> T unwrap(Class<T> iface) throws SQLException {
-+        throw new SQLException("InstanceKeyDataSource is not a wrapper.");
-+    }
-+
-     // -------------------------------------------------------------------
-     // Properties
- 
---- build.xml~	2007-12-08 00:43:35.725089527 +0200
-+++ build.xml	2007-12-08 00:43:58.564094252 +0200
-@@ -70,7 +70,7 @@
-       <property name="javac.optimize" value="false"/>
-       <property name="javac.debug" value="true"/>
-       <property name="javac.deprecation" value="false"/>
--      <property name="javac.source" value="1.4" />
-+      <property name="javac.source" value="1.6" />
- 
-       <available property="jndi.present" classname="javax.naming.Context"/>
-       <available property="jdbc3.present" classname="java.sql.Savepoint"/>
---- tomcat5-build.xml~	2007-12-08 00:45:33.279966733 +0200
-+++ tomcat5-build.xml	2007-12-08 00:46:25.237702525 +0200
-@@ -8,7 +8,7 @@
-    <!-- Java Options -->
-    <property name="compile.debug" value="true"/>
-    <property name="compile.deprecation" value="false"/>
--   <property name="compile.source" value="1.4"/>
-+   <property name="compile.source" value="1.6"/>
- 
-    <target name="clean">
-      <delete dir="${tomcat-dbcp.home}"/>
diff --git a/jakarta-commons-dbcp-tomcat5-build.xml b/jakarta-commons-dbcp-tomcat5-build.xml
deleted file mode 100644
index 81b8d24..0000000
--- a/jakarta-commons-dbcp-tomcat5-build.xml
+++ /dev/null
@@ -1,71 +0,0 @@
-<!-- $Id$ -->
-<project name="commons-dbcp-tomcat5" default="build" basedir=".">
-
-   <property name="tomcat-dbcp.home" value="dbcp-tomcat5"/>
-   <property name="commons-dbcp.home" value="."/>
-   <property name="tomcat-dbcp.jar" value="commons-dbcp-tomcat5.jar"/>
-
-   <!-- Java Options -->
-   <property name="compile.debug" value="true"/>
-   <property name="compile.deprecation" value="false"/>
-   <property name="compile.source" value="1.5"/>
-
-   <target name="clean">
-     <delete dir="${tomcat-dbcp.home}"/>
-   </target>
-
-<target name="build">
-    <copy todir="${tomcat-dbcp.home}">
-<!--        <fileset dir="${commons-collections.home}" >
-            <include name="**/collections/CursorableLinkedList.java" />
-            <include name="**/collections/KeyValue.java" />
-            <include name="**/collections/LRUMap.java" />
-            <include name="**/collections/SequencedHashMap.java" />
-        </fileset>
-        <fileset dir="${commons-pool.home}">
-            <include name="**/*.java" />
-            <exclude name="**/Stack*.java" />
-            <exclude name="**/SoftReferenceObjectPool.java" />
-            <exclude name="**/test/**" />
-        </fileset> -->
-        <fileset dir="${commons-dbcp.home}">
-            <include name="**/*.java" />
-            <exclude name="**/test/**" />
-            <exclude name="${tomcat-dbcp.home}/**"/>
-        </fileset>
-    </copy>
-    <replace dir="${tomcat-dbcp.home}/src/java/org/apache/commons">
-        <replacefilter token="return UnmodifiableList.decorate(l);"
-            value="return l;" />
-        <replacefilter token="import org.apache.commons.collections.list.UnmodifiableList;"
-            value=" " />
-    </replace>
-    <replace dir="${tomcat-dbcp.home}/src/java/org/apache/commons" >
-        <replacefilter token="org.apache.commons"
-            value="org.apache.tomcat.dbcp" />
-    </replace>
-    <mkdir dir="${tomcat-dbcp.home}/src/java/org/apache/tomcat/dbcp" />
-    <move todir="${tomcat-dbcp.home}/src/java/org/apache/tomcat/dbcp">
-        <fileset dir="${tomcat-dbcp.home}/src/java/org/apache/commons" />
-    </move>
-    <mkdir dir="${tomcat-dbcp.home}/classes"/>
-    <javac destdir="${tomcat-dbcp.home}/classes"
-           optimize="off"
-           debug="${compile.debug}"
-           deprecation="${compile.deprecation}"
-           source="${compile.source}"
-           sourcepath="${tomcat-dbcp.home}/src/java"
-           srcdir="${tomcat-dbcp.home}/src/java" >
-      <include name="**" />
-    </javac>
-    <jar destfile="${tomcat-dbcp.home}/${tomcat-dbcp.jar}"
-         index="true">
-       <fileset dir="${tomcat-dbcp.home}/classes">
-          <include name="**/*.class" />
-          <include name="**/*.properties" />
-       </fileset>
-    </jar>
-  </target>
-
-</project>
-
diff --git a/java-commons-dbcp-no-managed.patch b/java-commons-dbcp-no-managed.patch
new file mode 100644
index 0000000..4acb982
--- /dev/null
+++ b/java-commons-dbcp-no-managed.patch
@@ -0,0 +1,10 @@
+--- build.xml.orig	2026-04-04 21:44:52.859898693 +0200
++++ build.xml	2026-04-04 21:44:52.890453235 +0200
+@@ -200,6 +200,7 @@
+              unless="jndi.present"/>
+          <exclude name="org/apache/commons/dbcp/cpdsadapter/**"
+              unless="jndi.present"/>
++         <exclude name="org/apache/commons/dbcp/managed/**"/>
+       </javac>
+    </target>
+    
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/java-commons-dbcp.git/commitdiff/ef4577751f81f6ccd8a5e72450253ac3c97456bf



More information about the pld-cvs-commit mailing list