This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/camel.git


The following commit(s) were added to refs/heads/master by this push:
     new 7a27979  CAMEL-15809: properly initialize compound predicates (#4564)
7a27979 is described below

commit 7a2797976fd0ca8614d63e76e8b8585b80d581dc
Author: fizzet <jen...@gmx.net>
AuthorDate: Thu Nov 5 06:42:42 2020 +0100

    CAMEL-15809: properly initialize compound predicates (#4564)
---
 .../camel/support/builder/PredicateBuilder.java    | 35 ++++++++++++++++++++++
 1 file changed, 35 insertions(+)

diff --git 
a/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
 
b/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
index 184a5c9..cc7d91f 100644
--- 
a/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
+++ 
b/core/camel-support/src/main/java/org/apache/camel/support/builder/PredicateBuilder.java
@@ -21,6 +21,7 @@ import java.util.List;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.camel.CamelContext;
 import org.apache.camel.Exchange;
 import org.apache.camel.Expression;
 import org.apache.camel.Predicate;
@@ -52,6 +53,11 @@ public class PredicateBuilder {
             }
 
             @Override
+            public void init(CamelContext camelContext) {
+                predicate.init(camelContext);
+            }
+
+            @Override
             public String toString() {
                 return "not (" + predicate + ")";
             }
@@ -70,6 +76,12 @@ public class PredicateBuilder {
             }
 
             @Override
+            public void init(CamelContext camelContext) {
+                left.init(camelContext);
+                right.init(camelContext);
+            }
+
+            @Override
             public String toString() {
                 return "(" + left + ") and (" + right + ")";
             }
@@ -89,6 +101,12 @@ public class PredicateBuilder {
             }
 
             @Override
+            public void init(CamelContext camelContext) {
+                left.init(camelContext);
+                right.init(camelContext);
+            }
+
+            @Override
             public String toString() {
                 return "(" + left + ") or (" + right + ")";
             }
@@ -142,6 +160,13 @@ public class PredicateBuilder {
             }
 
             @Override
+            public void init(CamelContext camelContext) {
+                for (Predicate in : predicates) {
+                    in.init(camelContext);
+                }
+            }
+
+            @Override
             public String toString() {
                 return "in (" + Arrays.asList(predicates) + ")";
             }
@@ -395,6 +420,11 @@ public class PredicateBuilder {
             }
 
             @Override
+            public void init(CamelContext camelContext) {
+                expression.init(camelContext);
+            }
+
+            @Override
             public String toString() {
                 return expression + " instanceof " + type.getCanonicalName();
             }
@@ -488,6 +518,11 @@ public class PredicateBuilder {
             }
 
             @Override
+            public void init(CamelContext camelContext) {
+                expression.init(camelContext);
+            }
+
+            @Override
             public String toString() {
                 return expression + ".matches('" + pattern + "')";
             }

Reply via email to