From commits-return-70241-apmail-commons-commits-archive=commons.apache.org@commons.apache.org Sat Nov 2 19:56:36 2019 Return-Path: X-Original-To: apmail-commons-commits-archive@minotaur.apache.org Delivered-To: apmail-commons-commits-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [207.244.88.153]) by minotaur.apache.org (Postfix) with SMTP id E22CA1992C for ; Sat, 2 Nov 2019 19:56:35 +0000 (UTC) Received: (qmail 44038 invoked by uid 500); 2 Nov 2019 19:56:31 -0000 Delivered-To: apmail-commons-commits-archive@commons.apache.org Received: (qmail 43765 invoked by uid 500); 2 Nov 2019 19:56:31 -0000 Mailing-List: contact commits-help@commons.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@commons.apache.org Delivered-To: mailing list commits@commons.apache.org Received: (qmail 43576 invoked by uid 99); 2 Nov 2019 19:56:31 -0000 Received: from ec2-52-202-80-70.compute-1.amazonaws.com (HELO gitbox.apache.org) (52.202.80.70) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 02 Nov 2019 19:56:31 +0000 Received: by gitbox.apache.org (ASF Mail Server at gitbox.apache.org, from userid 33) id F15EF8062F; Sat, 2 Nov 2019 19:56:30 +0000 (UTC) Date: Sat, 02 Nov 2019 19:56:34 +0000 To: "commits@commons.apache.org" Subject: [commons-dbutils] 04/04: Rotate checks in an 'and' conditional to perform cheapest first. Add behavioral test to verify that custom row processor is used. MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit From: thecarlhall@apache.org In-Reply-To: <157272459086.28252.11890074641243788032@gitbox.apache.org> References: <157272459086.28252.11890074641243788032@gitbox.apache.org> X-Git-Host: gitbox.apache.org X-Git-Repo: commons-dbutils X-Git-Refname: refs/heads/master X-Git-Reftype: branch X-Git-Rev: 6f2d6d9e5e6d29d57b137061c3fc5675d0832a9e X-Git-NotificationType: diff X-Git-Multimail-Version: 1.5.dev Auto-Submitted: auto-generated Message-Id: <20191102195630.F15EF8062F@gitbox.apache.org> 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 6f2d6d9e5e6d29d57b137061c3fc5675d0832a9e Author: Carl Hall AuthorDate: Sat Nov 2 12:55:57 2019 -0700 Rotate checks in an 'and' conditional to perform cheapest first. Add behavioral test to verify that custom row processor is used. --- .../dbutils/wrappers/StringTrimmedResultSet.java | 6 +++--- .../commons/dbutils/handlers/KeyedHandlerTest.java | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/main/java/org/apache/commons/dbutils/wrappers/StringTrimmedResultSet.java b/src/main/java/org/apache/commons/dbutils/wrappers/StringTrimmedResultSet.java index 11c6fb3..929dbb3 100644 --- a/src/main/java/org/apache/commons/dbutils/wrappers/StringTrimmedResultSet.java +++ b/src/main/java/org/apache/commons/dbutils/wrappers/StringTrimmedResultSet.java @@ -97,9 +97,9 @@ public class StringTrimmedResultSet implements InvocationHandler { Object result = method.invoke(this.rs, args); - if ((method.getName().equals("getObject") - || method.getName().equals("getString")) - && result instanceof String) { + if (result instanceof String + && (method.getName().equals("getObject") + || method.getName().equals("getString"))) { result = ((String) result).trim(); } diff --git a/src/test/java/org/apache/commons/dbutils/handlers/KeyedHandlerTest.java b/src/test/java/org/apache/commons/dbutils/handlers/KeyedHandlerTest.java index b81c076..717529c 100644 --- a/src/test/java/org/apache/commons/dbutils/handlers/KeyedHandlerTest.java +++ b/src/test/java/org/apache/commons/dbutils/handlers/KeyedHandlerTest.java @@ -22,9 +22,30 @@ import java.util.Map.Entry; import org.apache.commons.dbutils.BaseTestCase; import org.apache.commons.dbutils.ResultSetHandler; +import org.apache.commons.dbutils.RowProcessor; + +import static org.mockito.Mockito.mock; public class KeyedHandlerTest extends BaseTestCase { + public void testInjectedRowProcess() throws Exception { + RowProcessor mockProc = mock(RowProcessor.class); + final ResultSetHandler>> h = new KeyedHandler<>(mockProc); + final Map> results = h.handle(this.rs); + + assertNotNull(results); + assertEquals(ROWS, results.size()); + + Map row = null; + for(final Entry> entry : results.entrySet()) + { + row = entry.getValue(); + assertNotNull(row); + assertTrue(row.isEmpty()); + assertEquals(0, row.keySet().size()); + } + } + public void testHandle() throws SQLException { final ResultSetHandler>> h = new KeyedHandler<>();