commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dgra...@apache.org
Subject cvs commit: jakarta-commons-sandbox/dbutils/src/test/org/apache/commons/dbutils MockResultSet.java
Date Thu, 23 Oct 2003 02:23:53 GMT
dgraham     2003/10/22 19:23:53

  Modified:    dbutils/src/test/org/apache/commons/dbutils
                        MockResultSet.java
  Log:
  Added implementation of getObject(String).
  
  Revision  Changes    Path
  1.4       +48 -16    jakarta-commons-sandbox/dbutils/src/test/org/apache/commons/dbutils/MockResultSet.java
  
  Index: MockResultSet.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/dbutils/src/test/org/apache/commons/dbutils/MockResultSet.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MockResultSet.java	23 Oct 2003 01:13:33 -0000	1.3
  +++ MockResultSet.java	23 Oct 2003 02:23:53 -0000	1.4
  @@ -65,6 +65,7 @@
   import java.lang.reflect.Method;
   import java.sql.ResultSet;
   import java.sql.ResultSetMetaData;
  +import java.sql.SQLException;
   import java.util.Arrays;
   import java.util.Collections;
   import java.util.Iterator;
  @@ -102,11 +103,11 @@
   			new MockResultSet(metaData, rows));
   	}
   
  -    /**
  -     * MockResultSet constructor.
  -     * @param metaData
  -     * @param rows A null value indicates an empty <code>ResultSet</code>.
  -     */
  +	/**
  +	 * MockResultSet constructor.
  +	 * @param metaData
  +	 * @param rows A null value indicates an empty <code>ResultSet</code>.
  +	 */
   	public MockResultSet(ResultSetMetaData metaData, Object[][] rows) {
   		super();
   		this.metaData = metaData;
  @@ -132,8 +133,14 @@
   		} else if (methodName.equals("close")) {
   
   		} else if (methodName.equals("getObject")) {
  -			int col = ((Integer) args[0]).intValue() - 1;
  -			return this.getObject(col);
  +
  +			if (args[0] instanceof Integer) {
  +				int col = ((Integer) args[0]).intValue();
  +				return this.getObject(col);
  +
  +			} else if (args[0] instanceof String) {
  +				return this.getObject((String) args[0]);
  +			}
   
   		} else if (methodName.equals("wasNull")) {
   			return this.wasNull();
  @@ -145,12 +152,17 @@
   		return null;
   	}
   
  -	protected Boolean isLast() {
  +	protected Boolean isLast() throws SQLException {
   		return this.iter.hasNext() ? Boolean.FALSE : Boolean.TRUE;
   	}
   
  -	protected Object getObject(int columnIndex) {
  -		Object obj = this.currentRow[columnIndex];
  +    /**
  +     * Gets the object at the given column index.
  +     * @param columnIndex A 1 based index.
  +     * @throws SQLException
  +     */
  +	protected Object getObject(int columnIndex) throws SQLException {
  +		Object obj = this.currentRow[columnIndex - 1];
   		if (obj == null) {
   			this.wasNull = (obj == null) ? Boolean.TRUE : Boolean.FALSE;
   		}
  @@ -158,7 +170,27 @@
   		return obj;
   	}
   
  -	protected Boolean next() {
  +	protected Object getObject(String columnName) throws SQLException {
  +		return this.getObject(this.findColumnIndex(columnName));
  +	}
  +
  +	/**
  +	 * Returns the column index for the given column name.
  +     * @return A 1 based index
  +	 * @throws SQLException if the column name is invalid
  +	 */
  +	private int findColumnIndex(String columnName) throws SQLException {
  +		for (int i = 0; i < this.currentRow.length; i++) {
  +			int c = i + 1;
  +			if (this.metaData.getColumnName(c).equalsIgnoreCase(columnName)) {
  +				return c;
  +			}
  +		}
  +
  +		throw new SQLException(columnName + " is not a valid column name.");
  +	}
  +
  +	protected Boolean next() throws SQLException {
   		if (!this.iter.hasNext()) {
   			return Boolean.FALSE;
   		} else {
  @@ -167,11 +199,11 @@
   		}
   	}
   
  -	protected ResultSetMetaData getMetaData() {
  +	protected ResultSetMetaData getMetaData() throws SQLException {
   		return this.metaData;
   	}
   
  -	protected Boolean wasNull() {
  +	protected Boolean wasNull() throws SQLException {
   		return this.wasNull;
   	}
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message