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 2587df451e5e CAMEL-22496: camel-infinispan - Use the newer Query API
instead of old deprecated (#19441)
2587df451e5e is described below
commit 2587df451e5eb52d0d0932039c029f8e7a6cc45e
Author: Claus Ibsen <[email protected]>
AuthorDate: Mon Oct 6 15:10:53 2025 +0200
CAMEL-22496: camel-infinispan - Use the newer Query API instead of old
deprecated (#19441)
---
.../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]
====