Return-Path: X-Original-To: apmail-camel-commits-archive@www.apache.org Delivered-To: apmail-camel-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 290A011D4E for ; Tue, 16 Sep 2014 13:08:02 +0000 (UTC) Received: (qmail 10166 invoked by uid 500); 16 Sep 2014 13:08:01 -0000 Delivered-To: apmail-camel-commits-archive@camel.apache.org Received: (qmail 10019 invoked by uid 500); 16 Sep 2014 13:08:01 -0000 Mailing-List: contact commits-help@camel.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@camel.apache.org Delivered-To: mailing list commits@camel.apache.org Received: (qmail 9810 invoked by uid 99); 16 Sep 2014 13:08:01 -0000 Received: from tyr.zones.apache.org (HELO tyr.zones.apache.org) (140.211.11.114) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 16 Sep 2014 13:08:01 +0000 Received: by tyr.zones.apache.org (Postfix, from userid 65534) id 85C93A15BBD; Tue, 16 Sep 2014 13:08:01 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: ningjiang@apache.org To: commits@camel.apache.org Date: Tue, 16 Sep 2014 13:08:04 -0000 Message-Id: In-Reply-To: <4e392d96f4854bf0b96df1a7ca53b9a2@git.apache.org> References: <4e392d96f4854bf0b96df1a7ca53b9a2@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: [4/6] git commit: CAMEL-7803 CAMEL-7803 Patch added new boolean flag "preFetched" to allow inserts with parameters that have null values Project: http://git-wip-us.apache.org/repos/asf/camel/repo Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/75c973a2 Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/75c973a2 Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/75c973a2 Branch: refs/heads/camel-2.13.x Commit: 75c973a25e3a12d749dc7da8d5e6f3d92d15cc26 Parents: 543e3a5 Author: nathanwray Authored: Thu Sep 11 11:57:09 2014 -0400 Committer: Willem Jiang Committed: Tue Sep 16 21:04:43 2014 +0800 ---------------------------------------------------------------------- .../DefaultJdbcPrepareStatementStrategy.java | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/camel/blob/75c973a2/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/DefaultJdbcPrepareStatementStrategy.java ---------------------------------------------------------------------- diff --git a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/DefaultJdbcPrepareStatementStrategy.java b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/DefaultJdbcPrepareStatementStrategy.java index cceafae..b412ff2 100644 --- a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/DefaultJdbcPrepareStatementStrategy.java +++ b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/DefaultJdbcPrepareStatementStrategy.java @@ -72,22 +72,21 @@ public class DefaultJdbcPrepareStatementStrategy implements JdbcPrepareStatement return new Iterator() { private NamedQueryParser parser = new NamedQueryParser(query); private Object next; - private boolean done; + private boolean done = false; + private boolean preFetched = false; @Override public boolean hasNext() { - if (done) { - return false; + if (!done && !preFetched) { + next(); + preFetched = true; } - if (next == null) { - next = next(); - } - return next != null; + return (!done); } @Override public Object next() { - if (next == null) { + if (!preFetched) { String key = parser.next(); if (key == null) { done = true; @@ -100,9 +99,8 @@ public class DefaultJdbcPrepareStatementStrategy implements JdbcPrepareStatement } next = headerMap.get(key); } - Object answer = next; - next = null; - return answer; + preFetched = false; + return next; } @Override