Return-Path: Delivered-To: apmail-harmony-commits-archive@www.apache.org Received: (qmail 6096 invoked from network); 28 Nov 2007 03:23:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 28 Nov 2007 03:23:52 -0000 Received: (qmail 40370 invoked by uid 500); 28 Nov 2007 03:23:39 -0000 Delivered-To: apmail-harmony-commits-archive@harmony.apache.org Received: (qmail 40356 invoked by uid 500); 28 Nov 2007 03:23:39 -0000 Mailing-List: contact commits-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list commits@harmony.apache.org Received: (qmail 40341 invoked by uid 99); 28 Nov 2007 03:23:39 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 27 Nov 2007 19:23:39 -0800 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 28 Nov 2007 03:23:48 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 004EB1A9832; Tue, 27 Nov 2007 19:23:25 -0800 (PST) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r598859 - in /harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset: CachedRowSetImplTest.java CachedRowSetTestCase.java Date: Wed, 28 Nov 2007 03:23:25 -0000 To: commits@harmony.apache.org From: lvjing@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20071128032326.004EB1A9832@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: lvjing Date: Tue Nov 27 19:23:25 2007 New Revision: 598859 URL: http://svn.apache.org/viewvc?rev=598859&view=rev Log: Apply patch for HARMONY-5210 ([classlib][sql] refactor CachedRowSetImplTest) Added: harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset/CachedRowSetTestCase.java (with props) Modified: harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset/CachedRowSetImplTest.java Modified: harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset/CachedRowSetImplTest.java URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset/CachedRowSetImplTest.java?rev=598859&r1=598858&r2=598859&view=diff ============================================================================== --- harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset/CachedRowSetImplTest.java (original) +++ harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset/CachedRowSetImplTest.java Tue Nov 27 19:23:25 2007 @@ -14,19 +14,13 @@ * See the License for the specific language governing permissions and * limitations under the License. */ + package org.apache.harmony.sql.tests.internal.rowset; -import java.math.BigDecimal; import java.sql.Connection; -import java.sql.Date; import java.sql.DriverManager; -import java.sql.PreparedStatement; import java.sql.ResultSet; -import java.sql.ResultSetMetaData; import java.sql.SQLException; -import java.sql.Statement; -import java.sql.Time; -import java.sql.Timestamp; import java.util.Arrays; import java.util.HashMap; @@ -36,111 +30,16 @@ import javax.sql.rowset.CachedRowSet; import javax.sql.rowset.spi.SyncProviderException; -import junit.framework.TestCase; - -public class CachedRowSetImplTest extends TestCase { - - private static final String DERBY_URL_Create = "jdbc:derby:src/test/resources/TESTDB;create=true"; - - private static final String DERBY_URL = "jdbc:derby:src/test/resources/TESTDB"; - - private Connection conn = null; - - private Statement st; - - private ResultSet rs; - - private CachedRowSet crset; - - private CachedRowSet noInitialCrset; - - private final static int DEFAULT_COLUMN_COUNT = 12; - - private final static int DEFAULT_ROW_COUNT = 4; +public class CachedRowSetImplTest extends CachedRowSetTestCase { + @Override public void setUp() throws Exception { - Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); - - try { - conn = DriverManager.getConnection(DERBY_URL); - } catch (SQLException e) { - try { - conn = DriverManager.getConnection(DERBY_URL_Create); - } catch (SQLException ee) { - throw new SQLException("Create DB Failure!"); - } - } - - st = conn.createStatement(); - rs = conn.getMetaData().getTables(null, "APP", "USER_INFO", null); - String createTableSQL = "create table USER_INFO (ID INTEGER NOT NULL,NAME VARCHAR(10) NOT NULL, BIGINT_T BIGINT, " - + "NUMERIC_T NUMERIC, DECIMAL_T DECIMAL, SMALLINT_T SMALLINT, FLOAT_T FLOAT, REAL_T REAL, DOUBLE_T DOUBLE," - + "DATE_T DATE, TIME_T TIME, TIMESTAMP_T TIMESTAMP)"; - String alterTableSQL = "ALTER TABLE USER_INFO ADD CONSTRAINT USER_INFO_PK Primary Key (ID)"; - - if (!rs.next()) { - st.execute(createTableSQL); - st.execute(alterTableSQL); - } - - insertData(); - rs = st.executeQuery("select * from USER_INFO"); - try { - crset = (CachedRowSet) Class.forName( - "com.sun.rowset.CachedRowSetImpl").newInstance(); - noInitialCrset = (CachedRowSet) Class.forName( - "com.sun.rowset.CachedRowSetImpl").newInstance(); - } catch (ClassNotFoundException e) { - - crset = (CachedRowSet) Class.forName( - "org.apache.harmony.sql.internal.rowset.CachedRowSetImpl") - .newInstance(); - noInitialCrset = (CachedRowSet) Class.forName( - "org.apache.harmony.sql.internal.rowset.CachedRowSetImpl") - .newInstance(); - - System.setProperty("Testing Harmony", "true"); - } - crset.populate(rs); - rs = st.executeQuery("select * from USER_INFO"); - crset.setUrl(DERBY_URL); - } - - private CachedRowSet newNoInitialInstance() throws Exception { - if ("true".equals(System.getProperty("Testing Harmony"))) { - return (CachedRowSet) Class.forName( - "org.apache.harmony.sql.internal.rowset.CachedRowSetImpl") - .newInstance(); - } - return (CachedRowSet) Class.forName("com.sun.rowset.CachedRowSetImpl") - .newInstance(); - } - - private void reloadCachedRowSet() throws SQLException { - rs = st.executeQuery("select * from USER_INFO"); - crset.populate(rs); - rs = st.executeQuery("select * from USER_INFO"); - crset.setUrl(DERBY_URL); + super.setUp(); } + @Override public void tearDown() throws Exception { - if (rs != null) { - rs.close(); - } - if (crset != null) { - crset.close(); - } - if (st != null) { - st.close(); - } - if (conn != null) { - /* - * if doesn't call rollback, ri will throw exception then block - * java.sql.SQLException: Invalid transaction state. - */ - conn.rollback(); - conn.close(); - } + super.tearDown(); } public void testGetOriginalRow() throws Exception { @@ -986,50 +885,6 @@ assertFalse(crset.next()); } - private void isMetaDataEquals(ResultSetMetaData expected, - ResultSetMetaData actual) throws SQLException { - assertEquals(expected.getColumnCount(), actual.getColumnCount()); - - int columnCount = expected.getColumnCount(); - - for (int column = 1; column <= columnCount; column++) { - assertEquals(expected.isAutoIncrement(column), actual - .isAutoIncrement(column)); - assertEquals(expected.isCaseSensitive(column), actual - .isCaseSensitive(column)); - assertEquals(expected.isCurrency(column), actual.isCurrency(column)); - assertEquals(expected.isDefinitelyWritable(column), actual - .isDefinitelyWritable(column)); - assertEquals(expected.isReadOnly(column), actual.isReadOnly(column)); - assertEquals(expected.isSearchable(column), actual - .isSearchable(column)); - assertEquals(expected.isSigned(column), actual.isSigned(column)); - assertEquals(expected.isWritable(column), actual.isWritable(column)); - assertEquals(expected.isNullable(column), actual.isNullable(column)); - assertEquals(expected.getCatalogName(column), actual - .getCatalogName(column)); - assertEquals(expected.getColumnClassName(column), actual - .getColumnClassName(column)); - assertEquals(expected.getColumnDisplaySize(column), actual - .getColumnDisplaySize(column)); - assertEquals(expected.getColumnLabel(column), actual - .getColumnLabel(column)); - assertEquals(expected.getColumnName(column), actual - .getColumnName(column)); - assertEquals(expected.getColumnType(column), actual - .getColumnType(column)); - assertEquals(expected.getColumnTypeName(column), actual - .getColumnTypeName(column)); - assertEquals(expected.getPrecision(column), actual - .getPrecision(column)); - assertEquals(expected.getScale(column), actual.getScale(column)); - assertEquals(expected.getSchemaName(column), actual - .getSchemaName(column)); - assertEquals(expected.getTableName(column), actual - .getTableName(column)); - } - } - public void testAfterLast() throws Exception { try { rs.afterLast(); @@ -1278,82 +1133,6 @@ assertEquals(cursorIndex, noInitialCrset.getInt(1)); } assertEquals(15, cursorIndex); - } - - private void insertData() throws Exception { - - st.executeUpdate("delete from USER_INFO"); - - // first row - st.executeUpdate("insert into USER_INFO(ID,NAME) values (1,'hermit')"); - // second row - st.executeUpdate("insert into USER_INFO(ID,NAME) values (2,'test')"); - - String insertSQL = "INSERT INTO USER_INFO(ID, NAME, BIGINT_T, NUMERIC_T, DECIMAL_T, SMALLINT_T, " - + "FLOAT_T, REAL_T, DOUBLE_T, DATE_T, TIME_T, TIMESTAMP_T) VALUES(?, ?, ?, ?, ?, ?," - + "?, ?, ?, ?, ?, ? )"; - PreparedStatement preStmt = conn.prepareStatement(insertSQL); - // third row - preStmt.setInt(1, 3); - preStmt.setString(2, "test3"); - preStmt.setLong(3, 3333L); - preStmt.setBigDecimal(4, new BigDecimal(123)); - preStmt.setBigDecimal(5, new BigDecimal(23)); - preStmt.setInt(6, 13); - preStmt.setFloat(7, 3.7F); - preStmt.setFloat(8, 3.888F); - preStmt.setDouble(9, 3.9999); - preStmt.setDate(10, new Date(523654123)); - preStmt.setTime(11, new Time(966554221)); - preStmt.setTimestamp(12, new Timestamp(521342100)); - preStmt.executeUpdate(); - // fourth row - preStmt.setInt(1, 4); - preStmt.setString(2, "test4"); - preStmt.setLong(3, 444423L); - preStmt.setBigDecimal(4, new BigDecimal(12)); - preStmt.setBigDecimal(5, new BigDecimal(23)); - preStmt.setInt(6, 41); - preStmt.setFloat(7, 4.8F); - preStmt.setFloat(8, 4.888F); - preStmt.setDouble(9, 4.9999); - preStmt.setDate(10, new Date(965324512)); - preStmt.setTime(11, new Time(452368512)); - preStmt.setTimestamp(12, new Timestamp(874532105)); - preStmt.executeUpdate(); - - if (preStmt != null) { - preStmt.close(); - } - } - - private void insertMoreData(int rows) throws Exception { - String insertSQL = "INSERT INTO USER_INFO(ID, NAME, BIGINT_T, NUMERIC_T, DECIMAL_T, SMALLINT_T, " - + "FLOAT_T, REAL_T, DOUBLE_T, DATE_T, TIME_T, TIMESTAMP_T) VALUES(?, ?, ?, ?, ?, ?," - + "?, ?, ?, ?, ?, ? )"; - PreparedStatement preStmt = conn.prepareStatement(insertSQL); - - // insert 15 rows - for (int i = DEFAULT_ROW_COUNT + 1; i <= DEFAULT_ROW_COUNT + rows - + 1; i++) { - preStmt.setInt(1, i); - preStmt.setString(2, "test" + i); - preStmt.setLong(3, 444423L); - preStmt.setBigDecimal(4, new BigDecimal(12)); - preStmt.setBigDecimal(5, new BigDecimal(23)); - preStmt.setInt(6, 41); - preStmt.setFloat(7, 4.8F); - preStmt.setFloat(8, 4.888F); - preStmt.setDouble(9, 4.9999); - preStmt.setDate(10, new Date(965324512)); - preStmt.setTime(11, new Time(452368512)); - preStmt.setTimestamp(12, new Timestamp(874532105)); - preStmt.executeUpdate(); - } - - if (preStmt != null) { - preStmt.close(); - } } public void testConstructor() throws Exception { Added: harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset/CachedRowSetTestCase.java URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset/CachedRowSetTestCase.java?rev=598859&view=auto ============================================================================== --- harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset/CachedRowSetTestCase.java (added) +++ harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset/CachedRowSetTestCase.java Tue Nov 27 19:23:25 2007 @@ -0,0 +1,259 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.apache.harmony.sql.tests.internal.rowset; + +import java.math.BigDecimal; +import java.sql.Connection; +import java.sql.Date; +import java.sql.DriverManager; +import java.sql.PreparedStatement; +import java.sql.ResultSet; +import java.sql.ResultSetMetaData; +import java.sql.SQLException; +import java.sql.Statement; +import java.sql.Time; +import java.sql.Timestamp; + +import javax.sql.rowset.CachedRowSet; + +import junit.framework.TestCase; + +public class CachedRowSetTestCase extends TestCase { + public static final String DERBY_URL_Create = "jdbc:derby:src/test/resources/TESTDB;create=true"; + + public static final String DERBY_URL = "jdbc:derby:src/test/resources/TESTDB"; + + protected Connection conn = null; + + protected Statement st; + + protected ResultSet rs; + + protected CachedRowSet crset; + + protected CachedRowSet noInitialCrset; + + public final static int DEFAULT_COLUMN_COUNT = 12; + + public final static int DEFAULT_ROW_COUNT = 4; + + public void setUp() throws Exception { + Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); + + try { + conn = DriverManager.getConnection(DERBY_URL); + } catch (SQLException e) { + try { + conn = DriverManager.getConnection(DERBY_URL_Create); + } catch (SQLException ee) { + throw new SQLException("Create DB Failure!"); + } + } + + st = conn.createStatement(); + rs = conn.getMetaData().getTables(null, "APP", "USER_INFO", null); + String createTableSQL = "create table USER_INFO (ID INTEGER NOT NULL,NAME VARCHAR(10) NOT NULL, BIGINT_T BIGINT, " + + "NUMERIC_T NUMERIC, DECIMAL_T DECIMAL, SMALLINT_T SMALLINT, FLOAT_T FLOAT, REAL_T REAL, DOUBLE_T DOUBLE," + + "DATE_T DATE, TIME_T TIME, TIMESTAMP_T TIMESTAMP)"; + String alterTableSQL = "ALTER TABLE USER_INFO ADD CONSTRAINT USER_INFO_PK Primary Key (ID)"; + + if (!rs.next()) { + st.execute(createTableSQL); + st.execute(alterTableSQL); + } + + insertData(); + rs = st.executeQuery("select * from USER_INFO"); + try { + crset = (CachedRowSet) Class.forName( + "com.sun.rowset.CachedRowSetImpl").newInstance(); + noInitialCrset = (CachedRowSet) Class.forName( + "com.sun.rowset.CachedRowSetImpl").newInstance(); + } catch (ClassNotFoundException e) { + + crset = (CachedRowSet) Class.forName( + "org.apache.harmony.sql.internal.rowset.CachedRowSetImpl") + .newInstance(); + noInitialCrset = (CachedRowSet) Class.forName( + "org.apache.harmony.sql.internal.rowset.CachedRowSetImpl") + .newInstance(); + + System.setProperty("Testing Harmony", "true"); + } + crset.populate(rs); + rs = st.executeQuery("select * from USER_INFO"); + crset.setUrl(DERBY_URL); + } + + public void tearDown() throws Exception { + if (rs != null) { + rs.close(); + } + if (crset != null) { + crset.close(); + } + if (st != null) { + st.close(); + } + if (conn != null) { + /* + * if doesn't call rollback, ri will throw exception then block + * java.sql.SQLException: Invalid transaction state. + */ + conn.rollback(); + conn.close(); + } + } + + protected void insertData() throws Exception { + + st.executeUpdate("delete from USER_INFO"); + + // first row + st.executeUpdate("insert into USER_INFO(ID,NAME) values (1,'hermit')"); + // second row + st.executeUpdate("insert into USER_INFO(ID,NAME) values (2,'test')"); + + String insertSQL = "INSERT INTO USER_INFO(ID, NAME, BIGINT_T, NUMERIC_T, DECIMAL_T, SMALLINT_T, " + + "FLOAT_T, REAL_T, DOUBLE_T, DATE_T, TIME_T, TIMESTAMP_T) VALUES(?, ?, ?, ?, ?, ?," + + "?, ?, ?, ?, ?, ? )"; + PreparedStatement preStmt = conn.prepareStatement(insertSQL); + // third row + preStmt.setInt(1, 3); + preStmt.setString(2, "test3"); + preStmt.setLong(3, 3333L); + preStmt.setBigDecimal(4, new BigDecimal(123)); + preStmt.setBigDecimal(5, new BigDecimal(23)); + preStmt.setInt(6, 13); + preStmt.setFloat(7, 3.7F); + preStmt.setFloat(8, 3.888F); + preStmt.setDouble(9, 3.9999); + preStmt.setDate(10, new Date(523654123)); + preStmt.setTime(11, new Time(966554221)); + preStmt.setTimestamp(12, new Timestamp(521342100)); + preStmt.executeUpdate(); + // fourth row + preStmt.setInt(1, 4); + preStmt.setString(2, "test4"); + preStmt.setLong(3, 444423L); + preStmt.setBigDecimal(4, new BigDecimal(12)); + preStmt.setBigDecimal(5, new BigDecimal(23)); + preStmt.setInt(6, 41); + preStmt.setFloat(7, 4.8F); + preStmt.setFloat(8, 4.888F); + preStmt.setDouble(9, 4.9999); + preStmt.setDate(10, new Date(965324512)); + preStmt.setTime(11, new Time(452368512)); + preStmt.setTimestamp(12, new Timestamp(874532105)); + preStmt.executeUpdate(); + + if (preStmt != null) { + preStmt.close(); + } + } + + protected void insertMoreData(int rows) throws Exception { + String insertSQL = "INSERT INTO USER_INFO(ID, NAME, BIGINT_T, NUMERIC_T, DECIMAL_T, SMALLINT_T, " + + "FLOAT_T, REAL_T, DOUBLE_T, DATE_T, TIME_T, TIMESTAMP_T) VALUES(?, ?, ?, ?, ?, ?," + + "?, ?, ?, ?, ?, ? )"; + PreparedStatement preStmt = conn.prepareStatement(insertSQL); + + // insert 15 rows + for (int i = DEFAULT_ROW_COUNT + 1; i <= DEFAULT_ROW_COUNT + rows + 1; i++) { + preStmt.setInt(1, i); + preStmt.setString(2, "test" + i); + preStmt.setLong(3, 444423L); + preStmt.setBigDecimal(4, new BigDecimal(12)); + preStmt.setBigDecimal(5, new BigDecimal(23)); + preStmt.setInt(6, 41); + preStmt.setFloat(7, 4.8F); + preStmt.setFloat(8, 4.888F); + preStmt.setDouble(9, 4.9999); + preStmt.setDate(10, new Date(965324512)); + preStmt.setTime(11, new Time(452368512)); + preStmt.setTimestamp(12, new Timestamp(874532105)); + preStmt.executeUpdate(); + } + + if (preStmt != null) { + preStmt.close(); + } + } + + protected void isMetaDataEquals(ResultSetMetaData expected, + ResultSetMetaData actual) throws SQLException { + assertEquals(expected.getColumnCount(), actual.getColumnCount()); + + int columnCount = expected.getColumnCount(); + + for (int column = 1; column <= columnCount; column++) { + assertEquals(expected.isAutoIncrement(column), actual + .isAutoIncrement(column)); + assertEquals(expected.isCaseSensitive(column), actual + .isCaseSensitive(column)); + assertEquals(expected.isCurrency(column), actual.isCurrency(column)); + assertEquals(expected.isDefinitelyWritable(column), actual + .isDefinitelyWritable(column)); + assertEquals(expected.isReadOnly(column), actual.isReadOnly(column)); + assertEquals(expected.isSearchable(column), actual + .isSearchable(column)); + assertEquals(expected.isSigned(column), actual.isSigned(column)); + assertEquals(expected.isWritable(column), actual.isWritable(column)); + assertEquals(expected.isNullable(column), actual.isNullable(column)); + assertEquals(expected.getCatalogName(column), actual + .getCatalogName(column)); + assertEquals(expected.getColumnClassName(column), actual + .getColumnClassName(column)); + assertEquals(expected.getColumnDisplaySize(column), actual + .getColumnDisplaySize(column)); + assertEquals(expected.getColumnLabel(column), actual + .getColumnLabel(column)); + assertEquals(expected.getColumnName(column), actual + .getColumnName(column)); + assertEquals(expected.getColumnType(column), actual + .getColumnType(column)); + assertEquals(expected.getColumnTypeName(column), actual + .getColumnTypeName(column)); + assertEquals(expected.getPrecision(column), actual + .getPrecision(column)); + assertEquals(expected.getScale(column), actual.getScale(column)); + assertEquals(expected.getSchemaName(column), actual + .getSchemaName(column)); + assertEquals(expected.getTableName(column), actual + .getTableName(column)); + } + } + + protected CachedRowSet newNoInitialInstance() throws Exception { + if ("true".equals(System.getProperty("Testing Harmony"))) { + return (CachedRowSet) Class.forName( + "org.apache.harmony.sql.internal.rowset.CachedRowSetImpl") + .newInstance(); + } + return (CachedRowSet) Class.forName("com.sun.rowset.CachedRowSetImpl") + .newInstance(); + } + + protected void reloadCachedRowSet() throws SQLException { + rs = st.executeQuery("select * from USER_INFO"); + crset.populate(rs); + rs = st.executeQuery("select * from USER_INFO"); + crset.setUrl(DERBY_URL); + } + +} Propchange: harmony/enhanced/classlib/trunk/modules/sql/src/test/java/org/apache/harmony/sql/tests/internal/rowset/CachedRowSetTestCase.java ------------------------------------------------------------------------------ svn:eol-style = native