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

commit cf74942da43d008aea33943b1fc7253cc1f4e6ac
Author: Claus Ibsen <[email protected]>
AuthorDate: Wed Aug 4 11:20:13 2021 +0200

    CAMEL-16757: Polished logging
---
 .../src/main/java/org/apache/camel/Route.java      |  2 +-
 .../org/apache/camel/model/RouteDefinition.java    | 29 +++++++++++++++++++---
 .../org/apache/camel/model/RoutesDefinition.java   | 12 ++++-----
 .../org/apache/camel/reifier/RouteReifier.java     |  5 ++--
 .../core/xml/AbstractCamelContextFactoryBean.java  | 11 ++++----
 5 files changed, 40 insertions(+), 19 deletions(-)

diff --git a/core/camel-api/src/main/java/org/apache/camel/Route.java 
b/core/camel-api/src/main/java/org/apache/camel/Route.java
index 27e5e84..5c0dddf 100644
--- a/core/camel-api/src/main/java/org/apache/camel/Route.java
+++ b/core/camel-api/src/main/java/org/apache/camel/Route.java
@@ -117,7 +117,7 @@ public interface Route extends RuntimeConfiguration {
     String getDescription();
 
     /**
-     * Gets the route configuration id(s) (if any has been configured).
+     * Gets the route configuration id(s) the route has been applied with. 
Multiple ids is separated by comma.
      * <p/>
      * The configuration ids is configured using the {@link 
#CONFIGURATION_ID_PROPERTY} as key in the
      * {@link #getProperties()}.
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
index 40ef2e1..6373a26 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/RouteDefinition.java
@@ -18,8 +18,10 @@ package org.apache.camel.model;
 
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.function.Supplier;
 
@@ -58,6 +60,7 @@ public class RouteDefinition extends 
OutputDefinition<RouteDefinition> implement
     private final AtomicBoolean prepared = new AtomicBoolean();
     private FromDefinition input;
     private String routeConfigurationId;
+    private transient Set<String> appliedRouteConfigurationIds;
     private String group;
     private String streamCache;
     private String trace;
@@ -130,9 +133,6 @@ public class RouteDefinition extends 
OutputDefinition<RouteDefinition> implement
 
     /**
      * Marks the route definition as un-prepared.
-     * <p/>
-     * This is needed if routes have been created by components such as 
<tt>camel-scala</tt>. To unset the prepare so
-     * the routes can be prepared at a later stage when scala has build the 
routes completely.
      */
     public void markUnprepared() {
         prepared.set(false);
@@ -748,6 +748,29 @@ public class RouteDefinition extends 
OutputDefinition<RouteDefinition> implement
     }
 
     /**
+     * This is used internally by Camel to keep track which route 
configurations is applied when creating a route from
+     * this model.
+     *
+     * This method is not intended for Camel end users.
+     */
+    public void addAppliedRouteConfigurationId(String routeConfigurationId) {
+        if (appliedRouteConfigurationIds == null) {
+            appliedRouteConfigurationIds = new LinkedHashSet<>();
+        }
+        appliedRouteConfigurationIds.add(routeConfigurationId);
+    }
+
+    /**
+     * This is used internally by Camel to keep track which route 
configurations is applied when creating a route from
+     * this model.
+     *
+     * This method is not intended for Camel end users.
+     */
+    public Set<String> getAppliedRouteConfigurationIds() {
+        return appliedRouteConfigurationIds;
+    }
+
+    /**
      * The group that this route belongs to; could be the name of the 
RouteBuilder class or be explicitly configured in
      * the XML.
      * <p/>
diff --git 
a/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
 
b/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
index 3a2ff21..f764bc6 100644
--- 
a/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
+++ 
b/core/camel-core-model/src/main/java/org/apache/camel/model/RoutesDefinition.java
@@ -17,9 +17,7 @@
 package org.apache.camel.model;
 
 import java.util.ArrayList;
-import java.util.LinkedHashSet;
 import java.util.List;
-import java.util.Set;
 
 import javax.xml.bind.annotation.XmlAccessType;
 import javax.xml.bind.annotation.XmlAccessorType;
@@ -226,7 +224,6 @@ public class RoutesDefinition extends 
OptionalIdentifiedDefinition<RoutesDefinit
         List<InterceptFromDefinition> ifrom = new ArrayList<>(interceptFroms);
         List<InterceptSendToEndpointDefinition> ito = new 
ArrayList<>(interceptSendTos);
         List<OnCompletionDefinition> oc = new ArrayList<>(onCompletions);
-        Set<String> matchedIds = new LinkedHashSet<>();
         if (getCamelContext() != null) {
             List<RouteConfigurationDefinition> globalConfigurations
                     = 
getCamelContext().adapt(ModelCamelContext.class).getRouteConfigurationDefinitions();
@@ -238,8 +235,8 @@ public class RoutesDefinition extends 
OptionalIdentifiedDefinition<RoutesDefinit
                                 || (PatternHelper.matchPattern(g.getId(), 
route.getRouteConfigurationId())))
                         .forEach(g -> {
                             if (g.getId() != null && !g.getId().equals("*")) {
-                                // remember the id that was used
-                                matchedIds.add(g.getId());
+                                // remember the id that was used on the route
+                                
route.addAppliedRouteConfigurationId(g.getId());
                             }
                             oe.addAll(g.getOnExceptions());
                             icp.addAll(g.getIntercepts());
@@ -253,8 +250,9 @@ public class RoutesDefinition extends 
OptionalIdentifiedDefinition<RoutesDefinit
         // must prepare the route before we can add it to the routes list
         RouteDefinitionHelper.prepareRoute(getCamelContext(), route, oe, icp, 
ifrom, ito, oc);
 
-        if (LOG.isDebugEnabled() && route.getRouteConfigurationId() != null) {
-            LOG.debug("Route: {} is using route configurations ids: {}", 
route.getId(), matchedIds);
+        if (LOG.isDebugEnabled() && route.getAppliedRouteConfigurationIds() != 
null) {
+            LOG.debug("Route: {} is using route configurations ids: {}", 
route.getId(),
+                    route.getAppliedRouteConfigurationIds());
         }
 
         // mark this route as prepared
diff --git 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java
 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java
index f921817..d55b699 100644
--- 
a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java
+++ 
b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/RouteReifier.java
@@ -373,8 +373,9 @@ public class RouteReifier extends 
ProcessorReifier<RouteDefinition> {
         routeProperties.put(Route.REST_PROPERTY, rest);
         String template = Boolean.toString(definition.isTemplate() != null && 
definition.isTemplate());
         routeProperties.put(Route.TEMPLATE_PROPERTY, template);
-        if (definition.getRouteConfigurationId() != null) {
-            routeProperties.put(Route.CONFIGURATION_ID_PROPERTY, 
definition.getRouteConfigurationId());
+        if (definition.getAppliedRouteConfigurationIds() != null) {
+            routeProperties.put(Route.CONFIGURATION_ID_PROPERTY,
+                    String.join(",", 
definition.getAppliedRouteConfigurationIds()));
         }
 
         List<PropertyDefinition> properties = definition.getRouteProperties();
diff --git 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
index 91731bc..7516f2a 100644
--- 
a/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
+++ 
b/core/camel-core-xml/src/main/java/org/apache/camel/core/xml/AbstractCamelContextFactoryBean.java
@@ -19,7 +19,6 @@ package org.apache.camel.core.xml;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
-import java.util.LinkedHashSet;
 import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
@@ -559,7 +558,6 @@ public abstract class AbstractCamelContextFactoryBean<T 
extends ModelCamelContex
             List<InterceptFromDefinition> ifrom = new 
ArrayList<>(getInterceptFroms());
             List<InterceptSendToEndpointDefinition> ito = new 
ArrayList<>(getInterceptSendToEndpoints());
             List<OnCompletionDefinition> oc = new 
ArrayList<>(getOnCompletions());
-            Set<String> matchedIds = new LinkedHashSet<>();
             if (getContext() != null) {
                 List<RouteConfigurationDefinition> globalConfigurations
                         = 
getContext().adapt(ModelCamelContext.class).getRouteConfigurationDefinitions();
@@ -571,8 +569,8 @@ public abstract class AbstractCamelContextFactoryBean<T 
extends ModelCamelContex
                                     || (PatternHelper.matchPattern(g.getId(), 
route.getRouteConfigurationId())))
                             .forEach(g -> {
                                 if (g.getId() != null && 
!g.getId().equals("*")) {
-                                    // remember the id that was used
-                                    matchedIds.add(g.getId());
+                                    // remember the id that was used on the 
route
+                                    
route.addAppliedRouteConfigurationId(g.getId());
                                 }
                                 oe.addAll(g.getOnExceptions());
                                 icp.addAll(g.getIntercepts());
@@ -586,8 +584,9 @@ public abstract class AbstractCamelContextFactoryBean<T 
extends ModelCamelContex
             // must prepare the route before we can add it to the routes list
             RouteDefinitionHelper.prepareRoute(getContext(), route, oe, icp, 
ifrom, ito, oc);
 
-            if (LOG.isDebugEnabled() && route.getRouteConfigurationId() != 
null) {
-                LOG.debug("Route: {} is using route configurations ids: {}", 
route.getId(), matchedIds);
+            if (LOG.isDebugEnabled() && 
route.getAppliedRouteConfigurationIds() != null) {
+                LOG.debug("Route: {} is using route configurations ids: {}", 
route.getId(),
+                        route.getAppliedRouteConfigurationIds());
             }
 
             // mark the route as prepared now

Reply via email to