You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by or...@apache.org on 2023/04/14 13:42:00 UTC

[camel] 02/03: (chores) camel-core: remove duplicated properties extraction code

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 41bc791f85042ae86dd0acbe7576813da4cfbb31
Author: Otavio Rodolfo Piske <an...@gmail.com>
AuthorDate: Fri Apr 14 14:32:28 2023 +0200

    (chores) camel-core: remove duplicated properties extraction code
---
 .../camel/impl/engine/IntrospectionSupport.java    | 22 ----------
 .../impl/engine/IntrospectionSupportTest.java      | 21 ----------
 .../org/apache/camel/util/PropertiesHelper.java    |  5 +++
 .../apache/camel/util/PropertiesHelperTest.java    | 47 ++++++++++++++++++++++
 4 files changed, 52 insertions(+), 43 deletions(-)

diff --git a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java
index 61cfb71294b..424f4f7822d 100644
--- a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java
+++ b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/IntrospectionSupport.java
@@ -439,28 +439,6 @@ final class IntrospectionSupport {
         return rc;
     }
 
-    static Map<String, Object> extractProperties(Map<String, Object> properties, String optionPrefix, boolean remove) {
-        ObjectHelper.notNull(properties, "properties");
-
-        Map<String, Object> rc = new LinkedHashMap<>(properties.size());
-
-        for (Iterator<Map.Entry<String, Object>> it = properties.entrySet().iterator(); it.hasNext();) {
-            Map.Entry<String, Object> entry = it.next();
-            String name = entry.getKey();
-            if (name.startsWith(optionPrefix)) {
-                Object value = properties.get(name);
-                name = name.substring(optionPrefix.length());
-                rc.put(name, value);
-
-                if (remove) {
-                    it.remove();
-                }
-            }
-        }
-
-        return rc;
-    }
-
     static boolean setProperties(
             CamelContext context, TypeConverter typeConverter, Object target, Map<String, Object> properties)
             throws Exception {
diff --git a/core/camel-core/src/test/java/org/apache/camel/impl/engine/IntrospectionSupportTest.java b/core/camel-core/src/test/java/org/apache/camel/impl/engine/IntrospectionSupportTest.java
index baa327cb02c..90a3e8bf48d 100644
--- a/core/camel-core/src/test/java/org/apache/camel/impl/engine/IntrospectionSupportTest.java
+++ b/core/camel-core/src/test/java/org/apache/camel/impl/engine/IntrospectionSupportTest.java
@@ -21,7 +21,6 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Date;
 import java.util.HashMap;
-import java.util.LinkedHashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
@@ -32,7 +31,6 @@ import org.apache.camel.util.AnotherExampleBean;
 import org.apache.camel.util.OtherExampleBean;
 import org.junit.jupiter.api.Test;
 
-import static org.apache.camel.impl.engine.IntrospectionSupport.extractProperties;
 import static org.apache.camel.impl.engine.IntrospectionSupport.findSetterMethodsOrderedByParameterType;
 import static org.apache.camel.impl.engine.IntrospectionSupport.getProperties;
 import static org.apache.camel.impl.engine.IntrospectionSupport.getProperty;
@@ -520,25 +518,6 @@ public class IntrospectionSupportTest extends ContextTestSupport {
         assertFalse(isSetter(setupSomething));
     }
 
-    @Test
-    public void testExtractProperties() throws Exception {
-        Map<String, Object> params = new LinkedHashMap<>();
-        params.put("foo.name", "Camel");
-        params.put("foo.age", 5);
-        params.put("bar", "yes");
-
-        // extract all "foo." properties
-        // and their keys should have the prefix removed
-        Map<String, Object> foo = extractProperties(params, "foo.", true);
-        assertEquals(2, foo.size());
-        assertEquals("Camel", foo.get("name"));
-        assertEquals(5, foo.get("age"));
-
-        // the extracted properties should be removed from original
-        assertEquals(1, params.size());
-        assertEquals("yes", params.get("bar"));
-    }
-
     @Test
     public void testFindSetterMethodsOrderedByParameterType() throws Exception {
         List<Method> setters = findSetterMethodsOrderedByParameterType(MyOverloadedBean.class, "bean",
diff --git a/core/camel-util/src/main/java/org/apache/camel/util/PropertiesHelper.java b/core/camel-util/src/main/java/org/apache/camel/util/PropertiesHelper.java
index 7895bb97a88..e5ea213764a 100644
--- a/core/camel-util/src/main/java/org/apache/camel/util/PropertiesHelper.java
+++ b/core/camel-util/src/main/java/org/apache/camel/util/PropertiesHelper.java
@@ -35,6 +35,11 @@ public final class PropertiesHelper {
         if (properties == null) {
             return new LinkedHashMap<>(0);
         }
+
+        return doExtractProperties(properties, optionPrefix, remove);
+    }
+
+    static Map<String, Object> doExtractProperties(Map<String, Object> properties, String optionPrefix, boolean remove) {
         Map<String, Object> rc = new LinkedHashMap<>(properties.size());
 
         for (Iterator<Map.Entry<String, Object>> it = properties.entrySet().iterator(); it.hasNext();) {
diff --git a/core/camel-util/src/test/java/org/apache/camel/util/PropertiesHelperTest.java b/core/camel-util/src/test/java/org/apache/camel/util/PropertiesHelperTest.java
new file mode 100644
index 00000000000..df2f0c22c4d
--- /dev/null
+++ b/core/camel-util/src/test/java/org/apache/camel/util/PropertiesHelperTest.java
@@ -0,0 +1,47 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package org.apache.camel.util;
+
+import java.util.LinkedHashMap;
+import java.util.Map;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class PropertiesHelperTest {
+
+    @Test
+    public void testExtractProperties() {
+        Map<String, Object> params = new LinkedHashMap<>();
+        params.put("foo.name", "Camel");
+        params.put("foo.age", 5);
+        params.put("bar", "yes");
+
+        // extract all "foo." properties
+        // and their keys should have the prefix removed
+        Map<String, Object> foo = PropertiesHelper.extractProperties(params, "foo.", true);
+        assertEquals(2, foo.size());
+        assertEquals("Camel", foo.get("name"));
+        assertEquals(5, foo.get("age"));
+
+        // the extracted properties should be removed from original
+        assertEquals(1, params.size());
+        assertEquals("yes", params.get("bar"));
+    }
+}