You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by df...@apache.org on 2009/11/07 21:26:37 UTC
svn commit: r833753 - in /commons/proper/dbutils/trunk/src:
java/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSet.java
test/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSetTest.java
Author: dfabulich
Date: Sat Nov 7 20:26:36 2009
New Revision: 833753
URL: http://svn.apache.org/viewvc?rev=833753&view=rev
Log:
[DBUTILS-63] SqlNullCheckedResultSet exposes internal representation
Modified:
commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSet.java
commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSetTest.java
Modified: commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSet.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSet.java?rev=833753&r1=833752&r2=833753&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSet.java (original)
+++ commons/proper/dbutils/trunk/src/java/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSet.java Sat Nov 7 20:26:36 2009
@@ -29,6 +29,7 @@
import java.sql.ResultSet;
import java.sql.Time;
import java.sql.Timestamp;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@@ -212,7 +213,7 @@
* @return the value
*/
public byte[] getNullBytes() {
- return this.nullBytes;
+ return this.nullBytes == null ? null : Arrays.copyOf(this.nullBytes, this.nullBytes.length);
}
/**
@@ -444,7 +445,7 @@
* @param nullBytes the value
*/
public void setNullBytes(byte[] nullBytes) {
- this.nullBytes = nullBytes;
+ this.nullBytes = Arrays.copyOf(nullBytes, nullBytes.length);
}
/**
Modified: commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSetTest.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSetTest.java?rev=833753&r1=833752&r2=833753&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSetTest.java (original)
+++ commons/proper/dbutils/trunk/src/test/org/apache/commons/dbutils/wrappers/SqlNullCheckedResultSetTest.java Sat Nov 7 20:26:36 2009
@@ -34,6 +34,7 @@
import java.sql.SQLException;
import java.sql.Time;
import java.sql.Timestamp;
+import java.util.Arrays;
import java.util.Calendar;
import java.util.Map;
@@ -188,11 +189,23 @@
}
rs2.setNullBytes(b);
assertNotNull(rs.getBytes(1));
- assertEquals(b, rs.getBytes(1));
+ assertArrayEquals(b, rs.getBytes(1));
assertNotNull(rs.getBytes("column"));
- assertEquals(b, rs.getBytes("column"));
+ assertArrayEquals(b, rs.getBytes("column"));
}
+
+ private static void assertArrayEquals(byte[] expected, byte[] actual) {
+ if (expected == actual) return;
+ if (expected.length != actual.length) {
+ failNotEquals(null, Arrays.toString(expected), Arrays.toString(actual));
+ }
+ for (int i = 0; i < expected.length; i++) {
+ byte expectedItem = expected[i];
+ byte actualItem = actual[i];
+ assertEquals("Array not equal at index " + i, expectedItem, actualItem);
+ }
+ }
/**
* Tests the getCharacterStream implementation.
@@ -593,9 +606,9 @@
}
rs2.setNullBytes(b);
assertNotNull(rs.getBytes(1));
- assertEquals(b, rs.getBytes(1));
+ assertArrayEquals(b, rs.getBytes(1));
assertNotNull(rs.getBytes("column"));
- assertEquals(b, rs.getBytes("column"));
+ assertArrayEquals(b, rs.getBytes("column"));
}