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 3a47887c0f1 CAMEL-20757: camel-debug - Use the lightweight xml-io for 
route dumper (#14103)
3a47887c0f1 is described below

commit 3a47887c0f18e02b58763e662fd6fafcb1a56084
Author: Claus Ibsen <claus.ib...@gmail.com>
AuthorDate: Sat May 11 15:52:58 2024 +0200

    CAMEL-20757: camel-debug - Use the lightweight xml-io for route dumper 
(#14103)
    
    CAMEL-20757: camel-debug - Use the lightweight xml-io for route dumper
---
 components/camel-debug/pom.xml                     |  4 +--
 core/camel-management/pom.xml                      |  2 +-
 .../camel/management/mbean/ManagedRoute.java       |  4 +--
 .../camel/management/ManagedFromRestGetTest.java   | 17 +++++-----
 .../management/ManagedFromRestPlaceholderTest.java |  6 ++--
 .../java/org/apache/camel/xml/LwModelHelper.java   | 39 ++++++++++++++++++++++
 .../dsl/KameletComponentBuilderFactory.java        |  2 +-
 7 files changed, 57 insertions(+), 17 deletions(-)

diff --git a/components/camel-debug/pom.xml b/components/camel-debug/pom.xml
index f6f3e341e71..45b49dd77bb 100644
--- a/components/camel-debug/pom.xml
+++ b/components/camel-debug/pom.xml
@@ -48,10 +48,10 @@
             <groupId>org.apache.camel</groupId>
             <artifactId>camel-management</artifactId>
         </dependency>
-        <!-- jaxb needed for dumping messages as XML -->
+        <!-- xml-io needed for dumping messages as XML -->
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-xml-jaxb</artifactId>
+            <artifactId>camel-xml-io</artifactId>
         </dependency>
 
     </dependencies>
diff --git a/core/camel-management/pom.xml b/core/camel-management/pom.xml
index 03585848f76..f3f0631d5b9 100644
--- a/core/camel-management/pom.xml
+++ b/core/camel-management/pom.xml
@@ -49,7 +49,7 @@
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
-            <artifactId>camel-xml-jaxb</artifactId>
+            <artifactId>camel-xml-io</artifactId>
         </dependency>
         <dependency>
             <groupId>org.apache.camel</groupId>
diff --git 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
index 3d46f5f824f..151ae524b0f 100644
--- 
a/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
+++ 
b/core/camel-management/src/main/java/org/apache/camel/management/mbean/ManagedRoute.java
@@ -63,7 +63,7 @@ import org.apache.camel.spi.ManagementStrategy;
 import org.apache.camel.spi.RoutePolicy;
 import org.apache.camel.support.PluginHelper;
 import org.apache.camel.util.ObjectHelper;
-import org.apache.camel.xml.jaxb.JaxbHelper;
+import org.apache.camel.xml.LwModelHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -697,7 +697,7 @@ public class ManagedRoute extends ManagedPerformanceCounter 
implements TimerList
         // convert to model from xml
         ExtendedCamelContext ecc = context.getCamelContextExtension();
         InputStream is = 
context.getTypeConverter().convertTo(InputStream.class, xml);
-        RoutesDefinition routes = JaxbHelper.loadRoutesDefinition(context, is);
+        RoutesDefinition routes = LwModelHelper.loadRoutesDefinition(is);
         if (routes == null || routes.getRoutes().isEmpty()) {
             return;
         }
diff --git 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFromRestGetTest.java
 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFromRestGetTest.java
index f4190c6a053..deacba71e14 100644
--- 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFromRestGetTest.java
+++ 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFromRestGetTest.java
@@ -66,13 +66,13 @@ public class ManagedFromRestGetTest extends 
ManagementTestSupport {
         assertTrue(xml.contains("</rests>"));
 
         assertTrue(xml.contains(
-                "<param dataType=\"integer\" defaultValue=\"1\" 
description=\"header param description1\" name=\"header_count\" 
required=\"true\" type=\"header\">"));
+                "<param defaultValue=\"1\" dataType=\"integer\" 
name=\"header_count\" description=\"header param description1\" type=\"header\" 
required=\"true\""));
         assertTrue(xml.contains(
-                "<param collectionFormat=\"multi\" dataType=\"string\" 
defaultValue=\"b\" description=\"header param description2\" 
name=\"header_letter\" required=\"false\" type=\"query\">"));
+                "<param defaultValue=\"b\" dataType=\"string\" 
name=\"header_letter\" description=\"header param description2\" type=\"query\" 
collectionFormat=\"multi\" required=\"false\""));
         assertTrue(xml.contains("<value>1</value>"));
         assertTrue(xml.contains("<value>a</value>"));
 
-        assertTrue(xml.contains("<responseMessage code=\"300\" message=\"test 
msg\" responseModel=\"java.lang.Integer\"/>"));
+        assertTrue(xml.contains("<responseMessage code=\"300\" 
responseModel=\"java.lang.Integer\" message=\"test msg\"/>"));
 
         String xml2 = (String) mbeanServer.invoke(on, "dumpRoutesAsXml", null, 
null);
         log.info(xml2);
