[jboss-svn-commits] JBL Code SVN: r26417 - in labs/jbosstm/trunk: ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc and 12 other directories.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Thu May 7 08:13:21 EDT 2009


Author: jhalliday
Date: 2009-05-07 08:13:20 -0400 (Thu, 07 May 2009)
New Revision: 26417

Modified:
   labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/StateManager.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionImple.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionManager.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/DirectRecoverableConnection.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/IndirectRecoverableConnection.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/cloudscape_3_6.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_8_1.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_9_0.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_jndi.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/oracle_8_1_6.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/sequelink_5_1.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/recovery/JDBCXARecovery.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/recovery/OracleXARecovery.java
   labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/jdbc/common/jdbcPropertyManager.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAOnePhaseResource.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/BaseTransaction.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionManagerImple.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/XATerminatorImple.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/subordinate/TransactionImple.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/jtaPropertyManager.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/exceptions/NotImplementedException.java
   labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/xa/XidImple.java
   labs/jbosstm/trunk/ArjunaJTA/tsmx/bin/com/arjuna/ats/tools/objectstorebrowser/rootprovider/InFlightTransactionPseudoStore.java
Log:
Improve exception chaining. JBTM-545


Modified: labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/StateManager.java
===================================================================
--- labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/StateManager.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaCore/arjuna/classes/com/arjuna/ats/arjuna/StateManager.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -715,7 +715,9 @@
 	}
 	catch (Exception e)
 	{
-	    throw new IOException(e.toString(), e);
+        IOException ioException = new IOException(e.toString());
+        ioException.initCause(e);
+        throw ioException;
 	}
     }
 

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionImple.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionImple.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionImple.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -385,9 +385,11 @@
 		{
 			e1.printStackTrace();
 
-			throw new SQLException(jdbcLogger.logMesg
+            SQLException sqlException = new SQLException(jdbcLogger.logMesg
 					.getString("com.arjuna.ats.internal.jdbc.closeerror")
 					+ e1);
+            sqlException.initCause(e1);
+            throw sqlException;
 		}
 	}
 
@@ -730,10 +732,12 @@
 									{ "ConnectionImple.getConnection", e });
 				}
 
-				throw new SQLException(
+                SQLException sqlException = new SQLException(
 						jdbcLogger.logMesg
 								.getString("com.arjuna.ats.internal.jdbc.conniniterror")
 								+ ":" + e);
+                sqlException.initCause(e);
+                throw sqlException;
 			}
 
 			return _theConnection;
@@ -763,7 +767,9 @@
 		}
 		catch (Exception e)
 		{
-			throw new SQLException(e.toString());
+            SQLException sqlException = new SQLException(e.toString());
+            sqlException.initCause(e);
+            throw sqlException;
 		}
 	}
 
@@ -861,7 +867,9 @@
 											{ "ConnectionImple.registerDatabase" });
 						}
 
-						throw new SQLException(e.toString());
+                        SQLException sqlException = new SQLException(e.toString());
+                        sqlException.initCause(e);
+						throw sqlException;
 					}
 
 					throw new SQLException(
@@ -877,13 +885,15 @@
 			}
 			catch (RollbackException e1)
 			{
-				throw new SQLException("ConnectionImple.registerDatabase - "
-						+ e1);
+                SQLException sqlException = new SQLException("ConnectionImple.registerDatabase - " + e1);
+                sqlException.initCause(e1);
+				throw sqlException;
 			}
 			catch (SystemException e2)
 			{
-				throw new SQLException("ConnectionImple.registerDatabase - "
-						+ e2);
+                SQLException sqlException = new SQLException("ConnectionImple.registerDatabase - "+ e2);
+                sqlException.initCause(e2);
+                throw sqlException;
 			}
 			catch (SQLException e3)
 			{
@@ -891,7 +901,9 @@
 			}
 			catch (Exception e4)
 			{
-				throw new SQLException(e4.toString());
+                SQLException sqlException = new SQLException(e4.toString());
+                sqlException.initCause(e4);
+                throw sqlException;
 			}
 		}
 	}
@@ -945,8 +957,10 @@
 		}
 		catch (Exception e3)
 		{
-			throw new SQLException(jdbcLogger.logMesg
+            SQLException sqlException = new SQLException(jdbcLogger.logMesg
 					.getString("com.arjuna.ats.internal.jdbc.infoerror"));
+            sqlException.initCause(e3);
+            throw sqlException;
 		}
 	}
 

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionManager.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionManager.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/ConnectionManager.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -104,7 +104,9 @@
                 catch (Exception ex)
                 {
                     ex.printStackTrace();
-                    throw new SQLException(ex.getMessage());
+                    SQLException sqlException = new SQLException(ex.getMessage());
+                    sqlException.initCause(ex);
+                    throw sqlException;
                 }
             }
         }
@@ -138,7 +140,9 @@
                 {
                     jdbcLogger.logger.error(jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.nojdbcimple")+exception.toString());
                 }
-                throw new SQLException(jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.nojdbcimple")+exception.toString());
+                SQLException sqlException = new SQLException(jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.nojdbcimple")+exception.toString());
+                sqlException.initCause(e);
+                throw sqlException;
             }
         }
 

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/DirectRecoverableConnection.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/DirectRecoverableConnection.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/DirectRecoverableConnection.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -24,7 +24,7 @@
  * Arjuna Solutions Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
- * UK.  
+ * UK.
  *
  * $Id: DirectRecoverableConnection.java 2342 2006-03-30 13:06:17Z  $
  */
@@ -85,7 +85,7 @@
 	_theArjunaConnection = null;
 	_theModifier = null;
     }
