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 2024/02/28 12:33:08 UTC
(camel) 05/05: CAMEL-20466: camel-core - Rest DSL to be inlined by default to avoid clutter up list of routes
This is an automated email from the ASF dual-hosted git repository.
davsclaus pushed a commit to branch inline
in repository https://gitbox.apache.org/repos/asf/camel.git
commit c610fe9746fe6c02cf88d798452da5ea541f9fb6
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Wed Feb 28 13:25:02 2024 +0100
CAMEL-20466: camel-core - Rest DSL to be inlined by default to avoid clutter up list of routes
---
.../java/org/apache/camel/impl/console/SourceDevConsole.java | 2 ++
.../src/main/java/org/apache/camel/impl/DefaultModel.java | 4 ++++
.../org/apache/camel/dsl/yaml/common/YamlDeserializerBase.java | 9 +++++++--
3 files changed, 13 insertions(+), 2 deletions(-)
diff --git a/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java b/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
index c848030b181..ba7faf6e3d5 100644
--- a/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
+++ b/core/camel-console/src/main/java/org/apache/camel/impl/console/SourceDevConsole.java
@@ -89,7 +89,9 @@ public class SourceDevConsole extends AbstractDevConsole {
sb.append(String.format("\n Source: %s", mrb.getSourceLocation()));
}
if (!code.isEmpty()) {
+ sb.append("\n");
sb.append(code);
+ sb.append("\n\n");
}
}
sb.append("\n");
diff --git a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
index 77cc5c6d5f0..f0a2fc60f02 100644
--- a/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
+++ b/core/camel-core-engine/src/main/java/org/apache/camel/impl/DefaultModel.java
@@ -225,6 +225,10 @@ public class DefaultModel implements Model {
RouteDefinition toBeInlined = directs.get(toUri);
if (toBeInlined != null) {
toBeRemoved.add(toBeInlined);
+ // inline the source loc:line as starting from this direct input
+ FromDefinition inlinedFrom = toBeInlined.getInput();
+ from.setLocation(inlinedFrom.getLocation());
+ from.setLineNumber(inlinedFrom.getLineNumber());
// inline by replacing the outputs
r.getOutputs().clear();
r.getOutputs().addAll(toBeInlined.getOutputs());
diff --git a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerBase.java b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerBase.java
index 9135519540e..a1f0dae738d 100644
--- a/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerBase.java
+++ b/dsl/camel-yaml-dsl/camel-yaml-dsl-common/src/main/java/org/apache/camel/dsl/yaml/common/YamlDeserializerBase.java
@@ -18,6 +18,7 @@ package org.apache.camel.dsl.yaml.common;
import java.util.Locale;
+import org.apache.camel.CamelContextAware;
import org.apache.camel.LineNumberAware;
import org.apache.camel.dsl.yaml.common.exception.UnsupportedFieldException;
import org.apache.camel.dsl.yaml.common.exception.UnsupportedNodeTypeException;
@@ -134,19 +135,23 @@ public abstract class YamlDeserializerBase<T> extends YamlDeserializerSupport im
}
protected void onNewTarget(Node node, T target, int line) {
+ YamlDeserializationContext ctx = getDeserializationContext(node);
+ if (ctx != null && target instanceof CamelContextAware) {
+ CamelContextAware.trySetCamelContext(target, ctx.getCamelContext());
+ }
+
// enrich model with source location:line number
if (target instanceof LineNumberAware && line != -1) {
LineNumberAware lna = (LineNumberAware) target;
lna.setLineNumber(line);
- YamlDeserializationContext ctx = getDeserializationContext(node);
+ ctx = getDeserializationContext(node);
if (ctx != null) {
lna.setLocation(ctx.getResource().getLocation());
}
}
if (target instanceof ResourceAware) {
ResourceAware ra = (ResourceAware) target;
- YamlDeserializationContext ctx = getDeserializationContext(node);
if (ctx != null) {
ra.setResource(ctx.getResource());
}