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: <code>java.lang.String</code> type. * - * Default: classpath:/kamelets + * Default: classpath:kamelets * Group: common * * @param location the value to set