-    
+
     public DirectRecoverableConnection (String dbName, String user,
 				      String passwd, String dynamic,
 				      ConnectionImple conn) throws SQLException
@@ -155,7 +155,7 @@
 	    return false;
 	}
     }
-    
+
     public boolean unpackFrom (InputObjectState os)
     {
 	if (jdbcLogger.logger.isDebugEnabled())
@@ -170,7 +170,7 @@
 	    _user = os.unpackString();
 	    _passwd = os.unpackString();
 	    _dynamic = os.unpackString();
-	    
+
 	    return true;
 	}
 	catch (Exception e)
@@ -186,11 +186,11 @@
 	    if (_theTransaction == null)
 	    {
 		_theTransaction = tx;
-	    
+
 		return true;
 	    }
 	}
-	
+
 	/*
 	 * In case we have already set it for this transaction.
 	 */
@@ -201,7 +201,7 @@
     public boolean validTransaction (javax.transaction.Transaction tx)
     {
 	boolean valid = true;
-	
+
 	if (_theTransaction != null)
 	    valid = _theTransaction.equals(tx);
 
@@ -230,8 +230,10 @@
 	catch (Exception e)
 	{
 	    e.printStackTrace();
-	    
-	    throw new SQLException(e.toString());
+
+        SQLException sqlException = new SQLException(e.toString());
+        sqlException.initCause(e);
+        throw sqlException;
 	}
     }
 
@@ -249,7 +251,7 @@
 	_theXAResource = null;
 	_theTransaction = null;
     }
-    
+
     /**
      * If there is a connection then return it. Do not create a
      * new connection otherwise.
@@ -295,11 +297,13 @@
 	catch (Exception e)
 	{
 	    e.printStackTrace();
-	    
-	    throw new SQLException(e.toString());
+
+        SQLException sqlException = new SQLException(e.toString());
+        sqlException.initCause(e);
+	    throw sqlException;
 	}
     }
-    
+
     public XADataSource getDataSource () throws SQLException
     {
 	if (jdbcLogger.logger.isDebugEnabled())
@@ -320,7 +324,7 @@
     {
 	return _user;
     }
-    
+
     public String password ()
     {
 	return _passwd;
@@ -330,7 +334,7 @@
     {
 	return _dbName;
     }
-    
+
     public String dynamicClass ()
     {
 	return _dynamic;
@@ -353,7 +357,7 @@
 	if (_theModifier != null)
 	    _dbName = _theModifier.initialise(_dbName);
     }
-    
+
     /**
      * @message com.arjuna.ats.internal.jdbc.dynamicerror No dynamic class specified!
      */
@@ -407,8 +411,10 @@
 	    catch (Exception e)
 	    {
 		e.printStackTrace();
-		
-		throw new SQLException(e.toString());
+
+            SQLException sqlException = new SQLException(e.toString());
+            sqlException.initCause(e);
+    		throw sqlException; 
 	    }
 	}
     }

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/IndirectRecoverableConnection.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/IndirectRecoverableConnection.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/IndirectRecoverableConnection.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -209,7 +209,9 @@
 	}
 	catch (Exception e)
 	{
-	    throw new SQLException(e.toString());
+        SQLException sqlException = new SQLException(e.toString());
+        sqlException.initCause(e);
+	    throw sqlException;
 	}
     }
 
@@ -303,8 +305,9 @@
 	{
 	    e.printStackTrace();
 
-	    throw new SQLException(e.toString());
-	}
+        SQLException sqlException = new SQLException(e.toString());
+        sqlException.initCause(e);
+	    throw sqlException;	}
     }
 
     public XADataSource getDataSource () throws SQLException
@@ -410,8 +413,9 @@
 	{
 	    e.printStackTrace();
 
-	    throw new SQLException(e.toString());
-	}
+        SQLException sqlException = new SQLException(e.toString());
+        sqlException.initCause(e);
+	    throw sqlException;	}
     }
 
     private final void createConnection () throws SQLException
@@ -434,8 +438,9 @@
 	{
 	    e.printStackTrace();
 
-	    throw new SQLException(e.toString());
-	}
+        SQLException sqlException = new SQLException(e.toString());
+        sqlException.initCause(e);
+	    throw sqlException;	}
     }
 
     /*

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/cloudscape_3_6.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/cloudscape_3_6.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/cloudscape_3_6.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -24,7 +24,7 @@
  * Arjuna Solutions Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
- * UK.  
+ * UK.
  *
  * $Id: cloudscape_3_6.java 2342 2006-03-30 13:06:17Z  $
  */
@@ -98,7 +98,7 @@
 
 		if (create)
 		    xads.setCreateDatabase("create");
-	    
+
 		return (XADataSource) xads;
 	    }
 	}