@@ -100,11 +100,12 @@ public class ManagedFromRestGetTest extends 
ManagementTestSupport {
                 rest("/say/bye")
                         .get().consumes("application/json")
                         
.param().type(RestParamType.header).description("header param 
description1").dataType("integer")
-                        .allowableValues(Arrays.asList("1", "2", "3", "4"))
-                        .defaultValue("1").name("header_count").required(true)
-                        
.endParam().param().type(RestParamType.query).description("header param 
description2")
-                        .dataType("string").allowableValues(Arrays.asList("a", 
"b", "c", "d"))
-                        
.defaultValue("b").collectionFormat(CollectionFormat.multi).name("header_letter").required(false)
+                            .allowableValues(Arrays.asList("1", "2", "3", "4"))
+                            
.defaultValue("1").name("header_count").required(true)
+                        .endParam()
+                        .param().type(RestParamType.query).description("header 
param description2")
+                            
.dataType("string").allowableValues(Arrays.asList("a", "b", "c", "d"))
+                            
.defaultValue("b").collectionFormat(CollectionFormat.multi).name("header_letter").required(false)
                         .endParam()
                         .responseMessage().code(300).message("test 
msg").responseModel(Integer.class).endResponseMessage()
                         .to("direct:bye")
diff --git 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFromRestPlaceholderTest.java
 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFromRestPlaceholderTest.java
index ed327c7cf49..46115c9ed21 100644
--- 
a/core/camel-management/src/test/java/org/apache/camel/management/ManagedFromRestPlaceholderTest.java
+++ 
b/core/camel-management/src/test/java/org/apache/camel/management/ManagedFromRestPlaceholderTest.java
@@ -66,13 +66,13 @@ public class ManagedFromRestPlaceholderTest extends 
ManagementTestSupport {
         assertTrue(xml.contains("</rests>"));
 
         assertTrue(xml.contains(
-                "<param dataType=\"integer\" defaultValue=\"1\" 
description=\"header param description1\" name=\"header_count\" 
required=\"true\" type=\"header\">"));
+                "<param defaultValue=\"1\" dataType=\"integer\" 
name=\"header_count\" description=\"header param description1\" type=\"header\" 
required=\"true\""));
         assertTrue(xml.contains(
-                "<param collectionFormat=\"multi\" dataType=\"string\" 
defaultValue=\"b\" description=\"header param description2\" 
name=\"header_letter\" required=\"false\" type=\"query\">"));
+                "<param defaultValue=\"b\" dataType=\"string\" 
name=\"header_letter\" description=\"header param description2\" type=\"query\" 
collectionFormat=\"multi\" required=\"false\""));
         assertTrue(xml.contains("<value>1</value>"));
         assertTrue(xml.contains("<value>a</value>"));
 
-        assertTrue(xml.contains("<responseMessage code=\"300\" message=\"test 
msg\" responseModel=\"java.lang.Integer\"/>"));
+        assertTrue(xml.contains("<responseMessage code=\"300\" 
responseModel=\"java.lang.Integer\" message=\"test msg\"/>"));
 
         String xml2 = (String) mbeanServer.invoke(on, "dumpRoutesAsXml", null, 
null);
         log.info(xml2);
diff --git 
a/core/camel-xml-io/src/main/java/org/apache/camel/xml/LwModelHelper.java 
b/core/camel-xml-io/src/main/java/org/apache/camel/xml/LwModelHelper.java
new file mode 100644
index 00000000000..f58ef1be72e
--- /dev/null
+++ b/core/camel-xml-io/src/main/java/org/apache/camel/xml/LwModelHelper.java
@@ -0,0 +1,39 @@
+/*
+ * 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.xml;
+
+import java.io.InputStream;
+
+import org.apache.camel.model.RoutesDefinition;
+import org.apache.camel.xml.in.ModelParser;
+
+/**
+ * Helper for XML IO parser.
+ */
+public final class LwModelHelper {
+
+    private static final String NAMESPACE = 
"http://camel.apache.org/schema/spring";;
+
+    private LwModelHelper() {
+    }
+
+    public static RoutesDefinition loadRoutesDefinition(InputStream 
inputStream) throws Exception {
+        ModelParser parser = new ModelParser(inputStream, NAMESPACE);
+        return parser.parseRoutesDefinition().orElse(null);
+    }
+
+}
diff --git 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KameletComponentBuilderFactory.java
 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KameletComponentBuilderFactory.java
index ad533a07a29..4a130be69d6 100644
--- 
a/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KameletComponentBuilderFactory.java
+++ 
b/dsl/camel-componentdsl/src/generated/java/org/apache/camel/builder/component/dsl/KameletComponentBuilderFactory.java
@@ -57,7 +57,7 @@ public interface KameletComponentBuilderFactory {
          * 
          * The option is a: &lt;code&gt;java.lang.String&lt;/code&gt; type.
          * 
-         * Default: classpath:/kamelets
+         * Default: classpath:kamelets
          * Group: common
          * 
          * @param location the value to set

Reply via email to