You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by br...@apache.org on 2014/05/08 11:22:42 UTC
svn commit: r1593217 - in /commons/proper/dbutils/trunk/src: changes/
main/java/org/apache/commons/dbutils/ test/java/org/apache/commons/dbutils/
test/java/org/apache/commons/dbutils/handlers/
Author: britter
Date: Thu May 8 09:22:41 2014
New Revision: 1593217
URL: http://svn.apache.org/r1593217
Log:
DBUTILS-113: Add support for conversion of ResultSet strings to enums in the BeanProcessor. Thanks to Graylin Kim and Michael Osipov.
Modified:
commons/proper/dbutils/trunk/src/changes/changes.xml
commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/BeanProcessor.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BaseTestCase.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BasicRowProcessorTest.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/ResultSetIteratorTest.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/TestBean.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/ArrayHandlerTest.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/ArrayListHandlerTest.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/BeanHandlerTest.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/BeanListHandlerTest.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/KeyedHandlerTest.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/MapHandlerTest.java
commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/MapListHandlerTest.java
Modified: commons/proper/dbutils/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/changes/changes.xml?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/changes/changes.xml (original)
+++ commons/proper/dbutils/trunk/src/changes/changes.xml Thu May 8 09:22:41 2014
@@ -44,6 +44,9 @@ The <action> type attribute can be add,u
</properties>
<body>
<release version="1.6" date="TBA" description="Bugfixes and addition of insert methods">
+ <action dev="britter" type="add" issue="DBUTILS-113" due-to="Graylin Kim, Michael Osipov">
+ Add support for conversion of ResultSet strings to enums in the BeanProcessor
+ </action>
<action dev="sebb" type="update" issue="DBUTILS-85">
In BeanProcessor#isCompatibleType, can Integer.class.isInstance(value) be replaced by value instanceof Integer (etc)?
Simplified code by using instanceof.
Modified: commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/BeanProcessor.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/BeanProcessor.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/BeanProcessor.java (original)
+++ commons/proper/dbutils/trunk/src/main/java/org/apache/commons/dbutils/BeanProcessor.java Thu May 8 09:22:41 2014
@@ -264,6 +264,9 @@ public class BeanProcessor {
if ("java.sql.Timestamp".equals(targetType)) {
value = new java.sql.Timestamp(((java.util.Date) value).getTime());
}
+ } else
+ if (value instanceof String && params[0].isEnum()) {
+ value = Enum.valueOf(params[0].asSubclass(Enum.class), (String) value);
}
// Don't call setter if the value object isn't the right type
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BaseTestCase.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BaseTestCase.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BaseTestCase.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BaseTestCase.java Thu May 8 09:22:41 2014
@@ -54,7 +54,7 @@ public class BaseTestCase extends TestCa
new Object[] {
"1",
"2",
- "3",
+ "THREE",
" notInBean ",
Integer.valueOf(1),
Integer.valueOf(2),
@@ -67,7 +67,7 @@ public class BaseTestCase extends TestCa
new Object[] {
"4",
"5",
- "6",
+ "SIX",
" notInBean ",
Integer.valueOf(3),
Integer.valueOf(4),
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BasicRowProcessorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BasicRowProcessorTest.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BasicRowProcessorTest.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BasicRowProcessorTest.java Thu May 8 09:22:41 2014
@@ -46,7 +46,7 @@ public class BasicRowProcessorTest exten
assertEquals(COLS, a.length);
assertEquals("1", a[0]);
assertEquals("2", a[1]);
- assertEquals("3", a[2]);
+ assertEquals("THREE", a[2]);
assertTrue(this.rs.next());
a = processor.toArray(this.rs);
@@ -54,7 +54,7 @@ public class BasicRowProcessorTest exten
assertEquals("4", a[0]);
assertEquals("5", a[1]);
- assertEquals("6", a[2]);
+ assertEquals("SIX", a[2]);
assertFalse(this.rs.next());
}
@@ -66,7 +66,7 @@ public class BasicRowProcessorTest exten
row = processor.toBean(this.rs, TestBean.class);
assertEquals("1", row.getOne());
assertEquals("2", row.getTwo());
- assertEquals("3", row.getThree());
+ assertEquals(TestBean.Ordinal.THREE, row.getThree());
assertEquals("not set", row.getDoNotSet());
assertTrue(this.rs.next());
@@ -74,7 +74,7 @@ public class BasicRowProcessorTest exten
assertEquals("4", row.getOne());
assertEquals("5", row.getTwo());
- assertEquals("6", row.getThree());
+ assertEquals(TestBean.Ordinal.SIX, row.getThree());
assertEquals("not set", row.getDoNotSet());
assertEquals(3, row.getIntTest());
assertEquals(Integer.valueOf(4), row.getIntegerTest());
@@ -98,13 +98,13 @@ public class BasicRowProcessorTest exten
TestBean b = list.get(0);
assertEquals("1", b.getOne());
assertEquals("2", b.getTwo());
- assertEquals("3", b.getThree());
+ assertEquals(TestBean.Ordinal.THREE, b.getThree());
assertEquals("not set", b.getDoNotSet());
b = list.get(1);
assertEquals("4", b.getOne());
assertEquals("5", b.getTwo());
- assertEquals("6", b.getThree());
+ assertEquals(TestBean.Ordinal.SIX, b.getThree());
assertEquals("not set", b.getDoNotSet());
assertEquals(3, b.getIntTest());
assertEquals(Integer.valueOf(4), b.getIntegerTest());
@@ -123,7 +123,7 @@ public class BasicRowProcessorTest exten
assertEquals(COLS, m.keySet().size());
assertEquals("1", m.get("one"));
assertEquals("2", m.get("TWO"));
- assertEquals("3", m.get("Three"));
+ assertEquals("THREE", m.get("Three"));
assertTrue(this.rs.next());
m = processor.toMap(this.rs);
@@ -131,7 +131,7 @@ public class BasicRowProcessorTest exten
assertEquals("4", m.get("One")); // case shouldn't matter
assertEquals("5", m.get("two"));
- assertEquals("6", m.get("THREE"));
+ assertEquals("SIX", m.get("THREE"));
assertFalse(this.rs.next());
}
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java Thu May 8 09:22:41 2014
@@ -32,10 +32,12 @@ public class BeanProcessorTest extends B
assertTrue(this.rs.next());
b = beanProc.toBean(this.rs, TestBean.class);
assertEquals(13.0, b.getColumnProcessorDoubleTest(), 0);
+ assertEquals(b.getThree(), TestBean.Ordinal.THREE);
assertTrue(this.rs.next());
b = beanProc.toBean(this.rs, TestBean.class);
assertEquals(13.0, b.getColumnProcessorDoubleTest(), 0);
+ assertEquals(b.getThree(), TestBean.Ordinal.SIX);
assertFalse(this.rs.next());
}
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/ResultSetIteratorTest.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/ResultSetIteratorTest.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/ResultSetIteratorTest.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/ResultSetIteratorTest.java Thu May 8 09:22:41 2014
@@ -33,7 +33,7 @@ public class ResultSetIteratorTest exten
assertEquals(COLS, row.length);
assertEquals("1", row[0]);
assertEquals("2", row[1]);
- assertEquals("3", row[2]);
+ assertEquals("THREE", row[2]);
assertTrue(iter.hasNext());
row = iter.next();
@@ -41,7 +41,7 @@ public class ResultSetIteratorTest exten
assertEquals("4", row[0]);
assertEquals("5", row[1]);
- assertEquals("6", row[2]);
+ assertEquals("SIX", row[2]);
assertFalse(iter.hasNext());
}
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/TestBean.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/TestBean.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/TestBean.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/TestBean.java Thu May 8 09:22:41 2014
@@ -21,11 +21,17 @@ package org.apache.commons.dbutils;
*/
public class TestBean {
+ public enum Ordinal {
+
+ THREE, SIX;
+
+ };
+
private String one = null;
private String two = null;
- private String three = null;
+ private Ordinal three = null;
private int intTest = 0;
@@ -69,7 +75,7 @@ public class TestBean {
return one;
}
- public String getThree() {
+ public Ordinal getThree() {
return three;
}
@@ -81,8 +87,8 @@ public class TestBean {
one = string;
}
- public void setThree(String string) {
- three = string;
+ public void setThree(Ordinal ordinal) {
+ three = ordinal;
}
public void setTwo(String string) {
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/ArrayHandlerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/ArrayHandlerTest.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/ArrayHandlerTest.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/ArrayHandlerTest.java Thu May 8 09:22:41 2014
@@ -34,7 +34,7 @@ public class ArrayHandlerTest extends Ba
assertEquals(COLS, results.length);
assertEquals("1", results[0]);
assertEquals("2", results[1]);
- assertEquals("3", results[2]);
+ assertEquals("THREE", results[2]);
}
public void testEmptyResultSetHandle() throws SQLException {
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/ArrayListHandlerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/ArrayListHandlerTest.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/ArrayListHandlerTest.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/ArrayListHandlerTest.java Thu May 8 09:22:41 2014
@@ -42,7 +42,7 @@ public class ArrayListHandlerTest extend
assertEquals(COLS, row.length);
assertEquals("1", row[0]);
assertEquals("2", row[1]);
- assertEquals("3", row[2]);
+ assertEquals("THREE", row[2]);
assertTrue(iter.hasNext());
row = iter.next();
@@ -50,7 +50,7 @@ public class ArrayListHandlerTest extend
assertEquals("4", row[0]);
assertEquals("5", row[1]);
- assertEquals("6", row[2]);
+ assertEquals("SIX", row[2]);
assertFalse(iter.hasNext());
}
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/BeanHandlerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/BeanHandlerTest.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/BeanHandlerTest.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/BeanHandlerTest.java Thu May 8 09:22:41 2014
@@ -34,7 +34,7 @@ public class BeanHandlerTest extends Bas
assertNotNull(results);
assertEquals("1", results.getOne());
assertEquals("2", results.getTwo());
- assertEquals("3", results.getThree());
+ assertEquals(TestBean.Ordinal.THREE, results.getThree());
assertEquals("not set", results.getDoNotSet());
}
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/BeanListHandlerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/BeanListHandlerTest.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/BeanListHandlerTest.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/BeanListHandlerTest.java Thu May 8 09:22:41 2014
@@ -42,7 +42,7 @@ public class BeanListHandlerTest extends
row = iter.next();
assertEquals("1", row.getOne());
assertEquals("2", row.getTwo());
- assertEquals("3", row.getThree());
+ assertEquals(TestBean.Ordinal.THREE, row.getThree());
assertEquals("not set", row.getDoNotSet());
assertTrue(iter.hasNext());
@@ -50,7 +50,7 @@ public class BeanListHandlerTest extends
assertEquals("4", row.getOne());
assertEquals("5", row.getTwo());
- assertEquals("6", row.getThree());
+ assertEquals(TestBean.Ordinal.SIX, row.getThree());
assertEquals("not set", row.getDoNotSet());
assertFalse(iter.hasNext());
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/KeyedHandlerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/KeyedHandlerTest.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/KeyedHandlerTest.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/KeyedHandlerTest.java Thu May 8 09:22:41 2014
@@ -45,7 +45,7 @@ public class KeyedHandlerTest extends Ba
row = results.get("1");
assertEquals("1", row.get("one"));
assertEquals("2", row.get("TWO"));
- assertEquals("3", row.get("Three"));
+ assertEquals("THREE", row.get("Three"));
}
public void testColumnIndexHandle() throws SQLException {
@@ -67,7 +67,7 @@ public class KeyedHandlerTest extends Ba
row = results.get("5");
assertEquals("4", row.get("one"));
assertEquals("5", row.get("TWO"));
- assertEquals("6", row.get("Three"));
+ assertEquals("SIX", row.get("Three"));
}
public void testColumnNameHandle() throws SQLException {
@@ -89,7 +89,7 @@ public class KeyedHandlerTest extends Ba
row = results.get(Integer.valueOf(3));
assertEquals("4", row.get("one"));
assertEquals("5", row.get("TWO"));
- assertEquals("6", row.get("Three"));
+ assertEquals("SIX", row.get("Three"));
}
public void testEmptyResultSetHandle() throws SQLException {
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/MapHandlerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/MapHandlerTest.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/MapHandlerTest.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/MapHandlerTest.java Thu May 8 09:22:41 2014
@@ -35,7 +35,7 @@ public class MapHandlerTest extends Base
assertEquals(COLS, results.keySet().size());
assertEquals("1", results.get("ONE"));
assertEquals("2", results.get("two"));
- assertEquals("3", results.get("Three"));
+ assertEquals("THREE", results.get("Three"));
}
public void testEmptyResultSetHandle() throws SQLException {
Modified: commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/MapListHandlerTest.java
URL: http://svn.apache.org/viewvc/commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/MapListHandlerTest.java?rev=1593217&r1=1593216&r2=1593217&view=diff
==============================================================================
--- commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/MapListHandlerTest.java (original)
+++ commons/proper/dbutils/trunk/src/test/java/org/apache/commons/dbutils/handlers/MapListHandlerTest.java Thu May 8 09:22:41 2014
@@ -43,7 +43,7 @@ public class MapListHandlerTest extends
assertEquals(COLS, row.keySet().size());
assertEquals("1", row.get("one"));
assertEquals("2", row.get("TWO"));
- assertEquals("3", row.get("Three"));
+ assertEquals("THREE", row.get("Three"));
assertTrue(iter.hasNext());
row = iter.next();
@@ -51,7 +51,7 @@ public class MapListHandlerTest extends
assertEquals("4", row.get("one"));
assertEquals("5", row.get("TWO"));
- assertEquals("6", row.get("Three"));
+ assertEquals("SIX", row.get("Three"));
assertFalse(iter.hasNext());
}