@@ -108,10 +108,12 @@
 	}
 	catch (Exception e2)
 	{
-	    throw new SQLException("cloudscape_3_6 "+jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.drivers.exception")+e2);
+        SQLException sqlException = new SQLException("cloudscape_3_6 "+jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.drivers.exception")+e2);
+        sqlException.initCause(e2);
+	    throw sqlException;
 	}
     }
-    
+
     public synchronized void shutdownDataSource (XADataSource ds) throws SQLException
     {
 	try
@@ -122,11 +124,13 @@
 	}
 	catch (Exception e)
 	{
-	    throw new SQLException("cloudscape_3_6 "+jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.drivers.exception")+e);
+        SQLException sqlException = new SQLException("cloudscape_3_6 "+jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.drivers.exception")+e);
+        sqlException.initCause(e);
+	    throw sqlException;
 	}
     }
 
     private static final String driverName = "cloudscape:";
     private static final String semicolon = ";";
-    
+
 }

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_8_1.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_8_1.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_8_1.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -24,7 +24,7 @@
  * Arjuna Solutions Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
- * UK.  
+ * UK.
  *
  * $Id: oracle_8_1.java 2342 2006-03-30 13:06:17Z  $
  */
@@ -58,7 +58,7 @@
     {
 	int index = dbName.indexOf(extensions.reuseConnectionTrue);
 	int end = extensions.reuseConnectionTrue.length();
-	
+
 	if (index != -1)
 	    _reuseConnection  = true;
 	else
@@ -76,7 +76,7 @@
 	else
 	    return dbName.substring(end + 1);  // remember colon
     }
-    
+
     public Xid createXid (XidImple xid) throws SQLException, NotImplementedException
     {
 	try
@@ -86,7 +86,9 @@
 	}
 	catch (Exception e)
 	{
-	    throw new SQLException(e.toString());
+        SQLException sqlException = new SQLException(e.toString());
+        sqlException.initCause(e);
+	    throw sqlException;
 	}
     }
 
@@ -111,7 +113,7 @@
 		{
 		}
 	    }
-	    
+
 	    return null;
 	}
     }
@@ -146,7 +148,7 @@
 	    }
 	}
     }
-    
+
     private boolean _reuseConnection = true;
- 
+
 }

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_9_0.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_9_0.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_9_0.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -24,7 +24,7 @@
  * Arjuna Solutions Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
- * UK.  
+ * UK.
  *
  * $Id: oracle_9_0.java 2342 2006-03-30 13:06:17Z  $
  */
@@ -58,7 +58,7 @@
     {
 	int index = dbName.indexOf(extensions.reuseConnectionTrue);
 	int end = extensions.reuseConnectionTrue.length();
-	
+
 	if (index != -1)
 	    _reuseConnection  = true;
 	else
@@ -76,7 +76,7 @@
 	else
 	    return dbName.substring(end + 1);  // remember colon
     }
-    
+
     public Xid createXid (XidImple xid) throws SQLException, NotImplementedException
     {
 	try
@@ -86,7 +86,9 @@
 	}
 	catch (Exception e)
 	{
-	    throw new SQLException(e.toString());
+        SQLException sqlException = new SQLException(e.toString());
+        sqlException.initCause(e);
+	    throw sqlException;
 	}
     }
 
@@ -102,7 +104,7 @@
     }
 
     /**
-     * @message com.arjuna.ats.internal.jdbc.drivers.modifiers.notSupported Oracle does not support isolation level 
+     * @message com.arjuna.ats.internal.jdbc.drivers.modifiers.notSupported Oracle does not support isolation level
      */
 
     public void setIsolationLevel (Connection conn, int level) throws SQLException, NotImplementedException
@@ -125,11 +127,11 @@
 
 	_isolationLevel = level;
     }
-    
+
     public int xaStartParameters (int level) throws SQLException, NotImplementedException
     {
 	int extraFlag = 0;
-	
+
 	switch (_isolationLevel)
 	{
 	case Connection.TRANSACTION_SERIALIZABLE:

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_jndi.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_jndi.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/modifiers/oracle_jndi.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -24,7 +24,7 @@
  * Arjuna Technologies Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
- * UK.  
+ * UK.
  *
  * $Id: oracle_jndi.java 2342 2006-03-30 13:06:17Z  $
  */
@@ -59,7 +59,7 @@
     {
 	int index = dbName.indexOf(extensions.reuseConnectionTrue);
 	int end = extensions.reuseConnectionTrue.length();
-	
+
 	if (index != -1)
 	    _reuseConnection  = false;
 	else
@@ -77,7 +77,7 @@
 	else
 	    return dbName.substring(end + 1);  // remember colon
     }
-    
+
     public Xid createXid (XidImple xid) throws SQLException, NotImplementedException
     {
 	try
@@ -87,7 +87,9 @@
 	}
 	catch (Exception e)
 	{
-	    throw new SQLException(e.toString());
+        SQLException sqlException = new SQLException(e.toString());
+        sqlException.initCause(e);
+	    throw sqlException;
 	}
     }
 
@@ -126,7 +128,7 @@
 	    conn.setTransactionIsolation(level);
 
     }
-    
+
     private boolean _reuseConnection = false;
- 
+
 }

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/oracle_8_1_6.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/oracle_8_1_6.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/oracle_8_1_6.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -24,7 +24,7 @@
  * Arjuna Solutions Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
- * UK.  
+ * UK.
  *
  * $Id: oracle_8_1_6.java 2342 2006-03-30 13:06:17Z  $
  */
@@ -58,19 +58,19 @@
     public oracle_8_1_6 ()
     {
     }
-    
+
     public XADataSource getDataSource (String dbName) throws SQLException
     {
 	return getDataSource(dbName, true);
     }
