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/01/04 06:00:02 UTC

svn commit: r731176 - in /ibatis/trunk/java/ibatis-3/ibatis-3-core/src: main/java/org/apache/ibatis/metadata/DatabaseFactory.java test/java/org/apache/ibatis/metadata/MetadataTest.java

Author: cbegin
Date: Sat Jan  3 21:00:01 2009
New Revision: 731176

URL: http://svn.apache.org/viewvc?rev=731176&view=rev
Log:
Changed databasefactory to use connection instead of datasource

Modified:
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/metadata/DatabaseFactory.java
    ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/metadata/MetadataTest.java

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/metadata/DatabaseFactory.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/metadata/DatabaseFactory.java?rev=731176&r1=731175&r2=731176&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/metadata/DatabaseFactory.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/main/java/org/apache/ibatis/metadata/DatabaseFactory.java Sat Jan  3 21:00:01 2009
@@ -7,9 +7,8 @@
   private DatabaseFactory() {
   }
 
-  public static Database newDatabase(DataSource dataSource, String catalogFilter, String schemaFilter) throws SQLException {
+  public static Database newDatabase(Connection conn, String catalogFilter, String schemaFilter) throws SQLException {
     Database database = new Database(catalogFilter, schemaFilter);
-    Connection conn = dataSource.getConnection();
     ResultSet rs = null;
     try {
       DatabaseMetaData dbmd = conn.getMetaData();
@@ -51,7 +50,6 @@
 
     } finally {
       try { conn.rollback(); } catch (Exception e) { /*ignore*/ }
-      try { conn.close(); } catch (Exception e) { /*ignore*/ }
     }
     return database;
   }

Modified: ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/metadata/MetadataTest.java
URL: http://svn.apache.org/viewvc/ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/metadata/MetadataTest.java?rev=731176&r1=731175&r2=731176&view=diff
==============================================================================
--- ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/metadata/MetadataTest.java (original)
+++ ibatis/trunk/java/ibatis-3/ibatis-3-core/src/test/java/org/apache/ibatis/metadata/MetadataTest.java Sat Jan  3 21:00:01 2009
@@ -1,14 +1,11 @@
 package org.apache.ibatis.metadata;
 
+import junit.framework.Assert;
 import org.apache.ibatis.BaseDataTest;
-import org.junit.Test;
-import org.junit.Before;
+import org.junit.*;
 
 import javax.sql.DataSource;
-
-import junit.framework.Assert;
-
-import java.sql.Types;
+import java.sql.*;
 
 public class MetadataTest extends BaseDataTest {
 
@@ -21,39 +18,49 @@
 
   @Test
   public void testShouldGetAllTableNames() throws Exception {
-    Database db = DatabaseFactory.newDatabase(dataSource,null,"APP");
-    Assert.assertNotNull(db.getTable("blog"));
-    Assert.assertNotNull(db.getTable("Author"));
-    Assert.assertNotNull(db.getTable("tAg"));
-    Assert.assertNotNull(db.getTable("PosT"));
+    Connection connection = dataSource.getConnection();
+    try {
+      Database db = DatabaseFactory.newDatabase(connection, null, "APP");
+      Assert.assertNotNull(db.getTable("blog"));
+      Assert.assertNotNull(db.getTable("Author"));
+      Assert.assertNotNull(db.getTable("tAg"));
+      Assert.assertNotNull(db.getTable("PosT"));
+    } finally {
+      connection.close();
+    }
   }
 
   @Test
   public void testShouldEnsureDatabasesTablesAndColumnsEqualityWorks() throws Exception {
-    Database db = DatabaseFactory.newDatabase(dataSource, null, null);
-    Database db2 = DatabaseFactory.newDatabase(dataSource, null, null);
-    Assert.assertNotNull(db);
-    Assert.assertTrue(db.equals(db2));
-    Assert.assertTrue(db.hashCode() == db.hashCode());
-    Table t = db.getTable("blog");
-    Table t2 = db.getTable("author");
-    Assert.assertNotNull(t);
-    Assert.assertNotNull(t2);
-    Assert.assertFalse(t.equals(t2));
-    Assert.assertTrue(t.getCatalog().equals(t.getCatalog()));
-    Assert.assertTrue(t.getSchema().equals(t.getSchema()));
-    Assert.assertTrue(t.equals(t));
-    Assert.assertTrue(t.hashCode() == t.hashCode());
-    Assert.assertEquals("BLOG",t.getName());
-    Assert.assertEquals(3, t.getColumnNames().length);
-    Column c = t.getColumn("author_id");
-    Column c2 = t.getColumn("id");
-    Assert.assertNotNull(c);
-    Assert.assertNotNull(c2);
-    Assert.assertEquals(Types.INTEGER, c.getType());
-    Assert.assertFalse(c.equals(c2));
-    Assert.assertTrue(c.equals(c));
-    Assert.assertTrue(c.hashCode() == c.hashCode());
+    Connection connection = dataSource.getConnection();
+    try {
+      Database db = DatabaseFactory.newDatabase(connection, null, null);
+      Database db2 = DatabaseFactory.newDatabase(connection, null, null);
+      Assert.assertNotNull(db);
+      Assert.assertTrue(db.equals(db2));
+      Assert.assertTrue(db.hashCode() == db.hashCode());
+      Table t = db.getTable("blog");
+      Table t2 = db.getTable("author");
+      Assert.assertNotNull(t);
+      Assert.assertNotNull(t2);
+      Assert.assertFalse(t.equals(t2));
+      Assert.assertTrue(t.getCatalog().equals(t.getCatalog()));
+      Assert.assertTrue(t.getSchema().equals(t.getSchema()));
+      Assert.assertTrue(t.equals(t));
+      Assert.assertTrue(t.hashCode() == t.hashCode());
+      Assert.assertEquals("BLOG", t.getName());
+      Assert.assertEquals(3, t.getColumnNames().length);
+      Column c = t.getColumn("author_id");
+      Column c2 = t.getColumn("id");
+      Assert.assertNotNull(c);
+      Assert.assertNotNull(c2);
+      Assert.assertEquals(Types.INTEGER, c.getType());
+      Assert.assertFalse(c.equals(c2));
+      Assert.assertTrue(c.equals(c));
+      Assert.assertTrue(c.hashCode() == c.hashCode());
+    } finally {
+      connection.close();
+    }
   }
 
 }