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 2023/04/14 16:28:11 UTC

[camel] 02/02: CAMEL-18904: Add functions to simple language to create empty map/list/string

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

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

commit 2ea79b97a9cb2073958409b34e122f962e3a9e35
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Fri Apr 14 18:27:45 2023 +0200

    CAMEL-18904: Add functions to simple language to create empty map/list/string
---
 .../camel/language/simple/SimpleExpressionBuilder.java       | 11 +++++------
 .../src/test/java/org/apache/camel/LanguageTestSupport.java  | 12 ------------
 .../java/org/apache/camel/language/simple/SimpleTest.java    |  3 +--
 3 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java b/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
index 2bee28b0db7..8cbcc48153a 100644
--- a/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
+++ b/core/camel-core-languages/src/main/java/org/apache/camel/language/simple/SimpleExpressionBuilder.java
@@ -19,9 +19,8 @@ package org.apache.camel.language.simple;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Date;
-import java.util.HashMap;
-import java.util.HashSet;
 import java.util.Iterator;
+import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Random;
 import java.util.TimeZone;
@@ -248,24 +247,24 @@ public final class SimpleExpressionBuilder {
     /**
      * Returns a new empty object of the given type
      */
-    public static Expression newEmptyExpression(String type) {
+    public static Expression newEmptyExpression(final String type) {
 
         return new ExpressionAdapter() {
             @Override
             public Object evaluate(Exchange exchange) {
                 if ("map".equalsIgnoreCase(type)) {
-                    return new HashMap<>();
+                    return new LinkedHashMap<>();
                 } else if ("string".equalsIgnoreCase(type)) {
                     return "";
                 } else if ("list".equalsIgnoreCase(type)) {
                     return new ArrayList<>();
                 }
-                throw new IllegalArgumentException("function empty(%s) has unknown type.".formatted(type));
+                throw new IllegalArgumentException(String.format("Function empty(%s) has unknown type", type));
             }
 
             @Override
             public String toString() {
-                return "empty(%s)".formatted(type);
+                return "empty(" + type + ")";
             }
         };
     }
diff --git a/core/camel-core/src/test/java/org/apache/camel/LanguageTestSupport.java b/core/camel-core/src/test/java/org/apache/camel/LanguageTestSupport.java
index ab1bb9377fe..1164071a65c 100644
--- a/core/camel-core/src/test/java/org/apache/camel/LanguageTestSupport.java
+++ b/core/camel-core/src/test/java/org/apache/camel/LanguageTestSupport.java
@@ -16,8 +16,6 @@
  */
 package org.apache.camel;
 
-import java.util.function.Predicate;
-
 import org.apache.camel.spi.Language;
 
 import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -65,16 +63,6 @@ public abstract class LanguageTestSupport extends ExchangeTestSupport {
         assertExpression(exchange, getLanguageName(), expressionText, expectedValue);
     }
 
-    /**
-     * Asserts that this language expression evaluates in a way that the handed over predicate is true
-     */
-    protected void assertExpression(String expressionText, Predicate<Object> assertion) {
-
-        Object value = evaluateExpression(expressionText, null);
-
-        assertTrue(assertion.test(value));
-    }
-
     /**
      * Asserts that this language expression evaluates to the given value on the current exchange
      */
diff --git a/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java b/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
index 48631240d84..9807bb4aa7f 100644
--- a/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/language/simple/SimpleTest.java
@@ -57,7 +57,6 @@ import static org.junit.jupiter.api.Assertions.assertSame;
 import static org.junit.jupiter.api.Assertions.assertThrows;
 import static org.junit.jupiter.api.Assertions.assertTrue;
 import static org.junit.jupiter.api.Assertions.fail;
->>>>>>> 7ca0064683f (CAMEL-18904:  Add functions to simple language to create empty map/li… (#9770))
 
 public class SimpleTest extends LanguageTestSupport {
 
@@ -2071,7 +2070,7 @@ public class SimpleTest extends LanguageTestSupport {
 
     private void assertExpressionCreateNewEmpty(
             String type, Class<?> expectedClass, java.util.function.Predicate<Object> isEmptyAssertion) {
-        Object value = evaluateExpression("${empty(%s)}".formatted(type), null);
+        Object value = evaluateExpression("${empty(" + type + ")}", null);
         assertNotNull(value);
         assertIsInstanceOf(expectedClass, value);
         assertTrue(isEmptyAssertion.test(value));