-    
+
     public synchronized XADataSource getDataSource (String dbName, boolean create) throws SQLException
     {
 	try
 	{
 	    OracleXADataSource xads = new OracleXADataSource();
 	    int index1 = dbName.indexOf(oracle_8_1_6.driverName);
-	    
+
 	    if (index1 == -1)
 	    {
 		throw new SQLException("oracle_8_1_6.getDataSource - "+jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.drivers.invaliddb")+" Oracle");
@@ -110,15 +110,17 @@
 	}
 	catch (Exception e2)
 	{
-	    throw new SQLException("oracle_8_1_6 "+jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.drivers.exception")+e2);
+        SQLException sqlException = new SQLException("oracle_8_1_6 "+jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.drivers.exception")+e2);
+        sqlException.initCause(e2);
+	    throw sqlException;
 	}
     }
-    
+
     public synchronized void shutdownDataSource (XADataSource ds) throws SQLException
     {
     }
 
     private static final String driverName = "oracle:";
     private static final String semicolon = ";";
-    
+
 }

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/sequelink_5_1.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/sequelink_5_1.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/drivers/sequelink_5_1.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -24,7 +24,7 @@
  * Arjuna Solutions Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
- * UK.  
+ * UK.
  *
  * $Id: sequelink_5_1.java 2342 2006-03-30 13:06:17Z  $
  */
@@ -55,19 +55,19 @@
     public sequelink_5_1 ()
     {
     }
-    
+
     public XADataSource getDataSource (String dbName) throws SQLException
     {
 	return getDataSource(dbName, true);
     }
-    
+
     public synchronized XADataSource getDataSource (String dbName, boolean create) throws SQLException
     {
 	try
 	{
 	    SequeLinkDataSource xads = new SequeLinkDataSource();
 	    int index1 = dbName.indexOf(sequelink_5_1.driverName);
-	    
+
 	    if (index1 == -1)
 		throw new SQLException("sequelink_5_1.getDataSource - "+jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.drivers.invaliddb")+" Merant");
 	    else
@@ -98,11 +98,11 @@
 		String theDbName = null;
 
 		index1 = dbName.indexOf(sequelink_5_1.databaseName);
-		    
+
 		if (index1 != -1)
 		{
 		    index2 = dbName.indexOf(sequelink_5_1.semicolon, index1);
-		    
+
 		    if (index2 == -1)
 		    {
 			theDbName = dbName.substring(index1+sequelink_5_1.databaseName.length());
@@ -117,18 +117,20 @@
 		    xads.setDatabaseName(theDbName);
 
 		index1 = theUrl.indexOf(sequelink_5_1.colon);
-		
+
 		if (index1 != -1)
 		{
 		    try
 		    {
 			Integer i = new Integer(theUrl.substring(index1+1));
-			
+
 			thePort = i.intValue();
 		    }
 		    catch (Exception e)
 		    {
-			throw new SQLException(e.toString());
+                SQLException sqlException = new SQLException(e.toString());
+                sqlException.initCause(e);
+                throw sqlException;
 		    }
 
 		    theServer = theUrl.substring(0, index1);
@@ -137,7 +139,7 @@
 		{
 		    theServer = theUrl;
 		}
-		
+
 		xads.setServerName(theServer);
 		xads.setPortNumber(thePort);
 
@@ -150,10 +152,12 @@
 	}
 	catch (Exception e2)
 	{
-	    throw new SQLException("sequelink_5_1 "+jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.drivers.exception")+e2);
+	    SQLException sqlException = new SQLException("sequelink_5_1 "+jdbcLogger.logMesg.getString("com.arjuna.ats.internal.jdbc.drivers.exception")+e2);
+        sqlException.initCause(e2);
+        throw sqlException;
 	}
     }
-    
+
     public synchronized void shutdownDataSource (XADataSource ds) throws SQLException
     {
     }

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/recovery/JDBCXARecovery.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/recovery/JDBCXARecovery.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/recovery/JDBCXARecovery.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -47,7 +47,7 @@
 /**
  * This provides recovery for compliant JDBC drivers. It is not meant to be
  * implementation specific.
- * 
+ *
  * Users are responsible for deploying an appropriate XADataSource into JNDI and
  * then providing the relevant JNDI lookup information in a property file to an
  * instance of this class. Username and password values may also be provided in
@@ -81,7 +81,7 @@
      * The recovery module will have chopped off this class name already. The
      * parameter should specify a property file from which the jndi name, user name,
      * password can be read.
-     * 
+     *
      * @message com.arjuna.ats.internal.jdbc.recovery.xa.initexp An exception
      *          occurred during initialisation.
      */
@@ -144,7 +144,7 @@
             {
                 return false;
             }
-        
+
         if (_dataSource != null)
         {
             _hasMoreResources = ! _hasMoreResources;
@@ -158,7 +158,7 @@
     /**
      * Lookup the XADataSource in JNDI. We got the relevant information from the
      * property file provided at input to this instance.
-     * 
+     *
      * @message com.arjuna.ats.internal.jdbc.xa.recjndierror Could not resolve JNDI
      *          XADataSource
      */
@@ -187,7 +187,9 @@
         {
             e.printStackTrace();
 
-            throw new SQLException(e.toString());
+            SQLException sqlException = new SQLException(e.toString());
+            sqlException.initCause(e);
+            throw sqlException;
         }
     }
 
@@ -223,7 +225,9 @@
         {
             e.printStackTrace();
 
-            throw new SQLException(e.toString());
+            SQLException sqlException = new SQLException(e.toString());
+            sqlException.initCause(e);
+            throw sqlException;
         }
     }
 

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/recovery/OracleXARecovery.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/recovery/OracleXARecovery.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/internal/jdbc/recovery/OracleXARecovery.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, JBoss Inc., and others contributors as indicated 
- * by the @authors tag. All rights reserved. 
+ * Copyright 2006, JBoss Inc., and others contributors as indicated
+ * by the @authors tag. All rights reserved.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -45,8 +45,8 @@
 
 /**
  * This provides resource recovery for Oracle JDBC drivers.
- * 
- * Users are responsible for DataSource creation information in a property file to 
+ *
+ * Users are responsible for DataSource creation information in a property file to
  * setup this class. Username and password values may also be provided in
  * the same property file.
  */
@@ -76,7 +76,7 @@
      * The recovery module will have chopped off this class name already. The
      * parameter should specify a property file from which the url, user name,
      * password can be read.
-     * 
+     *
      * @message com.arjuna.ats.internal.jdbc.recovery.oracle.initexp An exception
      *          occurred during initialisation.
      */
@@ -139,7 +139,7 @@
             {
                 return false;
             }
-        
+
         if (_dataSource != null)
         {
             _hasMoreResources = ! _hasMoreResources;
@@ -153,7 +153,7 @@
     /**
      * Creating and initalising an OracleXADataSource instance. We got the relevant information from the
      * property file provided at input to this instance.
-     * 
+     *
      * @message com.arjuna.ats.internal.jdbc.oracle.recjndierror Could not resolve JNDI
      *          XADataSource
      */
@@ -184,7 +184,9 @@
         {
             e.printStackTrace();
 
-            throw new SQLException(e.toString());
+            SQLException sqlException = new SQLException(e.toString());
+            sqlException.initCause(e);
+            throw sqlException;
         }
     }
 
@@ -220,7 +222,9 @@
         {
             e.printStackTrace();
 
-            throw new SQLException(e.toString());
+            SQLException sqlException = new SQLException(e.toString());
+            sqlException.initCause(e);
+            throw sqlException;
         }
     }
 
@@ -238,7 +242,7 @@
             _connection = null;
         }
     }
-    
+
     private XAConnection                 _connection;
     private XADataSource                 _dataSource;
     private LocalConnectionEventListener _connectionEventListener;

Modified: labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/jdbc/common/jdbcPropertyManager.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/jdbc/common/jdbcPropertyManager.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jdbc/classes/com/arjuna/ats/jdbc/common/jdbcPropertyManager.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -68,7 +68,7 @@
         }
         catch (Exception e)
         {
-            throw new ExceptionInInitializerError(e.toString());
+            throw new ExceptionInInitializerError(e);
         }
     }
 }

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAOnePhaseResource.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAOnePhaseResource.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/resources/arjunacore/XAOnePhaseResource.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -54,7 +54,7 @@
 import com.arjuna.common.util.logging.VisibilityLevel;
 
 /**
- * One Phase resource wrapper for XAResources. 
+ * One Phase resource wrapper for XAResources.
  * @author Kevin Conner (Kevin.Conner at arjuna.com)
  * @version $Id$
  * @since ATS 4.1
@@ -73,14 +73,14 @@
      * The transaction identified.
      */
     private Xid xid ;
-    
+
     /**
      * Default constructor for deserialising resource.
      */
     public XAOnePhaseResource()
     {
     }
-    
+
     /**
      * Construct the one phase wrapper for the specified resource.
      * @param xaResource The XA resource being wrapped.
@@ -151,7 +151,7 @@
     /**
      * Pack the state of the resource.
      * @param os The object output state.
-     * 
+     *
      * @message com.arjuna.ats.internal.jta.resources.arjunacore.XAOnePhaseResource.pack
      * failed to serialise resource {0}
      */
@@ -187,7 +187,9 @@
                 {
                     jtaLogger.logger.warn(message);
                 }
-                throw new IOException(message) ;
+                IOException ioException = new IOException(message);
+                ioException.initCause(ioe);
+                throw ioException;
             }
             os.packBytes(data) ;
         }
