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 2025/10/06 12:37:22 UTC

(camel) branch inf created (now 94b7a2549f74)

This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a change to branch inf
in repository https://gitbox.apache.org/repos/asf/camel.git


      at 94b7a2549f74 CAMEL-22496: camel-infinispan - Use the newer Query API instead of old deprecated

This branch includes the following new commits:

     new 94b7a2549f74 CAMEL-22496: camel-infinispan - Use the newer Query API instead of old deprecated

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(camel) 01/01: CAMEL-22496: camel-infinispan - Use the newer Query API instead of old deprecated

Posted by da...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

davsclaus pushed a commit to branch inf
in repository https://gitbox.apache.org/repos/asf/camel.git

commit 94b7a2549f745c3dde13b8b700bdc026738321da
Author: Claus Ibsen <cl...@gmail.com>
AuthorDate: Mon Oct 6 14:36:23 2025 +0200

    CAMEL-22496: camel-infinispan - Use the newer Query API instead of old deprecated
---
 .../infinispan/InfinispanQueryBuilder.java         |  9 +++---
 .../embedded/InfinispanEmbeddedConsumer.java       |  6 ++--
 .../embedded/InfinispanEmbeddedProducer.java       |  6 ++--
 .../embedded/InfinispanEmbeddedUtil.java           |  6 ++--
 .../remote/InfinispanRemoteConsumer.java           |  2 +-
 .../remote/InfinispanRemoteProducer.java           |  6 ++--
 .../infinispan/remote/InfinispanRemoteUtil.java    |  6 ++--
 .../InfinispanVectorQueryBuilder.java              |  9 +++---
 .../remote/InfinispanRemoteQueryConsumerIT.java    |  6 ++--
 .../remote/InfinispanRemoteQueryProducerIT.java    |  4 +--
 .../ROOT/pages/camel-4x-upgrade-guide-4_16.adoc    | 35 ++++++++++++++++++++++
 .../modules/ROOT/pages/camel-4x-upgrade-guide.adoc |  1 +
 12 files changed, 67 insertions(+), 29 deletions(-)

diff --git a/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanQueryBuilder.java b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanQueryBuilder.java
index 7f64d2be99db..13f78940e706 100644
--- a/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanQueryBuilder.java
+++ b/components/camel-infinispan/camel-infinispan-common/src/main/java/org/apache/camel/component/infinispan/InfinispanQueryBuilder.java
@@ -16,14 +16,15 @@
  */
 package org.apache.camel.component.infinispan;
 
-import org.infinispan.query.dsl.Query;
-import org.infinispan.query.dsl.QueryFactory;
+import org.infinispan.commons.api.BasicCache;
+import org.infinispan.commons.api.query.Query;
 
 @FunctionalInterface
 public interface InfinispanQueryBuilder {
-    Query build(QueryFactory queryFactory);
+
+    Query<?> build(BasicCache<?, ?> cache);
 
     static InfinispanQueryBuilder create(String query) {
-        return qf -> qf.create(query);
+        return cache -> cache.query(query);
     }
 }
diff --git a/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
index 398bab6d9916..5a6037cadd8d 100644
--- a/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedConsumer.java
@@ -28,19 +28,19 @@ import org.apache.camel.component.infinispan.InfinispanEventListener;
 import org.apache.camel.support.service.ServiceHelper;
 import org.apache.camel.support.service.ServiceSupport;
 import org.infinispan.Cache;
+import org.infinispan.commons.api.query.Query;
 import org.infinispan.manager.EmbeddedCacheManager;
 import org.infinispan.notifications.cachelistener.event.Event;
 import org.infinispan.query.Search;
 import org.infinispan.query.api.continuous.ContinuousQuery;
 import org.infinispan.query.api.continuous.ContinuousQueryListener;
