You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ibatis.apache.org by cb...@apache.org on 2009/03/21 08:29:05 UTC

svn commit: r756886 - in /ibatis/trunk/java/ibatis-3: ./ ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/ ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/ ibatis-3-core/src/test/java/org/apache/ibatis/exceptions/

Author: cbegin
Date: Sat Mar 21 07:29:05 2009
New Revision: 756886

URL: http://svn.apache.org/viewvc?rev=756886&view=rev
Log:
Added tests for all exception constructors
Eliminated duplicate Exception

Added:
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/exceptions/
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/exceptions/GeneralExceptionsTest.java
Removed:
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/DataSourceException.java
Modified:
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledConnection.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java
    ibatis/trunk/java/ibatis-3/version.properties

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledConnection.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledConnection.java?rev=756886&r1=756885&r2=756886&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledConnection.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/pooled/PooledConnection.java Sat Mar 21 07:29:05 2009
@@ -1,6 +1,6 @@
 package org.apache.ibatis.datasource.pooled;
 
-import org.apache.ibatis.datasource.unpooled.DataSourceException;
+import org.apache.ibatis.datasource.DataSourceException;
 import org.apache.ibatis.reflection.ExceptionUtil;
 
 import java.lang.reflect.InvocationHandler;

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java?rev=756886&r1=756885&r2=756886&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/datasource/unpooled/UnpooledDataSource.java Sat Mar 21 07:29:05 2009
@@ -1,5 +1,7 @@
 package org.apache.ibatis.datasource.unpooled;
 
+import org.apache.ibatis.datasource.DataSourceException;
+
 import javax.sql.DataSource;
 import java.io.PrintWriter;
 import java.sql.*;

Added: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/exceptions/GeneralExceptionsTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/exceptions/GeneralExceptionsTest.java?rev=756886&view=auto
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/exceptions/GeneralExceptionsTest.java (added)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/exceptions/GeneralExceptionsTest.java Sat Mar 21 07:29:05 2009
@@ -0,0 +1,80 @@
+package org.apache.ibatis.exceptions;
+
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.apache.ibatis.binding.BindingException;
+import org.apache.ibatis.executor.BatchExecutorException;
+import org.apache.ibatis.executor.ExecutorException;
+import org.apache.ibatis.cache.CacheException;
+import org.apache.ibatis.datasource.DataSourceException;
+import org.apache.ibatis.logging.LogException;
+import org.apache.ibatis.migration.MigrationException;
+import org.apache.ibatis.xml.NodeletException;
+import org.apache.ibatis.parser.ParserException;
+import org.apache.ibatis.session.SessionException;
+import org.apache.ibatis.plugin.PluginException;
+import org.apache.ibatis.reflection.ReflectionException;
+import org.apache.ibatis.mapping.SqlMapperException;
+import org.apache.ibatis.transaction.TransactionException;
+import org.apache.ibatis.type.TypeException;
+
+import java.lang.reflect.InvocationTargetException;
+
+public class GeneralExceptionsTest {
+
+  private static final String EXPECTED_MESSAGE = "Test Message";
+  private static final Exception EXPECTED_CAUSE = new Exception("Nested Exception");
+
+  @Test
+  public void should() {
+    RuntimeException thrown = ExceptionFactory.wrapException(EXPECTED_MESSAGE, EXPECTED_CAUSE);
+    assertTrue("Exception should be wrapped in RuntimeSqlException.", thrown instanceof RuntimeSqlException);
+    testThrowException(thrown);
+  }
+
+  @Test
+  public void shouldInstantiateAndThrowAllCustomExceptions() throws Exception {
+    Class[] exceptionTypes = {
+        BindingException.class,
+        CacheException.class,
+        DataSourceException.class,
+        ExecutorException.class,
+        LogException.class,
+        MigrationException.class,
+        NodeletException.class,
+        ParserException.class,
+        PluginException.class,
+        ReflectionException.class,
+        RuntimeSqlException.class,
+        SessionException.class,
+        SqlMapperException.class,
+        TransactionException.class,
+        TypeException.class
+    };
+    for (Class exceptionType : exceptionTypes) {
+      testExceptionConstructors(exceptionType);
+    }
+
+  }
+
+  private void testExceptionConstructors(Class exceptionType) throws InstantiationException, IllegalAccessException, InvocationTargetException, NoSuchMethodException {
+    Exception e = (Exception)exceptionType.newInstance();
+    testThrowException(e);
+    e = (Exception)exceptionType.getConstructor(String.class).newInstance(EXPECTED_MESSAGE);
+    testThrowException(e);
+    e = (Exception)exceptionType.getConstructor(String.class, Throwable.class).newInstance(EXPECTED_MESSAGE, EXPECTED_CAUSE);
+    testThrowException(e);
+    e = (Exception)exceptionType.getConstructor(Throwable.class).newInstance(EXPECTED_CAUSE);
+    testThrowException(e);
+  }
+
+  private void testThrowException(Exception thrown) {
+    try {
+      throw thrown;
+    } catch (Exception caught) {
+      assertEquals(thrown.getMessage(), caught.getMessage());
+      assertEquals(thrown.getCause(), caught.getCause());
+    }
+  }
+
+}

Modified: ibatis/trunk/java/ibatis-3/version.properties
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/version.properties?rev=756886&r1=756885&r2=756886&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/version.properties (original)
+++ ibatis/trunk/java/ibatis-3/version.properties Sat Mar 21 07:29:05 2009
@@ -1,5 +1,5 @@
 #Build version info
-#Wed Feb 25 23:32:13 MST 2009
+#Sat Mar 21 01:24:14 MDT 2009
 version=3.0.0
-buildDate=2009/02/25 23\:32
-buildNum=134
+buildDate=2009/03/21 01\:24
+buildNum=138