You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by da...@apache.org on 2016/04/09 09:23:21 UTC

[1/8] camel git commit: CAMEL-9838 - Add starts with operator to simple language

Repository: camel
Updated Branches:
  refs/heads/camel-2.16.x 20bbbcc9a -> eed00f12d
  refs/heads/camel-2.17.x 10d69f22d -> 5732ceb1c
  refs/heads/master aeff910e9 -> 53a6593bb


CAMEL-9838 - Add starts with operator to simple language


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/c2f3631d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/c2f3631d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/c2f3631d

Branch: refs/heads/master
Commit: c2f3631db82bc62372073f2ccdfaf86cf2e7026f
Parents: aeff910
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Apr 9 08:49:22 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Apr 9 08:49:22 2016 +0200

----------------------------------------------------------------------
 .../apache/camel/language/simple/SimpleTokenizer.java |  1 +
 .../camel/language/simple/ast/BinaryExpression.java   |  2 ++
 .../language/simple/types/BinaryOperatorType.java     |  8 +++++++-
 .../camel/language/simple/SimpleOperatorTest.java     | 14 ++++++++++++--
 4 files changed, 22 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/c2f3631d/camel-core/src/main/java/org/apache/camel/language/simple/SimpleTokenizer.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/language/simple/SimpleTokenizer.java b/camel-core/src/main/java/org/apache/camel/language/simple/SimpleTokenizer.java
