This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch ig in repository https://gitbox.apache.org/repos/asf/camel.git
commit 1d56c5811ab8d5a4d82341554b81357412747766 Author: Claus Ibsen <[email protected]> AuthorDate: Sun Mar 8 08:10:56 2026 +0100 Upgrade to iggy 0.7 --- components/camel-iggy/pom.xml | 1 + .../camel/component/iggy/IggyFetchRecords.java | 15 ++++++----- .../iggy/client/IggyClientConnectionPool.java | 1 + .../component/iggy/client/IggyClientFactory.java | 29 +++++++--------------- .../apache/camel/component/iggy/IggyTestBase.java | 5 ++-- parent/pom.xml | 2 +- .../test/infra/iggy/services/container.properties | 2 +- 7 files changed, 23 insertions(+), 32 deletions(-) diff --git a/components/camel-iggy/pom.xml b/components/camel-iggy/pom.xml index a851be769ccd..a05653c3326c 100644 --- a/components/camel-iggy/pom.xml +++ b/components/camel-iggy/pom.xml @@ -33,6 +33,7 @@ <properties> <iggy-netty-version>4.2.7.Final</iggy-netty-version> + <supportLevel>Preview</supportLevel> </properties> <!-- Iggy client 0.6.0 requires Netty 4.2.x for MultiThreadIoEventLoopGroup --> diff --git a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyFetchRecords.java b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyFetchRecords.java index dd7b35efa151..4253fdcea54c 100644 --- a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyFetchRecords.java +++ b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/IggyFetchRecords.java @@ -169,14 +169,13 @@ public class IggyFetchRecords implements Runnable { exchange.getIn().setHeader(IggyConstants.MESSAGE_LENGTH, message.header().payloadLength()); exchange.getIn().setHeader(IggyConstants.MESSAGE_SIZE, message.getSize()); - message.userHeaders().ifPresent(userHeaders -> { - Map<String, Object> stringUserHeaders = userHeaders.entrySet().stream().collect(Collectors.toMap( - k -> k.getKey(), - hv -> hv.getValue().value() // TODO this way `HeaderKind kind` will be lost - )); - - exchange.getIn().setHeaders(stringUserHeaders); - }); + Map<String, Object> stringUserHeaders = message.userHeaders().entrySet().stream().collect(Collectors.toMap( + k -> k.getKey().toString(), + hv -> hv.getValue().asString() // TODO this way `HeaderKind kind` will be lost + )); + if (!stringUserHeaders.isEmpty()) { + exchange.getIn().getHeaders().putAll(stringUserHeaders); + } return exchange; } diff --git a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientConnectionPool.java b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientConnectionPool.java index 2387a2b9f93f..4455d213a54d 100644 --- a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientConnectionPool.java +++ b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientConnectionPool.java @@ -20,6 +20,7 @@ import org.apache.commons.pool2.impl.GenericObjectPool; import org.apache.iggy.client.blocking.IggyBaseClient; public class IggyClientConnectionPool { + private final GenericObjectPool<IggyBaseClient> pool; public IggyClientConnectionPool(String host, int port, String username, String password, String transport) { diff --git a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientFactory.java b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientFactory.java index 2177e7cf7717..f0aa85e8126b 100644 --- a/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientFactory.java +++ b/components/camel-iggy/src/main/java/org/apache/camel/component/iggy/client/IggyClientFactory.java @@ -16,16 +16,15 @@ */ package org.apache.camel.component.iggy.client; -import org.apache.camel.RuntimeCamelException; import org.apache.commons.pool2.BasePooledObjectFactory; import org.apache.commons.pool2.PooledObject; import org.apache.commons.pool2.impl.DefaultPooledObject; import org.apache.iggy.client.blocking.IggyBaseClient; -import org.apache.iggy.client.blocking.IggyClientBuilder; import org.apache.iggy.client.blocking.http.IggyHttpClient; import org.apache.iggy.client.blocking.tcp.IggyTcpClient; public class IggyClientFactory extends BasePooledObjectFactory<IggyBaseClient> { + private final String host; private final int port; private final String username; @@ -42,10 +41,14 @@ public class IggyClientFactory extends BasePooledObjectFactory<IggyBaseClient> { @Override public IggyBaseClient create() throws Exception { - IggyBaseClient iggyBaseClient = new IggyClientBuilder().withBaseClient(createClient()).build().getBaseClient(); - - loginIggyClient(iggyBaseClient); - + IggyBaseClient iggyBaseClient; + if ("TCP".equalsIgnoreCase(transport)) { + iggyBaseClient = IggyTcpClient.builder().host(host).port(port).credentials(username, password).buildAndLogin(); + } else if ("HTTP".equalsIgnoreCase(transport)) { + iggyBaseClient = IggyHttpClient.builder().host(host).port(port).credentials(username, password).buildAndLogin(); + } else { + throw new IllegalArgumentException("Only HTTP or TCP transports are supported"); + } return iggyBaseClient; } @@ -54,18 +57,4 @@ public class IggyClientFactory extends BasePooledObjectFactory<IggyBaseClient> { return new DefaultPooledObject<>(iggyBaseClient); } - private IggyBaseClient createClient() { - return switch (transport) { - case "HTTP" -> - new IggyHttpClient(String.format("http://%s:%d", host, port)); - case "TCP" -> new IggyTcpClient(host, port); - default -> throw new RuntimeCamelException("Only HTTP or TCP transports are supported"); - }; - } - - private void loginIggyClient(IggyBaseClient client) { - if (username != null) { - client.users().login(username, password); - } - } } diff --git a/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java b/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java index 29078243f830..81e20f7d0af1 100644 --- a/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java +++ b/components/camel-iggy/src/test/java/org/apache/camel/component/iggy/IggyTestBase.java @@ -59,8 +59,9 @@ public abstract class IggyTestBase { @BeforeAll public static void setup() { - client = new IggyTcpClient(iggyService.host(), iggyService.port()); - client.users().login(iggyService.username(), iggyService.password()); + client = IggyTcpClient.builder().host(iggyService.host()).port(iggyService.port()) + .credentials(iggyService.username(), iggyService.password()) + .buildAndLogin(); } @RouteFixture diff --git a/parent/pom.xml b/parent/pom.xml index 76b78a149305..dff78690a40e 100644 --- a/parent/pom.xml +++ b/parent/pom.xml @@ -259,7 +259,7 @@ <ibm-watsonx-ai-sdk-version>0.18.0</ibm-watsonx-ai-sdk-version> <ical4j-version>4.2.3</ical4j-version> <icu4j-version>78.2</icu4j-version> - <iggy-version>0.6.0</iggy-version> + <iggy-version>0.7.0</iggy-version> <ignite-version>2.17.0</ignite-version> <impsort-maven-plugin-version>1.13.0</impsort-maven-plugin-version> <infinispan-version>16.0.3</infinispan-version> diff --git a/test-infra/camel-test-infra-iggy/src/main/resources/org/apache/camel/test/infra/iggy/services/container.properties b/test-infra/camel-test-infra-iggy/src/main/resources/org/apache/camel/test/infra/iggy/services/container.properties index 04fbacc994c7..dc8cf3b5cf34 100644 --- a/test-infra/camel-test-infra-iggy/src/main/resources/org/apache/camel/test/infra/iggy/services/container.properties +++ b/test-infra/camel-test-infra-iggy/src/main/resources/org/apache/camel/test/infra/iggy/services/container.properties @@ -14,4 +14,4 @@ ## See the License for the specific language governing permissions and ## limitations under the License. ## --------------------------------------------------------------------------- -iggy.container=mirror.gcr.io/apache/iggy:0.6.0 +iggy.container=mirror.gcr.io/apache/iggy:0.7.0
