diff --git a/xapool-1.5.0-build.patch b/xapool-1.5.0-build.patch
new file mode 100644
index 0000000..92d2eb3
--- /dev/null
+++ b/xapool-1.5.0-build.patch
@@ -0,0 +1,20 @@
+--- build.xml 2012-04-22 17:46:46.430376816 +0200
++++ build.xml-gil 2012-04-22 17:41:12.211402170 +0200
+@@ -80,6 +80,8 @@
+ optimize="${compiler.optimize}">
+
+
++
++
+
+
+
+@@ -210,7 +212,7 @@
+ packagenames="org.enhydra.*"
+ destdir="${dist.jdoc}"
+ windowtitle="XAPool Developer Documentation"
+- author="true" version="true" use="true" >
++ author="true" version="true" use="true" source="1.4" >
+ XAPool Developer Documentation]]>
+
+
diff --git a/xapool-1.5.0-jdk7.patch b/xapool-1.5.0-jdk7.patch
new file mode 100644
index 0000000..eb783be
--- /dev/null
+++ b/xapool-1.5.0-jdk7.patch
@@ -0,0 +1,1038 @@
+diff -Nru xapool-1.5.0-src/build.xml xapool-1.5.0-src-gil/build.xml
+--- xapool-1.5.0-src/build.xml 2012-08-03 13:23:15.364427907 +0200
++++ xapool-1.5.0-src-gil/build.xml 2012-08-03 13:22:56.935336995 +0200
+@@ -73,6 +73,8 @@
+
++ author="true" version="true" use="true" source="1.5" >
+ XAPool Developer Documentation]]>
+
+
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/informix/InformixConnectionHandle.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/informix/InformixConnectionHandle.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/informix/InformixConnectionHandle.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/informix/InformixConnectionHandle.java 2012-05-08 09:47:11.343893353 +0200
+@@ -24,6 +24,8 @@
+ import org.enhydra.jdbc.standard.StandardConnectionHandle;
+
+ import java.util.Hashtable;
++import java.util.Properties;
++import java.sql.SQLClientInfoException;
+ import java.sql.SQLException;
+ import java.sql.Statement;
+
+@@ -53,4 +55,14 @@
+ stat.execute(sql);
+ }
+
++ public void setClientInfo(Properties properties) throws SQLClientInfoException {
++ // TODO
++ throw new SQLClientInfoException();
++ }
++
++ public void setClientInfo(String name, String value) throws SQLClientInfoException {
++ // TODO
++ throw new SQLClientInfoException();
++ }
++
+ }
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/pool/GenericPool.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/pool/GenericPool.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/pool/GenericPool.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/pool/GenericPool.java 2012-04-28 17:14:13.930153004 +0200
+@@ -416,10 +416,10 @@
+ public synchronized void checkIn(Object o) {
+ log.debug("GenericPool:checkIn return an object to the pool");
+
+- for (Enumeration enum = locked.keys();
+- enum.hasMoreElements();
++ for (Enumeration mune = locked.keys();
++ mune.hasMoreElements();
+ ) { // for each object of
+- GenerationObject obj = (GenerationObject) enum.nextElement();
++ GenerationObject obj = (GenerationObject) mune.nextElement();
+ // the locked pool
+
+ if (obj.getObj().equals(o)) {
+@@ -444,13 +444,13 @@
+ // if we have more than maxSize object in the pool
+ log.info(
+ "GenericPool:checkIn more than maxSize object in the pool");
+- Enumeration enum = unlocked.keys(); // get the unlocked pool
++ Enumeration mune = unlocked.keys(); // get the unlocked pool
+ for (int i = maxSize;
+ i < count;
+ i++) { // try to remove object from this pool
+ if (getUnlockedObjectCount() > 0) {
+ GenerationObject obj =
+- (GenerationObject) enum.nextElement();
++ (GenerationObject) mune.nextElement();
+ removeUnlockedObject(obj);
+ }
+ }
+@@ -511,12 +511,12 @@
+ log.info(
+ "GenericPool:setMaxSize pool has more than max element");
+ // we try to remove element from the unlocked pool
+- Enumeration enum = unlocked.keys();
++ Enumeration mune = unlocked.keys();
+ for (int i = max; i < count; i++) {
+ if (getUnlockedObjectCount() > 0) {
+ // if there is element in the unlocked pool
+ GenerationObject o =
+- (GenerationObject) enum.nextElement();
++ (GenerationObject) mune.nextElement();
+ removeUnlockedObject(o);
+ }
+ }
+@@ -696,10 +696,10 @@
+ }
+ long now = System.currentTimeMillis(); // current time
+ synchronized (this) {
+- for (Enumeration enum = unlocked.keys();
+- enum.hasMoreElements();
++ for (Enumeration mune = unlocked.keys();
++ mune.hasMoreElements();
+ ) { // for each object of the
+- GenerationObject o = (GenerationObject) enum.nextElement();
++ GenerationObject o = (GenerationObject) mune.nextElement();
+ // unlocked pool
+ long lasttouch = ((Long) unlocked.get(o)).longValue();
+ // birth day of the pool
+@@ -782,19 +782,19 @@
+ void expireAll() {
+ log.debug(
+ "GenericPool:expireAll close all object in the unlocked and locked structures");
+- for (Enumeration enum = unlocked.keys();
+- enum.hasMoreElements();
++ for (Enumeration mune = unlocked.keys();
++ mune.hasMoreElements();
+ ) { // for each object of
+- GenerationObject o = (GenerationObject) enum.nextElement();
++ GenerationObject o = (GenerationObject) mune.nextElement();
+ // the unlocked pool
+ poolHelper.expire(o.getObj()); // try to "kill" the object
+ o.killObject();
+ o = null;
+ }
+- for (Enumeration enum = locked.keys();
+- enum.hasMoreElements();
++ for (Enumeration mune = locked.keys();
++ mune.hasMoreElements();
+ ) { // for each object of
+- GenerationObject o = (GenerationObject) enum.nextElement();
++ GenerationObject o = (GenerationObject) mune.nextElement();
+ // the locked pool
+ poolHelper.expire(o.getObj()); // try to "kill" the object
+ o.killObject();
+@@ -810,20 +810,20 @@
+ public void nextGeneration(Object obj) {
+ log.debug("GenericPool:nextGeneration");
+ int genObj = 0;
+- for (Enumeration enum = locked.keys();
+- enum.hasMoreElements();
++ for (Enumeration mune = locked.keys();
++ mune.hasMoreElements();
+ ) { // for each object of
+- GenerationObject o = (GenerationObject) enum.nextElement();
++ GenerationObject o = (GenerationObject) mune.nextElement();
+ // the locked pool
+
+ if (o.getObj().equals(obj))
+ genObj = o.getGeneration(); // get the generation number
+ }
+
+- for (Enumeration enum = unlocked.keys();
+- enum.hasMoreElements();
++ for (Enumeration mune = unlocked.keys();
++ mune.hasMoreElements();
+ ) { // for each object of
+- GenerationObject o = (GenerationObject) enum.nextElement();
++ GenerationObject o = (GenerationObject) mune.nextElement();
+ // the unlocked pool
+
+ if (o.getGeneration() <= genObj) {
+@@ -844,10 +844,10 @@
+ */
+ synchronized public void removeLockedObject(Object obj) {
+ log.debug("GenericPool:removeObject remove an object");
+- for (Enumeration enum = locked.keys();
+- enum.hasMoreElements();
++ for (Enumeration mune = locked.keys();
++ mune.hasMoreElements();
+ ) { // for each object of
+- GenerationObject o = (GenerationObject) enum.nextElement();
++ GenerationObject o = (GenerationObject) mune.nextElement();
+ // the locked pool
+ if (o.getObj().equals(obj)) {
+ locked.remove(o); // remove the object from the locked pool
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/pool/StandardPoolDataSource.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/pool/StandardPoolDataSource.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/pool/StandardPoolDataSource.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/pool/StandardPoolDataSource.java 2012-04-28 17:58:34.694182580 +0200
+@@ -24,9 +24,11 @@
+ import java.io.PrintWriter;
+ import java.sql.Connection;
+ import java.sql.SQLException;
++import java.sql.SQLFeatureNotSupportedException;
+ import java.sql.Statement;
+ import java.util.Hashtable;
+
++import java.lang.NullPointerException;
+ import javax.naming.Context;
+ import javax.naming.InitialContext;
+ import javax.naming.Name;
+@@ -597,4 +599,18 @@
+ super.setThreadFactory(tf);
+ pool.setThreadFactory(tf);
+ }
++
++ public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
++ throw new NullPointerException();
++ }
++
++ public boolean isWrapperFor(Class> iface) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public T unwrap(Class iface) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
+ }
+\ Manca newline alla fine del file
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardConnectionHandle.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardConnectionHandle.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardConnectionHandle.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardConnectionHandle.java 2012-08-03 10:48:37.882646335 +0200
+@@ -21,11 +21,22 @@
+ */
+ package org.enhydra.jdbc.standard;
+
++import java.io.InputStream;
++
+ import java.sql.CallableStatement;
++import java.sql.Blob;
++import java.sql.Clob;
++import java.sql.NClob;
+ import java.sql.PreparedStatement;
++import java.sql.SQLClientInfoException;
+ import java.sql.SQLException;
++import java.sql.SQLFeatureNotSupportedException;
++import java.sql.SQLXML;
++import java.sql.Struct;
+ import java.util.Enumeration;
+ import java.util.Hashtable;
++import java.util.concurrent.Executor;
++import java.util.Properties;
+ import java.sql.Connection;
+ import org.enhydra.jdbc.core.CoreConnection;
+ import org.enhydra.jdbc.util.LRUCache;
+@@ -376,4 +387,100 @@
+ }
+ return null;
+ }
++
++ public int getNetworkTimeout() throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setNetworkTimeout(Executor executor, int timeout) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void abort(Executor executor) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public String getSchema() throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setSchema(String schema) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public Struct createStruct(String typeName,Object[] attributes) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public java.sql.Array createArrayOf(String typeName, Object[] elements)throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public Properties getClientInfo() throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public String getClientInfo(String name) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setClientInfo(Properties properties) throws SQLClientInfoException {
++ // TODO
++ throw new SQLClientInfoException();
++ }
++
++ public void setClientInfo(String name, String value) throws SQLClientInfoException {
++ // TODO
++ throw new RuntimeException("Not implemented method setClientInfo(String, String)");
++ }
++
++ public boolean isValid(int timeout) throws SQLException {
++ // TODO
++ throw new SQLClientInfoException();
++ }
++
++ public SQLXML createSQLXML() throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public NClob createNClob() throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public Blob createBlob() throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public Clob createClob() throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public boolean isWrapperFor(Class> iface) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public T unwrap(Class iface) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
+ }
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardConnectionPoolDataSource.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardConnectionPoolDataSource.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardConnectionPoolDataSource.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardConnectionPoolDataSource.java 2012-04-28 17:13:12.572152321 +0200
+@@ -22,10 +22,13 @@
+ package org.enhydra.jdbc.standard;
+
+ import java.sql.SQLException;
++import java.sql.SQLFeatureNotSupportedException;
++import java.lang.NullPointerException;
+ import java.util.Hashtable;
+ import javax.sql.ConnectionPoolDataSource;
+ import javax.sql.PooledConnection;
+ import java.util.Enumeration;
++import java.util.logging.Logger;
+ import org.enhydra.jdbc.util.LRUCache;
+
+ /**
+@@ -91,9 +94,9 @@
+ if (preparedStmtCacheSize <= 0) {
+ masterPrepStmtCache.clear();
+ } else {
+- Enumeration enum = masterPrepStmtCache.elements();
+- while (enum.hasMoreElements()) {
+- ((LRUCache) enum.nextElement()).resize(value);
++ Enumeration mune = masterPrepStmtCache.elements();
++ while (mune.hasMoreElements()) {
++ ((LRUCache) mune.nextElement()).resize(value);
+ }
+ }
+ }
+@@ -107,4 +110,10 @@
+
+ return sb.toString();
+ }
++
++ public Logger getParentLogger() throws SQLFeatureNotSupportedException {
++ throw new NullPointerException();
++ }
++
++
+ }
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardDataSource.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardDataSource.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardDataSource.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardDataSource.java 2012-04-28 17:53:48.056179394 +0200
+@@ -24,7 +24,9 @@
+ import java.sql.Connection;
+ import java.sql.DriverManager;
+ import java.sql.SQLException;
++import java.sql.SQLFeatureNotSupportedException;
+ import java.util.Hashtable;
++import java.lang.NullPointerException;
+ import javax.naming.Context;
+ import javax.naming.Name;
+ import javax.naming.NamingException;
+@@ -316,4 +318,18 @@
+ public int hashCode() {
+ return toString().hashCode();
+ }
++
++ public java.util.logging.Logger getParentLogger() throws SQLFeatureNotSupportedException {
++ throw new NullPointerException();
++ }
++
++ public boolean isWrapperFor(Class> iface) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public T unwrap(Class iface) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
+ }
+\ Manca newline alla fine del file
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardPooledConnection.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardPooledConnection.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardPooledConnection.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardPooledConnection.java 2012-05-08 10:03:19.926904119 +0200
+@@ -29,6 +29,7 @@
+ import javax.sql.ConnectionEvent;
+ import javax.sql.ConnectionEventListener;
+ import javax.sql.PooledConnection;
++import javax.sql.StatementEventListener;
+
+ /**
+ * Provides an implementation of javax.sql.PooledConnection which
+@@ -159,4 +160,12 @@
+
+ return sb.toString();
+ }
++
++ public void removeStatementEventListener(StatementEventListener listener) {
++ throw new UnsupportedOperationException();
++ }
++
++ public void addStatementEventListener(StatementEventListener listener) {
++ throw new UnsupportedOperationException();
++ }
+ }
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardPreparedStatement.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardPreparedStatement.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardPreparedStatement.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardPreparedStatement.java 2012-08-03 11:54:18.034344398 +0200
+@@ -21,10 +21,19 @@
+ */
+ package org.enhydra.jdbc.standard;
+
++import java.lang.Class;
++import java.sql.Blob;
++import java.sql.NClob;
+ import java.sql.PreparedStatement;
++import java.sql.RowId;
+ import java.sql.SQLException;
++import java.sql.SQLFeatureNotSupportedException;
++import java.sql.SQLXML;
+ import org.enhydra.jdbc.core.CorePreparedStatement;
+
++import java.io.InputStream;
++import java.io.Reader;
++
+ /**
+ * A very simple implementation of PreparedStatement. When created
+ * it is supplied with another PreparedStatement to which nearly all
+@@ -92,4 +101,132 @@
+ throw (sqlException);
+ }
+
++ public void setNClob(int parameterIndex, Reader reader) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setClob(int parameterIndex, Reader reader) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setBlob(String parameterName, Blob x) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setClob(int, Reader, long)");
++ }
++
++ public void setNClob(int parameterIndex, NClob value) throws SQLException {
++ throw new RuntimeException("Not implemented method setNClob(int,NClob)");
++ }
++
++ public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setNClob(int, Reader, long)");
++ }
++
++ public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
++ throw new RuntimeException("Not implemented method setNCharacterStream(int, Reader)");
++ }
++
++ public void setNCharacterStream(String parameterName, Reader value) throws SQLException {
++ throw new RuntimeException("Not implemented method setNCharacterStream(String, Reader)");
++ }
++
++ public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setNCharacterStream(int, Reader, long)");
++ }
++
++ public void setNString(int parameterIndex, String value) throws SQLException {
++ throw new RuntimeException("Not implemented method setNString(int, String)");
++ }
++
++ public void setNString(String parameterName, String value) throws SQLException {
++ throw new RuntimeException("Not implemented method setNString(String, String)");
++ }
++
++ public void setRowId(int parameterIndex, RowId x) throws SQLException {
++ throw new RuntimeException("Not implemented method setRowId(int, RowId)");
++ }
++
++ public void setRowId(String parameterName, RowId x) throws SQLException {
++ throw new RuntimeException("Not implemented method setRowId(String, RowId)");
++ }
++
++ public boolean isCloseOnCompletion() throws SQLException {
++ throw new RuntimeException("Not implemented method isCloseOnCompletion()");
++ }
++
++ public void closeOnCompletion() throws SQLException {
++ throw new RuntimeException("Not implemented method closeOnCompletion()");
++ }
++
++ public boolean isClosed() throws SQLException {
++ throw new RuntimeException("Not implemented method isClosed()");
++ }
++
++ public void setPoolable(boolean poolable) throws SQLException {
++ throw new RuntimeException("Not implemented method setPoolable(boolean)");
++ }
++
++ public boolean isPoolable() throws SQLException {
++ throw new RuntimeException("Not implemented method isPoolable()");
++ }
++
++ public T unwrap(Class iface) throws SQLException {
++ throw new RuntimeException("Not implemented method unwrap(Class)");
++ }
++
++ public boolean isWrapperFor(Class> iface) throws SQLException {
++ throw new RuntimeException("Not implemented method isWrapperFor(Class>)");
++ }
++
+ }
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardXACallableStatement.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardXACallableStatement.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardXACallableStatement.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardXACallableStatement.java 2012-08-03 13:17:12.409334432 +0200
+@@ -21,8 +21,18 @@
+ */
+ package org.enhydra.jdbc.standard;
+
+-import java.sql.SQLException;
++import java.io.InputStream;
++import java.io.Reader;
++import java.lang.Class;
++
++import java.sql.Blob;
+ import java.sql.CallableStatement;
++import java.sql.Clob;
++import java.sql.NClob;
++import java.sql.RowId;
++import java.sql.SQLException;
++import java.sql.SQLFeatureNotSupportedException;
++import java.sql.SQLXML;
+ import org.enhydra.jdbc.core.CoreCallableStatement;
+ import javax.transaction.Transaction;
+ import javax.transaction.SystemException;
+@@ -144,4 +154,242 @@
+ throw (sqlException);
+ }
+
++ public T getObject(String columnLabel, Class arg0) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public T getObject(int columnIndex, Class arg0) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public Reader getCharacterStream(int parameterIndex) throws SQLException {
++ throw new RuntimeException("Not implemented method getCharacterStream(int)");
++ }
++
++ public Reader getCharacterStream(String parameterName) throws SQLException {
++ throw new RuntimeException("Not implemented method getCharacterStream(String)");
++ }
++
++ public Reader getNCharacterStream(int parameterIndex) throws SQLException {
++ throw new RuntimeException("Not implemented method getNCharacterStream(int)");
++ }
++
++ public Reader getNCharacterStream(String parameterName) throws SQLException {
++ throw new RuntimeException("Not implemented method getNCharacterStream(String)");
++ }
++
++ public String getNString(int parameterIndex) throws SQLException {
++ throw new RuntimeException("Not implemented method getNString(int)");
++ }
++
++ public String getNString(String parameterName) throws SQLException {
++ throw new RuntimeException("Not implemented method getNString(String)");
++ }
++
++ public SQLXML getSQLXML(int parameterIndex) throws SQLException {
++ throw new RuntimeException("Not implemented method getSQLXML(int)");
++ }
++
++ public SQLXML getSQLXML(String parameterName) throws SQLException {
++ throw new RuntimeException("Not implemented method getSQLXML(String)");
++ }
++
++ public void setSQLXML(int parameterIndex, SQLXML xmlObject) throws SQLException {
++ throw new RuntimeException("Not implemented method setSQLXML(int, SQLXM)");
++ }
++
++ public void setSQLXML(String parameterName, SQLXML xmlObject) throws SQLException {
++ throw new RuntimeException("Not implemented method setSQLXML(String, SQLXML)");
++ }
++
++ public NClob getNClob(int parameterIndex) throws SQLException {
++ throw new RuntimeException("Not implemented method (int)");
++ }
++
++ public NClob getNClob(String parameterName) throws SQLException {
++ throw new RuntimeException("Not implemented method (String)");
++ }
++
++ public void setNClob(int parameterIndex, Reader reader) throws SQLException {
++ throw new RuntimeException("Not implemented method setNClob(int, Reader)");
++ }
++
++ public void setNClob(int parameterIndex, Reader reader, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setNClob(int, Reader, long)");
++ }
++
++ public void setNClob(String parameterName, Reader reader) throws SQLException {
++ throw new RuntimeException("Not implemented method setNClob(String, NClob)");
++ }
++
++ public void setNClob(int parameterIndex, NClob value) throws SQLException {
++ throw new RuntimeException("Not implemented method setNClob(int, NClob)");
++ }
++
++ public void setNClob(String parameterName, NClob value) throws SQLException {
++ throw new RuntimeException("Not implemented method setNClob(String, NClob)");
++ }
++
++ public void setNClob(String parameterName, Reader reader, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setNClob(String, Reader, long)");
++ }
++
++ public void setBlob(int parameterIndex, InputStream inputStream) throws SQLException {
++ throw new RuntimeException("Not implemented method setBlob(int, InputStream)");
++ }
++
++ public void setBlob(int parameterIndex, InputStream inputStream, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setBlob(int, InputStream, long)");
++ }
++
++ public void setBlob(String parameterName, InputStream inputStream) throws SQLException {
++ throw new RuntimeException("Not implemented method setBlob(String, InputStream)");
++ }
++
++ public void setBlob(String parameterName, InputStream inputStream, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setBlob(String, InputStream, long)");
++ }
++
++ public void setBlob(String parameterName, Blob x) throws SQLException {
++ throw new RuntimeException("Not implemented method setBlob(String, Blob)");
++ }
++
++ public void setClob(int parameterIndex, Reader reader) throws SQLException {
++ throw new RuntimeException("Not implemented method setClob(int, Reader)");
++ }
++
++ public void setClob(int parameterIndex, Reader reader, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setClob(int, Reader, long)");
++ }
++
++ public void setClob(String parameterName, Reader reader) throws SQLException {
++ throw new RuntimeException("Not implemented method setClob(String, Reader)");
++ }
++
++ public void setClob(String parameterName, Reader reader, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setClob(String, Reader, long)");
++ }
++
++ public void setClob(String parameterName, Clob x) throws SQLException {
++ throw new RuntimeException("Not implemented method setClob(String, Clob)");
++ }
++
++ public void setNCharacterStream(int parameterIndex, Reader value) throws SQLException {
++ throw new RuntimeException("Not implemented method setNCharacterStream(int, Reader)");
++ }
++
++ public void setNCharacterStream(int parameterIndex, Reader value, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setNCharacterStream(int, Reader, long)");
++ }
++
++ public void setNCharacterStream(String parameterName, Reader value) throws SQLException {
++ throw new RuntimeException("Not implemented method setNCharacterStream(String, Reader)");
++ }
++
++ public void setNCharacterStream(String parameterName, Reader value, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setNCharacterStream(String, Reader, long)");
++ }
++
++ public void setNString(int parameterIndex, String value) throws SQLException {
++ throw new RuntimeException("Not implemented method setNString(int, String)");
++ }
++
++ public void setNString(String parameterName, String value) throws SQLException {
++ throw new RuntimeException("Not implemented method setNString(String, String)");
++ }
++
++ public void setRowId(int parameterIndex, RowId x) throws SQLException {
++ throw new RuntimeException("Not implemented method setRowId(int, RowId)");
++ }
++
++ public void setRowId(String parameterName, RowId x) throws SQLException {
++ throw new RuntimeException("Not implemented method setRowId(String, RowId)");
++ }
++
++ public RowId getRowId(int parameterIndex) throws SQLException {
++ throw new RuntimeException("Not implemented method getRowId(int)");
++ }
++
++ public RowId getRowId(String parameterName) throws SQLException {
++ throw new RuntimeException("Not implemented method getRowId(String)");
++ }
++
++ public void setCharacterStream(int parameterIndex, Reader reader) throws SQLException {
++ throw new RuntimeException("Not implemented method setCharacterStream(int, Reader)");
++ }
++
++ public void setCharacterStream(int parameterIndex, Reader reader, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setCharacterStream(int, Reader, long)");
++ }
++
++ public void setCharacterStream(String parameterName, Reader reader) throws SQLException {
++ throw new RuntimeException("Not implemented method setCharacterStream(String, Reader)");
++ }
++
++ public void setCharacterStream(String parameterName, Reader reader, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setCharacterStream(String, Reader, long)");
++ }
++
++ public void setBinaryStream(int parameterIndex, InputStream x) throws SQLException {
++ throw new RuntimeException("Not implemented method setBinaryStream(int, InputStream)");
++ }
++
++ public void setBinaryStream(int parameterIndex, InputStream x, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setBinaryStream(int, InputStream, long)");
++ }
++
++ public void setBinaryStream(String parameterName, InputStream x) throws SQLException {
++ throw new RuntimeException("Not implemented method setBinaryStream(String, InputStream)");
++ }
++
++ public void setBinaryStream(String parameterName, InputStream x, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setBinaryStream(String, InputStream, long)");
++ }
++
++ public void setAsciiStream(int parameterIndex, InputStream x) throws SQLException {
++ throw new RuntimeException("Not implemented method setAsciiStream(int, InputStream)");
++ }
++
++ public void setAsciiStream(int parameterIndex, InputStream x, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setAsciiStream(int, InputStream, long)");
++ }
++
++ public void setAsciiStream(String parameterName, InputStream x) throws SQLException {
++ throw new RuntimeException("Not implemented method setAsciiStream(String, InputStream)");
++ }
++
++ public void setAsciiStream(String parameterName, InputStream x, long length) throws SQLException {
++ throw new RuntimeException("Not implemented method setAsciiStream(String, InputStream, long)");
++ }
++
++ public boolean isCloseOnCompletion() throws SQLException {
++ throw new RuntimeException("Not implemented method isCloseOnCompletion()");
++ }
++
++ public void closeOnCompletion() throws SQLException {
++ throw new RuntimeException("Not implemented method closeOnCompletion()");
++ }
++
++ public boolean isClosed() throws SQLException {
++ throw new RuntimeException("Not implemented method isClosed()");
++ }
++
++ public void setPoolable(boolean poolable) throws SQLException {
++ throw new RuntimeException("Not implemented method setPoolable(boolean)");
++ }
++
++ public boolean isPoolable() throws SQLException {
++ throw new RuntimeException("Not implemented method isPoolable()");
++ }
++
++ public T unwrap(Class iface) throws SQLException {
++ throw new RuntimeException("Not implemented method unwrap(Class)");
++ }
++
++ public boolean isWrapperFor(Class> iface) throws SQLException {
++ throw new RuntimeException("Not implemented method isWrapperFor(Class>)");
++ }
++
+ }
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardXAConnectionHandle.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardXAConnectionHandle.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardXAConnectionHandle.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardXAConnectionHandle.java 2012-05-08 09:55:22.663898813 +0200
+@@ -22,10 +22,12 @@
+ package org.enhydra.jdbc.standard;
+
+ import java.sql.PreparedStatement;
++import java.sql.SQLClientInfoException;
+ import java.sql.SQLException;
+ import java.sql.Statement;
+ import java.sql.CallableStatement;
+ import java.util.Hashtable;
++import java.util.Properties;
+ import javax.transaction.Transaction;
+ import javax.transaction.TransactionManager;
+ import javax.transaction.RollbackException;
+@@ -505,4 +507,14 @@
+
+ return sb.toString();
+ }
++
++ public void setClientInfo(Properties properties) throws SQLClientInfoException {
++ // TODO
++ throw new SQLClientInfoException();
++ }
++
++ public void setClientInfo(String name, String value) throws SQLClientInfoException {
++ // TODO
++ throw new SQLClientInfoException();
++ }
+ }
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardXAConnection.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardXAConnection.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardXAConnection.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardXAConnection.java 2012-05-08 10:13:22.135910813 +0200
+@@ -23,6 +23,7 @@
+
+ import java.sql.Connection;
+ import java.sql.SQLException;
++import javax.sql.StatementEventListener;
+ import javax.sql.XAConnection;
+ import javax.transaction.xa.XAException;
+ import javax.transaction.xa.XAResource;
+@@ -753,4 +754,13 @@
+ return sb.toString();
+
+ }
++
++ public void removeStatementEventListener(StatementEventListener listener) {
++ throw new UnsupportedOperationException();
++ }
++
++ public void addStatementEventListener(StatementEventListener listener) {
++ throw new UnsupportedOperationException();
++ }
++
+ }
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardXADataSource.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardXADataSource.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardXADataSource.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardXADataSource.java 2012-04-28 17:12:35.591151910 +0200
+@@ -170,10 +170,10 @@
+ deadConnections.putAll(xidConnections);
+
+ // now we'll just clear out the freeConnections
+- Enumeration enum = freeConnections.elements();
+- while (enum.hasMoreElements()) {
++ Enumeration mune = freeConnections.elements();
++ while (mune.hasMoreElements()) {
+ StandardXAStatefulConnection xasc =
+- (StandardXAStatefulConnection) enum.nextElement();
++ (StandardXAStatefulConnection) mune.nextElement();
+ try {
+ log.debug(
+ "StandardXADataSource:resetCache closing Connection:"
+@@ -562,10 +562,10 @@
+ + freeConnections.elementAt(i).toString()
+ + ">");
+ }
+- for (Enumeration enum = xidConnections.elements();
+- enum.hasMoreElements();
++ for (Enumeration mune = xidConnections.elements();
++ mune.hasMoreElements();
+ ) {
+- log.debug("xidConnection:<" + enum.nextElement().toString() + ">");
++ log.debug("xidConnection:<" + mune.nextElement().toString() + ">");
+ }
+
+ }
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardXAStatement.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardXAStatement.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/standard/StandardXAStatement.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/standard/StandardXAStatement.java 2012-04-28 18:46:52.018214786 +0200
+@@ -22,6 +22,7 @@
+ package org.enhydra.jdbc.standard;
+
+ import java.sql.SQLException;
++import java.sql.SQLFeatureNotSupportedException;
+ import java.sql.Statement;
+ import org.enhydra.jdbc.core.CoreStatement;
+
+@@ -77,4 +78,39 @@
+ throw (sqlException);
+ }
+
++ public boolean isCloseOnCompletion() throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void closeOnCompletion() throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public boolean isPoolable() throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public void setPoolable(boolean poolable) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public boolean isClosed() throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public boolean isWrapperFor(Class> iface) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
++ public T unwrap(Class iface) throws SQLException {
++ // TODO
++ throw new SQLFeatureNotSupportedException();
++ }
++
+ }
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/sybase/SybaseConnectionHandle.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/sybase/SybaseConnectionHandle.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/sybase/SybaseConnectionHandle.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/sybase/SybaseConnectionHandle.java 2012-05-08 09:48:39.896894336 +0200
+@@ -24,6 +24,8 @@
+ import org.enhydra.jdbc.standard.StandardConnectionHandle;
+
+ import java.util.Hashtable;
++import java.util.Properties;
++import java.sql.SQLClientInfoException;
+ import java.sql.SQLException;
+
+ public class SybaseConnectionHandle extends StandardConnectionHandle {
+@@ -42,4 +44,13 @@
+ }
+ }
+
++ public void setClientInfo(Properties properties) throws SQLClientInfoException {
++ // TODO
++ throw new SQLClientInfoException();
++ }
++
++ public void setClientInfo(String name, String value) throws SQLClientInfoException {
++ // TODO
++ throw new SQLClientInfoException();
++ }
+ }
+diff -Nru xapool-1.5.0-src/src/org/enhydra/jdbc/util/LRUCache.java xapool-1.5.0-src-gil/src/org/enhydra/jdbc/util/LRUCache.java
+--- xapool-1.5.0-src/src/org/enhydra/jdbc/util/LRUCache.java 2005-05-03 12:09:02.000000000 +0200
++++ xapool-1.5.0-src-gil/src/org/enhydra/jdbc/util/LRUCache.java 2012-04-28 17:11:45.623151354 +0200
+@@ -150,9 +150,9 @@
+ protected void cleanupObject(Object o) {}
+
+ public void cleanupAll() {
+- for (Enumeration enum = cache.keys();enum.hasMoreElements();) {
++ for (Enumeration mune = cache.keys();mune.hasMoreElements();) {
+
+- Object o = remove(enum.nextElement());
++ Object o = remove(mune.nextElement());
+ cleanupObject(o);
+
+ }
diff --git a/xapool-1.5.0-src-clean.tar.gz b/xapool-1.5.0-src-clean.tar.gz
new file mode 100644
index 0000000..14f5c3f
Binary files /dev/null and b/xapool-1.5.0-src-clean.tar.gz differ
diff --git a/xapool-1.5.0.pom b/xapool-1.5.0.pom
new file mode 100644
index 0000000..66d45ab
--- /dev/null
+++ b/xapool-1.5.0.pom
@@ -0,0 +1,6 @@
+
+ 4.0.0
+ com.experlog
+ xapool
+ 1.5.0
+
\ No newline at end of file
diff --git a/xapool.spec b/xapool.spec
new file mode 100644
index 0000000..5dfd964
--- /dev/null
+++ b/xapool.spec
@@ -0,0 +1,59 @@
+Name: xapool
+Version: 1.5.0
+Release: 14
+Summary: A series of open source code about XA JDBC Pool
+License: LGPLv2+
+URL: http://xapool.ow2.org/
+Source0: %{name}-%{version}-src-clean.tar.gz
+Source1: http://repo1.maven.org/maven2/com/experlog/%{name}/%{version}/%{name}-%{version}.pom
+Patch0000: %{name}-%{version}-build.patch
+Patch0001: %{name}-%{version}-jdk7.patch
+BuildRequires: ant apache-commons-logging geronimo-jta java-devel javapackages-local
+BuildArch: noarch
+
+%description
+XAPool is an XA database connection pool.XAPool implements javax.sql.XADataSource,
+and provides connection pooling facilities. XAPool allows to pool objects, JDBC
+connections and XA connections.
+
+%package help
+Summary: Help documents for xapool package
+Provides: %{name}-javadoc = %{version}-%{release}
+Obsoletes: %{name}-javadoc < %{version}-%{release}
+
+%description help
+Help documents for xapool package.
+
+%prep
+%autosetup -n %{name}-%{version}-src -p1
+find . -name "*.jar" -delete
+find . -name "*.class" -delete
+find . -name "*.java~" -delete
+
+rm -rf $(find . -name "CVS")
+
+sed -i "s|Class-Path: idb.jar classes12.jar jta-spec1_0_1.jar log4j.jar \
+commons-logging.jar p6psy.jar||" archive/xapool.mf
+
+ln -sf $(build-classpath commons-logging) externals/
+ln -sf $(build-classpath geronimo-jta) externals/
+
+rm -r src/org/enhydra/jdbc/instantdb src/org/enhydra/jdbc/oracle
+
+%mvn_file com.experlog:%{name} %{name}
+
+%build
+ant dist
+
+%install
+%mvn_artifact %{SOURCE1} output/dist/lib/%{name}.jar
+%mvn_install -J output/dist/jdoc
+
+%files -f .mfiles
+
+%files help -f .mfiles-javadoc
+%doc README.txt
+
+%changelog
+* Fri Dec 20 2019 wutao - 1.5.0-14
+- Package init