@@ -196,10 +198,10 @@
     /**
      * Unpack the state of the resource.
      * @param is The object input state.
-     * 
+     *
      * @message com.arjuna.ats.internal.jta.resources.arjunacore.XAOnePhaseResource.unpack
      * failed to deserialise resource {0}
-     *      
+     *
      * @message com.arjuna.ats.internal.jta.resources.arjunacore.XAOnePhaseResource.unpackType
      * Unknown recovery type {0}
      */
@@ -222,7 +224,7 @@
                 {
                     throw generateUnpackError(cnfe) ;
                 }
-    
+
                 try
                 {
                     recoverableXAConnection = (RecoverableXAConnection)recoverableXAConnectionClass.newInstance() ;
@@ -235,7 +237,7 @@
                 {
                     throw generateUnpackError(iae) ;
                 }
-                
+
                 recoverableXAConnection.unpackFrom(is) ;
                 try
                 {
@@ -278,7 +280,7 @@
                 throw new IOException(message) ;
         }
     }
-    
+
     /**
      * Generate the IOException for the corresponding unpack exception.
      * @param ex The exception caught in unpack.

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/BaseTransaction.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/BaseTransaction.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/BaseTransaction.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -41,6 +41,7 @@
 import java.util.Hashtable;
 
 import javax.transaction.NotSupportedException;
+import javax.transaction.SystemException;
 
 import java.lang.IllegalStateException;
 
@@ -77,11 +78,15 @@
 			}
 			catch (IllegalStateException e1)
 			{
-				throw new NotSupportedException(e1.getMessage());
+                NotSupportedException notSupportedException = new NotSupportedException(e1.getMessage());
+                notSupportedException.initCause(e1);
+                throw notSupportedException;
 			}
 			catch (Exception e2)
 			{
-				throw new javax.transaction.SystemException(e2.toString());
+                javax.transaction.SystemException systemException = new javax.transaction.SystemException(e2.toString());
+                systemException.initCause(e2);
+                throw systemException;
 			}
 		}
 
@@ -106,7 +111,7 @@
 	 * other resources, this is then the same as having simply been forced to
 	 * rollback the transaction during phase 1. The OTS interfaces do not allow
 	 * a differentiation.
-	 * 
+	 *
 	 * @message com.arjuna.ats.internal.jta.transaction.arjunacore.cmfailunknownstatus
 	 *          [com.arjuna.ats.internal.jta.transaction.arjunacore.cmfailunknownstatus]
 	 *          commit failed with status:
@@ -253,30 +258,34 @@
 					com.arjuna.ats.jta.logging.FacilityCode.FAC_JTA,
 					"BaseTransaction.createSubordinate");
 		}
-		
+
 		try
 		{
 			checkTransactionState();
 		}
 		catch (IllegalStateException e1)
 		{
-			throw new NotSupportedException();
+            NotSupportedException notSupportedException = new NotSupportedException();
+            notSupportedException.initCause(e1);
+            throw notSupportedException;
 		}
 		catch (Exception e2)
 		{
-			throw new javax.transaction.SystemException(e2.toString());
+            javax.transaction.SystemException systemException = new javax.transaction.SystemException(e2.toString());
+            systemException.initCause(e2);
+            throw systemException;
 		}
-		
+
 		Integer value = _timeouts.get();
 		int v = 0; // if not set then assume 0. What else can we do?
-		
+
 		if (value != null)
 		{
 			v = value.intValue();
 		}
-		
+
 		// TODO set default timeout
-		
+
 		return new com.arjuna.ats.internal.jta.transaction.arjunacore.subordinate.TransactionImple(v);
 	}
 
@@ -287,7 +296,7 @@
 	/**
 	 * Called when we want to make sure this thread does not already have a
 	 * transaction associated with it.
-	 * 
+	 *
 	 * @message com.arjuna.ats.internal.jta.transaction.arjunacore.alreadyassociated
 	 *          [com.arjuna.ats.internal.jta.transaction.arjunacore.alreadyassociated]
 	 *          thread is already associated with a transaction!
@@ -302,7 +311,7 @@
 
 		if (theTransaction == null)
 			return;
-		else 
+		else
 		{
 			if ((theTransaction.getStatus() != javax.transaction.Status.STATUS_NO_TRANSACTION)
 					&& !_supportSubtransactions)

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionManagerImple.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionManagerImple.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/TransactionManagerImple.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,28 +1,28 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
 /*
  * Copyright (C) 2002,
- * 
+ *
  * Hewlett-Packard Arjuna Labs, Newcastle upon Tyne, Tyne and Wear, UK.
- * 
+ *
  * $Id: TransactionManagerImple.java 2342 2006-03-30 13:06:17Z  $
  */
 