index 8956fad..37f83f4 100644
--- a/camel-core/src/main/java/org/apache/camel/language/simple/SimpleTokenizer.java
+++ b/camel-core/src/main/java/org/apache/camel/language/simple/SimpleTokenizer.java
@@ -66,6 +66,7 @@ public final class SimpleTokenizer {
         KNOWN_TOKENS.add(new SimpleTokenType(TokenType.binaryOperator, "in"));
         KNOWN_TOKENS.add(new SimpleTokenType(TokenType.binaryOperator, "range"));
         KNOWN_TOKENS.add(new SimpleTokenType(TokenType.binaryOperator, "not range"));
+        KNOWN_TOKENS.add(new SimpleTokenType(TokenType.binaryOperator, "starts with"));
         KNOWN_TOKENS.add(new SimpleTokenType(TokenType.binaryOperator, "ends with"));
 
         // unary operators

http://git-wip-us.apache.org/repos/asf/camel/blob/c2f3631d/camel-core/src/main/java/org/apache/camel/language/simple/ast/BinaryExpression.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/language/simple/ast/BinaryExpression.java b/camel-core/src/main/java/org/apache/camel/language/simple/ast/BinaryExpression.java
index 3c76c31..4b6e821 100644
--- a/camel-core/src/main/java/org/apache/camel/language/simple/ast/BinaryExpression.java
+++ b/camel-core/src/main/java/org/apache/camel/language/simple/ast/BinaryExpression.java
@@ -104,6 +104,8 @@ public class BinaryExpression extends BaseSimpleNode {
             return createInExpression(leftExp, rightExp);
         } else if (operator == BinaryOperatorType.RANGE || operator == BinaryOperatorType.NOT_RANGE) {
             return createRangeExpression(expression, leftExp, rightExp);
+        } else if (operator == BinaryOperatorType.STARTS_WITH) {
+            return createExpression(leftExp, rightExp, PredicateBuilder.startsWith(leftExp, rightExp));
         } else if (operator == BinaryOperatorType.ENDS_WITH) {
             return createExpression(leftExp, rightExp, PredicateBuilder.endsWith(leftExp, rightExp));
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/c2f3631d/camel-core/src/main/java/org/apache/camel/language/simple/types/BinaryOperatorType.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/language/simple/types/BinaryOperatorType.java b/camel-core/src/main/java/org/apache/camel/language/simple/types/BinaryOperatorType.java
index 02e7665..5a7751b 100644
--- a/camel-core/src/main/java/org/apache/camel/language/simple/types/BinaryOperatorType.java
+++ b/camel-core/src/main/java/org/apache/camel/language/simple/types/BinaryOperatorType.java
@@ -22,7 +22,7 @@ package org.apache.camel.language.simple.types;
 public enum BinaryOperatorType {
 
     EQ, EQ_IGNORE, GT, GTE, LT, LTE, NOT_EQ, CONTAINS, NOT_CONTAINS, REGEX, NOT_REGEX,
-    IN, NOT_IN, IS, NOT_IS, RANGE, NOT_RANGE, ENDS_WITH;
+    IN, NOT_IN, IS, NOT_IS, RANGE, NOT_RANGE, STARTS_WITH, ENDS_WITH;
 
     public static BinaryOperatorType asOperator(String text) {
         if ("==".equals(text)) {
@@ -59,6 +59,8 @@ public enum BinaryOperatorType {
             return RANGE;
         } else if ("not range".equals(text)) {
             return NOT_RANGE;
+        } else if ("starts with".equals(text)) {
+            return STARTS_WITH;
         } else if ("ends with".equals(text)) {
             return ENDS_WITH;
         }
@@ -100,6 +102,8 @@ public enum BinaryOperatorType {
             return "range";
         } else if (operator == NOT_RANGE) {
             return "not range";
+        } else if (operator == STARTS_WITH) {
+            return "starts with";
         } else if (operator == ENDS_WITH) {
             return "ends with";
         }
@@ -186,6 +190,8 @@ public enum BinaryOperatorType {
             return new ParameterType[]{ParameterType.LiteralWithFunction, ParameterType.Function};
         } else if (operator == NOT_RANGE) {
             return new ParameterType[]{ParameterType.LiteralWithFunction, ParameterType.Function};
+        } else if (operator == STARTS_WITH) {
+            return null;
         } else if (operator == ENDS_WITH) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/c2f3631d/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java
index dd315bf..e40154f 100644
--- a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java
@@ -500,16 +500,26 @@ public class SimpleOperatorTest extends LanguageTestSupport {
         assertPredicate("${in.header.bar}-- == 124", false);
     }
 
+    public void testStartsWith() throws Exception {
+        exchange.getIn().setBody("Hello there");
+        assertPredicate("${in.body} starts with 'Hello'", true);
+        assertPredicate("${in.body} starts with 'H'", true);
+        assertPredicate("${in.body} starts with 'Hello there'", true);
+        assertPredicate("${in.body} starts with 'Hello ther'", true);
+        assertPredicate("${in.body} starts with 'ello there'", false);
+        assertPredicate("${in.body} starts with 'Hi'", false);
+    }
+    
     public void testEndsWith() throws Exception {
         exchange.getIn().setBody("Hello there");
         assertPredicate("${in.body} ends with 'there'", true);
         assertPredicate("${in.body} ends with 're'", true);
         assertPredicate("${in.body} ends with ' there'", true);
         assertPredicate("${in.body} ends with 'Hello there'", true);
-        assertPredicate("${in.body} ends with 'Hello ther'", false);        
+        assertPredicate("${in.body} ends with 'Hello ther'", false);
         assertPredicate("${in.body} ends with 'Hi'", false);
     }
-    
+
     protected String getLanguageName() {
         return "simple";
     }


[8/8] camel git commit: CAMEL-9845: camel-jdbc - Silent ignore close errors

Posted by da...@apache.org.
CAMEL-9845: camel-jdbc - Silent ignore close errors


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/eed00f12
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/eed00f12
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/eed00f12

Branch: refs/heads/camel-2.16.x
Commit: eed00f12de3fe87d3ab9c76ee2266e0ca5ee44a4
Parents: 9160475
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Apr 9 09:19:18 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Apr 9 09:23:11 2016 +0200

----------------------------------------------------------------------
 .../camel/component/jdbc/JdbcProducer.java      | 30 ++++++++++++--------
 1 file changed, 18 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/eed00f12/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
index 5d45864..9e05937 100644
--- a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
+++ b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
@@ -91,7 +91,7 @@ public class JdbcProducer extends DefaultProducer {
                 if (conn != null) {
                     conn.rollback();
                 }
-            } catch (SQLException sqle) {
+            } catch (Throwable sqle) {
                 LOG.warn("Error occurred during jdbc rollback. This exception will be ignored.", sqle);
             }
             throw e;
@@ -246,9 +246,11 @@ public class JdbcProducer extends DefaultProducer {
     private void closeQuietly(ResultSet rs) {
         if (rs != null) {
             try {
-                rs.close();
-            } catch (SQLException sqle) {
-                LOG.warn("Error by closing result set: " + sqle, sqle);
+                if (!rs.isClosed()) {
+                    rs.close();
+                }
+            } catch (Throwable sqle) {
+                LOG.debug("Error by closing result set", sqle);
             }
         }
     }
@@ -256,9 +258,11 @@ public class JdbcProducer extends DefaultProducer {
     private void closeQuietly(Statement stmt) {
         if (stmt != null) {
             try {
-                stmt.close();
-            } catch (SQLException sqle) {
-                LOG.warn("Error by closing statement: " + sqle, sqle);
+                if (!stmt.isClosed()) {
+                    stmt.close();
+                }
+            } catch (Throwable sqle) {
+                LOG.debug("Error by closing statement", sqle);
             }
         }
     }
@@ -267,8 +271,8 @@ public class JdbcProducer extends DefaultProducer {
         if (con != null && autoCommit != null) {
             try {
                 con.setAutoCommit(autoCommit);
-            } catch (SQLException sqle) {
-                LOG.warn("Error by resetting auto commit to its original value: " + sqle, sqle);
+            } catch (Throwable sqle) {
+                LOG.debug("Error by resetting auto commit to its original value", sqle);
             }
         }
     }
@@ -276,9 +280,11 @@ public class JdbcProducer extends DefaultProducer {
     private void closeQuietly(Connection con) {
         if (con != null) {
             try {
-                con.close();
-            } catch (SQLException sqle) {
-                LOG.warn("Error by closing connection: " + sqle, sqle);
+                if (!con.isClosed()) {
+                    con.close();
+                }
+            } catch (Throwable sqle) {
+                LOG.debug("Error by closing connection", sqle);
             }
         }
     }


[6/8] camel git commit: CAMEL-9845: camel-jdbc - Silent ignore close errors

Posted by da...@apache.org.
CAMEL-9845: camel-jdbc - Silent ignore close errors


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/5732ceb1
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/5732ceb1
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/5732ceb1

Branch: refs/heads/camel-2.17.x
Commit: 5732ceb1cd2f986b7da604dd59d767d944cc7f14
Parents: a721125
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Apr 9 09:19:18 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Apr 9 09:22:46 2016 +0200

----------------------------------------------------------------------
 .../camel/component/jdbc/JdbcProducer.java      | 30 ++++++++++++--------
 1 file changed, 18 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/5732ceb1/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
index 5d45864..9e05937 100644
--- a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
+++ b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
@@ -91,7 +91,7 @@ public class JdbcProducer extends DefaultProducer {
                 if (conn != null) {
                     conn.rollback();
                 }
-            } catch (SQLException sqle) {
+            } catch (Throwable sqle) {
                 LOG.warn("Error occurred during jdbc rollback. This exception will be ignored.", sqle);
             }
             throw e;
@@ -246,9 +246,11 @@ public class JdbcProducer extends DefaultProducer {
     private void closeQuietly(ResultSet rs) {
         if (rs != null) {
             try {
-                rs.close();
-            } catch (SQLException sqle) {
-                LOG.warn("Error by closing result set: " + sqle, sqle);
+                if (!rs.isClosed()) {
+                    rs.close();
+                }
+            } catch (Throwable sqle) {
+                LOG.debug("Error by closing result set", sqle);
             }
         }
     }
@@ -256,9 +258,11 @@ public class JdbcProducer extends DefaultProducer {
     private void closeQuietly(Statement stmt) {
         if (stmt != null) {
             try {
-                stmt.close();
-            } catch (SQLException sqle) {
-                LOG.warn("Error by closing statement: " + sqle, sqle);
+                if (!stmt.isClosed()) {
+                    stmt.close();
+                }
+            } catch (Throwable sqle) {
+                LOG.debug("Error by closing statement", sqle);
             }
         }
     }
@@ -267,8 +271,8 @@ public class JdbcProducer extends DefaultProducer {
         if (con != null && autoCommit != null) {
             try {
                 con.setAutoCommit(autoCommit);
-            } catch (SQLException sqle) {
-                LOG.warn("Error by resetting auto commit to its original value: " + sqle, sqle);
+            } catch (Throwable sqle) {
+                LOG.debug("Error by resetting auto commit to its original value", sqle);
             }
         }
     }
@@ -276,9 +280,11 @@ public class JdbcProducer extends DefaultProducer {
     private void closeQuietly(Connection con) {
         if (con != null) {
             try {
-                con.close();
-            } catch (SQLException sqle) {
-                LOG.warn("Error by closing connection: " + sqle, sqle);
+                if (!con.isClosed()) {
+                    con.close();
+                }
+            } catch (Throwable sqle) {
+                LOG.debug("Error by closing connection", sqle);
             }
         }
     }


[7/8] camel git commit: Add test based on user forum trouble

Posted by da...@apache.org.
Add test based on user forum trouble


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9160475d
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9160475d
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9160475d

Branch: refs/heads/camel-2.16.x
Commit: 9160475de448688d8b2762eac86d473ba647cd52
Parents: 20bbbcc
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Apr 9 09:17:55 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Apr 9 09:23:03 2016 +0200

----------------------------------------------------------------------
 .../netty4/http/NettyHttp500ErrorTest.java       | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/9160475d/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
index ef8ddbe..f895fac 100644
--- a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
+++ b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.netty4.http;
 
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.Test;
 
@@ -49,6 +50,24 @@ public class NettyHttp500ErrorTest extends BaseNettyTest {
         assertMockEndpointsSatisfied();
     }
 
+    @Test
+    public void testHttp500ErrorDisabledStatusCode() throws Exception {
+        getMockEndpoint("mock:input").expectedBodiesReceived("Hello World");
+
+        Exchange out = template.request("netty4-http:http://localhost:{{port}}/foo?throwExceptionOnFailure=false", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setBody("Hello World");
+            }
+        });
+        assertNotNull(out);
+
+        assertEquals(500, out.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE));
+        assertEquals("Internal Server Error", out.getOut().getHeader(Exchange.HTTP_RESPONSE_TEXT));
+
+        assertMockEndpointsSatisfied();
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {


[3/8] camel git commit: Add test based on user forum trouble

Posted by da...@apache.org.
Add test based on user forum trouble


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/9a82687c
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/9a82687c
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/9a82687c

Branch: refs/heads/master
Commit: 9a82687c6cb2fba229609d04f94cefa57e998beb
Parents: c2f3631
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Apr 9 09:17:55 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Apr 9 09:17:55 2016 +0200

----------------------------------------------------------------------
 .../netty4/http/NettyHttp500ErrorTest.java       | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/9a82687c/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
index ef8ddbe..f895fac 100644
--- a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
+++ b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.netty4.http;
 
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.Test;
 
@@ -49,6 +50,24 @@ public class NettyHttp500ErrorTest extends BaseNettyTest {
         assertMockEndpointsSatisfied();
     }
 
+    @Test
+    public void testHttp500ErrorDisabledStatusCode() throws Exception {
+        getMockEndpoint("mock:input").expectedBodiesReceived("Hello World");
+
+        Exchange out = template.request("netty4-http:http://localhost:{{port}}/foo?throwExceptionOnFailure=false", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setBody("Hello World");
+            }
+        });
+        assertNotNull(out);
+
+        assertEquals(500, out.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE));
+        assertEquals("Internal Server Error", out.getOut().getHeader(Exchange.HTTP_RESPONSE_TEXT));
+
+        assertMockEndpointsSatisfied();
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {


[4/8] camel git commit: CAMEL-9845: camel-jdbc - Silent ignore close errors

Posted by da...@apache.org.
CAMEL-9845: camel-jdbc - Silent ignore close errors


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/53a6593b
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/53a6593b
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/53a6593b

Branch: refs/heads/master
Commit: 53a6593bb709ebf2d1112ae606a89c605e8e7a3e
Parents: 9a82687
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Apr 9 09:19:18 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Apr 9 09:19:18 2016 +0200

----------------------------------------------------------------------
 .../camel/component/jdbc/JdbcProducer.java      | 30 ++++++++++++--------
 1 file changed, 18 insertions(+), 12 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/53a6593b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
----------------------------------------------------------------------
diff --git a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
index 5d45864..9e05937 100644
--- a/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
+++ b/components/camel-jdbc/src/main/java/org/apache/camel/component/jdbc/JdbcProducer.java
@@ -91,7 +91,7 @@ public class JdbcProducer extends DefaultProducer {
                 if (conn != null) {
                     conn.rollback();
                 }
-            } catch (SQLException sqle) {
+            } catch (Throwable sqle) {
                 LOG.warn("Error occurred during jdbc rollback. This exception will be ignored.", sqle);
             }
             throw e;
@@ -246,9 +246,11 @@ public class JdbcProducer extends DefaultProducer {
     private void closeQuietly(ResultSet rs) {
         if (rs != null) {
             try {
-                rs.close();
-            } catch (SQLException sqle) {
-                LOG.warn("Error by closing result set: " + sqle, sqle);
+                if (!rs.isClosed()) {
+                    rs.close();
+                }
+            } catch (Throwable sqle) {
+                LOG.debug("Error by closing result set", sqle);
             }
         }
     }
@@ -256,9 +258,11 @@ public class JdbcProducer extends DefaultProducer {
     private void closeQuietly(Statement stmt) {
         if (stmt != null) {
             try {
-                stmt.close();
-            } catch (SQLException sqle) {
-                LOG.warn("Error by closing statement: " + sqle, sqle);
+                if (!stmt.isClosed()) {
+                    stmt.close();
+                }
+            } catch (Throwable sqle) {
+                LOG.debug("Error by closing statement", sqle);
             }
         }
     }
@@ -267,8 +271,8 @@ public class JdbcProducer extends DefaultProducer {
         if (con != null && autoCommit != null) {
             try {
                 con.setAutoCommit(autoCommit);
-            } catch (SQLException sqle) {
-                LOG.warn("Error by resetting auto commit to its original value: " + sqle, sqle);
+            } catch (Throwable sqle) {
+                LOG.debug("Error by resetting auto commit to its original value", sqle);
             }
         }
     }
@@ -276,9 +280,11 @@ public class JdbcProducer extends DefaultProducer {
     private void closeQuietly(Connection con) {
         if (con != null) {
             try {
-                con.close();
-            } catch (SQLException sqle) {
-                LOG.warn("Error by closing connection: " + sqle, sqle);
+                if (!con.isClosed()) {
+                    con.close();
+                }
+            } catch (Throwable sqle) {
+                LOG.debug("Error by closing connection", sqle);
             }
         }
     }


[5/8] camel git commit: Add test based on user forum trouble

Posted by da...@apache.org.
Add test based on user forum trouble


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/a721125e
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a721125e
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a721125e

Branch: refs/heads/camel-2.17.x
Commit: a721125e8b92b3b65ef2ffe5a2946cf2b3142d74
Parents: a23f82f
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Apr 9 09:17:55 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Apr 9 09:22:40 2016 +0200

----------------------------------------------------------------------
 .../netty4/http/NettyHttp500ErrorTest.java       | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/a721125e/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
----------------------------------------------------------------------
diff --git a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
index ef8ddbe..f895fac 100644
--- a/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
+++ b/components/camel-netty4-http/src/test/java/org/apache/camel/component/netty4/http/NettyHttp500ErrorTest.java
@@ -18,6 +18,7 @@ package org.apache.camel.component.netty4.http;
 
 import org.apache.camel.CamelExecutionException;
 import org.apache.camel.Exchange;
+import org.apache.camel.Processor;
 import org.apache.camel.builder.RouteBuilder;
 import org.junit.Test;
 
@@ -49,6 +50,24 @@ public class NettyHttp500ErrorTest extends BaseNettyTest {
         assertMockEndpointsSatisfied();
     }
 
+    @Test
+    public void testHttp500ErrorDisabledStatusCode() throws Exception {
+        getMockEndpoint("mock:input").expectedBodiesReceived("Hello World");
+
+        Exchange out = template.request("netty4-http:http://localhost:{{port}}/foo?throwExceptionOnFailure=false", new Processor() {
+            @Override
+            public void process(Exchange exchange) throws Exception {
+                exchange.getIn().setBody("Hello World");
+            }
+        });
+        assertNotNull(out);
+
+        assertEquals(500, out.getOut().getHeader(Exchange.HTTP_RESPONSE_CODE));
+        assertEquals("Internal Server Error", out.getOut().getHeader(Exchange.HTTP_RESPONSE_TEXT));
+
+        assertMockEndpointsSatisfied();
+    }
+
     @Override
     protected RouteBuilder createRouteBuilder() throws Exception {
         return new RouteBuilder() {


[2/8] camel git commit: CAMEL-9838 - Add starts with operator to simple language

Posted by da...@apache.org.
CAMEL-9838 - Add starts with operator to simple language


Project: http://git-wip-us.apache.org/repos/asf/camel/repo
Commit: http://git-wip-us.apache.org/repos/asf/camel/commit/a23f82fc
Tree: http://git-wip-us.apache.org/repos/asf/camel/tree/a23f82fc
Diff: http://git-wip-us.apache.org/repos/asf/camel/diff/a23f82fc

Branch: refs/heads/camel-2.17.x
Commit: a23f82fc58f21b93a2fdca928944bbe2308cb860
Parents: 10d69f2
Author: Claus Ibsen <da...@apache.org>
Authored: Sat Apr 9 08:49:22 2016 +0200
Committer: Claus Ibsen <da...@apache.org>
Committed: Sat Apr 9 08:49:45 2016 +0200

----------------------------------------------------------------------
 .../apache/camel/language/simple/SimpleTokenizer.java |  1 +
 .../camel/language/simple/ast/BinaryExpression.java   |  2 ++
 .../language/simple/types/BinaryOperatorType.java     |  8 +++++++-
 .../camel/language/simple/SimpleOperatorTest.java     | 14 ++++++++++++--
 4 files changed, 22 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/camel/blob/a23f82fc/camel-core/src/main/java/org/apache/camel/language/simple/SimpleTokenizer.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/language/simple/SimpleTokenizer.java b/camel-core/src/main/java/org/apache/camel/language/simple/SimpleTokenizer.java
index 8956fad..37f83f4 100644
--- a/camel-core/src/main/java/org/apache/camel/language/simple/SimpleTokenizer.java
+++ b/camel-core/src/main/java/org/apache/camel/language/simple/SimpleTokenizer.java
@@ -66,6 +66,7 @@ public final class SimpleTokenizer {
         KNOWN_TOKENS.add(new SimpleTokenType(TokenType.binaryOperator, "in"));
         KNOWN_TOKENS.add(new SimpleTokenType(TokenType.binaryOperator, "range"));
         KNOWN_TOKENS.add(new SimpleTokenType(TokenType.binaryOperator, "not range"));
+        KNOWN_TOKENS.add(new SimpleTokenType(TokenType.binaryOperator, "starts with"));
         KNOWN_TOKENS.add(new SimpleTokenType(TokenType.binaryOperator, "ends with"));
 
         // unary operators

http://git-wip-us.apache.org/repos/asf/camel/blob/a23f82fc/camel-core/src/main/java/org/apache/camel/language/simple/ast/BinaryExpression.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/language/simple/ast/BinaryExpression.java b/camel-core/src/main/java/org/apache/camel/language/simple/ast/BinaryExpression.java
index 3c76c31..4b6e821 100644
--- a/camel-core/src/main/java/org/apache/camel/language/simple/ast/BinaryExpression.java
+++ b/camel-core/src/main/java/org/apache/camel/language/simple/ast/BinaryExpression.java
@@ -104,6 +104,8 @@ public class BinaryExpression extends BaseSimpleNode {
             return createInExpression(leftExp, rightExp);
         } else if (operator == BinaryOperatorType.RANGE || operator == BinaryOperatorType.NOT_RANGE) {
             return createRangeExpression(expression, leftExp, rightExp);
+        } else if (operator == BinaryOperatorType.STARTS_WITH) {
+            return createExpression(leftExp, rightExp, PredicateBuilder.startsWith(leftExp, rightExp));
         } else if (operator == BinaryOperatorType.ENDS_WITH) {
             return createExpression(leftExp, rightExp, PredicateBuilder.endsWith(leftExp, rightExp));
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/a23f82fc/camel-core/src/main/java/org/apache/camel/language/simple/types/BinaryOperatorType.java
----------------------------------------------------------------------
diff --git a/camel-core/src/main/java/org/apache/camel/language/simple/types/BinaryOperatorType.java b/camel-core/src/main/java/org/apache/camel/language/simple/types/BinaryOperatorType.java
index 02e7665..5a7751b 100644
--- a/camel-core/src/main/java/org/apache/camel/language/simple/types/BinaryOperatorType.java
+++ b/camel-core/src/main/java/org/apache/camel/language/simple/types/BinaryOperatorType.java
@@ -22,7 +22,7 @@ package org.apache.camel.language.simple.types;
 public enum BinaryOperatorType {
 
     EQ, EQ_IGNORE, GT, GTE, LT, LTE, NOT_EQ, CONTAINS, NOT_CONTAINS, REGEX, NOT_REGEX,
-    IN, NOT_IN, IS, NOT_IS, RANGE, NOT_RANGE, ENDS_WITH;
+    IN, NOT_IN, IS, NOT_IS, RANGE, NOT_RANGE, STARTS_WITH, ENDS_WITH;
 
     public static BinaryOperatorType asOperator(String text) {
         if ("==".equals(text)) {
@@ -59,6 +59,8 @@ public enum BinaryOperatorType {
             return RANGE;
         } else if ("not range".equals(text)) {
             return NOT_RANGE;
+        } else if ("starts with".equals(text)) {
+            return STARTS_WITH;
         } else if ("ends with".equals(text)) {
             return ENDS_WITH;
         }
@@ -100,6 +102,8 @@ public enum BinaryOperatorType {
             return "range";
         } else if (operator == NOT_RANGE) {
             return "not range";
+        } else if (operator == STARTS_WITH) {
+            return "starts with";
         } else if (operator == ENDS_WITH) {
             return "ends with";
         }
@@ -186,6 +190,8 @@ public enum BinaryOperatorType {
             return new ParameterType[]{ParameterType.LiteralWithFunction, ParameterType.Function};
         } else if (operator == NOT_RANGE) {
             return new ParameterType[]{ParameterType.LiteralWithFunction, ParameterType.Function};
+        } else if (operator == STARTS_WITH) {
+            return null;
         } else if (operator == ENDS_WITH) {
             return null;
         }

http://git-wip-us.apache.org/repos/asf/camel/blob/a23f82fc/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java
----------------------------------------------------------------------
diff --git a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java
index dd315bf..e40154f 100644
--- a/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java
+++ b/camel-core/src/test/java/org/apache/camel/language/simple/SimpleOperatorTest.java
@@ -500,16 +500,26 @@ public class SimpleOperatorTest extends LanguageTestSupport {
         assertPredicate("${in.header.bar}-- == 124", false);
     }
 
+    public void testStartsWith() throws Exception {
+        exchange.getIn().setBody("Hello there");
+        assertPredicate("${in.body} starts with 'Hello'", true);
+        assertPredicate("${in.body} starts with 'H'", true);
+        assertPredicate("${in.body} starts with 'Hello there'", true);
+        assertPredicate("${in.body} starts with 'Hello ther'", true);
+        assertPredicate("${in.body} starts with 'ello there'", false);
+        assertPredicate("${in.body} starts with 'Hi'", false);
+    }
+    
     public void testEndsWith() throws Exception {
         exchange.getIn().setBody("Hello there");
         assertPredicate("${in.body} ends with 'there'", true);
         assertPredicate("${in.body} ends with 're'", true);
         assertPredicate("${in.body} ends with ' there'", true);
         assertPredicate("${in.body} ends with 'Hello there'", true);
-        assertPredicate("${in.body} ends with 'Hello ther'", false);        
+        assertPredicate("${in.body} ends with 'Hello ther'", false);
         assertPredicate("${in.body} ends with 'Hi'", false);
     }
-    
+
     protected String getLanguageName() {
         return "simple";
     }