1 /*
2 *
3 * The DbUnit Database Testing Framework
4 * Copyright (C)2002-2004, DbUnit.org
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 *
20 */
21
22 package org.dbunit.database;
23
24 import org.dbunit.dataset.CachedTable;
25 import org.dbunit.dataset.DataSetException;
26 import org.dbunit.dataset.ITableMetaData;
27
28 import java.sql.ResultSet;
29 import java.sql.SQLException;
30
31 /**
32 * @author Manuel Laflamme
33 * @version $Revision$
34 * @since Feb 20, 2002
35 */
36 public class CachedResultSetTable extends CachedTable implements IResultSetTable
37 {
38 /**
39 * @param metaData
40 * @param resultSet
41 * @throws SQLException
42 * @throws DataSetException
43 * @deprecated since 2.3.0 prefer direct usage of {@link ForwardOnlyResultSetTable#ForwardOnlyResultSetTable(ITableMetaData, ResultSet)} and then invoke {@link CachedResultSetTable#CachedResultSetTable(IResultSetTable)}
44 */
45 public CachedResultSetTable(ITableMetaData metaData, ResultSet resultSet)
46 throws SQLException, DataSetException
47 {
48 this(new ForwardOnlyResultSetTable(metaData, resultSet));
49 }
50
51 /**
52 * @param metaData
53 * @param connection
54 * @throws SQLException
55 * @throws DataSetException
56 * @deprecated since 2.4.4 prefer direct usage of {@link ForwardOnlyResultSetTable#ForwardOnlyResultSetTable(ITableMetaData, IDatabaseConnection)} and then invoke {@link CachedResultSetTable#CachedResultSetTable(IResultSetTable)}
57 */
58 public CachedResultSetTable(ITableMetaData metaData,
59 IDatabaseConnection connection) throws SQLException, DataSetException
60 {
61 this(new ForwardOnlyResultSetTable(metaData, connection));
62 }
63
64 public CachedResultSetTable(IResultSetTable table) throws DataSetException, SQLException
65 {
66 super(table.getTableMetaData());
67 try
68 {
69 addTableRows(table);
70 }
71 finally
72 {
73 table.close();
74 }
75 }
76
77 ////////////////////////////////////////////////////////////////////////////
78 // IResultSetTable interface
79
80 public void close() throws DataSetException
81 {
82 // nothing to do, resultset already been closed
83 }
84 }
85
86
87
88
89