This is an automated email from the ASF dual-hosted git repository. jamesnetherton pushed a commit to branch camel-main in repository https://gitbox.apache.org/repos/asf/camel-quarkus.git
The following commit(s) were added to refs/heads/camel-main by this push: new a6e1734648 Add iso8583 extension a6e1734648 is described below commit a6e17346480d723a44817028a3e623b9cd557a38 Author: James Netherton <jamesnether...@gmail.com> AuthorDate: Wed Jul 23 09:15:16 2025 +0100 Add iso8583 extension Fixes #7530 --- catalog/pom.xml | 13 ++ docs/modules/ROOT/examples/dataformats/iso8583.yml | 13 ++ docs/modules/ROOT/nav.adoc | 1 + .../ROOT/pages/reference/extensions/iso8583.adoc | 63 +++++++ extensions/iso8583/deployment/pom.xml | 67 ++++++++ .../iso8583/deployment/Iso8583Processor.java | 35 ++++ extensions/iso8583/pom.xml | 39 +++++ extensions/iso8583/runtime/pom.xml | 105 ++++++++++++ .../runtime/src/main/doc/configuration.adoc | 12 ++ .../main/resources/META-INF/quarkus-extension.yaml | 33 ++++ .../src/main/resources/application.properties | 19 +++ extensions/pom.xml | 1 + integration-tests/iso8583/pom.xml | 133 +++++++++++++++ .../component/iso8583/it/Iso8583Resource.java | 75 ++++++++ .../component/iso8583/it/Iso8583Routes.java | 30 ++++ .../iso8583/src/main/resources/j8583-config.xml | 188 +++++++++++++++++++++ .../quarkus/component/iso8583/it/Iso8583IT.java | 24 +++ .../quarkus/component/iso8583/it/Iso8583Test.java | 82 +++++++++ .../iso8583/src/test/resources/iso8583-1.txt | 2 + integration-tests/pom.xml | 1 + poms/bom/pom.xml | 15 ++ poms/bom/src/main/generated/flattened-full-pom.xml | 15 ++ .../src/main/generated/flattened-reduced-pom.xml | 15 ++ .../generated/flattened-reduced-verbose-pom.xml | 15 ++ tooling/scripts/test-categories.yaml | 1 + 25 files changed, 997 insertions(+) diff --git a/catalog/pom.xml b/catalog/pom.xml index 381be03f88..5aa4e8733a 100644 --- a/catalog/pom.xml +++ b/catalog/pom.xml @@ -1917,6 +1917,19 @@ </exclusion> </exclusions> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-iso8583</artifactId> + <version>${project.version}</version> + <type>pom</type> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-jackson</artifactId> diff --git a/docs/modules/ROOT/examples/dataformats/iso8583.yml b/docs/modules/ROOT/examples/dataformats/iso8583.yml new file mode 100644 index 0000000000..68e4428a4d --- /dev/null +++ b/docs/modules/ROOT/examples/dataformats/iso8583.yml @@ -0,0 +1,13 @@ +# Do not edit directly! +# This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page +cqArtifactId: camel-quarkus-iso8583 +cqArtifactIdBase: iso8583 +cqNativeSupported: true +cqStatus: Stable +cqDeprecated: false +cqJvmSince: 3.25.0 +cqNativeSince: 3.25.0 +cqCamelPartName: iso8583 +cqCamelPartTitle: ISO-8583 +cqCamelPartDescription: Create, edit and read ISO-8583 messages. +cqExtensionPageTitle: ISO-8583 diff --git a/docs/modules/ROOT/nav.adoc b/docs/modules/ROOT/nav.adoc index f6f935c014..d367e3c01d 100644 --- a/docs/modules/ROOT/nav.adoc +++ b/docs/modules/ROOT/nav.adoc @@ -157,6 +157,7 @@ *** xref:reference/extensions/ibm-secrets-manager.adoc[IBM Secrets Manager] *** xref:reference/extensions/iec60870.adoc[IEC 60870 Client] *** xref:reference/extensions/irc.adoc[IRC] +*** xref:reference/extensions/iso8583.adoc[ISO-8583] *** xref:reference/extensions/ignite.adoc[Ignite Cache] *** xref:reference/extensions/infinispan.adoc[Infinispan] *** xref:reference/extensions/influxdb.adoc[InfluxDB] diff --git a/docs/modules/ROOT/pages/reference/extensions/iso8583.adoc b/docs/modules/ROOT/pages/reference/extensions/iso8583.adoc new file mode 100644 index 0000000000..a844849688 --- /dev/null +++ b/docs/modules/ROOT/pages/reference/extensions/iso8583.adoc @@ -0,0 +1,63 @@ +// Do not edit directly! +// This file was generated by camel-quarkus-maven-plugin:update-extension-doc-page +[id="extensions-iso8583"] += ISO-8583 +:linkattrs: +:cq-artifact-id: camel-quarkus-iso8583 +:cq-native-supported: true +:cq-status: Stable +:cq-status-deprecation: Stable +:cq-description: Create, edit and read ISO-8583 messages. +:cq-deprecated: false +:cq-jvm-since: 3.25.0 +:cq-native-since: 3.25.0 + +ifeval::[{doc-show-badges} == true] +[.badges] +[.badge-key]##JVM since##[.badge-supported]##3.25.0## [.badge-key]##Native since##[.badge-supported]##3.25.0## +endif::[] + +Create, edit and read ISO-8583 messages. + +[id="extensions-iso8583-whats-inside"] +== What's inside + +* xref:{cq-camel-components}:dataformats:iso8583-dataformat.adoc[ISO-8583 data format] + +Please refer to the above link for usage and configuration details. + +[id="extensions-iso8583-maven-coordinates"] +== Maven coordinates + +https://{link-quarkus-code-generator}/?extension-search=camel-quarkus-iso8583[Create a new project with this extension on {link-quarkus-code-generator}, window="_blank"] + +Or add the coordinates to your existing project: + +[source,xml] +---- +<dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-iso8583</artifactId> +</dependency> +---- +ifeval::[{doc-show-user-guide-link} == true] +Check the xref:user-guide/index.adoc[User guide] for more information about writing Camel Quarkus applications. +endif::[] + +[id="extensions-iso8583-additional-camel-quarkus-configuration"] +== Additional Camel Quarkus configuration + +[id="extensions-iso8583-configuration-custom-iso-8583-parser-configurations-in-native-mode"] +=== Custom ISO-8583 parser configurations in native mode + +If you choose to use a configuration file named differently to the default `j8583-config.xml`, then you must register this file as a native image resource. + +For example. + +[source,properties] +---- +quarkus.native.resources.includes = my-custom-config.xml +---- + +More information about selecting resources for inclusion in the native executable can be found at xref:user-guide/native-mode.adoc#embedding-resource-in-native-executable[Embedding resource in native executable]. + diff --git a/extensions/iso8583/deployment/pom.xml b/extensions/iso8583/deployment/pom.xml new file mode 100644 index 0000000000..ee7a5be7ce --- /dev/null +++ b/extensions/iso8583/deployment/pom.xml @@ -0,0 +1,67 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + 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. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-iso8583-parent</artifactId> + <version>3.25.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + + <artifactId>camel-quarkus-iso8583-deployment</artifactId> + <name>Camel Quarkus :: ISO-8583 :: Deployment</name> + + <dependencies> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-core-deployment</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-jaxp-deployment</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-iso8583</artifactId> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <annotationProcessorPaths> + <path> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-extension-processor</artifactId> + <version>${quarkus.version}</version> + </path> + </annotationProcessorPaths> + </configuration> + </plugin> + </plugins> + </build> + +</project> diff --git a/extensions/iso8583/deployment/src/main/java/org/apache/camel/quarkus/component/iso8583/deployment/Iso8583Processor.java b/extensions/iso8583/deployment/src/main/java/org/apache/camel/quarkus/component/iso8583/deployment/Iso8583Processor.java new file mode 100644 index 0000000000..c895e716c3 --- /dev/null +++ b/extensions/iso8583/deployment/src/main/java/org/apache/camel/quarkus/component/iso8583/deployment/Iso8583Processor.java @@ -0,0 +1,35 @@ +/* + * 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.quarkus.component.iso8583.deployment; + +import io.quarkus.deployment.annotations.BuildStep; +import io.quarkus.deployment.builditem.FeatureBuildItem; +import io.quarkus.deployment.builditem.nativeimage.NativeImageResourceBuildItem; + +class Iso8583Processor { + private static final String FEATURE = "camel-iso8583"; + + @BuildStep + FeatureBuildItem feature() { + return new FeatureBuildItem(FEATURE); + } + + @BuildStep + NativeImageResourceBuildItem nativeImageResources() { + return new NativeImageResourceBuildItem("com/solab/iso8583/parse/j8583.dtd", "j8583-config.xml"); + } +} diff --git a/extensions/iso8583/pom.xml b/extensions/iso8583/pom.xml new file mode 100644 index 0000000000..a2814e50ad --- /dev/null +++ b/extensions/iso8583/pom.xml @@ -0,0 +1,39 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + 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. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-extensions</artifactId> + <version>3.25.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + + <artifactId>camel-quarkus-iso8583-parent</artifactId> + <name>Camel Quarkus :: ISO-8583</name> + <packaging>pom</packaging> + + <modules> + <module>deployment</module> + <module>runtime</module> + </modules> +</project> diff --git a/extensions/iso8583/runtime/pom.xml b/extensions/iso8583/runtime/pom.xml new file mode 100644 index 0000000000..4a47472b0b --- /dev/null +++ b/extensions/iso8583/runtime/pom.xml @@ -0,0 +1,105 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + 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. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-iso8583-parent</artifactId> + <version>3.25.0-SNAPSHOT</version> + <relativePath>../pom.xml</relativePath> + </parent> + + <artifactId>camel-quarkus-iso8583</artifactId> + <name>Camel Quarkus :: ISO-8583 :: Runtime</name> + <description>Create, edit and read ISO-8583 messages.</description> + + <properties> + <camel.quarkus.jvmSince>3.25.0</camel.quarkus.jvmSince> + <camel.quarkus.nativeSince>3.25.0</camel.quarkus.nativeSince> + </properties> + + <dependencies> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-core</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-jaxp</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-iso8583</artifactId> + </dependency> + </dependencies> + + <build> + <plugins> + <plugin> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-extension-maven-plugin</artifactId> + </plugin> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-compiler-plugin</artifactId> + <configuration> + <annotationProcessorPaths> + <path> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-extension-processor</artifactId> + <version>${quarkus.version}</version> + </path> + </annotationProcessorPaths> + </configuration> + </plugin> + </plugins> + </build> + + + <profiles> + <profile> + <id>full</id> + <activation> + <property> + <name>!quickly</name> + </property> + </activation> + <build> + <plugins> + <plugin> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-maven-plugin</artifactId> + <executions> + <execution> + <id>update-extension-doc-page</id> + <goals> + <goal>update-extension-doc-page</goal> + </goals> + <phase>process-classes</phase> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project> diff --git a/extensions/iso8583/runtime/src/main/doc/configuration.adoc b/extensions/iso8583/runtime/src/main/doc/configuration.adoc new file mode 100644 index 0000000000..0feb33e7dd --- /dev/null +++ b/extensions/iso8583/runtime/src/main/doc/configuration.adoc @@ -0,0 +1,12 @@ +=== Custom ISO-8583 parser configurations in native mode + +If you choose to use a configuration file named differently to the default `j8583-config.xml`, then you must register this file as a native image resource. + +For example. + +[source,properties] +---- +quarkus.native.resources.includes = my-custom-config.xml +---- + +More information about selecting resources for inclusion in the native executable can be found at xref:user-guide/native-mode.adoc#embedding-resource-in-native-executable[Embedding resource in native executable]. diff --git a/extensions/iso8583/runtime/src/main/resources/META-INF/quarkus-extension.yaml b/extensions/iso8583/runtime/src/main/resources/META-INF/quarkus-extension.yaml new file mode 100644 index 0000000000..af5ebd5d93 --- /dev/null +++ b/extensions/iso8583/runtime/src/main/resources/META-INF/quarkus-extension.yaml @@ -0,0 +1,33 @@ +# +# 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. +# + +# This is a generated file. Do not edit directly! +# To re-generate, run the following command from the top level directory: +# +# mvn -N cq:update-quarkus-metadata +# +--- +name: "Camel ISO-8583" +description: "Create, edit and read ISO-8583 messages" +metadata: + icon-url: "https://raw.githubusercontent.com/apache/camel-website/main/antora-ui-camel/src/img/logo-d.svg" + sponsor: "Apache Software Foundation" + guide: "https://camel.apache.org/camel-quarkus/latest/reference/extensions/iso8583.html" + categories: + - "integration" + status: + - "stable" diff --git a/extensions/iso8583/runtime/src/main/resources/application.properties b/extensions/iso8583/runtime/src/main/resources/application.properties new file mode 100644 index 0000000000..870738db11 --- /dev/null +++ b/extensions/iso8583/runtime/src/main/resources/application.properties @@ -0,0 +1,19 @@ +## --------------------------------------------------------------------------- +## 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. +## --------------------------------------------------------------------------- + +# Required by xerces when parsing URLs from XML, DTDS, schemas etc +quarkus.native.enable-https-url-handler=true diff --git a/extensions/pom.xml b/extensions/pom.xml index acd712023b..5d86b23f4e 100644 --- a/extensions/pom.xml +++ b/extensions/pom.xml @@ -138,6 +138,7 @@ <module>ical</module> <module>infinispan</module> <module>influxdb</module> + <module>iso8583</module> <module>jackson</module> <module>jackson-avro</module> <module>jackson-protobuf</module> diff --git a/integration-tests/iso8583/pom.xml b/integration-tests/iso8583/pom.xml new file mode 100644 index 0000000000..3bca9d4566 --- /dev/null +++ b/integration-tests/iso8583/pom.xml @@ -0,0 +1,133 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + 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. + +--> +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> + <modelVersion>4.0.0</modelVersion> + <parent> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-build-parent-it</artifactId> + <version>3.25.0-SNAPSHOT</version> + <relativePath>../../poms/build-parent-it/pom.xml</relativePath> + </parent> + + <artifactId>camel-quarkus-integration-test-iso8583</artifactId> + <name>Camel Quarkus :: Integration Tests :: ISO-8583</name> + <description>Integration tests for Camel Quarkus ISO-8583 extension</description> + + <dependencies> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-direct</artifactId> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-iso8583</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-resteasy</artifactId> + </dependency> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-resteasy-jackson</artifactId> + </dependency> + + <!-- test dependencies --> + <dependency> + <groupId>io.quarkus</groupId> + <artifactId>quarkus-junit5</artifactId> + <scope>test</scope> + </dependency> + <dependency> + <groupId>io.rest-assured</groupId> + <artifactId>rest-assured</artifactId> + <scope>test</scope> + </dependency> + </dependencies> + + <profiles> + <profile> + <id>native</id> + <activation> + <property> + <name>native</name> + </property> + </activation> + <properties> + <quarkus.native.enabled>true</quarkus.native.enabled> + </properties> + <build> + <plugins> + <plugin> + <groupId>org.apache.maven.plugins</groupId> + <artifactId>maven-failsafe-plugin</artifactId> + <executions> + <execution> + <goals> + <goal>integration-test</goal> + <goal>verify</goal> + </goals> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + <profile> + <id>virtualDependencies</id> + <activation> + <property> + <name>!noVirtualDependencies</name> + </property> + </activation> + <dependencies> + <!-- The following dependencies guarantee that this module is built after them. You can update them by running `mvn process-resources -Pformat -N` from the source tree root directory --> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-direct-deployment</artifactId> + <version>${project.version}</version> + <type>pom</type> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-iso8583-deployment</artifactId> + <version>${project.version}</version> + <type>pom</type> + <scope>test</scope> + <exclusions> + <exclusion> + <groupId>*</groupId> + <artifactId>*</artifactId> + </exclusion> + </exclusions> + </dependency> + </dependencies> + </profile> + </profiles> + +</project> diff --git a/integration-tests/iso8583/src/main/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583Resource.java b/integration-tests/iso8583/src/main/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583Resource.java new file mode 100644 index 0000000000..318baf9358 --- /dev/null +++ b/integration-tests/iso8583/src/main/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583Resource.java @@ -0,0 +1,75 @@ +/* + * 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.quarkus.component.iso8583.it; + +import java.io.File; +import java.io.IOException; +import java.math.BigDecimal; +import java.text.ParseException; +import java.util.Map; + +import com.solab.iso8583.IsoMessage; +import com.solab.iso8583.IsoValue; +import com.solab.iso8583.MessageFactory; +import jakarta.inject.Inject; +import jakarta.ws.rs.Consumes; +import jakarta.ws.rs.POST; +import jakarta.ws.rs.Path; +import jakarta.ws.rs.Produces; +import jakarta.ws.rs.core.MediaType; +import jakarta.ws.rs.core.Response; +import org.apache.camel.CamelContext; +import org.apache.camel.ProducerTemplate; + +@Path("/iso8583") +public class Iso8583Resource { + @Inject + CamelContext context; + + @Inject + ProducerTemplate producerTemplate; + + @Path("/marshal") + @POST + @Consumes(MediaType.TEXT_PLAIN) + @Produces(MediaType.TEXT_PLAIN) + public String marshal(File iso8583Message) throws IOException, ParseException { + MessageFactory<?> messageFactory = new MessageFactory<>(); + messageFactory.setConfigPath("j8583-config.xml"); + + byte[] bytes = context.getTypeConverter().convertTo(byte[].class, iso8583Message); + IsoMessage message = messageFactory.parseMessage(bytes, "ISO015000055".getBytes().length); + + return producerTemplate.requestBody("direct:marshal", message, String.class); + } + + @Path("/unmarshal") + @POST + @Consumes(MediaType.TEXT_PLAIN) + @Produces(MediaType.APPLICATION_JSON) + public Response unmarshal(File iso8583Message) throws Exception { + IsoMessage result = producerTemplate.requestBody("direct:unmarshal", iso8583Message, IsoMessage.class); + if (result != null) { + IsoValue<BigDecimal> amount = result.getAt(4); + return Response.ok(Map.of( + "type", amount.getType().name(), + "value", amount.getValue().toString())) + .build(); + } + return Response.noContent().build(); + } +} diff --git a/integration-tests/iso8583/src/main/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583Routes.java b/integration-tests/iso8583/src/main/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583Routes.java new file mode 100644 index 0000000000..4c7d2f10d1 --- /dev/null +++ b/integration-tests/iso8583/src/main/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583Routes.java @@ -0,0 +1,30 @@ +/* + * 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.quarkus.component.iso8583.it; + +import org.apache.camel.builder.RouteBuilder; + +public class Iso8583Routes extends RouteBuilder { + @Override + public void configure() throws Exception { + from("direct:marshal") + .marshal().iso8583("0210"); + + from("direct:unmarshal") + .unmarshal().iso8583("0210"); + } +} diff --git a/integration-tests/iso8583/src/main/resources/j8583-config.xml b/integration-tests/iso8583/src/main/resources/j8583-config.xml new file mode 100644 index 0000000000..11b1060ce9 --- /dev/null +++ b/integration-tests/iso8583/src/main/resources/j8583-config.xml @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- + + 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. + +--> +<!DOCTYPE j8583-config PUBLIC "-//J8583//DTD CONFIG 1.0//EN" + "http://j8583.sourceforge.net/j8583.dtd"> +<j8583-config> + <!-- This is a test config file --> + + <!-- These are the ISO headers to be prepended to the message types specified --> + <header type="0200">ISO015000050</header> + <header type="0210">ISO015000055</header> + <header type="0400" ref="0200" /> + <header type="0410" ref="0210" /> + <header type="0800">ISO015000015</header> + <header type="0810" ref="0800"/> + <header type="0280" binary="true">ffffffff</header> + + <!-- The client example uses this to create requests --> + <template type="0200"> + <field num="3" type="NUMERIC" length="6">650000</field> + <field num="32" type="LLVAR">456</field> + <field num="35" type="LLVAR">4591700012340000=</field> + <field num="43" type="ALPHA" length="40">SOLABTEST TEST-3 DF MX</field> + <field num="48" type="LLLVAR">Life, the Universe, and Everything|42</field> + <field num="49" type="ALPHA" length="3">484</field> + <field num="60" type="LLLVAR">B456PRO1+000</field> + <field num="61" type="LLLVAR"> 1234P vamos a meter más de 90 caracteres en este campo para comprobar si hay algun error en el parseo del mismo. Esta definido como un LLLVAR aqui por lo tanto esto debe caber sin problemas; las guias de parseo de 200 y 210 tienen LLLVAR en campo 61 tambien.</field> + <field num="100" type="LLVAR">999</field> + <field num="102" type="LLVAR">ABCD</field> + </template> + + <template type="0300"> + <field num="4" type="DATE4">0125</field> + <field num="5" type="DATE6">730125</field> + <field num="6" type="DATE10">0125213456</field> + <field num="7" type="DATE12">730125213456</field> + <field num="8" type="DATE14">19730125213456</field> + <field num="9" type="DATE_EXP">2506</field> + <field num="10" type="TIME">213456</field> + <field num="11" type="TIME" tz="America/Mexico_City">213456</field> + <field num="12" type="DATE10" tz="EET">0125213456</field> + </template> + + <!-- The server example uses this to create the responses + we only need a few fields because the rest are copied from the request --> + <template type="0210"> + <field num="60" type="LLLVAR">Fixed data from template</field> + <field num="70" type="ALPHA" length="3">ABC</field> + <field num="90" type="ALPHA" length="42">Field of length 42</field> + <field num="100" type="LLVAR">Fixed field</field> + <field num="102" type="LLVAR">Another fixed field</field> + <field num="126" type="LLLVAR">...and yet another fixed field.</field> + </template> + + <template type="0400" extends="0200"> + <field num="90" type="ALPHA" length="42">BLA</field> + <field num="102" type="exclude" /> + </template> + + <template type="0600"> + <field num="4" type="AMOUNT">1234</field> + <field num="11" type="NUMERIC" length="6">123</field> + <field num="41" type="BINARY" length="8">abcdef</field> + <field num="42" type="BINARY" length="4">abcde</field> + <field num="43" type="ALPHA" length="40">Field of length 40</field> + <field num="62" type="LLBIN">0123456789abcdef620123456789abcd</field> + <field num="63" type="LLBIN">01234567863</field> + <field num="64" type="LLLBIN">0123456789abcdef640123456789abcd</field> + <field num="65" type="LLLBIN">01234567865</field> + <field num="102" type="LLLVAR">Field of type LLLVAR</field> + </template> + <template type="0280"> + <field num="3" type="NUMERIC" length="2">99</field> + </template> + + <!-- The server example uses this to read the requests --> + <parse type="0200"> + <field num="3" type="NUMERIC" length="6" /> + <field num="4" type="AMOUNT" /> + <field num="7" type="DATE10" /> + <field num="11" type="NUMERIC" length="6" /> + <field num="12" type="TIME" /> + <field num="13" type="DATE4" /> + <field num="15" type="DATE4" /> + <field num="17" type="DATE_EXP" /> + <field num="32" type="LLVAR" /> + <field num="35" type="LLVAR" /> + <field num="37" type="NUMERIC" length="12" /> + <field num="41" type="ALPHA" length="16" /> + <field num="43" type="ALPHA" length="40" /> + <field num="48" type="LLLVAR" /> + <field num="49" type="ALPHA" length="3" /> + <field num="60" type="LLLVAR" /> + <field num="61" type="LLLVAR" /> + <field num="100" type="LLVAR" /> + <field num="102" type="LLVAR" /> + </parse> + + <!-- The client example uses this to read the responses --> + <parse type="0210"> + <field num="3" type="NUMERIC" length="6" /> + <field num="4" type="AMOUNT" /> + <field num="7" type="DATE10" /> + <field num="11" type="NUMERIC" length="6" /> + <field num="12" type="TIME" /> + <field num="13" type="DATE4" /> + <field num="15" type="DATE4" /> + <field num="17" type="DATE_EXP" /> + <field num="32" type="LLVAR" /> + <field num="35" type="LLVAR" /> + <field num="37" type="NUMERIC" length="12" /> + <field num="38" type="NUMERIC" length="6" /> + <field num="39" type="NUMERIC" length="2" /> + <field num="41" type="ALPHA" length="16" /> + <field num="43" type="ALPHA" length="40" /> + <field num="48" type="LLLVAR" /> + <field num="49" type="ALPHA" length="3" /> + <field num="60" type="LLLVAR" /> + <field num="61" type="LLLVAR" /> + <field num="70" type="ALPHA" length="3" /> + <field num="90" type="ALPHA" length="42" /> + <field num="100" type="LLVAR" /> + <field num="102" type="LLVAR" /> + <field num="126" type="LLLVAR" /> + </parse> + + <!-- this is for binary tests (message encoding AND fields) --> + <parse type="0600"> + <field num="4" type="AMOUNT" /> + <field num="7" type="DATE10" /> + <field num="11" type="NUMERIC" length="6" /> + <field num="41" type="BINARY" length="8" /> + <field num="42" type="BINARY" length="4" /> + <field num="43" type="ALPHA" length="40" /> + <field num="62" type="LLBIN" /> + <field num="63" type="LLBIN" /> + <field num="64" type="LLLBIN" /> + <field num="65" type="LLLBIN" /> + <field num="102" type="LLLVAR" /> + </parse> + + <parse type="0800"> + <field num="3" type="ALPHA" length="6">123456</field> + <field num="12" type="DATE4">1231</field> + <field num="17" type="DATE4">1231</field> + </parse> + + <parse type="0810" extends="0800"> + <field num="17" type="exclude"/> + <field num="39" type="ALPHA" length="2"/> + </parse> + + <parse type="0201"> + <field num="3" type="NUMERIC" length="19" /> + </parse> + <parse type="0202"> + <field num="3" type="NUMERIC" length="22" /> + </parse> + <parse type="0280"> + <field num="3" type="NUMERIC" length="2" /> + </parse> + <parse type="0281"> + <field num="3" type="LLBCDBIN"/> + </parse> + <parse type="0282"> + <field num="3" type="LLLBCDBIN"/> + </parse> + <parse type="0283"> + <field num="3" type="LLLLBCDBIN"/> + </parse> + +</j8583-config> diff --git a/integration-tests/iso8583/src/test/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583IT.java b/integration-tests/iso8583/src/test/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583IT.java new file mode 100644 index 0000000000..faafb14b7c --- /dev/null +++ b/integration-tests/iso8583/src/test/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583IT.java @@ -0,0 +1,24 @@ +/* + * 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.quarkus.component.iso8583.it; + +import io.quarkus.test.junit.QuarkusIntegrationTest; + +@QuarkusIntegrationTest +class Iso8583IT extends Iso8583Test { + +} diff --git a/integration-tests/iso8583/src/test/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583Test.java b/integration-tests/iso8583/src/test/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583Test.java new file mode 100644 index 0000000000..74079e3ad1 --- /dev/null +++ b/integration-tests/iso8583/src/test/java/org/apache/camel/quarkus/component/iso8583/it/Iso8583Test.java @@ -0,0 +1,82 @@ +/* + * 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.quarkus.component.iso8583.it; + +import java.io.IOException; +import java.io.InputStream; +import java.nio.file.Files; +import java.nio.file.Path; + +import io.quarkus.test.junit.QuarkusTest; +import io.restassured.RestAssured; +import org.junit.jupiter.api.Test; + +import static org.hamcrest.Matchers.is; + +@QuarkusTest +class Iso8583Test { + @Test + void marshal() throws IOException { + Path testFile = Files.createTempFile("Iso8583Test", ".txt"); + try (InputStream stream = Iso8583Test.class.getResourceAsStream("/iso8583-1.txt")) { + if (stream == null) { + throw new IllegalStateException("iso8583-1.txt file not found"); + } + + Files.write(testFile, stream.readAllBytes()); + String expectedMessageContent = Files.readAllLines(testFile).get(0); + + RestAssured.given() + .body(testFile.toFile()) + .when() + .post("/iso8583/marshal") + .then() + .statusCode(200) + .body(is(expectedMessageContent)); + } finally { + if (Files.exists(testFile)) { + Files.delete(testFile); + } + } + } + + @Test + void unmarshal() throws IOException { + Path testFile = Files.createTempFile("Iso8583Test", ".txt"); + try (InputStream stream = Iso8583Test.class.getResourceAsStream("/iso8583-1.txt")) { + if (stream == null) { + throw new IllegalStateException("iso8583-1.txt file not found"); + } + + Files.write(testFile, stream.readAllBytes()); + + RestAssured.given() + .body(testFile.toFile()) + .when() + .post("/iso8583/unmarshal") + .then() + .statusCode(200) + .body( + "type", is("AMOUNT"), + "value", is("30.00")); + } finally { + if (Files.exists(testFile)) { + Files.delete(testFile); + } + } + } +} diff --git a/integration-tests/iso8583/src/test/resources/iso8583-1.txt b/integration-tests/iso8583/src/test/resources/iso8583-1.txt new file mode 100644 index 0000000000..f4a8fb20d0 --- /dev/null +++ b/integration-tests/iso8583/src/test/resources/iso8583-1.txt @@ -0,0 +1,2 @@ +ISO0250000550210B23A80012EA080180000000014000004650000000000003000042813054746877112594604280428081103123173766123456123456=00123442579114472300614209027600TéSTSOLAB áéíóú üñÑ TEST-3 DF MX484012B123P®O1+000013 0000P0312304ABCD040ABCD8123477547 + diff --git a/integration-tests/pom.xml b/integration-tests/pom.xml index a7c0e44ab8..1db909cff1 100644 --- a/integration-tests/pom.xml +++ b/integration-tests/pom.xml @@ -116,6 +116,7 @@ <module>infinispan-common</module> <module>infinispan-quarkus-client</module> <module>influxdb</module> + <module>iso8583</module> <module>jackson-avro</module> <module>jackson-protobuf</module> <module>jasypt</module> diff --git a/poms/bom/pom.xml b/poms/bom/pom.xml index 892b35eed5..8ad66aa7ed 100644 --- a/poms/bom/pom.xml +++ b/poms/bom/pom.xml @@ -1643,6 +1643,11 @@ <artifactId>camel-irc</artifactId> <version>${camel.version}</version> </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-iso8583</artifactId> + <version>${camel.version}</version> + </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jackson</artifactId> @@ -4561,6 +4566,16 @@ <artifactId>camel-quarkus-irc-deployment</artifactId> <version>${camel-quarkus.version}</version> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-iso8583</artifactId> + <version>${camel-quarkus.version}</version> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-iso8583-deployment</artifactId> + <version>${camel-quarkus.version}</version> + </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-jackson</artifactId> diff --git a/poms/bom/src/main/generated/flattened-full-pom.xml b/poms/bom/src/main/generated/flattened-full-pom.xml index 64e9775e0e..a96b1af5c8 100644 --- a/poms/bom/src/main/generated/flattened-full-pom.xml +++ b/poms/bom/src/main/generated/flattened-full-pom.xml @@ -1557,6 +1557,11 @@ <artifactId>camel-irc</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>4.14.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>camel-iso8583</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>4.14.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>camel-jackson</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -4463,6 +4468,16 @@ <artifactId>camel-quarkus-irc-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>3.25.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>camel-quarkus-iso8583</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>3.25.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>camel-quarkus-iso8583-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>3.25.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>camel-quarkus-jackson</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> diff --git a/poms/bom/src/main/generated/flattened-reduced-pom.xml b/poms/bom/src/main/generated/flattened-reduced-pom.xml index 5612e14e7f..630d3011c8 100644 --- a/poms/bom/src/main/generated/flattened-reduced-pom.xml +++ b/poms/bom/src/main/generated/flattened-reduced-pom.xml @@ -1552,6 +1552,11 @@ <artifactId>camel-irc</artifactId> <version>4.14.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.apache.camel</groupId> + <artifactId>camel-iso8583</artifactId> + <version>4.14.0-SNAPSHOT</version> + </dependency> <dependency> <groupId>org.apache.camel</groupId> <artifactId>camel-jackson</artifactId> @@ -4453,6 +4458,16 @@ <artifactId>camel-quarkus-irc-deployment</artifactId> <version>3.25.0-SNAPSHOT</version> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-iso8583</artifactId> + <version>3.25.0-SNAPSHOT</version> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId> + <artifactId>camel-quarkus-iso8583-deployment</artifactId> + <version>3.25.0-SNAPSHOT</version> + </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-jackson</artifactId> diff --git a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml index 976c2c8654..f406512c52 100644 --- a/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml +++ b/poms/bom/src/main/generated/flattened-reduced-verbose-pom.xml @@ -1552,6 +1552,11 @@ <artifactId>camel-irc</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>4.14.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>camel-iso8583</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>4.14.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>org.apache.camel</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>camel-jackson</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> @@ -4453,6 +4458,16 @@ <artifactId>camel-quarkus-irc-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <version>3.25.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>camel-quarkus-iso8583</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>3.25.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> + <dependency> + <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <artifactId>camel-quarkus-iso8583-deployment</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + <version>3.25.0-SNAPSHOT</version><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> + </dependency> <dependency> <groupId>org.apache.camel.quarkus</groupId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> <artifactId>camel-quarkus-jackson</artifactId><!-- org.apache.camel.quarkus:camel-quarkus-bom:${project.version} --> diff --git a/tooling/scripts/test-categories.yaml b/tooling/scripts/test-categories.yaml index a57c6aa667..2dd9fc2f02 100644 --- a/tooling/scripts/test-categories.yaml +++ b/tooling/scripts/test-categories.yaml @@ -39,6 +39,7 @@ group-02: - beanio - google-pubsub - grpc + - iso8583 - jackson-avro - jackson-protobuf - jfr