-import org.infinispan.query.dsl.Query;
 
 public class InfinispanEmbeddedConsumer
         extends InfinispanConsumer<EmbeddedCacheManager, InfinispanEmbeddedManager, InfinispanEmbeddedConfiguration> {
+
     private Service handler;
 
-    public InfinispanEmbeddedConsumer(
-                                      InfinispanEndpoint endpoint,
+    public InfinispanEmbeddedConsumer(InfinispanEndpoint endpoint,
                                       Processor processor,
                                       String cacheName,
                                       InfinispanEmbeddedManager manager,
diff --git a/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducer.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducer.java
index 354a2d5649e6..fc2af696866a 100644
--- a/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducer.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedProducer.java
@@ -20,11 +20,11 @@ import org.apache.camel.Message;
 import org.apache.camel.component.infinispan.InfinispanProducer;
 import org.apache.camel.spi.InvokeOnHeader;
 import org.infinispan.Cache;
-import org.infinispan.query.dsl.Query;
+import org.infinispan.commons.api.query.Query;
 
 public class InfinispanEmbeddedProducer extends InfinispanProducer<InfinispanEmbeddedManager, InfinispanEmbeddedConfiguration> {
-    public InfinispanEmbeddedProducer(
-                                      InfinispanEmbeddedEndpoint endpoint,
+
+    public InfinispanEmbeddedProducer(InfinispanEmbeddedEndpoint endpoint,
                                       String cacheName,
                                       InfinispanEmbeddedManager manager,
                                       InfinispanEmbeddedConfiguration configuration) {
diff --git a/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedUtil.java b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedUtil.java
index 8d992bbb449f..c8585986a04a 100644
--- a/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedUtil.java
+++ b/components/camel-infinispan/camel-infinispan-embedded/src/main/java/org/apache/camel/component/infinispan/embedded/InfinispanEmbeddedUtil.java
@@ -22,11 +22,11 @@ import org.apache.camel.component.infinispan.InfinispanConstants;
 import org.apache.camel.component.infinispan.InfinispanQueryBuilder;
 import org.apache.camel.component.infinispan.InfinispanUtil;
 import org.infinispan.Cache;
+import org.infinispan.commons.api.query.Query;
 import org.infinispan.context.Flag;
-import org.infinispan.query.Search;
-import org.infinispan.query.dsl.Query;
 
 public final class InfinispanEmbeddedUtil extends InfinispanUtil {
+
     protected InfinispanEmbeddedUtil() {
     }
 
@@ -53,6 +53,6 @@ public final class InfinispanEmbeddedUtil extends InfinispanUtil {
     }
 
     public static Query<?> buildQuery(InfinispanQueryBuilder queryBuilder, Cache<Object, Object> cache) {
-        return queryBuilder != null ? queryBuilder.build(Search.getQueryFactory(cache)) : null;
+        return queryBuilder != null ? queryBuilder.build(cache) : null;
     }
 }
diff --git a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java
index 7e8de630142f..64582cbec3c0 100644
--- a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java
+++ b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteConsumer.java
@@ -32,9 +32,9 @@ import org.infinispan.client.hotrod.RemoteCacheManager;
 import org.infinispan.client.hotrod.Search;
 import org.infinispan.client.hotrod.event.ClientEvent;
 import org.infinispan.client.hotrod.exceptions.RemoteCacheManagerNotStartedException;
+import org.infinispan.commons.api.query.Query;
 import org.infinispan.query.api.continuous.ContinuousQuery;
 import org.infinispan.query.api.continuous.ContinuousQueryListener;
-import org.infinispan.query.dsl.Query;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
diff --git a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducer.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducer.java
index 33ef40e1d469..925988e478dc 100644
--- a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducer.java
+++ b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteProducer.java
@@ -21,11 +21,11 @@ import org.apache.camel.component.infinispan.InfinispanEndpoint;
 import org.apache.camel.component.infinispan.InfinispanProducer;
 import org.apache.camel.spi.InvokeOnHeader;
 import org.infinispan.client.hotrod.RemoteCache;
-import org.infinispan.query.dsl.Query;
+import org.infinispan.commons.api.query.Query;
 
 public class InfinispanRemoteProducer extends InfinispanProducer<InfinispanRemoteManager, InfinispanRemoteConfiguration> {
-    public InfinispanRemoteProducer(
-                                    InfinispanEndpoint endpoint,
+
+    public InfinispanRemoteProducer(InfinispanEndpoint endpoint,
                                     String cacheName,
                                     InfinispanRemoteManager manager,
                                     InfinispanRemoteConfiguration configuration) {
diff --git a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteUtil.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteUtil.java
index 2e77fc76a499..e4a32f7fa772 100644
--- a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteUtil.java
+++ b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteUtil.java
@@ -25,10 +25,10 @@ import org.apache.camel.component.infinispan.remote.embeddingstore.EmbeddingStor
 import org.apache.camel.component.infinispan.remote.embeddingstore.InfinispanVectorQueryBuilder;
 import org.infinispan.client.hotrod.Flag;
 import org.infinispan.client.hotrod.RemoteCache;
-import org.infinispan.client.hotrod.Search;
-import org.infinispan.query.dsl.Query;
+import org.infinispan.commons.api.query.Query;
 
 public final class InfinispanRemoteUtil extends InfinispanUtil {
+
     protected InfinispanRemoteUtil() {
     }
 
@@ -60,6 +60,6 @@ public final class InfinispanRemoteUtil extends InfinispanUtil {
     }
 
     public static Query<?> buildQuery(InfinispanQueryBuilder queryBuilder, RemoteCache<Object, Object> cache) {
-        return queryBuilder != null ? queryBuilder.build(Search.getQueryFactory(cache)) : null;
+        return queryBuilder != null ? queryBuilder.build(cache) : null;
     }
 }
diff --git a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/embeddingstore/InfinispanVectorQueryBuilder.java b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/embeddingstore/InfinispanVectorQueryBuilder.java
index ceecc9bb1c12..76f1f75003b8 100644
--- a/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/embeddingstore/InfinispanVectorQueryBuilder.java
+++ b/components/camel-infinispan/camel-infinispan/src/main/java/org/apache/camel/component/infinispan/remote/embeddingstore/InfinispanVectorQueryBuilder.java
@@ -17,8 +17,8 @@
 package org.apache.camel.component.infinispan.remote.embeddingstore;
 
 import org.apache.camel.component.infinispan.InfinispanQueryBuilder;
-import org.infinispan.query.dsl.Query;
-import org.infinispan.query.dsl.QueryFactory;
+import org.infinispan.commons.api.BasicCache;
+import org.infinispan.commons.api.query.Query;
 
 public class InfinispanVectorQueryBuilder implements InfinispanQueryBuilder {
     private static final String QUERY_TEMPLATE = "select i, score(i) from %s i where i.embedding <-> [:vector]~:distance";
@@ -31,8 +31,9 @@ public class InfinispanVectorQueryBuilder implements InfinispanQueryBuilder {
     }
 
     @Override
-    public Query<?> build(QueryFactory queryFactory) {
-        Query<?> query = InfinispanQueryBuilder.create(QUERY_TEMPLATE.formatted(typeName)).build(queryFactory);
+    public Query<?> build(BasicCache<?, ?> cache) {
+        cache.query(QUERY_TEMPLATE.formatted(typeName));
+        Query<?> query = cache.query(QUERY_TEMPLATE.formatted(typeName));
         query.setParameter("vector", vector);
         query.setParameter("distance", distance);
         return query;
diff --git a/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryConsumerIT.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryConsumerIT.java
index c71fbce54a56..a4619dcae070 100644
--- a/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryConsumerIT.java
+++ b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryConsumerIT.java
@@ -45,15 +45,15 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
 public class InfinispanRemoteQueryConsumerIT extends InfinispanRemoteQueryTestSupport {
     @BindToRegistry("continuousQueryBuilder")
     private InfinispanQueryBuilder continuousQueryBuilder
-            = qf -> qf.from(User.class).having("name").like("CQ%").build();
+            = qf -> qf.query("FROM sample_bank_account.User WHERE name LIKE 'CQ%'");
 
     @BindToRegistry("continuousQueryBuilderNoMatch")
     private InfinispanQueryBuilder continuousQueryBuilderNoMatch
-            = qf -> qf.from(User.class).having("name").like("%TEST%").build();
+            = qf -> qf.query("FROM sample_bank_account.User WHERE name LIKE '%TEST%'");
 
     @BindToRegistry("continuousQueryBuilderAll")
     private InfinispanQueryBuilder continuousQueryBuilderAll
-            = qf -> qf.from(User.class).having("name").like("%Q0%").build();
+            = qf -> qf.query("FROM sample_bank_account.User WHERE name LIKE '%Q0%'");
 
     // *****************************
     //
diff --git a/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryProducerIT.java b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryProducerIT.java
index 3ecb817d0e13..f7620fab582d 100644
--- a/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryProducerIT.java
+++ b/components/camel-infinispan/camel-infinispan/src/test/java/org/apache/camel/component/infinispan/remote/InfinispanRemoteQueryProducerIT.java
@@ -50,11 +50,11 @@ public class InfinispanRemoteQueryProducerIT extends InfinispanRemoteQueryTestSu
 
     @BindToRegistry("noResultQueryBuilder")
     private InfinispanQueryBuilder noResultQueryBuilder
-            = qf -> qf.from(User.class).having("name").like("%abc%").build();
+            = qf -> qf.query("FROM sample_bank_account.User WHERE name LIKE '%abc%'");
 
     @BindToRegistry("withResultQueryBuilder")
     private InfinispanQueryBuilder withResultQueryBuilder
-            = qf -> qf.from(User.class).having("name").like("%A").build();
+            = qf -> qf.query("FROM sample_bank_account.User WHERE name LIKE '%A'");
 
     // *****************************
     //
diff --git a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_16.adoc b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_16.adoc
new file mode 100644
index 000000000000..e9eea83f3f0c
--- /dev/null
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide-4_16.adoc
@@ -0,0 +1,35 @@
+= Apache Camel 4.x Upgrade Guide
+
+This document is for helping you upgrade your Apache Camel application
+from Camel 4.x to 4.y. For example, if you are upgrading Camel 4.0 to 4.2, then you should follow the guides
+from both 4.0 to 4.1 and 4.1 to 4.2.
+
+[NOTE]
+====
+https://github.com/apache/camel-upgrade-recipes/[The Camel Upgrade Recipes project] provides automated assistance for some common migration tasks.
+Note that manual migration is still required.
+See the xref:camel-upgrade-recipes-tool.adoc[documentation] page for details.
+====
+
+== Upgrading Camel 4.15 to 4.16
+
+=== camel-infinispan
+
+The `queryBuilder` option on `camel-infinispan` endpoint has been migrated to no longer use the deprecated query factory
+`org.infinispan.query.dsl.QueryFactory` to the new query API that is based on ickle query syntax.
+
+This means old code such:
+
+[source,java]
+----
+    private InfinispanQueryBuilder continuousQueryBuilder
+            = qf -> qf.from(User.class).having("name").like("CQ%").build();
+----
+
+Should use the https://infinispan.org/docs/stable/titles/query/query.html#ickle-query-language[ickle] query syntax:
+
+[source,java]
+----
+    private InfinispanQueryBuilder continuousQueryBuilder
+            = qf -> qf.query("FROM sample_bank_account.User WHERE name LIKE 'CQ%'");
+----
\ No newline at end of file
diff --git a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide.adoc b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide.adoc
index 601f0a47721e..c46de3e86fd0 100644
--- a/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide.adoc
+++ b/docs/user-manual/modules/ROOT/pages/camel-4x-upgrade-guide.adoc
@@ -24,6 +24,7 @@ You can find the upgrade guide for each release in the following pages:
 - xref:camel-4x-upgrade-guide-4_13.adoc[Upgrade guide 4.12 -> 4.13]
 - xref:camel-4x-upgrade-guide-4_14.adoc[Upgrade guide 4.13 -> 4.14]
 - xref:camel-4x-upgrade-guide-4_15.adoc[Upgrade guide 4.14 -> 4.15]
+- xref:camel-4x-upgrade-guide-4_15.adoc[Upgrade guide 4.15 -> 4.16]
 
 [NOTE]
 ====