@@ -80,7 +80,9 @@
 		}
 		catch (Exception e)
 		{
-			throw new javax.transaction.SystemException(e.toString());
+            javax.transaction.SystemException systemException = new javax.transaction.SystemException(e.toString());
+            systemException.initCause(e);
+            throw systemException;
 		}
 	}
 
@@ -106,7 +108,7 @@
 		 * If we are here then there is no transaction associated with the
 		 * thread.
 		 */
-		
+
 		if ((which == null) || (which instanceof TransactionImple))
 		{
 		    TransactionImple theTransaction = (TransactionImple) which;
@@ -114,7 +116,7 @@
 		    try
 		    {
 		        AtomicAction act = ((theTransaction == null) ? null : theTransaction.getAtomicAction());
-		        
+
 		        if (!AtomicAction.resume(act))
 		            throw new InvalidTransactionException();
 
@@ -122,7 +124,9 @@
 		    }
 		    catch (final Exception e2)
 		    {
-		        throw new javax.transaction.SystemException();
+		        javax.transaction.SystemException systemException = new javax.transaction.SystemException();
+                systemException.initCause(e2);
+                throw systemException;
 		    }
 		}
 		else
@@ -132,7 +136,7 @@
 
 	/**
 	 * Creates a TransactionManageImple from the given information.
-	 * 
+	 *
 	 * @param obj
 	 * @param name
 	 * @param nameCtx

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/XATerminatorImple.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/XATerminatorImple.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/jca/XATerminatorImple.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -108,27 +108,37 @@
 		}
 		catch (HeuristicRollbackException ex)
 		{
-			throw new XAException(XAException.XA_HEURRB);
+            XAException xaException = new XAException(XAException.XA_HEURRB);
+            xaException.initCause(ex);
+			throw xaException;
 		}
 		catch (HeuristicMixedException ex)
 		{
-			throw new XAException(XAException.XA_HEURMIX);
+            XAException xaException = new XAException(XAException.XA_HEURMIX);
+            xaException.initCause(ex);
+			throw xaException;
 		}
 		catch (final HeuristicCommitException ex)
 		{
-		    throw new XAException(XAException.XA_HEURCOM);
+            XAException xaException = new XAException(XAException.XA_HEURCOM);
+            xaException.initCause(ex);
+			throw xaException;
 		}
 		catch (final IllegalStateException ex)
-                {
-                    SubordinationManager.getTransactionImporter().removeImportedTransaction(xid);
-                          
-                    throw new XAException(XAException.XAER_NOTA);
-                }
+        {
+            SubordinationManager.getTransactionImporter().removeImportedTransaction(xid);
+
+            XAException xaException = new XAException(XAException.XAER_NOTA);
+            xaException.initCause(ex);
+            throw xaException;
+        }
 		catch (SystemException ex)
 		{
 			SubordinationManager.getTransactionImporter().removeImportedTransaction(xid);
 
-			throw new XAException(XAException.XAER_RMERR);
+            XAException xaException = new XAException(XAException.XAER_RMERR);
+            xaException.initCause(ex);
+            throw xaException;
 		}
 	}
 
@@ -156,7 +166,9 @@
 		}
 		catch (Exception ex)
 		{
-			throw new XAException(XAException.XAER_RMERR);
+            XAException xaException = new XAException(XAException.XAER_RMERR);
+            xaException.initCause(ex);
+            throw xaException;
 		}
 		finally
 		{
@@ -215,7 +227,7 @@
                     initCause = e;
                     xaExceptionCode = XAException.XAER_RMERR;
                 }
-                
+
                 SubordinationManager.getTransactionImporter().removeImportedTransaction(xid);
                 XAException xaException = new XAException(xaExceptionCode);
                 if(initCause != null) {
@@ -391,24 +403,32 @@
 
 			throw ex;
 		}
-		catch (final HeuristicRollbackException exx)
+		catch (final HeuristicRollbackException ex)
 		{
-		    throw new XAException(XAException.XA_HEURRB);
+            XAException xaException = new XAException(XAException.XA_HEURRB);
+            xaException.initCause(ex);
+            throw xaException;
 		}
 		catch (HeuristicCommitException ex)
 		{
-			throw new XAException(XAException.XA_HEURCOM);
+            XAException xaException = new XAException(XAException.XA_HEURCOM);
+            xaException.initCause(ex);
+            throw xaException;
 		}
 		catch (HeuristicMixedException ex)
 		{
-			throw new XAException(XAException.XA_HEURMIX);
+            XAException xaException = new XAException(XAException.XA_HEURMIX);
+            xaException.initCause(ex);
+            throw xaException;
 		}
 		catch (final IllegalStateException ex)
 		{
-                    SubordinationManager.getTransactionImporter().removeImportedTransaction(xid);
-                    
-                    throw new XAException(XAException.XAER_NOTA);
-                }
+            SubordinationManager.getTransactionImporter().removeImportedTransaction(xid);
+
+            XAException xaException = new XAException(XAException.XAER_NOTA);
+            xaException.initCause(ex);
+            throw xaException;
+        }
 		catch (SystemException ex)
 		{
 			SubordinationManager.getTransactionImporter().removeImportedTransaction(xid);

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/subordinate/TransactionImple.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/subordinate/TransactionImple.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/internal/jta/transaction/arjunacore/subordinate/TransactionImple.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -197,7 +197,9 @@
 		{
 			ex.printStackTrace();
 
-			throw new UnexpectedConditionException(ex.toString());
+            UnexpectedConditionException unexpectedConditionException = new UnexpectedConditionException(ex.toString());
+            unexpectedConditionException.initCause(ex);
+			throw unexpectedConditionException;
 		}
 	}
 
@@ -240,7 +242,9 @@
 		{
 			ex.printStackTrace();
 
-			throw new UnexpectedConditionException(ex.toString());
+            UnexpectedConditionException unexpectedConditionException = new UnexpectedConditionException(ex.toString());
+            unexpectedConditionException.initCause(ex);
+			throw unexpectedConditionException;
 		}
 	}
 
@@ -254,7 +258,7 @@
 		}
 		catch (ClassCastException ex)
 		{
-			throw new IllegalStateException();
+			throw new IllegalStateException(ex);
 		}
 		finally
 		{
@@ -300,7 +304,9 @@
 		{
 			ex.printStackTrace();
 
-			throw new UnexpectedConditionException(ex.toString());
+            UnexpectedConditionException unexpectedConditionException = new UnexpectedConditionException(ex.toString());
+            unexpectedConditionException.initCause(ex);
+			throw unexpectedConditionException;
 		}
 	}
 
@@ -322,11 +328,6 @@
 			java.lang.SecurityException, javax.transaction.SystemException,
 			java.lang.IllegalStateException
 	{
-		/*
-		 * throw new IllegalStateException(
-		 * jtaLogger.logMesg.getString("com.arjuna.ats.internal.jta.transaction.jts.subordinate.invalidstate"));
-		 */
-
 		throw new InvalidTerminationStateException();
 	}
 
