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

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

commit 935893a4690dac3ce78c32f4f9051b4623652bde
Author: Otavio Rodolfo Piske <[email protected]>
AuthorDate: Wed Aug 21 08:45:11 2024 +0200

    (chores) core/camel-core-languages: minor duplicated code cleanup
---
 .../language/simple/SimpleExpressionParser.java    | 40 ++++++++++++----------
 .../language/simple/SimplePredicateParser.java     | 21 +-----------
 2 files changed, 23 insertions(+), 38 deletions(-)

diff --git 
a/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
 
b/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
index 63578bfccbc..0d54a822a41 100644
--- 
a/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
+++ 
b/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionParser.java
@@ -220,24 +220,7 @@ public class SimpleExpressionParser extends 
BaseSimpleParser {
                     }
                     sb.append(" + ");
                 }
-                if (node instanceof LiteralNode) {
-                    exp = StringHelper.removeLeadingAndEndingQuotes(exp);
-                    sb.append("\"");
-                    // " should be escaped to \"
-                    exp = LanguageHelper.escapeQuotes(exp);
-                    // \n \t \r should be escaped
-                    exp = exp.replaceAll("\n", "\\\\n");
-                    exp = exp.replaceAll("\t", "\\\\t");
-                    exp = exp.replaceAll("\r", "\\\\r");
-                    if (exp.endsWith("\\") && !exp.endsWith("\\\\")) {
-                        // there is a single trailing slash which we need to 
escape
-                        exp += "\\";
-                    }
-                    sb.append(exp);
-                    sb.append("\"");
-                } else {
-                    sb.append(exp);
-                }
+                parseLiteralNode(sb, node, exp);
             }
         }
         String code = sb.toString();
@@ -246,6 +229,27 @@ public class SimpleExpressionParser extends 
BaseSimpleParser {
         return code;
     }
 
+    static void parseLiteralNode(StringBuilder sb, SimpleNode node, String 
exp) {
+        if (node instanceof LiteralNode) {
+            exp = StringHelper.removeLeadingAndEndingQuotes(exp);
+            sb.append("\"");
+            // " should be escaped to \"
+            exp = LanguageHelper.escapeQuotes(exp);
+            // \n \t \r should be escaped
+            exp = exp.replaceAll("\n", "\\\\n");
+            exp = exp.replaceAll("\t", "\\\\t");
+            exp = exp.replaceAll("\r", "\\\\r");
+            if (exp.endsWith("\\") && !exp.endsWith("\\\\")) {
+                // there is a single trailing slash which we need to escape
+                exp += "\\";
+            }
+            sb.append(exp);
+            sb.append("\"");
+        } else {
+            sb.append(exp);
+        }
+    }
+
     // --------------------------------------------------------------
     // grammar
     // --------------------------------------------------------------
diff --git 
a/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimplePredicateParser.java
 
b/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimplePredicateParser.java
index 1ba3f142fca..75173661213 100644
--- 
a/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimplePredicateParser.java
+++ 
b/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimplePredicateParser.java
@@ -50,9 +50,7 @@ import 
org.apache.camel.language.simple.types.SimpleParserException;
 import org.apache.camel.language.simple.types.SimpleToken;
 import org.apache.camel.language.simple.types.TokenType;
 import org.apache.camel.support.ExpressionToPredicateAdapter;
-import org.apache.camel.support.LanguageHelper;
 import org.apache.camel.support.builder.PredicateBuilder;
-import org.apache.camel.util.StringHelper;
 
 import static org.apache.camel.support.ObjectHelper.isFloatingNumber;
 import static org.apache.camel.support.ObjectHelper.isNumber;
@@ -168,24 +166,7 @@ public class SimplePredicateParser extends 
BaseSimpleParser {
         StringBuilder sb = new StringBuilder();
         for (SimpleNode node : nodes) {
             String exp = node.createCode(expression);
-            if (node instanceof LiteralNode) {
-                exp = StringHelper.removeLeadingAndEndingQuotes(exp);
-                sb.append("\"");
-                // " should be escaped to \"
-                exp = LanguageHelper.escapeQuotes(exp);
-                // \n \t \r should be escaped
-                exp = exp.replaceAll("\n", "\\\\n");
-                exp = exp.replaceAll("\t", "\\\\t");
-                exp = exp.replaceAll("\r", "\\\\r");
-                if (exp.endsWith("\\") && !exp.endsWith("\\\\")) {
-                    // there is a single trailing slash which we need to escape
-                    exp += "\\";
-                }
-                sb.append(exp);
-                sb.append("\"");
-            } else {
-                sb.append(exp);
-            }
+            SimpleExpressionParser.parseLiteralNode(sb, node, exp);
         }
         String code = sb.toString();
         code = code.replace(BaseSimpleParser.CODE_START, "");

Reply via email to