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/10/02 12:28:46 UTC

[camel] branch main updated: camel-jbang - Transform to load blueprint and ignore some blueprint stuff

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 b8328fef4e9 camel-jbang - Transform to load blueprint and ignore some blueprint stuff
b8328fef4e9 is described below

commit b8328fef4e9df2cd1ae896f6366eec34dbe64819
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Oct 2 14:28:25 2023 +0200

    camel-jbang - Transform to load blueprint and ignore some blueprint stuff
---
 .../main/java/org/apache/camel/reifier/ProcessorReifier.java  |  4 ++--
 .../org/apache/camel/dsl/jbang/core/commands/Transform.java   |  1 +
 .../main/java/org/apache/camel/dsl/xml/io/XmlModelParser.java | 11 +++++++++--
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
index 3901c54006b..886f25f2976 100644
--- a/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
+++ b/core/camel-core-reifier/src/main/java/org/apache/camel/reifier/ProcessorReifier.java
@@ -126,8 +126,6 @@ import org.slf4j.LoggerFactory;
 
 public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends AbstractReifier {
 
-    private static final Logger LOG = LoggerFactory.getLogger(ProcessorReifier.class);
-
     /**
      * Global option on {@link CamelContext#getGlobalOptions()} that tooling can use to disable all route processors,
      * which allows to startup Camel without wiring up and initializing all route EIPs that may use custom processors,
@@ -136,6 +134,8 @@ public abstract class ProcessorReifier<T extends ProcessorDefinition<?>> extends
      */
     public static final String DISABLE_ALL_PROCESSORS = "DisableAllProcessors";
 
+    private static final Logger LOG = LoggerFactory.getLogger(ProcessorReifier.class);
+
     // for custom reifiers
     private static final Map<Class<?>, BiFunction<Route, ProcessorDefinition<?>, ProcessorReifier<? extends ProcessorDefinition<?>>>> PROCESSORS
             = new HashMap<>(0);
diff --git a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Transform.java b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Transform.java
index ec17b149155..4439455a27b 100644
--- a/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Transform.java
+++ b/dsl/camel-jbang/camel-jbang-core/src/main/java/org/apache/camel/dsl/jbang/core/commands/Transform.java
@@ -83,6 +83,7 @@ public class Transform extends CamelCommand {
                 main.addInitialProperty("camel.main.dumpRoutesUriAsParameters", "" + uriAsParameters);
                 main.addInitialProperty("camel.main.dumpRoutesOutput", target);
                 main.addInitialProperty("camel.jbang.transform", "true");
+                main.addInitialProperty("camel.component.properties.ignoreMissingProperty", "true");
                 if (ignoreLoadingError) {
                     // turn off bean method validator if ignore loading error
                     main.addInitialProperty("camel.language.bean.validate", "false");
diff --git a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlModelParser.java b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlModelParser.java
index 1f38c614c02..5fe845c438e 100644
--- a/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlModelParser.java
+++ b/dsl/camel-xml-io-dsl/src/main/java/org/apache/camel/dsl/xml/io/XmlModelParser.java
@@ -45,7 +45,7 @@ public class XmlModelParser extends ModelParser {
 
     @Override
     protected boolean handleUnexpectedElement(String namespace, String name) throws XmlPullParserException {
-        if (isWithinCamelContext(namespace, name)) {
+        if (isWithinCamelContext(namespace, name) || isAriesBlueprint(namespace)) {
             return true;
         }
         return super.handleUnexpectedElement(namespace, name);
@@ -53,12 +53,19 @@ public class XmlModelParser extends ModelParser {
 
     @Override
     protected boolean ignoreUnexpectedElement(String namespace, String name) throws XmlPullParserException {
-        if (isWithinCamelContext(namespace, name)) {
+        if (isWithinCamelContext(namespace, name) || isAriesBlueprint(namespace)) {
             return true;
         }
         return super.ignoreUnexpectedElement(namespace, name);
     }
 
+    private boolean isAriesBlueprint(String namespace) {
+        if (namespace != null && namespace.startsWith("http://aries.apache.org/blueprint/")) {
+            return true;
+        }
+        return false;
+    }
+
     private boolean isWithinCamelContext(String namespace, String name) {
         // accept embedded <camelContext> inside Spring XML <beans> files or OSGi <blueprint> files,
         // so we can discover embedded <routes> inside this <camelContext>.