garydgregory commented on code in PR #218:
URL: https://github.com/apache/commons-dbutils/pull/218#discussion_r1404328661
##########
src/main/java/org/apache/commons/dbutils/wrappers/StringTrimmedResultSet.java:
##########
@@ -92,12 +92,25 @@ public Object invoke(final Object proxy, final Method
method, final Object[] arg
Object result = method.invoke(this.resultSet, args);
if (result instanceof String
- && (method.getName().equals("getObject")
- || method.getName().equals("getString"))) {
+ && isMethodNameGetObjectOrString(method.getName())) {
Review Comment:
No need for this complication and code bloat when there is only one case for
reuse.
##########
src/main/java/org/apache/commons/dbutils/wrappers/StringTrimmedResultSet.java:
##########
@@ -92,12 +92,25 @@ public Object invoke(final Object proxy, final Method
method, final Object[] arg
Object result = method.invoke(this.resultSet, args);
if (result instanceof String
- && (method.getName().equals("getObject")
- || method.getName().equals("getString"))) {
+ && isMethodNameGetObjectOrString(method.getName())) {
result = ((String) result).trim();
}
return result;
}
+ private boolean isMethodNameGetObjectOrString(String name) {
+ return isMethodNameGetObject(name) || isMethodNameGetString(name);
+ }
+
+ private boolean isMethodNameGetObject(String name) {
+ final String getObjectName = "getObject";
+ return name.equals(getObjectName);
+ }
+
+ private boolean isMethodNameGetString(String name) {
+ final String getStringName = "getString";
Review Comment:
Useless local variable (see above, code bloat).
##########
src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java:
##########
@@ -186,21 +187,21 @@ public void setTestField(final int idx, final Integer
testField) {
}
}
- private static final BeanProcessor beanProc = new BeanProcessor();
+ private static final BeanProcessor BEAN_PROCESSOR = new BeanProcessor();
public void testCheckAnnotationOnMissingReadMethod() throws Exception {
final String[] colNames = {"testField"};
final ResultSetMetaData metaData =
MockResultSetMetaData.create(colNames);
- final String testField = "first";
+ final String testFieldHeaderData = "first";
final Object[][] rows = {
- new Object[] {testField}
+ new Object[] {testFieldHeaderData}
};
- final ResultSet rs = MockResultSet.create(metaData, rows);
- assertTrue(rs.next());
+ final ResultSet resultSet = MockResultSet.create(metaData, rows);
Review Comment:
`rs` -> `resultSet`: Good one :-)
##########
src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java:
##########
@@ -213,93 +214,90 @@ public void testCheckAnnotationOnMissingReadMethod()
throws Exception {
* @see <a
href="https://issues.apache.org/jira/browse/DBUTILS-150">DBUTILS-150</a>
*/
public void testIndexedPropertyDescriptor() throws Exception {
- final String[] colNames = {"name", "things", "stuff"};
- final ResultSetMetaData metaData =
MockResultSetMetaData.create(colNames);
+ final String[] columnNames = {"name", "things", "stuff"};
+ final ResultSetMetaData metaData =
MockResultSetMetaData.create(columnNames);
- final String name = "first";
- final List<String> things = Arrays.asList("1", "2", "3", "4");
- final List<String> stuff = things;
+ final String nameHeaderData = "first";
Review Comment:
No need for this wordiness.
##########
src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java:
##########
@@ -308,15 +306,21 @@ public void testWrongSetterParamCount() throws Exception {
final String[] colNames = {"testField"};
final ResultSetMetaData metaData =
MockResultSetMetaData.create(colNames);
- final Integer testField = 1;
+ final Integer testFieldHeaderData = 1;
Review Comment:
`testField` is fine.
##########
src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java:
##########
@@ -213,93 +214,90 @@ public void testCheckAnnotationOnMissingReadMethod()
throws Exception {
* @see <a
href="https://issues.apache.org/jira/browse/DBUTILS-150">DBUTILS-150</a>
*/
public void testIndexedPropertyDescriptor() throws Exception {
- final String[] colNames = {"name", "things", "stuff"};
- final ResultSetMetaData metaData =
MockResultSetMetaData.create(colNames);
+ final String[] columnNames = {"name", "things", "stuff"};
+ final ResultSetMetaData metaData =
MockResultSetMetaData.create(columnNames);
- final String name = "first";
- final List<String> things = Arrays.asList("1", "2", "3", "4");
- final List<String> stuff = things;
+ final String nameHeaderData = "first";
+ final List<String> thingsHeaderData = Arrays.asList("1", "2", "3",
"4");
+ final List<String> stuffHeaderData = thingsHeaderData;
final Object[][] rows = {
- new Object[] {name, things, stuff}
+ new Object[] {nameHeaderData, thingsHeaderData,
stuffHeaderData}
};
- final ResultSet rs = MockResultSet.create(metaData, rows);
- assertTrue(rs.next());
- IndexedPropertyTestClass testCls = new IndexedPropertyTestClass();
- testCls = beanProc.populateBean(rs, testCls);
- assertEquals(name, testCls.getName());
- assertArrayEquals(things.toArray(), testCls.getThings().toArray());
- assertArrayEquals(stuff.toArray(), testCls.getStuff().toArray());
+ final ResultSet resultSet = MockResultSet.create(metaData, rows);
+ assertTrue(resultSet.next());
+ IndexedPropertyTestClass indexedPropertyTestClass = new
IndexedPropertyTestClass();
+ indexedPropertyTestClass = BEAN_PROCESSOR.populateBean(resultSet,
indexedPropertyTestClass);
+ assertEquals(nameHeaderData, indexedPropertyTestClass.getName());
+ assertArrayEquals(thingsHeaderData.toArray(),
indexedPropertyTestClass.getThings().toArray());
+ assertArrayEquals(stuffHeaderData.toArray(),
indexedPropertyTestClass.getStuff().toArray());
}
public void testMapColumnToAnnotationField() throws Exception {
final String[] columnNames = { "test", "test", "three_" };
final String[] columnLabels = { "one", "two", null };
- final ResultSetMetaData rsmd =
ProxyFactory.instance().createResultSetMetaData(
- new MockResultSetMetaData(columnNames, columnLabels));
+ final ResultSetMetaData resultSetMetaData =
buildResultSetMetaData(columnNames, columnLabels);
final PropertyDescriptor[] props =
Introspector.getBeanInfo(MapColumnToAnnotationFieldBean.class).getPropertyDescriptors();
- final int[] columns = beanProc.mapColumnsToProperties(rsmd, props);
+ final int[] columns =
BEAN_PROCESSOR.mapColumnsToProperties(resultSetMetaData, props);
for (int i = 1; i < columns.length; i++) {
- assertTrue(columns[i] != BeanProcessor.PROPERTY_NOT_FOUND);
+ assertNotEquals(columns[i], BeanProcessor.PROPERTY_NOT_FOUND);
Review Comment:
You're NOT testing the same thing! The old test uses object identity! Review
all your changes to make sure you do not change assertion semantics! Or, are
you saying this one assertion was incorrect?
##########
src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java:
##########
@@ -186,21 +187,21 @@ public void setTestField(final int idx, final Integer
testField) {
}
}
- private static final BeanProcessor beanProc = new BeanProcessor();
+ private static final BeanProcessor BEAN_PROCESSOR = new BeanProcessor();
Review Comment:
Good catch! :-)
##########
src/main/java/org/apache/commons/dbutils/wrappers/StringTrimmedResultSet.java:
##########
@@ -92,12 +92,25 @@ public Object invoke(final Object proxy, final Method
method, final Object[] arg
Object result = method.invoke(this.resultSet, args);
if (result instanceof String
- && (method.getName().equals("getObject")
- || method.getName().equals("getString"))) {
+ && isMethodNameGetObjectOrString(method.getName())) {
result = ((String) result).trim();
}
return result;
}
+ private boolean isMethodNameGetObjectOrString(String name) {
+ return isMethodNameGetObject(name) || isMethodNameGetString(name);
+ }
+
+ private boolean isMethodNameGetObject(String name) {
+ final String getObjectName = "getObject";
Review Comment:
Useless local variable (see above, code bloat).
##########
src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java:
##########
@@ -213,93 +214,90 @@ public void testCheckAnnotationOnMissingReadMethod()
throws Exception {
* @see <a
href="https://issues.apache.org/jira/browse/DBUTILS-150">DBUTILS-150</a>
*/
public void testIndexedPropertyDescriptor() throws Exception {
- final String[] colNames = {"name", "things", "stuff"};
- final ResultSetMetaData metaData =
MockResultSetMetaData.create(colNames);
+ final String[] columnNames = {"name", "things", "stuff"};
+ final ResultSetMetaData metaData =
MockResultSetMetaData.create(columnNames);
- final String name = "first";
- final List<String> things = Arrays.asList("1", "2", "3", "4");
- final List<String> stuff = things;
+ final String nameHeaderData = "first";
+ final List<String> thingsHeaderData = Arrays.asList("1", "2", "3",
"4");
+ final List<String> stuffHeaderData = thingsHeaderData;
final Object[][] rows = {
- new Object[] {name, things, stuff}
+ new Object[] {nameHeaderData, thingsHeaderData,
stuffHeaderData}
};
- final ResultSet rs = MockResultSet.create(metaData, rows);
- assertTrue(rs.next());
- IndexedPropertyTestClass testCls = new IndexedPropertyTestClass();
- testCls = beanProc.populateBean(rs, testCls);
- assertEquals(name, testCls.getName());
- assertArrayEquals(things.toArray(), testCls.getThings().toArray());
- assertArrayEquals(stuff.toArray(), testCls.getStuff().toArray());
+ final ResultSet resultSet = MockResultSet.create(metaData, rows);
Review Comment:
rs -> resultSet: Good one :-)
Don't use "Data" in names, everything is "data".
##########
src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java:
##########
@@ -213,93 +214,90 @@ public void testCheckAnnotationOnMissingReadMethod()
throws Exception {
* @see <a
href="https://issues.apache.org/jira/browse/DBUTILS-150">DBUTILS-150</a>
*/
public void testIndexedPropertyDescriptor() throws Exception {
- final String[] colNames = {"name", "things", "stuff"};
- final ResultSetMetaData metaData =
MockResultSetMetaData.create(colNames);
+ final String[] columnNames = {"name", "things", "stuff"};
+ final ResultSetMetaData metaData =
MockResultSetMetaData.create(columnNames);
- final String name = "first";
- final List<String> things = Arrays.asList("1", "2", "3", "4");
- final List<String> stuff = things;
+ final String nameHeaderData = "first";
+ final List<String> thingsHeaderData = Arrays.asList("1", "2", "3",
"4");
+ final List<String> stuffHeaderData = thingsHeaderData;
final Object[][] rows = {
- new Object[] {name, things, stuff}
+ new Object[] {nameHeaderData, thingsHeaderData,
stuffHeaderData}
};
- final ResultSet rs = MockResultSet.create(metaData, rows);
- assertTrue(rs.next());
- IndexedPropertyTestClass testCls = new IndexedPropertyTestClass();
- testCls = beanProc.populateBean(rs, testCls);
- assertEquals(name, testCls.getName());
- assertArrayEquals(things.toArray(), testCls.getThings().toArray());
- assertArrayEquals(stuff.toArray(), testCls.getStuff().toArray());
+ final ResultSet resultSet = MockResultSet.create(metaData, rows);
+ assertTrue(resultSet.next());
+ IndexedPropertyTestClass indexedPropertyTestClass = new
IndexedPropertyTestClass();
+ indexedPropertyTestClass = BEAN_PROCESSOR.populateBean(resultSet,
indexedPropertyTestClass);
+ assertEquals(nameHeaderData, indexedPropertyTestClass.getName());
+ assertArrayEquals(thingsHeaderData.toArray(),
indexedPropertyTestClass.getThings().toArray());
+ assertArrayEquals(stuffHeaderData.toArray(),
indexedPropertyTestClass.getStuff().toArray());
}
public void testMapColumnToAnnotationField() throws Exception {
final String[] columnNames = { "test", "test", "three_" };
final String[] columnLabels = { "one", "two", null };
- final ResultSetMetaData rsmd =
ProxyFactory.instance().createResultSetMetaData(
- new MockResultSetMetaData(columnNames, columnLabels));
+ final ResultSetMetaData resultSetMetaData =
buildResultSetMetaData(columnNames, columnLabels);
Review Comment:
`resultSetMetaData`: Good one :-)
##########
src/test/java/org/apache/commons/dbutils/BeanProcessorTest.java:
##########
@@ -186,21 +187,21 @@ public void setTestField(final int idx, final Integer
testField) {
}
}
- private static final BeanProcessor beanProc = new BeanProcessor();
+ private static final BeanProcessor BEAN_PROCESSOR = new BeanProcessor();
public void testCheckAnnotationOnMissingReadMethod() throws Exception {
final String[] colNames = {"testField"};
final ResultSetMetaData metaData =
MockResultSetMetaData.create(colNames);
- final String testField = "first";
+ final String testFieldHeaderData = "first";
Review Comment:
No need for this wordiness.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]