@@ -334,11 +335,6 @@
 			throws java.lang.IllegalStateException,
 			java.lang.SecurityException, javax.transaction.SystemException
 	{
-		/*
-		 * throw new IllegalStateException(
-		 * jtaLogger.logMesg.getString("com.arjuna.ats.internal.jta.transaction.jts.subordinate.invalidstate"));
-		 */
-
 		throw new InvalidTerminationStateException();
 	}
 

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/jtaPropertyManager.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/jtaPropertyManager.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/common/jtaPropertyManager.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -68,7 +68,7 @@
         }
         catch (Exception e)
         {
-            throw new ExceptionInInitializerError(e.toString());
+            throw new ExceptionInInitializerError(e);
         }
     }
 }

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/exceptions/NotImplementedException.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/exceptions/NotImplementedException.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/exceptions/NotImplementedException.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -24,7 +24,7 @@
  * Arjuna Solutions Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
- * UK.  
+ * UK.
  *
  * $Id: NotImplementedException.java 2342 2006-03-30 13:06:17Z  $
  */
@@ -43,16 +43,61 @@
 
 public class NotImplementedException extends Exception
 {
+    /**
+     * Constructs a new exception with <code>null</code> as its detail message.
+     * The cause is not initialized, and may subsequently be initialized by a
+     * call to {@link #initCause}.
+     */
+    public NotImplementedException() {
+        super();    //To change body of overridden methods use File | Settings | File Templates.
+    }
 
-    public NotImplementedException ()
-    {
-	super();
+    /**
+     * Constructs a new exception with the specified detail message.  The
+     * cause is not initialized, and may subsequently be initialized by
+     * a call to {@link #initCause}.
+     *
+     * @param message the detail message. The detail message is saved for
+     *                later retrieval by the {@link #getMessage()} method.
+     */
+    public NotImplementedException(String message) {
+        super(message);    //To change body of overridden methods use File | Settings | File Templates.
     }
 
-    public NotImplementedException (String s)
-    {
-	super(s);
+    /**
+     * Constructs a new exception with the specified detail message and
+     * cause.  <p>Note that the detail message associated with
+     * <code>cause</code> is <i>not</i> automatically incorporated in
+     * this exception's detail message.
+     *
+     * @param message the detail message (which is saved for later retrieval
+     *                by the {@link #getMessage()} method).
+     * @param cause   the cause (which is saved for later retrieval by the
+     *                {@link #getCause()} method).  (A <tt>null</tt> value is
+     *                permitted, and indicates that the cause is nonexistent or
+     *                unknown.)
+     * @since 1.4
+     */
+    public NotImplementedException(String message, Throwable cause) {
+        super(message, cause);    //To change body of overridden methods use File | Settings | File Templates.
     }
-    
+
+    /**
+     * Constructs a new exception with the specified cause and a detail
+     * message of <tt>(cause==null ? null : cause.toString())</tt> (which
+     * typically contains the class and detail message of <tt>cause</tt>).
+     * This constructor is useful for exceptions that are little more than
+     * wrappers for other throwables (for example, {@link
+     * java.security.PrivilegedActionException}).
+     *
+     * @param cause the cause (which is saved for later retrieval by the
+     *              {@link #getCause()} method).  (A <tt>null</tt> value is
+     *              permitted, and indicates that the cause is nonexistent or
+     *              unknown.)
+     * @since 1.4
+     */
+    public NotImplementedException(Throwable cause) {
+        super(cause);    //To change body of overridden methods use File | Settings | File Templates.
+    }
 }
 

Modified: labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/xa/XidImple.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/xa/XidImple.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/jta/classes/com/arjuna/ats/jta/xa/XidImple.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -1,20 +1,20 @@
 /*
  * JBoss, Home of Professional Open Source
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors 
- * as indicated by the @author tags. 
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags.
  * See the copyright.txt in the distribution for a
- * full listing of individual contributors. 
+ * full listing of individual contributors.
  * This copyrighted material is made available to anyone wishing to use,
  * modify, copy, or redistribute it subject to the terms and conditions
  * of the GNU Lesser General Public License, v. 2.1.
- * This program is distributed in the hope that it will be useful, but WITHOUT A 
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A 
+ * This program is distributed in the hope that it will be useful, but WITHOUT A
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
  * PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more details.
  * You should have received a copy of the GNU Lesser General Public License,
  * v.2.1 along with this distribution; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, 
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
  * MA  02110-1301, USA.
- * 
+ *
  * (C) 2005-2006,
  * @author JBoss Inc.
  */
@@ -24,7 +24,7 @@
  * Arjuna Solutions Limited,
  * Newcastle upon Tyne,
  * Tyne and Wear,
- * UK.  
+ * UK.
  *
  * $Id: XidImple.java 2342 2006-03-30 13:06:17Z  $
  */
@@ -48,7 +48,7 @@
 
 /**
  * Implementation of javax.transaction.xa.Xid.
- * 
+ *
  * @author Mark Little (mark at arjuna.com)
  * @version $Id: XidImple.java 2342 2006-03-30 13:06:17Z  $
  * @since JTS 1.2.4.
@@ -384,7 +384,9 @@
 			}
 			catch (Exception e)
 			{
-				throw new IOException(e.toString());
+                IOException ioException = new IOException(e.toString());
+                ioException.initCause(e);
+                throw ioException;
 			}
 		}
 	}
@@ -400,7 +402,7 @@
 		else
 			return jtaLogger.logMesg.getString("com.arjuna.ats.jta.xa.xidunset");
 	}
-	
+
 	/**
 	 * Is the specified object equal to this one?
 	 * @param obj The object to test.
@@ -414,7 +416,7 @@
         }
         return false ;
     }
-    
+
     /**
      * Return the hash code for this Xid.
      * @return the hash code.
@@ -423,7 +425,7 @@
     {
         return hashCode ;
     }
-    
+
     /**
      * Generate the hash code for the xid.
      * @param xid The xid.
@@ -453,7 +455,7 @@
         }
         return hash ;
     }
-    
+
 	private XID _theXid;
     private int hashCode ;
 }

Modified: labs/jbosstm/trunk/ArjunaJTA/tsmx/bin/com/arjuna/ats/tools/objectstorebrowser/rootprovider/InFlightTransactionPseudoStore.java
===================================================================
--- labs/jbosstm/trunk/ArjunaJTA/tsmx/bin/com/arjuna/ats/tools/objectstorebrowser/rootprovider/InFlightTransactionPseudoStore.java	2009-05-07 09:51:30 UTC (rev 26416)
+++ labs/jbosstm/trunk/ArjunaJTA/tsmx/bin/com/arjuna/ats/tools/objectstorebrowser/rootprovider/InFlightTransactionPseudoStore.java	2009-05-07 12:13:20 UTC (rev 26417)
@@ -94,7 +94,7 @@
         }
         catch (IOException e)
         {
-            throw new ObjectStoreException("allObjUids - could not pack end of list Uid.");
+            throw new ObjectStoreException("allObjUids - could not pack end of list Uid.", e);
         }
 
         buff.setBuffer(store.buffer());
@@ -116,7 +116,7 @@
         }
         catch (IOException e)
         {
-            throw new ObjectStoreException(tsLogger.arjLoggerI18N.getString("com.arjuna.ats.internal.arjuna.objectstore.packProblem"));
+            throw new ObjectStoreException(tsLogger.arjLoggerI18N.getString("com.arjuna.ats.internal.arjuna.objectstore.packProblem"), e);
         }
     }
 




More information about the jboss-svn-commits mailing list