Author: tfischer Date: Thu Feb 21 21:45:10 2013 New Revision: 1448816 URL: http://svn.apache.org/r1448816 Log: TORQUE-267 improve exception messages; use NoRowsException if no row can be found to be updated
Modified: db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/doUpdate.vm db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/BaseOptimisticLockingTest.java db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/OptimisticLockingSelectForUpdateTest.java db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/OptimisticLockingSimpleSelectTest.java Modified: db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/doUpdate.vm URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/doUpdate.vm?rev=1448816&r1=1448815&r2=1448816&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/doUpdate.vm (original) +++ db/torque/torque4/trunk/torque-templates/src/main/resources/org/apache/torque/templates/om/templates/peer/impl/base/doUpdate.vm Thu Feb 21 21:45:10 2013 @@ -108,15 +108,17 @@ #set ( $columnGetter = $columnElement.getAttribute("getter")) if ($field == null) { - throw new OptimisticLockingFailedException( - "The row was deleted concurrently"); + throw new NoRowsException( + "The row to update does not exist in the database"); } if (!ObjectUtils.equals( ${field}.${columnGetter}(), $columnField)) { throw new OptimisticLockingFailedException( - "The row was updated concurrently"); + "The row was updated concurrently. Version in database: " + + ${field}.${columnGetter}() + ", version in memory: " + + $columnField); } #end #end @@ -141,7 +143,7 @@ if (rowCount == 0) { throw new OptimisticLockingFailedException( - "The row was either updated or deleted concurrently " + "The row to update was either updated or deleted concurrently " + "or does not exist at all."); } #end Modified: db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/BaseOptimisticLockingTest.java URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/BaseOptimisticLockingTest.java?rev=1448816&r1=1448815&r2=1448816&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/BaseOptimisticLockingTest.java (original) +++ db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/BaseOptimisticLockingTest.java Thu Feb 21 21:45:10 2013 @@ -206,7 +206,7 @@ public abstract class BaseOptimisticLock } catch (OptimisticLockingFailedException e) { - // expected + assertOptimisticLockingUpdateException(e); } // verify @@ -238,11 +238,11 @@ public abstract class BaseOptimisticLock try { toUpdate.save(); - fail("Exception excpected"); + fail("Exception expected"); } - catch (OptimisticLockingFailedException e) + catch (TorqueException e) { - // expected + assertOptimisticLockingDeleteException(e); } // verify @@ -286,4 +286,10 @@ public abstract class BaseOptimisticLock } public abstract T newObject(); + + public abstract void assertOptimisticLockingUpdateException( + TorqueException e); + + public abstract void assertOptimisticLockingDeleteException( + TorqueException e); } Modified: db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/OptimisticLockingSelectForUpdateTest.java URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/OptimisticLockingSelectForUpdateTest.java?rev=1448816&r1=1448815&r2=1448816&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/OptimisticLockingSelectForUpdateTest.java (original) +++ db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/OptimisticLockingSelectForUpdateTest.java Thu Feb 21 21:45:10 2013 @@ -19,6 +19,9 @@ package org.apache.torque.generated.peer * under the License. */ +import org.apache.torque.NoRowsException; +import org.apache.torque.OptimisticLockingFailedException; +import org.apache.torque.TorqueException; import org.apache.torque.test.dbobject.OptimisticLocking; import org.apache.torque.test.peer.OptimisticLockingPeerImpl; @@ -27,7 +30,8 @@ import org.apache.torque.test.peer.Optim * * @version $Id$ */ -public class OptimisticLockingSelectForUpdateTest extends BaseOptimisticLockingTest<OptimisticLocking> +public class OptimisticLockingSelectForUpdateTest + extends BaseOptimisticLockingTest<OptimisticLocking> { public OptimisticLockingSelectForUpdateTest() { @@ -38,4 +42,21 @@ public class OptimisticLockingSelectForU { return new OptimisticLocking(); } + + @Override + public void assertOptimisticLockingDeleteException(TorqueException e) { + assertTrue(e instanceof NoRowsException); + assertEquals( + "The row to update does not exist in the database", + e.getMessage()); + } + + @Override + public void assertOptimisticLockingUpdateException(TorqueException e) { + assertTrue(e instanceof OptimisticLockingFailedException); + assertEquals( + "The row was updated concurrently. Version in database: 1" + + ", version in memory: 0", + e.getMessage()); + } } Modified: db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/OptimisticLockingSimpleSelectTest.java URL: http://svn.apache.org/viewvc/db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/OptimisticLockingSimpleSelectTest.java?rev=1448816&r1=1448815&r2=1448816&view=diff ============================================================================== --- db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/OptimisticLockingSimpleSelectTest.java (original) +++ db/torque/torque4/trunk/torque-test/src/test/java/org/apache/torque/generated/peer/OptimisticLockingSimpleSelectTest.java Thu Feb 21 21:45:10 2013 @@ -19,6 +19,8 @@ package org.apache.torque.generated.peer * under the License. */ +import org.apache.torque.OptimisticLockingFailedException; +import org.apache.torque.TorqueException; import org.apache.torque.test.dbobject.OptimisticLockingSimple; import org.apache.torque.test.peer.OptimisticLockingSimplePeerImpl; @@ -38,4 +40,22 @@ public class OptimisticLockingSimpleSele { return new OptimisticLockingSimple(); } + + @Override + public void assertOptimisticLockingDeleteException(TorqueException e) { + assertTrue(e instanceof OptimisticLockingFailedException); + assertEquals( + "The row to update was either updated or deleted concurrently " + + "or does not exist at all.", + e.getMessage()); + } + + @Override + public void assertOptimisticLockingUpdateException(TorqueException e) { + assertTrue(e instanceof OptimisticLockingFailedException); + assertEquals( + "The row to update was either updated or deleted concurrently " + + "or does not exist at all.", + e.getMessage()); + } } --------------------------------------------------------------------- To unsubscribe, e-mail: torque-dev-unsubscr...@db.apache.org For additional commands, e-mail: torque-dev-h...@db.apache.org