This is an automated email from the ASF dual-hosted git repository. thecarlhall pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/commons-dbutils.git
commit 9870e520ddd76f93c743b1a6b63ea65592b2b504 Author: Carl Hall <thecarlh...@apache.org> AuthorDate: Sun Dec 4 10:30:17 2022 -0500 Format code with comments, update tests Added comments to string replacements to give context of each. Updated unit tests to cover removing spaces in column names. --- .../commons/dbutils/GenerousBeanProcessor.java | 4 +++- .../commons/dbutils/GenerousBeanProcessorTest.java | 25 ++++++++++++++++------ 2 files changed, 22 insertions(+), 7 deletions(-) diff --git a/src/main/java/org/apache/commons/dbutils/GenerousBeanProcessor.java b/src/main/java/org/apache/commons/dbutils/GenerousBeanProcessor.java index 404b84c..c9e3615 100644 --- a/src/main/java/org/apache/commons/dbutils/GenerousBeanProcessor.java +++ b/src/main/java/org/apache/commons/dbutils/GenerousBeanProcessor.java @@ -52,7 +52,9 @@ public class GenerousBeanProcessor extends BeanProcessor { columnName = rsmd.getColumnName(col); } - final String generousColumnName = columnName.replace("_", "").replace(" ", ""); + final String generousColumnName = columnName + .replace("_", "") // more idiomatic to Java + .replace(" ", ""); // can't have spaces in property names for (int i = 0; i < props.length; i++) { final String propName = props[i].getName(); diff --git a/src/test/java/org/apache/commons/dbutils/GenerousBeanProcessorTest.java b/src/test/java/org/apache/commons/dbutils/GenerousBeanProcessorTest.java index 95cf5a4..bb68468 100644 --- a/src/test/java/org/apache/commons/dbutils/GenerousBeanProcessorTest.java +++ b/src/test/java/org/apache/commons/dbutils/GenerousBeanProcessorTest.java @@ -28,7 +28,6 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; import static org.mockito.Mockito.when; - public class GenerousBeanProcessorTest { GenerousBeanProcessor processor = new GenerousBeanProcessor(); @@ -103,15 +102,31 @@ public class GenerousBeanProcessorTest { assertEquals(1, ret[3]); } + @SuppressWarnings("boxing") // test code + @Test + public void testMapColumnsToPropertiesWithSpaces() throws Exception { + when(metaData.getColumnCount()).thenReturn(3); + + when(metaData.getColumnLabel(1)).thenReturn("th ree"); + when(metaData.getColumnLabel(2)).thenReturn("o n e"); + when(metaData.getColumnLabel(3)).thenReturn("t wo"); + + final int[] ret = processor.mapColumnsToProperties(metaData, propDescriptors); + + assertNotNull(ret); + assertEquals(4, ret.length); + assertEquals(-1, ret[0]); + assertEquals(2, ret[1]); + assertEquals(0, ret[2]); + assertEquals(1, ret[3]); + } + @SuppressWarnings("boxing") // test code @Test public void testMapColumnsToPropertiesColumnLabelIsNull() throws Exception { when(metaData.getColumnCount()).thenReturn(1); when(metaData.getColumnName(1)).thenReturn("juhu"); - when(metaData.getColumnLabel(1)).thenReturn(null); - when(metaData.getColumnLabel(2)).thenReturn("One"); - when(metaData.getColumnLabel(3)).thenReturn("tWO"); final int[] ret = processor.mapColumnsToProperties(metaData, propDescriptors); @@ -119,8 +134,6 @@ public class GenerousBeanProcessorTest { assertEquals(2, ret.length); assertEquals(-1, ret[0]); assertEquals(-1, ret[1]); - assertEquals(-1, ret[1]); - assertEquals(-1, ret[1]); } static class TestBean {