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

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


The following commit(s) were added to refs/heads/main by this push:
     new 028d717fea7 CAMEL-20384: Modernize map operations (#13081)
028d717fea7 is described below

commit 028d717fea732e46726a82fdc7717ade7b46681f
Author: Brice Frisco <39070938+bricefri...@users.noreply.github.com>
AuthorDate: Sun Feb 11 01:26:02 2024 -0600

    CAMEL-20384: Modernize map operations (#13081)
---
 .../camel/language/joor/CompilationUnit.java       |  8 ++---
 .../camel/component/olingo4/Olingo4Endpoint.java   | 19 ++++++-----
 .../camel/component/xchange/XChangeComponent.java  | 10 ++----
 .../camel/impl/engine/CamelInternalProcessor.java  |  4 +--
 .../engine/DefaultRuntimeEndpointRegistry.java     |  4 +--
 .../camel/language/csimple/CSimpleLanguage.java    | 38 +++++++++-------------
 .../injection/AnnotationDependencyInjection.java   | 19 ++++++-----
 7 files changed, 46 insertions(+), 56 deletions(-)

diff --git 
a/components/camel-joor/src/main/java/org/apache/camel/language/joor/CompilationUnit.java
 
b/components/camel-joor/src/main/java/org/apache/camel/language/joor/CompilationUnit.java
index 64fd9bfc56f..28a32fa1e1b 100644
--- 
a/components/camel-joor/src/main/java/org/apache/camel/language/joor/CompilationUnit.java
+++ 
b/components/camel-joor/src/main/java/org/apache/camel/language/joor/CompilationUnit.java
@@ -37,11 +37,11 @@ public class CompilationUnit {
         private final Map<String, byte[]> compiled = new LinkedHashMap<>();
 
         void addResult(String className, Class<?> clazz, byte[] byteCode) {
-            if (clazz != null && !classes.containsKey(className)) {
-                classes.put(className, clazz);
+            if (clazz != null) {
+                classes.putIfAbsent(className, clazz);
             }
-            if (byteCode != null && !compiled.containsKey(className)) {
-                compiled.put(className, byteCode);
+            if (byteCode != null) {
+                compiled.putIfAbsent(className, byteCode);
             }
         }
 
diff --git 
a/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
 
b/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
index 20972a7450e..cb153e7010e 100644
--- 
a/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
+++ 
b/components/camel-olingo4/camel-olingo4-component/src/main/java/org/apache/camel/component/olingo4/Olingo4Endpoint.java
@@ -234,16 +234,17 @@ public class Olingo4Endpoint extends 
AbstractApiEndpoint<Olingo4ApiName, Olingo4
         if (keyPredicate != null) {
 
             // make sure a resource path is provided
-            final String resourcePath = (String) 
properties.get(RESOURCE_PATH_PROPERTY);
-            if (resourcePath == null) {
-                throw new IllegalArgumentException(
-                        "Resource path must be provided in endpoint URI, or 
URI parameter '" + RESOURCE_PATH_PROPERTY
-                                                   + "', or exchange header '"
-                                                   + 
Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
-            }
+            properties.compute(RESOURCE_PATH_PROPERTY, (key, resourcePath) -> {
+                if (resourcePath == null) {
+                    throw new IllegalArgumentException(
+                            "Resource path must be provided in endpoint URI, 
or URI parameter '" + RESOURCE_PATH_PROPERTY
+                                                       + "', or exchange 
header '"
+                                                       + 
Olingo4Constants.PROPERTY_PREFIX + RESOURCE_PATH_PROPERTY + "'");
+                }
 
-            // append keyPredicate to dynamically create resource path
-            properties.put(RESOURCE_PATH_PROPERTY, resourcePath + '(' + 
keyPredicate + ')');
+                // append keyPredicate to dynamically create resource path
+                return resourcePath + "(" + keyPredicate + ")";
+            });
         }
 
         // handle individual queryParams
diff --git 
a/components/camel-xchange/src/main/java/org/apache/camel/component/xchange/XChangeComponent.java
 
b/components/camel-xchange/src/main/java/org/apache/camel/component/xchange/XChangeComponent.java
index 8983ce00267..f8b4f2200da 100644
--- 
a/components/camel-xchange/src/main/java/org/apache/camel/component/xchange/XChangeComponent.java
+++ 
b/components/camel-xchange/src/main/java/org/apache/camel/component/xchange/XChangeComponent.java
@@ -65,15 +65,11 @@ public class XChangeComponent extends DefaultComponent {
     }
 
     private synchronized XChange getOrCreateXChange(String name) {
-        XChange xchange = xchanges.get(name);
-        if (xchange == null) {
+        return xchanges.computeIfAbsent(name, xc -> {
             Class<? extends Exchange> exchangeClass = 
XChangeHelper.loadXChangeClass(getCamelContext(), name);
             Assert.notNull(exchangeClass, "XChange not supported: " + name);
-            xchange = new XChange(createExchange(exchangeClass));
-            xchanges.put(name, xchange);
-        }
-
-        return xchange;
+            return new XChange(createExchange(exchangeClass));
+        });
     }
 
 }
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
index a821bb0d68a..f1560cf6122 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/CamelInternalProcessor.java
@@ -1229,9 +1229,7 @@ public class CamelInternalProcessor extends 
DelegateAsyncProcessor implements In
         public void notify(CamelEvent event) throws Exception {
             if (event instanceof CamelEvent.ExchangeSendingEvent ess) {
                 Exchange e = ess.getExchange();
-                if (uris.containsKey(e)) {
-                    uris.put(e, ess.getEndpoint());
-                }
+                uris.computeIfPresent(e, (key, val) -> ess.getEndpoint());
             }
         }
 
diff --git 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
index 537c0afa243..05e18f97b13 100644
--- 
a/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
+++ 
b/core/camel-base-engine/src/main/java/org/apache/camel/impl/engine/DefaultRuntimeEndpointRegistry.java
@@ -255,8 +255,8 @@ public class DefaultRuntimeEndpointRegistry extends 
EventNotifierSupport impleme
             String uri = endpoint.getEndpointUri();
 
             Map<String, String> uris = outputs.get(routeId);
-            if (uris != null && !uris.containsKey(uri)) {
-                uris.put(uri, uri);
+            if (uris != null) {
+                uris.putIfAbsent(uri, uri);
             }
             if (extended) {
                 String key = asUtilizationKey(routeId, uri);
diff --git 
a/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
 
b/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
index 0c38af295e0..3f87269a587 100644
--- 
a/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
+++ 
b/core/camel-core-languages/src/main/java/org/apache/camel/language/csimple/CSimpleLanguage.java
@@ -133,19 +133,16 @@ public class CSimpleLanguage extends TypedLanguageSupport 
implements StaticServi
         String text = expression.replace("\n", "");
         text = text.trim();
 
-        Predicate answer = compiledPredicates.get(text);
-        if (answer == null && compilationSupport != null) {
-            CSimpleExpression exp = 
compilationSupport.compilePredicate(getCamelContext(), expression);
-            if (exp != null) {
-                exp.init(getCamelContext());
-                compiledPredicates.put(text, exp);
-                answer = exp;
+        return compiledPredicates.computeIfAbsent(text, key -> {
+            if (compilationSupport != null) {
+                CSimpleExpression exp = 
compilationSupport.compilePredicate(getCamelContext(), expression);
+                if (exp != null) {
+                    exp.init(getCamelContext());
+                    return exp;
+                }
             }
-        }
-        if (answer == null) {
             throw new CSimpleException("Cannot find compiled csimple language 
for predicate: " + expression, expression);
-        }
-        return answer;
+        });
     }
 
     @Override
@@ -171,19 +168,16 @@ public class CSimpleLanguage extends TypedLanguageSupport 
implements StaticServi
         String text = expression.replace("\n", "");
         text = text.trim();
 
-        Expression answer = compiledExpressions.get(text);
-        if (answer == null && compilationSupport != null) {
-            CSimpleExpression exp = 
compilationSupport.compileExpression(getCamelContext(), expression);
-            if (exp != null) {
-                exp.init(getCamelContext());
-                compiledExpressions.put(text, exp);
-                answer = exp;
+        return compiledExpressions.computeIfAbsent(text, key -> {
+            if (compilationSupport != null) {
+                CSimpleExpression exp = 
compilationSupport.compileExpression(getCamelContext(), expression);
+                if (exp != null) {
+                    exp.init(getCamelContext());
+                    return exp;
+                }
             }
-        }
-        if (answer == null) {
             throw new CSimpleException("Cannot find compiled csimple language 
for expression: " + expression, expression);
-        }
-        return answer;
+        });
     }
 
     private CompilationSupport compilationSupport() {
diff --git 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/injection/AnnotationDependencyInjection.java
 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/injection/AnnotationDependencyInjection.java
index c7a2abd94b5..4e5edf2a880 100644
--- 
a/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/injection/AnnotationDependencyInjection.java
+++ 
b/dsl/camel-kamelet-main/src/main/java/org/apache/camel/main/injection/AnnotationDependencyInjection.java
@@ -116,15 +116,16 @@ public final class AnnotationDependencyInjection {
             if (instance instanceof EventNotifier) {
                 ManagementStrategy ms = camelContext.getManagementStrategy();
                 if (ms != null) {
-                    // remove previous instance
-                    EventNotifier old = notifiers.get(name);
-                    if (old != null) {
-                        ms.removeEventNotifier(old);
-                    }
-                    // and new notifier
-                    EventNotifier en = (EventNotifier) instance;
-                    ms.addEventNotifier(en);
-                    notifiers.put(name, en);
+                    notifiers.compute(name, (key, old) -> {
+                        // remove previous instance
+                        if (old != null) {
+                            ms.removeEventNotifier(old);
+                        }
+                        // and new notifier
+                        EventNotifier en = (EventNotifier) instance;
+                        ms.addEventNotifier(en);
+                        return en;
+                    });
                 }
             }
         }

Reply via email to