From 13bdb94b900da8edbb4294ecc065211e74509749 Mon Sep 17 00:00:00 2001 From: Clement Escoffier Date: Mon, 5 Sep 2022 10:52:06 +0200 Subject: [PATCH] Extend the Redis data source API to provide an accessor to the data source. This removes the need to keep a reference on the data source when later in the code, we need to initiate a transaction. --- .../datasource/ReactiveRedisCommands.java | 12 ++++++++++ .../ReactiveTransactionalRedisCommands.java | 14 ++++++++++++ .../redis/datasource/RedisCommands.java | 12 ++++++++++ .../TransactionalRedisCommands.java | 14 ++++++++++++ .../datasource/bitmap/BitMapCommands.java | 4 +++- .../bitmap/ReactiveBitMapCommands.java | 3 ++- .../ReactiveTransactionalBitMapCommands.java | 3 ++- .../bitmap/TransactionalBitMapCommands.java | 4 +++- .../redis/datasource/geo/GeoCommands.java | 4 +++- .../datasource/geo/ReactiveGeoCommands.java | 3 ++- .../geo/ReactiveTransactionalGeoCommands.java | 3 ++- .../geo/TransactionalGeoCommands.java | 4 +++- .../redis/datasource/hash/HashCommands.java | 3 ++- .../datasource/hash/ReactiveHashCommands.java | 3 ++- .../ReactiveTransactionalHashCommands.java | 3 ++- .../hash/TransactionalHashCommands.java | 4 +++- .../hyperloglog/HyperLogLogCommands.java | 4 +++- .../ReactiveHyperLogLogCommands.java | 3 ++- ...ctiveTransactionalHyperLogLogCommands.java | 3 ++- .../TransactionalHyperLogLogCommands.java | 4 +++- .../redis/datasource/keys/KeyCommands.java | 4 +++- .../datasource/keys/ReactiveKeyCommands.java | 3 ++- .../ReactiveTransactionalKeyCommands.java | 3 ++- .../keys/TransactionalKeyCommands.java | 4 +++- .../redis/datasource/list/ListCommands.java | 3 ++- .../datasource/list/ReactiveListCommands.java | 3 ++- .../ReactiveTransactionalListCommands.java | 3 ++- .../list/TransactionalListCommands.java | 4 +++- .../datasource/pubsub/PubSubCommands.java | 4 +++- .../pubsub/ReactivePubSubCommands.java | 3 ++- .../datasource/set/ReactiveSetCommands.java | 3 ++- .../set/ReactiveTransactionalSetCommands.java | 3 ++- .../redis/datasource/set/SetCommands.java | 3 ++- .../set/TransactionalSetCommands.java | 4 +++- .../sortedset/ReactiveSortedSetCommands.java | 3 ++- ...eactiveTransactionalSortedSetCommands.java | 3 ++- .../sortedset/SortedSetCommands.java | 3 ++- .../TransactionalSortedSetCommands.java | 4 +++- .../string/ReactiveStringCommands.java | 3 ++- .../ReactiveTransactionalStringCommands.java | 3 ++- .../datasource/string/StringCommands.java | 4 +++- .../string/TransactionalStringCommands.java | 4 +++- .../datasource/AbstractRedisCommandGroup.java | 22 +++++++++++++++++++ .../AbstractTransactionalCommands.java | 13 +++++++++-- ...bstractTransactionalRedisCommandGroup.java | 22 +++++++++++++++++++ .../BlockingBitmapCommandsImpl.java | 8 +++---- .../datasource/BlockingGeoCommandsImpl.java | 8 +++---- .../datasource/BlockingHashCommandsImpl.java | 8 +++---- .../BlockingHyperLogLogCommandsImpl.java | 8 +++---- .../datasource/BlockingKeyCommandsImpl.java | 8 +++---- .../datasource/BlockingListCommandsImpl.java | 8 +++---- .../BlockingPubSubCommandsImpl.java | 8 +++---- .../BlockingRedisDataSourceImpl.java | 20 ++++++++--------- .../datasource/BlockingSetCommandsImpl.java | 8 +++---- .../BlockingSortedSetCommandsImpl.java | 8 +++---- .../BlockingStringCommandsImpl.java | 8 +++---- ...ockingTransactionalBitMapCommandsImpl.java | 11 +++++----- .../BlockingTransactionalGeoCommandsImpl.java | 11 +++++----- ...BlockingTransactionalHashCommandsImpl.java | 11 +++++----- ...gTransactionalHyperLogLogCommandsImpl.java | 11 +++++----- .../BlockingTransactionalKeyCommandsImpl.java | 11 +++++----- ...BlockingTransactionalListCommandsImpl.java | 11 +++++----- ...ckingTransactionalRedisDataSourceImpl.java | 20 +++++++++-------- .../BlockingTransactionalSetCommandsImpl.java | 11 +++++----- ...ingTransactionalSortedSetCommandsImpl.java | 11 +++++----- ...ockingTransactionalStringCommandsImpl.java | 11 +++++----- .../ReactiveBitMapCommandsImpl.java | 14 ++++++++++-- .../datasource/ReactiveGeoCommandsImpl.java | 10 ++++++++- .../datasource/ReactiveHashCommandsImpl.java | 11 +++++++++- .../ReactiveHyperLogLogCommandsImpl.java | 11 +++++++++- .../datasource/ReactiveKeyCommandsImpl.java | 11 +++++++++- .../datasource/ReactiveListCommandsImpl.java | 11 +++++++++- .../ReactivePubSubCommandsImpl.java | 6 +++++ .../datasource/ReactiveSetCommandsImpl.java | 11 +++++++++- .../ReactiveSortedSetCommandsImpl.java | 11 +++++++++- .../ReactiveStringCommandsImpl.java | 11 +++++++++- ...activeTransactionalBitMapCommandsImpl.java | 6 +++-- .../ReactiveTransactionalGeoCommandsImpl.java | 6 +++-- ...ReactiveTransactionalHashCommandsImpl.java | 6 +++-- ...eTransactionalHyperLogLogCommandsImpl.java | 6 +++-- .../ReactiveTransactionalKeyCommandsImpl.java | 6 +++-- ...ReactiveTransactionalListCommandsImpl.java | 6 +++-- ...ctiveTransactionalRedisDataSourceImpl.java | 18 +++++++-------- .../ReactiveTransactionalSetCommandsImpl.java | 6 +++-- ...iveTransactionalSortedSetCommandsImpl.java | 6 +++-- ...activeTransactionalStringCommandsImpl.java | 6 +++-- .../redis/datasource/BitMapCommandsTest.java | 5 +++++ .../redis/datasource/GeoCommandsTest.java | 5 +++++ .../redis/datasource/HashCommandsTest.java | 5 +++++ .../datasource/HyperLogLogCommandsTest.java | 5 +++++ .../redis/datasource/KeyCommandsTest.java | 5 +++++ .../redis/datasource/ListCommandTest.java | 5 +++++ .../redis/datasource/NumericCommandsTest.java | 5 +++++ .../redis/datasource/PubSubCommandsTest.java | 5 +++++ .../quarkus/redis/datasource/PubSubTest.java | 5 +++++ .../redis/datasource/SetCommandsTest.java | 5 +++++ .../datasource/SortedSetCommandsTest.java | 7 +++++- .../redis/datasource/StringCommandsTest.java | 5 +++++ .../TransactionalBitMapCommandsTest.java | 1 + .../TransactionalGeoCommandsTest.java | 1 + .../TransactionalHashCommandsTest.java | 1 + .../TransactionalHyperLogLogCommandsTest.java | 1 + .../datasource/TransactionalKeyTest.java | 2 ++ .../TransactionalListCommandsTest.java | 1 + .../TransactionalSetCommandsTest.java | 1 + .../TransactionalSortedSetCommandsTest.java | 1 + .../TransactionalStringCommandsTest.java | 1 + 107 files changed, 526 insertions(+), 182 deletions(-) create mode 100644 extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/ReactiveRedisCommands.java create mode 100644 extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/ReactiveTransactionalRedisCommands.java create mode 100644 extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/RedisCommands.java create mode 100644 extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/TransactionalRedisCommands.java create mode 100644 extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractRedisCommandGroup.java create mode 100644 extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractTransactionalRedisCommandGroup.java diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/ReactiveRedisCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/ReactiveRedisCommands.java new file mode 100644 index 0000000000000..4411af869c641 --- /dev/null +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/ReactiveRedisCommands.java @@ -0,0 +1,12 @@ +package io.quarkus.redis.datasource; + +/** + * Interface implemented by reactive Redis command groups. + */ +public interface ReactiveRedisCommands { + + /** + * @return the data source. + */ + ReactiveRedisDataSource getDataSource(); +} diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/ReactiveTransactionalRedisCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/ReactiveTransactionalRedisCommands.java new file mode 100644 index 0000000000000..2e9d2d4c2eff5 --- /dev/null +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/ReactiveTransactionalRedisCommands.java @@ -0,0 +1,14 @@ +package io.quarkus.redis.datasource; + +import io.quarkus.redis.datasource.transactions.ReactiveTransactionalRedisDataSource; + +/** + * Interface implemented by transactional and reactive Redis command groups. + */ +public interface ReactiveTransactionalRedisCommands { + + /** + * @return the data source. + */ + ReactiveTransactionalRedisDataSource getDataSource(); +} diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/RedisCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/RedisCommands.java new file mode 100644 index 0000000000000..304c28884dd22 --- /dev/null +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/RedisCommands.java @@ -0,0 +1,12 @@ +package io.quarkus.redis.datasource; + +/** + * Interface implemented by imperative Redis command groups. + */ +public interface RedisCommands { + + /** + * @return the data source. + */ + RedisDataSource getDataSource(); +} diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/TransactionalRedisCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/TransactionalRedisCommands.java new file mode 100644 index 0000000000000..684087810182d --- /dev/null +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/TransactionalRedisCommands.java @@ -0,0 +1,14 @@ +package io.quarkus.redis.datasource; + +import io.quarkus.redis.datasource.transactions.TransactionalRedisDataSource; + +/** + * Interface implemented by transactional and imperative Redis command groups. + */ +public interface TransactionalRedisCommands { + + /** + * @return the data source. + */ + TransactionalRedisDataSource getDataSource(); +} diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/BitMapCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/BitMapCommands.java index 65101c9c7d8c5..55f9836ed2013 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/BitMapCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/BitMapCommands.java @@ -2,6 +2,8 @@ import java.util.List; +import io.quarkus.redis.datasource.RedisCommands; + /** * Allows executing commands from the {@code bitmap} group. * See the bitmap command list for further information about these @@ -9,7 +11,7 @@ * * @param the type of the key */ -public interface BitMapCommands { +public interface BitMapCommands extends RedisCommands { /** * Execute the command BITCOUNT. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/ReactiveBitMapCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/ReactiveBitMapCommands.java index 36009efee3c56..7079ebf6d0087 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/ReactiveBitMapCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/ReactiveBitMapCommands.java @@ -2,6 +2,7 @@ import java.util.List; +import io.quarkus.redis.datasource.ReactiveRedisCommands; import io.smallrye.mutiny.Uni; /** @@ -11,7 +12,7 @@ * * @param the type of the key */ -public interface ReactiveBitMapCommands { +public interface ReactiveBitMapCommands extends ReactiveRedisCommands { /** * Execute the command BITCOUNT. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/ReactiveTransactionalBitMapCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/ReactiveTransactionalBitMapCommands.java index 0da1e289dd876..42ceb671d15a9 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/ReactiveTransactionalBitMapCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/ReactiveTransactionalBitMapCommands.java @@ -1,8 +1,9 @@ package io.quarkus.redis.datasource.bitmap; +import io.quarkus.redis.datasource.ReactiveTransactionalRedisCommands; import io.smallrye.mutiny.Uni; -public interface ReactiveTransactionalBitMapCommands { +public interface ReactiveTransactionalBitMapCommands extends ReactiveTransactionalRedisCommands { /** * Execute the command BITCOUNT. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/TransactionalBitMapCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/TransactionalBitMapCommands.java index 07e731d520366..f0a72b165c177 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/TransactionalBitMapCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/bitmap/TransactionalBitMapCommands.java @@ -1,5 +1,7 @@ package io.quarkus.redis.datasource.bitmap; +import io.quarkus.redis.datasource.TransactionalRedisCommands; + /** * Allows executing commands from the {@code bitmap} group in a Redis transaction ({@code Multi}). * See the bitmap command list for further information about these @@ -7,7 +9,7 @@ * * @param the type of the key */ -public interface TransactionalBitMapCommands { +public interface TransactionalBitMapCommands extends TransactionalRedisCommands { /** * Execute the command BITCOUNT. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/GeoCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/GeoCommands.java index d7e90218bad54..3ba869ea99e26 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/GeoCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/GeoCommands.java @@ -4,6 +4,8 @@ import java.util.OptionalDouble; import java.util.Set; +import io.quarkus.redis.datasource.RedisCommands; + /** * Allows executing commands from the {@code geo} group. * See the geo command list for further information about these commands. @@ -14,7 +16,7 @@ * @param the type of the key * @param the type of the value */ -public interface GeoCommands { +public interface GeoCommands extends RedisCommands { /** * Execute the command GEOADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/ReactiveGeoCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/ReactiveGeoCommands.java index 4b6270c420167..62dfe9ccd3312 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/ReactiveGeoCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/ReactiveGeoCommands.java @@ -3,6 +3,7 @@ import java.util.List; import java.util.Set; +import io.quarkus.redis.datasource.ReactiveRedisCommands; import io.smallrye.mutiny.Uni; /** @@ -15,7 +16,7 @@ * @param the type of the key * @param the type of the value */ -public interface ReactiveGeoCommands { +public interface ReactiveGeoCommands extends ReactiveRedisCommands { /** * Execute the command GEOADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/ReactiveTransactionalGeoCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/ReactiveTransactionalGeoCommands.java index 4977a69e7979c..ed883884232df 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/ReactiveTransactionalGeoCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/ReactiveTransactionalGeoCommands.java @@ -1,8 +1,9 @@ package io.quarkus.redis.datasource.geo; +import io.quarkus.redis.datasource.ReactiveTransactionalRedisCommands; import io.smallrye.mutiny.Uni; -public interface ReactiveTransactionalGeoCommands { +public interface ReactiveTransactionalGeoCommands extends ReactiveTransactionalRedisCommands { /** * Execute the command GEOADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/TransactionalGeoCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/TransactionalGeoCommands.java index 5e12eeeb416c1..85dec55a13ae3 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/TransactionalGeoCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/geo/TransactionalGeoCommands.java @@ -1,6 +1,8 @@ package io.quarkus.redis.datasource.geo; -public interface TransactionalGeoCommands { +import io.quarkus.redis.datasource.TransactionalRedisCommands; + +public interface TransactionalGeoCommands extends TransactionalRedisCommands { /** * Execute the command GEOADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/HashCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/HashCommands.java index 323461159782d..1f923856fa3d4 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/HashCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/HashCommands.java @@ -3,6 +3,7 @@ import java.util.List; import java.util.Map; +import io.quarkus.redis.datasource.RedisCommands; import io.quarkus.redis.datasource.ScanArgs; /** @@ -18,7 +19,7 @@ * @param the type of the field * @param the type of the value */ -public interface HashCommands { +public interface HashCommands extends RedisCommands { /** * Execute the command HDEL. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/ReactiveHashCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/ReactiveHashCommands.java index 148b34ff0b9b7..ccea4615e14ed 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/ReactiveHashCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/ReactiveHashCommands.java @@ -3,6 +3,7 @@ import java.util.List; import java.util.Map; +import io.quarkus.redis.datasource.ReactiveRedisCommands; import io.quarkus.redis.datasource.ScanArgs; import io.smallrye.mutiny.Uni; @@ -19,7 +20,7 @@ * @param the type of the field * @param the type of the value */ -public interface ReactiveHashCommands { +public interface ReactiveHashCommands extends ReactiveRedisCommands { /** * Execute the command HDEL. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/ReactiveTransactionalHashCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/ReactiveTransactionalHashCommands.java index 4e95837015be6..5daed2e087eb9 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/ReactiveTransactionalHashCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/ReactiveTransactionalHashCommands.java @@ -2,9 +2,10 @@ import java.util.Map; +import io.quarkus.redis.datasource.ReactiveTransactionalRedisCommands; import io.smallrye.mutiny.Uni; -public interface ReactiveTransactionalHashCommands { +public interface ReactiveTransactionalHashCommands extends ReactiveTransactionalRedisCommands { /** * Execute the command HDEL. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/TransactionalHashCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/TransactionalHashCommands.java index c1207fd29c684..d05d5a6f22125 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/TransactionalHashCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hash/TransactionalHashCommands.java @@ -2,7 +2,9 @@ import java.util.Map; -public interface TransactionalHashCommands { +import io.quarkus.redis.datasource.TransactionalRedisCommands; + +public interface TransactionalHashCommands extends TransactionalRedisCommands { /** * Execute the command HDEL. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/HyperLogLogCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/HyperLogLogCommands.java index 24079ccdab046..fb6c889c3124b 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/HyperLogLogCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/HyperLogLogCommands.java @@ -1,5 +1,7 @@ package io.quarkus.redis.datasource.hyperloglog; +import io.quarkus.redis.datasource.RedisCommands; + /** * Allows executing commands from the {@code hyperloglog} group. * See the hyperloglog command list for further information about @@ -9,7 +11,7 @@ * @param the type of the key * @param the type of the value stored in the sets */ -public interface HyperLogLogCommands { +public interface HyperLogLogCommands extends RedisCommands { /** * Execute the command PFADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/ReactiveHyperLogLogCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/ReactiveHyperLogLogCommands.java index e10d14f3084de..c6be12f39469e 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/ReactiveHyperLogLogCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/ReactiveHyperLogLogCommands.java @@ -1,5 +1,6 @@ package io.quarkus.redis.datasource.hyperloglog; +import io.quarkus.redis.datasource.ReactiveRedisCommands; import io.smallrye.mutiny.Uni; /** @@ -11,7 +12,7 @@ * @param the type of the key * @param the type of the value stored in the sets */ -public interface ReactiveHyperLogLogCommands { +public interface ReactiveHyperLogLogCommands extends ReactiveRedisCommands { /** * Execute the command PFADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/ReactiveTransactionalHyperLogLogCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/ReactiveTransactionalHyperLogLogCommands.java index a4d36387175b7..a46e1fd637541 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/ReactiveTransactionalHyperLogLogCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/ReactiveTransactionalHyperLogLogCommands.java @@ -1,8 +1,9 @@ package io.quarkus.redis.datasource.hyperloglog; +import io.quarkus.redis.datasource.ReactiveTransactionalRedisCommands; import io.smallrye.mutiny.Uni; -public interface ReactiveTransactionalHyperLogLogCommands { +public interface ReactiveTransactionalHyperLogLogCommands extends ReactiveTransactionalRedisCommands { /** * Execute the command PFADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/TransactionalHyperLogLogCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/TransactionalHyperLogLogCommands.java index 631689ec8d913..06686a00f5f9d 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/TransactionalHyperLogLogCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/hyperloglog/TransactionalHyperLogLogCommands.java @@ -1,6 +1,8 @@ package io.quarkus.redis.datasource.hyperloglog; -public interface TransactionalHyperLogLogCommands { +import io.quarkus.redis.datasource.TransactionalRedisCommands; + +public interface TransactionalHyperLogLogCommands extends TransactionalRedisCommands { /** * Execute the command PFADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/KeyCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/KeyCommands.java index f616cc363e35e..b1b5b38f9273e 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/KeyCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/KeyCommands.java @@ -5,6 +5,8 @@ import java.util.List; import java.util.Set; +import io.quarkus.redis.datasource.RedisCommands; + /** * Allows executing commands manipulating keys. * See the generic command list for further information about these @@ -13,7 +15,7 @@ * * @param the type of the keys, often {@link String} */ -public interface KeyCommands { +public interface KeyCommands extends RedisCommands { /** * Execute the command COPY. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/ReactiveKeyCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/ReactiveKeyCommands.java index b6776740b282e..644e090d54728 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/ReactiveKeyCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/ReactiveKeyCommands.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Set; +import io.quarkus.redis.datasource.ReactiveRedisCommands; import io.smallrye.mutiny.Uni; /** @@ -15,7 +16,7 @@ * * @param the type of the keys, often {@link String} */ -public interface ReactiveKeyCommands { +public interface ReactiveKeyCommands extends ReactiveRedisCommands { /** * Execute the command COPY. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/ReactiveTransactionalKeyCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/ReactiveTransactionalKeyCommands.java index 1a93a2ca51edb..d7aee3aefab3e 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/ReactiveTransactionalKeyCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/ReactiveTransactionalKeyCommands.java @@ -3,9 +3,10 @@ import java.time.Duration; import java.time.Instant; +import io.quarkus.redis.datasource.ReactiveTransactionalRedisCommands; import io.smallrye.mutiny.Uni; -public interface ReactiveTransactionalKeyCommands { +public interface ReactiveTransactionalKeyCommands extends ReactiveTransactionalRedisCommands { /** * Execute the command COPY. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/TransactionalKeyCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/TransactionalKeyCommands.java index b95806a340597..40d179ec40c34 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/TransactionalKeyCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/keys/TransactionalKeyCommands.java @@ -3,7 +3,9 @@ import java.time.Duration; import java.time.Instant; -public interface TransactionalKeyCommands { +import io.quarkus.redis.datasource.TransactionalRedisCommands; + +public interface TransactionalKeyCommands extends TransactionalRedisCommands { /** * Execute the command COPY. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ListCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ListCommands.java index 62adb264b6ca4..b5207bbb03bd4 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ListCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ListCommands.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.OptionalLong; +import io.quarkus.redis.datasource.RedisCommands; import io.quarkus.redis.datasource.SortArgs; /** @@ -16,7 +17,7 @@ * @param the type of the key * @param the type of the value stored in the lists */ -public interface ListCommands { +public interface ListCommands extends RedisCommands { /** * Execute the command BLMOVE. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ReactiveListCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ReactiveListCommands.java index bdde27f6d3e17..6e31d51d6479a 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ReactiveListCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ReactiveListCommands.java @@ -3,6 +3,7 @@ import java.time.Duration; import java.util.List; +import io.quarkus.redis.datasource.ReactiveRedisCommands; import io.quarkus.redis.datasource.SortArgs; import io.smallrye.mutiny.Uni; @@ -16,7 +17,7 @@ * @param the type of the key * @param the type of the value stored in the lists */ -public interface ReactiveListCommands { +public interface ReactiveListCommands extends ReactiveRedisCommands { /** * Execute the command BLMOVE. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ReactiveTransactionalListCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ReactiveTransactionalListCommands.java index c420028d01907..7812e4e3602f2 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ReactiveTransactionalListCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/ReactiveTransactionalListCommands.java @@ -2,9 +2,10 @@ import java.time.Duration; +import io.quarkus.redis.datasource.ReactiveTransactionalRedisCommands; import io.smallrye.mutiny.Uni; -public interface ReactiveTransactionalListCommands { +public interface ReactiveTransactionalListCommands extends ReactiveTransactionalRedisCommands { /** * Execute the command BLMOVE. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/TransactionalListCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/TransactionalListCommands.java index 78e5bb305ecd0..00889d7d3ef0d 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/TransactionalListCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/list/TransactionalListCommands.java @@ -2,7 +2,9 @@ import java.time.Duration; -public interface TransactionalListCommands { +import io.quarkus.redis.datasource.TransactionalRedisCommands; + +public interface TransactionalListCommands extends TransactionalRedisCommands { /** * Execute the command BLMOVE. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/pubsub/PubSubCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/pubsub/PubSubCommands.java index 8125a8f76bb7b..560b3dfaa64a9 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/pubsub/PubSubCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/pubsub/PubSubCommands.java @@ -3,13 +3,15 @@ import java.util.List; import java.util.function.Consumer; +import io.quarkus.redis.datasource.RedisCommands; + /** * Allows executing Pub/Sub commands. * See the pub/sub documentation. * * @param the class of the exchanged messages. */ -public interface PubSubCommands { +public interface PubSubCommands extends RedisCommands { /** * Publishes a message to a given channel diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/pubsub/ReactivePubSubCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/pubsub/ReactivePubSubCommands.java index 51da49d259590..a2fa95d88e9cd 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/pubsub/ReactivePubSubCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/pubsub/ReactivePubSubCommands.java @@ -3,10 +3,11 @@ import java.util.List; import java.util.function.Consumer; +import io.quarkus.redis.datasource.ReactiveRedisCommands; import io.smallrye.mutiny.Multi; import io.smallrye.mutiny.Uni; -public interface ReactivePubSubCommands { +public interface ReactivePubSubCommands extends ReactiveRedisCommands { /** * Publishes a message to a given channel diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/ReactiveSetCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/ReactiveSetCommands.java index 1fd92b2bfae64..68985044f495c 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/ReactiveSetCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/ReactiveSetCommands.java @@ -3,6 +3,7 @@ import java.util.List; import java.util.Set; +import io.quarkus.redis.datasource.ReactiveRedisCommands; import io.quarkus.redis.datasource.ScanArgs; import io.quarkus.redis.datasource.SortArgs; import io.smallrye.mutiny.Uni; @@ -16,7 +17,7 @@ * @param the type of the key * @param the type of the value stored in the sets */ -public interface ReactiveSetCommands { +public interface ReactiveSetCommands extends ReactiveRedisCommands { /** * Execute the command SADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/ReactiveTransactionalSetCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/ReactiveTransactionalSetCommands.java index 8c9dec7d92543..c7c75d2faaa47 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/ReactiveTransactionalSetCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/ReactiveTransactionalSetCommands.java @@ -1,8 +1,9 @@ package io.quarkus.redis.datasource.set; +import io.quarkus.redis.datasource.ReactiveTransactionalRedisCommands; import io.smallrye.mutiny.Uni; -public interface ReactiveTransactionalSetCommands { +public interface ReactiveTransactionalSetCommands extends ReactiveTransactionalRedisCommands { /** * Execute the command SADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/SetCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/SetCommands.java index 03f5b7fad1570..b99f1cc200523 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/SetCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/SetCommands.java @@ -3,6 +3,7 @@ import java.util.List; import java.util.Set; +import io.quarkus.redis.datasource.RedisCommands; import io.quarkus.redis.datasource.ScanArgs; import io.quarkus.redis.datasource.SortArgs; @@ -15,7 +16,7 @@ * @param the type of the key * @param the type of the value stored in the sets */ -public interface SetCommands { +public interface SetCommands extends RedisCommands { /** * Execute the command SADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/TransactionalSetCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/TransactionalSetCommands.java index 9c61b5e13abf2..c0d5bef0c46e6 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/TransactionalSetCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/set/TransactionalSetCommands.java @@ -1,6 +1,8 @@ package io.quarkus.redis.datasource.set; -public interface TransactionalSetCommands { +import io.quarkus.redis.datasource.TransactionalRedisCommands; + +public interface TransactionalSetCommands extends TransactionalRedisCommands { /** * Execute the command SADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/ReactiveSortedSetCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/ReactiveSortedSetCommands.java index 08b2f7b7bf0d1..6af23e2d12cd1 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/ReactiveSortedSetCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/ReactiveSortedSetCommands.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Map; +import io.quarkus.redis.datasource.ReactiveRedisCommands; import io.quarkus.redis.datasource.ScanArgs; import io.quarkus.redis.datasource.SortArgs; import io.quarkus.redis.datasource.list.KeyValue; @@ -22,7 +23,7 @@ * @param the type of the key * @param the type of the scored item */ -public interface ReactiveSortedSetCommands { +public interface ReactiveSortedSetCommands extends ReactiveRedisCommands { /** * Execute the command ZADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/ReactiveTransactionalSortedSetCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/ReactiveTransactionalSortedSetCommands.java index 02ce63fee69a5..0d9aaf2981fbf 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/ReactiveTransactionalSortedSetCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/ReactiveTransactionalSortedSetCommands.java @@ -3,9 +3,10 @@ import java.time.Duration; import java.util.Map; +import io.quarkus.redis.datasource.ReactiveTransactionalRedisCommands; import io.smallrye.mutiny.Uni; -public interface ReactiveTransactionalSortedSetCommands { +public interface ReactiveTransactionalSortedSetCommands extends ReactiveTransactionalRedisCommands { /** * Execute the command ZADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/SortedSetCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/SortedSetCommands.java index 6109e847df131..abe766201c54e 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/SortedSetCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/SortedSetCommands.java @@ -6,6 +6,7 @@ import java.util.OptionalDouble; import java.util.OptionalLong; +import io.quarkus.redis.datasource.RedisCommands; import io.quarkus.redis.datasource.ScanArgs; import io.quarkus.redis.datasource.SortArgs; import io.quarkus.redis.datasource.list.KeyValue; @@ -23,7 +24,7 @@ * @param the type of the key * @param the type of the scored item */ -public interface SortedSetCommands { +public interface SortedSetCommands extends RedisCommands { /** * Execute the command ZADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/TransactionalSortedSetCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/TransactionalSortedSetCommands.java index 526e2d0458012..fb2eddd310ef2 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/TransactionalSortedSetCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/sortedset/TransactionalSortedSetCommands.java @@ -3,7 +3,9 @@ import java.time.Duration; import java.util.Map; -public interface TransactionalSortedSetCommands { +import io.quarkus.redis.datasource.TransactionalRedisCommands; + +public interface TransactionalSortedSetCommands extends TransactionalRedisCommands { /** * Execute the command ZADD. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/ReactiveStringCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/ReactiveStringCommands.java index 2740338a993ae..73bdb2afdf47d 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/ReactiveStringCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/ReactiveStringCommands.java @@ -2,6 +2,7 @@ import java.util.Map; +import io.quarkus.redis.datasource.ReactiveRedisCommands; import io.smallrye.mutiny.Uni; /** @@ -15,7 +16,7 @@ * @param the type of the key * @param the type of the value */ -public interface ReactiveStringCommands { +public interface ReactiveStringCommands extends ReactiveRedisCommands { /** * Execute the command APPEND. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/ReactiveTransactionalStringCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/ReactiveTransactionalStringCommands.java index 89c66dbb7ab3d..46f79ac15778f 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/ReactiveTransactionalStringCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/ReactiveTransactionalStringCommands.java @@ -2,9 +2,10 @@ import java.util.Map; +import io.quarkus.redis.datasource.ReactiveTransactionalRedisCommands; import io.smallrye.mutiny.Uni; -public interface ReactiveTransactionalStringCommands { +public interface ReactiveTransactionalStringCommands extends ReactiveTransactionalRedisCommands { /** * Execute the command APPEND. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/StringCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/StringCommands.java index b401f057d5130..28436520b96a6 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/StringCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/StringCommands.java @@ -2,6 +2,8 @@ import java.util.Map; +import io.quarkus.redis.datasource.RedisCommands; + /** * Allows executing commands from the {@code string} group. * See the string command list for further information @@ -13,7 +15,7 @@ * @param the type of the key * @param the type of the value */ -public interface StringCommands { +public interface StringCommands extends RedisCommands { /** * Execute the command APPEND. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/TransactionalStringCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/TransactionalStringCommands.java index 08ddc713f282b..309025d60f513 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/TransactionalStringCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/datasource/string/TransactionalStringCommands.java @@ -2,7 +2,9 @@ import java.util.Map; -public interface TransactionalStringCommands { +import io.quarkus.redis.datasource.TransactionalRedisCommands; + +public interface TransactionalStringCommands extends TransactionalRedisCommands { /** * Execute the command APPEND. diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractRedisCommandGroup.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractRedisCommandGroup.java new file mode 100644 index 0000000000000..66fa8a961846a --- /dev/null +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractRedisCommandGroup.java @@ -0,0 +1,22 @@ +package io.quarkus.redis.runtime.datasource; + +import java.time.Duration; + +import io.quarkus.redis.datasource.RedisCommands; +import io.quarkus.redis.datasource.RedisDataSource; + +public class AbstractRedisCommandGroup implements RedisCommands { + + protected final RedisDataSource ds; + protected final Duration timeout; + + public AbstractRedisCommandGroup(RedisDataSource ds, Duration timeout) { + this.ds = ds; + this.timeout = timeout; + } + + @Override + public RedisDataSource getDataSource() { + return ds; + } +} diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractTransactionalCommands.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractTransactionalCommands.java index e4927b28ad8d5..5c3c16f17ae3d 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractTransactionalCommands.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractTransactionalCommands.java @@ -1,12 +1,16 @@ package io.quarkus.redis.runtime.datasource; +import io.quarkus.redis.datasource.ReactiveTransactionalRedisCommands; +import io.quarkus.redis.datasource.transactions.ReactiveTransactionalRedisDataSource; import io.vertx.mutiny.redis.client.Response; -public class AbstractTransactionalCommands { +public class AbstractTransactionalCommands implements ReactiveTransactionalRedisCommands { protected final TransactionHolder tx; + private final ReactiveTransactionalRedisDataSource ds; - public AbstractTransactionalCommands(TransactionHolder tx) { + public AbstractTransactionalCommands(ReactiveTransactionalRedisDataSource ds, TransactionHolder tx) { + this.ds = ds; this.tx = tx; } @@ -16,4 +20,9 @@ protected void queuedOrDiscard(Response response) { throw new IllegalStateException("Unable to add command to the current transaction"); } } + + @Override + public ReactiveTransactionalRedisDataSource getDataSource() { + return ds; + } } diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractTransactionalRedisCommandGroup.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractTransactionalRedisCommandGroup.java new file mode 100644 index 0000000000000..6bc69eb8d9cff --- /dev/null +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/AbstractTransactionalRedisCommandGroup.java @@ -0,0 +1,22 @@ +package io.quarkus.redis.runtime.datasource; + +import java.time.Duration; + +import io.quarkus.redis.datasource.TransactionalRedisCommands; +import io.quarkus.redis.datasource.transactions.TransactionalRedisDataSource; + +public class AbstractTransactionalRedisCommandGroup implements TransactionalRedisCommands { + + protected final TransactionalRedisDataSource ds; + protected final Duration timeout; + + public AbstractTransactionalRedisCommandGroup(TransactionalRedisDataSource ds, Duration timeout) { + this.ds = ds; + this.timeout = timeout; + } + + @Override + public TransactionalRedisDataSource getDataSource() { + return ds; + } +} diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingBitmapCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingBitmapCommandsImpl.java index 1699b2ea43113..c917747f199b0 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingBitmapCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingBitmapCommandsImpl.java @@ -3,18 +3,18 @@ import java.time.Duration; import java.util.List; +import io.quarkus.redis.datasource.RedisDataSource; import io.quarkus.redis.datasource.bitmap.BitFieldArgs; import io.quarkus.redis.datasource.bitmap.BitMapCommands; import io.quarkus.redis.datasource.bitmap.ReactiveBitMapCommands; -public class BlockingBitmapCommandsImpl implements BitMapCommands { +public class BlockingBitmapCommandsImpl extends AbstractRedisCommandGroup implements BitMapCommands { private final ReactiveBitMapCommands reactive; - private final Duration timeout; - public BlockingBitmapCommandsImpl(ReactiveBitMapCommands reactive, Duration timeout) { + public BlockingBitmapCommandsImpl(RedisDataSource ds, ReactiveBitMapCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingGeoCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingGeoCommandsImpl.java index 22043bd9e30f8..cfe6ee899a043 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingGeoCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingGeoCommandsImpl.java @@ -5,6 +5,7 @@ import java.util.OptionalDouble; import java.util.Set; +import io.quarkus.redis.datasource.RedisDataSource; import io.quarkus.redis.datasource.geo.GeoAddArgs; import io.quarkus.redis.datasource.geo.GeoCommands; import io.quarkus.redis.datasource.geo.GeoItem; @@ -17,14 +18,13 @@ import io.quarkus.redis.datasource.geo.GeoValue; import io.quarkus.redis.datasource.geo.ReactiveGeoCommands; -public class BlockingGeoCommandsImpl implements GeoCommands { +public class BlockingGeoCommandsImpl extends AbstractRedisCommandGroup implements GeoCommands { private final ReactiveGeoCommands reactive; - private final Duration timeout; - public BlockingGeoCommandsImpl(ReactiveGeoCommands reactive, Duration timeout) { + public BlockingGeoCommandsImpl(RedisDataSource ds, ReactiveGeoCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingHashCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingHashCommandsImpl.java index 19a01defdc947..f554a789bca29 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingHashCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingHashCommandsImpl.java @@ -4,19 +4,19 @@ import java.util.List; import java.util.Map; +import io.quarkus.redis.datasource.RedisDataSource; import io.quarkus.redis.datasource.ScanArgs; import io.quarkus.redis.datasource.hash.HashCommands; import io.quarkus.redis.datasource.hash.HashScanCursor; import io.quarkus.redis.datasource.hash.ReactiveHashCommands; -public class BlockingHashCommandsImpl implements HashCommands { +public class BlockingHashCommandsImpl extends AbstractRedisCommandGroup implements HashCommands { private final ReactiveHashCommands reactive; - private final Duration timeout; - public BlockingHashCommandsImpl(ReactiveHashCommands reactive, Duration timeout) { + public BlockingHashCommandsImpl(RedisDataSource ds, ReactiveHashCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingHyperLogLogCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingHyperLogLogCommandsImpl.java index 22f17f068ca96..c95f2df297d3c 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingHyperLogLogCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingHyperLogLogCommandsImpl.java @@ -2,17 +2,17 @@ import java.time.Duration; +import io.quarkus.redis.datasource.RedisDataSource; import io.quarkus.redis.datasource.hyperloglog.HyperLogLogCommands; import io.quarkus.redis.datasource.hyperloglog.ReactiveHyperLogLogCommands; -public class BlockingHyperLogLogCommandsImpl implements HyperLogLogCommands { +public class BlockingHyperLogLogCommandsImpl extends AbstractRedisCommandGroup implements HyperLogLogCommands { private final ReactiveHyperLogLogCommands reactive; - private final Duration timeout; - public BlockingHyperLogLogCommandsImpl(ReactiveHyperLogLogCommands reactive, Duration timeout) { + public BlockingHyperLogLogCommandsImpl(RedisDataSource ds, ReactiveHyperLogLogCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingKeyCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingKeyCommandsImpl.java index 83560ef2bca03..36aaee7ceb4c4 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingKeyCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingKeyCommandsImpl.java @@ -4,6 +4,7 @@ import java.time.Instant; import java.util.List; +import io.quarkus.redis.datasource.RedisDataSource; import io.quarkus.redis.datasource.keys.CopyArgs; import io.quarkus.redis.datasource.keys.ExpireArgs; import io.quarkus.redis.datasource.keys.KeyCommands; @@ -12,14 +13,13 @@ import io.quarkus.redis.datasource.keys.ReactiveKeyCommands; import io.quarkus.redis.datasource.keys.RedisValueType; -public class BlockingKeyCommandsImpl implements KeyCommands { +public class BlockingKeyCommandsImpl extends AbstractRedisCommandGroup implements KeyCommands { private final ReactiveKeyCommands reactive; - private final Duration timeout; - public BlockingKeyCommandsImpl(ReactiveKeyCommands reactive, Duration timeout) { + public BlockingKeyCommandsImpl(RedisDataSource ds, ReactiveKeyCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingListCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingListCommandsImpl.java index 1ba75f54d3d37..c238093e2899b 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingListCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingListCommandsImpl.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.OptionalLong; +import io.quarkus.redis.datasource.RedisDataSource; import io.quarkus.redis.datasource.SortArgs; import io.quarkus.redis.datasource.list.KeyValue; import io.quarkus.redis.datasource.list.LPosArgs; @@ -11,14 +12,13 @@ import io.quarkus.redis.datasource.list.Position; import io.quarkus.redis.datasource.list.ReactiveListCommands; -public class BlockingListCommandsImpl implements ListCommands { +public class BlockingListCommandsImpl extends AbstractRedisCommandGroup implements ListCommands { private final ReactiveListCommands reactive; - private final Duration timeout; - public BlockingListCommandsImpl(ReactiveListCommands reactive, Duration timeout) { + public BlockingListCommandsImpl(RedisDataSource ds, ReactiveListCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingPubSubCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingPubSubCommandsImpl.java index 085bbda0e77cf..9ae54f84c1e30 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingPubSubCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingPubSubCommandsImpl.java @@ -6,17 +6,17 @@ import java.util.List; import java.util.function.Consumer; +import io.quarkus.redis.datasource.RedisDataSource; import io.quarkus.redis.datasource.pubsub.PubSubCommands; import io.quarkus.redis.datasource.pubsub.ReactivePubSubCommands; -public class BlockingPubSubCommandsImpl implements PubSubCommands { +public class BlockingPubSubCommandsImpl extends AbstractRedisCommandGroup implements PubSubCommands { private final ReactivePubSubCommands reactive; - private final Duration timeout; - public BlockingPubSubCommandsImpl(ReactivePubSubCommands reactive, Duration timeout) { + public BlockingPubSubCommandsImpl(RedisDataSource ds, ReactivePubSubCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingRedisDataSourceImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingRedisDataSourceImpl.java index 81b57589cab3f..ecb876cc3d06b 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingRedisDataSourceImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingRedisDataSourceImpl.java @@ -172,52 +172,52 @@ public void flushall() { @Override public HashCommands hash(Class redisKeyType, Class typeOfField, Class typeOfValue) { - return new BlockingHashCommandsImpl<>(reactive.hash(redisKeyType, typeOfField, typeOfValue), timeout); + return new BlockingHashCommandsImpl<>(this, reactive.hash(redisKeyType, typeOfField, typeOfValue), timeout); } @Override public GeoCommands geo(Class redisKeyType, Class memberType) { - return new BlockingGeoCommandsImpl<>(reactive.geo(redisKeyType, memberType), timeout); + return new BlockingGeoCommandsImpl<>(this, reactive.geo(redisKeyType, memberType), timeout); } @Override public KeyCommands key(Class redisKeyType) { - return new BlockingKeyCommandsImpl<>(reactive.key(redisKeyType), timeout); + return new BlockingKeyCommandsImpl<>(this, reactive.key(redisKeyType), timeout); } @Override public SortedSetCommands sortedSet(Class redisKeyType, Class valueType) { - return new BlockingSortedSetCommandsImpl<>(reactive.sortedSet(redisKeyType, valueType), timeout); + return new BlockingSortedSetCommandsImpl<>(this, reactive.sortedSet(redisKeyType, valueType), timeout); } @Override public StringCommands string(Class redisKeyType, Class valueType) { - return new BlockingStringCommandsImpl<>(reactive.string(redisKeyType, valueType), timeout); + return new BlockingStringCommandsImpl<>(this, reactive.string(redisKeyType, valueType), timeout); } @Override public SetCommands set(Class redisKeyType, Class memberType) { - return new BlockingSetCommandsImpl<>(reactive.set(redisKeyType, memberType), timeout); + return new BlockingSetCommandsImpl<>(this, reactive.set(redisKeyType, memberType), timeout); } @Override public ListCommands list(Class redisKeyType, Class memberType) { - return new BlockingListCommandsImpl<>(reactive.list(redisKeyType, memberType), timeout); + return new BlockingListCommandsImpl<>(this, reactive.list(redisKeyType, memberType), timeout); } @Override public HyperLogLogCommands hyperloglog(Class redisKeyType, Class memberType) { - return new BlockingHyperLogLogCommandsImpl<>(reactive.hyperloglog(redisKeyType, memberType), timeout); + return new BlockingHyperLogLogCommandsImpl<>(this, reactive.hyperloglog(redisKeyType, memberType), timeout); } @Override public BitMapCommands bitmap(Class redisKeyType) { - return new BlockingBitmapCommandsImpl<>(reactive.bitmap(redisKeyType), timeout); + return new BlockingBitmapCommandsImpl<>(this, reactive.bitmap(redisKeyType), timeout); } @Override public PubSubCommands pubsub(Class messageType) { - return new BlockingPubSubCommandsImpl<>(reactive.pubsub(messageType), timeout); + return new BlockingPubSubCommandsImpl<>(this, reactive.pubsub(messageType), timeout); } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingSetCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingSetCommandsImpl.java index ab308153a9bed..5dc41487d60ad 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingSetCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingSetCommandsImpl.java @@ -4,20 +4,20 @@ import java.util.List; import java.util.Set; +import io.quarkus.redis.datasource.RedisDataSource; import io.quarkus.redis.datasource.ScanArgs; import io.quarkus.redis.datasource.SortArgs; import io.quarkus.redis.datasource.set.ReactiveSetCommands; import io.quarkus.redis.datasource.set.SScanCursor; import io.quarkus.redis.datasource.set.SetCommands; -public class BlockingSetCommandsImpl implements SetCommands { +public class BlockingSetCommandsImpl extends AbstractRedisCommandGroup implements SetCommands { private final ReactiveSetCommands reactive; - private final Duration timeout; - public BlockingSetCommandsImpl(ReactiveSetCommands reactive, Duration timeout) { + public BlockingSetCommandsImpl(RedisDataSource ds, ReactiveSetCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingSortedSetCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingSortedSetCommandsImpl.java index 35bdce666c2aa..65f125c0308ef 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingSortedSetCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingSortedSetCommandsImpl.java @@ -8,6 +8,7 @@ import java.util.OptionalLong; import java.util.stream.Collectors; +import io.quarkus.redis.datasource.RedisDataSource; import io.quarkus.redis.datasource.ScanArgs; import io.quarkus.redis.datasource.SortArgs; import io.quarkus.redis.datasource.list.KeyValue; @@ -21,14 +22,13 @@ import io.quarkus.redis.datasource.sortedset.ZRangeArgs; import io.quarkus.redis.datasource.sortedset.ZScanCursor; -public class BlockingSortedSetCommandsImpl implements SortedSetCommands { +public class BlockingSortedSetCommandsImpl extends AbstractRedisCommandGroup implements SortedSetCommands { private final ReactiveSortedSetCommands reactive; - private final Duration timeout; - public BlockingSortedSetCommandsImpl(ReactiveSortedSetCommands reactive, Duration timeout) { + public BlockingSortedSetCommandsImpl(RedisDataSource ds, ReactiveSortedSetCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingStringCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingStringCommandsImpl.java index 8f81d0e1b0f0e..d5bcd0ae9554f 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingStringCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingStringCommandsImpl.java @@ -3,19 +3,19 @@ import java.time.Duration; import java.util.Map; +import io.quarkus.redis.datasource.RedisDataSource; import io.quarkus.redis.datasource.string.GetExArgs; import io.quarkus.redis.datasource.string.ReactiveStringCommands; import io.quarkus.redis.datasource.string.SetArgs; import io.quarkus.redis.datasource.string.StringCommands; -public class BlockingStringCommandsImpl implements StringCommands { +public class BlockingStringCommandsImpl extends AbstractRedisCommandGroup implements StringCommands { private final ReactiveStringCommands reactive; - private final Duration timeout; - public BlockingStringCommandsImpl(ReactiveStringCommands reactive, Duration timeout) { + public BlockingStringCommandsImpl(RedisDataSource ds, ReactiveStringCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalBitMapCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalBitMapCommandsImpl.java index f413a5689e9dc..e946826e67fb4 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalBitMapCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalBitMapCommandsImpl.java @@ -5,16 +5,17 @@ import io.quarkus.redis.datasource.bitmap.BitFieldArgs; import io.quarkus.redis.datasource.bitmap.ReactiveTransactionalBitMapCommands; import io.quarkus.redis.datasource.bitmap.TransactionalBitMapCommands; +import io.quarkus.redis.datasource.transactions.TransactionalRedisDataSource; -public class BlockingTransactionalBitMapCommandsImpl implements TransactionalBitMapCommands { +public class BlockingTransactionalBitMapCommandsImpl extends AbstractTransactionalRedisCommandGroup + implements TransactionalBitMapCommands { private final ReactiveTransactionalBitMapCommands reactive; - private final Duration timeout; - - public BlockingTransactionalBitMapCommandsImpl(ReactiveTransactionalBitMapCommands reactive, Duration timeout) { + public BlockingTransactionalBitMapCommandsImpl(TransactionalRedisDataSource ds, + ReactiveTransactionalBitMapCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalGeoCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalGeoCommandsImpl.java index cafa85ff5921c..9cefd95e38597 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalGeoCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalGeoCommandsImpl.java @@ -12,16 +12,17 @@ import io.quarkus.redis.datasource.geo.GeoUnit; import io.quarkus.redis.datasource.geo.ReactiveTransactionalGeoCommands; import io.quarkus.redis.datasource.geo.TransactionalGeoCommands; +import io.quarkus.redis.datasource.transactions.TransactionalRedisDataSource; -public class BlockingTransactionalGeoCommandsImpl implements TransactionalGeoCommands { +public class BlockingTransactionalGeoCommandsImpl extends AbstractTransactionalRedisCommandGroup + implements TransactionalGeoCommands { private final ReactiveTransactionalGeoCommands reactive; - private final Duration timeout; - - public BlockingTransactionalGeoCommandsImpl(ReactiveTransactionalGeoCommands reactive, Duration timeout) { + public BlockingTransactionalGeoCommandsImpl(TransactionalRedisDataSource ds, + ReactiveTransactionalGeoCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalHashCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalHashCommandsImpl.java index eb70d9ee5b322..a258d595dc344 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalHashCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalHashCommandsImpl.java @@ -5,16 +5,17 @@ import io.quarkus.redis.datasource.hash.ReactiveTransactionalHashCommands; import io.quarkus.redis.datasource.hash.TransactionalHashCommands; +import io.quarkus.redis.datasource.transactions.TransactionalRedisDataSource; -public class BlockingTransactionalHashCommandsImpl implements TransactionalHashCommands { +public class BlockingTransactionalHashCommandsImpl extends AbstractTransactionalRedisCommandGroup + implements TransactionalHashCommands { private final ReactiveTransactionalHashCommands reactive; - private final Duration timeout; - - public BlockingTransactionalHashCommandsImpl(ReactiveTransactionalHashCommands reactive, Duration timeout) { + public BlockingTransactionalHashCommandsImpl(TransactionalRedisDataSource ds, + ReactiveTransactionalHashCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalHyperLogLogCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalHyperLogLogCommandsImpl.java index 901ee76dc3f9e..270177cff59ee 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalHyperLogLogCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalHyperLogLogCommandsImpl.java @@ -4,17 +4,18 @@ import io.quarkus.redis.datasource.hyperloglog.ReactiveTransactionalHyperLogLogCommands; import io.quarkus.redis.datasource.hyperloglog.TransactionalHyperLogLogCommands; +import io.quarkus.redis.datasource.transactions.TransactionalRedisDataSource; -public class BlockingTransactionalHyperLogLogCommandsImpl implements TransactionalHyperLogLogCommands { +public class BlockingTransactionalHyperLogLogCommandsImpl extends AbstractTransactionalRedisCommandGroup + implements TransactionalHyperLogLogCommands { private final ReactiveTransactionalHyperLogLogCommands reactive; - private final Duration timeout; - - public BlockingTransactionalHyperLogLogCommandsImpl(ReactiveTransactionalHyperLogLogCommands reactive, + public BlockingTransactionalHyperLogLogCommandsImpl(TransactionalRedisDataSource ds, + ReactiveTransactionalHyperLogLogCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalKeyCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalKeyCommandsImpl.java index 6e98893b5f1b5..28eb856c5c07a 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalKeyCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalKeyCommandsImpl.java @@ -8,16 +8,17 @@ import io.quarkus.redis.datasource.keys.ReactiveTransactionalKeyCommands; import io.quarkus.redis.datasource.keys.RedisKeyNotFoundException; import io.quarkus.redis.datasource.keys.TransactionalKeyCommands; +import io.quarkus.redis.datasource.transactions.TransactionalRedisDataSource; -public class BlockingTransactionalKeyCommandsImpl implements TransactionalKeyCommands { +public class BlockingTransactionalKeyCommandsImpl extends AbstractTransactionalRedisCommandGroup + implements TransactionalKeyCommands { private final ReactiveTransactionalKeyCommands reactive; - private final Duration timeout; - - public BlockingTransactionalKeyCommandsImpl(ReactiveTransactionalKeyCommands reactive, Duration timeout) { + public BlockingTransactionalKeyCommandsImpl(TransactionalRedisDataSource ds, ReactiveTransactionalKeyCommands reactive, + Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalListCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalListCommandsImpl.java index 49b864e19c117..7f14d3f0ec0d4 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalListCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalListCommandsImpl.java @@ -6,16 +6,17 @@ import io.quarkus.redis.datasource.list.Position; import io.quarkus.redis.datasource.list.ReactiveTransactionalListCommands; import io.quarkus.redis.datasource.list.TransactionalListCommands; +import io.quarkus.redis.datasource.transactions.TransactionalRedisDataSource; -public class BlockingTransactionalListCommandsImpl implements TransactionalListCommands { +public class BlockingTransactionalListCommandsImpl extends AbstractTransactionalRedisCommandGroup + implements TransactionalListCommands { private final ReactiveTransactionalListCommands reactive; - private final Duration timeout; - - public BlockingTransactionalListCommandsImpl(ReactiveTransactionalListCommands reactive, Duration timeout) { + public BlockingTransactionalListCommandsImpl(TransactionalRedisDataSource ds, + ReactiveTransactionalListCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalRedisDataSourceImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalRedisDataSourceImpl.java index 05933257cf3fd..ee0df37733f48 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalRedisDataSourceImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalRedisDataSourceImpl.java @@ -38,47 +38,49 @@ public boolean discarded() { @Override public TransactionalHashCommands hash(Class redisKeyType, Class typeOfField, Class typeOfValue) { - return new BlockingTransactionalHashCommandsImpl<>(reactive.hash(redisKeyType, typeOfField, typeOfValue), timeout); + return new BlockingTransactionalHashCommandsImpl<>(this, reactive.hash(redisKeyType, typeOfField, typeOfValue), + timeout); } @Override public TransactionalGeoCommands geo(Class redisKeyType, Class memberType) { - return new BlockingTransactionalGeoCommandsImpl<>(reactive.geo(redisKeyType, memberType), timeout); + return new BlockingTransactionalGeoCommandsImpl<>(this, reactive.geo(redisKeyType, memberType), timeout); } @Override public TransactionalKeyCommands key(Class redisKeyType) { - return new BlockingTransactionalKeyCommandsImpl<>(reactive.key(redisKeyType), timeout); + return new BlockingTransactionalKeyCommandsImpl<>(this, reactive.key(redisKeyType), timeout); } @Override public TransactionalSetCommands set(Class redisKeyType, Class memberType) { - return new BlockingTransactionalSetCommandsImpl<>(reactive.set(redisKeyType, memberType), timeout); + return new BlockingTransactionalSetCommandsImpl<>(this, reactive.set(redisKeyType, memberType), timeout); } @Override public TransactionalSortedSetCommands sortedSet(Class redisKeyType, Class valueType) { - return new BlockingTransactionalSortedSetCommandsImpl<>(reactive.sortedSet(redisKeyType, valueType), timeout); + return new BlockingTransactionalSortedSetCommandsImpl<>(this, reactive.sortedSet(redisKeyType, valueType), timeout); } @Override public TransactionalStringCommands string(Class redisKeyType, Class valueType) { - return new BlockingTransactionalStringCommandsImpl<>(reactive.string(redisKeyType, valueType), timeout); + return new BlockingTransactionalStringCommandsImpl<>(this, reactive.string(redisKeyType, valueType), timeout); } @Override public TransactionalListCommands list(Class redisKeyType, Class memberType) { - return new BlockingTransactionalListCommandsImpl<>(reactive.list(redisKeyType, memberType), timeout); + return new BlockingTransactionalListCommandsImpl<>(this, reactive.list(redisKeyType, memberType), timeout); } @Override public TransactionalHyperLogLogCommands hyperloglog(Class redisKeyType, Class memberType) { - return new BlockingTransactionalHyperLogLogCommandsImpl<>(reactive.hyperloglog(redisKeyType, memberType), timeout); + return new BlockingTransactionalHyperLogLogCommandsImpl<>(this, reactive.hyperloglog(redisKeyType, memberType), + timeout); } @Override public TransactionalBitMapCommands bitmap(Class redisKeyType) { - return new BlockingTransactionalBitMapCommandsImpl<>(reactive.bitmap(redisKeyType), timeout); + return new BlockingTransactionalBitMapCommandsImpl<>(this, reactive.bitmap(redisKeyType), timeout); } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalSetCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalSetCommandsImpl.java index ecb25249d651f..11ae270bdbfa9 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalSetCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalSetCommandsImpl.java @@ -4,16 +4,17 @@ import io.quarkus.redis.datasource.set.ReactiveTransactionalSetCommands; import io.quarkus.redis.datasource.set.TransactionalSetCommands; +import io.quarkus.redis.datasource.transactions.TransactionalRedisDataSource; -public class BlockingTransactionalSetCommandsImpl implements TransactionalSetCommands { +public class BlockingTransactionalSetCommandsImpl extends AbstractTransactionalRedisCommandGroup + implements TransactionalSetCommands { private final ReactiveTransactionalSetCommands reactive; - private final Duration timeout; - - public BlockingTransactionalSetCommandsImpl(ReactiveTransactionalSetCommands reactive, Duration timeout) { + public BlockingTransactionalSetCommandsImpl(TransactionalRedisDataSource ds, + ReactiveTransactionalSetCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalSortedSetCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalSortedSetCommandsImpl.java index e922210a59d9c..a22b0d23c7f29 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalSortedSetCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalSortedSetCommandsImpl.java @@ -11,16 +11,17 @@ import io.quarkus.redis.datasource.sortedset.ZAddArgs; import io.quarkus.redis.datasource.sortedset.ZAggregateArgs; import io.quarkus.redis.datasource.sortedset.ZRangeArgs; +import io.quarkus.redis.datasource.transactions.TransactionalRedisDataSource; -public class BlockingTransactionalSortedSetCommandsImpl implements TransactionalSortedSetCommands { +public class BlockingTransactionalSortedSetCommandsImpl extends AbstractTransactionalRedisCommandGroup + implements TransactionalSortedSetCommands { private final ReactiveTransactionalSortedSetCommands reactive; - private final Duration timeout; - - public BlockingTransactionalSortedSetCommandsImpl(ReactiveTransactionalSortedSetCommands reactive, Duration timeout) { + public BlockingTransactionalSortedSetCommandsImpl(TransactionalRedisDataSource ds, + ReactiveTransactionalSortedSetCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalStringCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalStringCommandsImpl.java index e0dcdbfc09279..14f5323a06149 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalStringCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/BlockingTransactionalStringCommandsImpl.java @@ -7,16 +7,17 @@ import io.quarkus.redis.datasource.string.ReactiveTransactionalStringCommands; import io.quarkus.redis.datasource.string.SetArgs; import io.quarkus.redis.datasource.string.TransactionalStringCommands; +import io.quarkus.redis.datasource.transactions.TransactionalRedisDataSource; -public class BlockingTransactionalStringCommandsImpl implements TransactionalStringCommands { +public class BlockingTransactionalStringCommandsImpl extends AbstractTransactionalRedisCommandGroup + implements TransactionalStringCommands { private final ReactiveTransactionalStringCommands reactive; - private final Duration timeout; - - public BlockingTransactionalStringCommandsImpl(ReactiveTransactionalStringCommands reactive, Duration timeout) { + public BlockingTransactionalStringCommandsImpl(TransactionalRedisDataSource ds, + ReactiveTransactionalStringCommands reactive, Duration timeout) { + super(ds, timeout); this.reactive = reactive; - this.timeout = timeout; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveBitMapCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveBitMapCommandsImpl.java index c9415d6f54267..db5552a1d8895 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveBitMapCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveBitMapCommandsImpl.java @@ -2,16 +2,26 @@ import java.util.List; +import io.quarkus.redis.datasource.ReactiveRedisCommands; +import io.quarkus.redis.datasource.ReactiveRedisDataSource; import io.quarkus.redis.datasource.bitmap.BitFieldArgs; import io.quarkus.redis.datasource.bitmap.ReactiveBitMapCommands; import io.smallrye.mutiny.Uni; import io.vertx.mutiny.redis.client.Response; public class ReactiveBitMapCommandsImpl extends AbstractBitMapCommands - implements ReactiveBitMapCommands { + implements ReactiveBitMapCommands, ReactiveRedisCommands { - public ReactiveBitMapCommandsImpl(RedisCommandExecutor redis, Class k) { + private final ReactiveRedisDataSource reactive; + + public ReactiveBitMapCommandsImpl(ReactiveRedisDataSourceImpl redis, Class k) { super(redis, k); + this.reactive = redis; + } + + @Override + public ReactiveRedisDataSource getDataSource() { + return reactive; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveGeoCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveGeoCommandsImpl.java index 3970a64219f1e..ba51529f48792 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveGeoCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveGeoCommandsImpl.java @@ -5,6 +5,7 @@ import java.util.List; import java.util.Set; +import io.quarkus.redis.datasource.ReactiveRedisDataSource; import io.quarkus.redis.datasource.geo.GeoAddArgs; import io.quarkus.redis.datasource.geo.GeoItem; import io.quarkus.redis.datasource.geo.GeoPosition; @@ -21,9 +22,16 @@ public class ReactiveGeoCommandsImpl extends AbstractGeoCommands implements ReactiveGeoCommands { static final GeoAddArgs DEFAULT_INSTANCE = new GeoAddArgs(); + private final ReactiveRedisDataSource reactive; - public ReactiveGeoCommandsImpl(RedisCommandExecutor redis, Class k, Class v) { + public ReactiveGeoCommandsImpl(ReactiveRedisDataSourceImpl redis, Class k, Class v) { super(redis, k, v); + this.reactive = redis; + } + + @Override + public ReactiveRedisDataSource getDataSource() { + return reactive; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveHashCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveHashCommandsImpl.java index 9f5056481ceb5..c39ae6327d96d 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveHashCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveHashCommandsImpl.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Map; +import io.quarkus.redis.datasource.ReactiveRedisDataSource; import io.quarkus.redis.datasource.ScanArgs; import io.quarkus.redis.datasource.hash.ReactiveHashCommands; import io.quarkus.redis.datasource.hash.ReactiveHashScanCursor; @@ -14,8 +15,16 @@ public class ReactiveHashCommandsImpl extends AbstractHashCommands implements ReactiveHashCommands { - public ReactiveHashCommandsImpl(RedisCommandExecutor redis, Class k, Class f, Class v) { + private final ReactiveRedisDataSource reactive; + + public ReactiveHashCommandsImpl(ReactiveRedisDataSourceImpl redis, Class k, Class f, Class v) { super(redis, k, f, v); + this.reactive = redis; + } + + @Override + public ReactiveRedisDataSource getDataSource() { + return reactive; } @SafeVarargs diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveHyperLogLogCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveHyperLogLogCommandsImpl.java index f7f9a8744cb39..ee69f4339ff3d 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveHyperLogLogCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveHyperLogLogCommandsImpl.java @@ -1,5 +1,6 @@ package io.quarkus.redis.runtime.datasource; +import io.quarkus.redis.datasource.ReactiveRedisDataSource; import io.quarkus.redis.datasource.hyperloglog.ReactiveHyperLogLogCommands; import io.smallrye.mutiny.Uni; import io.vertx.mutiny.redis.client.Response; @@ -7,8 +8,16 @@ public class ReactiveHyperLogLogCommandsImpl extends AbstractHyperLogLogCommands implements ReactiveHyperLogLogCommands { - public ReactiveHyperLogLogCommandsImpl(RedisCommandExecutor redis, Class k, Class v) { + private final ReactiveRedisDataSource reactive; + + public ReactiveHyperLogLogCommandsImpl(ReactiveRedisDataSourceImpl redis, Class k, Class v) { super(redis, k, v); + this.reactive = redis; + } + + @Override + public ReactiveRedisDataSource getDataSource() { + return reactive; } @SafeVarargs diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveKeyCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveKeyCommandsImpl.java index 16092a7584419..2be9e365cb41d 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveKeyCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveKeyCommandsImpl.java @@ -7,6 +7,7 @@ import java.util.Collections; import java.util.List; +import io.quarkus.redis.datasource.ReactiveRedisDataSource; import io.quarkus.redis.datasource.keys.CopyArgs; import io.quarkus.redis.datasource.keys.ExpireArgs; import io.quarkus.redis.datasource.keys.KeyScanArgs; @@ -18,8 +19,16 @@ public class ReactiveKeyCommandsImpl extends AbstractKeyCommands implements ReactiveKeyCommands { - public ReactiveKeyCommandsImpl(RedisCommandExecutor redis, Class k) { + private final ReactiveRedisDataSource reactive; + + public ReactiveKeyCommandsImpl(ReactiveRedisDataSourceImpl redis, Class k) { super(redis, k); + this.reactive = redis; + } + + @Override + public ReactiveRedisDataSource getDataSource() { + return reactive; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveListCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveListCommandsImpl.java index 6e24636a6035c..0e68e6e7c824b 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveListCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveListCommandsImpl.java @@ -3,6 +3,7 @@ import java.time.Duration; import java.util.List; +import io.quarkus.redis.datasource.ReactiveRedisDataSource; import io.quarkus.redis.datasource.list.KeyValue; import io.quarkus.redis.datasource.list.LPosArgs; import io.quarkus.redis.datasource.list.Position; @@ -12,8 +13,16 @@ public class ReactiveListCommandsImpl extends AbstractListCommands implements ReactiveListCommands { - public ReactiveListCommandsImpl(RedisCommandExecutor redis, Class k, Class v) { + private final ReactiveRedisDataSource reactive; + + public ReactiveListCommandsImpl(ReactiveRedisDataSourceImpl redis, Class k, Class v) { super(redis, k, v); + this.reactive = redis; + } + + @Override + public ReactiveRedisDataSource getDataSource() { + return reactive; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactivePubSubCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactivePubSubCommandsImpl.java index 7273cadeb82a1..14db00b87418b 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactivePubSubCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactivePubSubCommandsImpl.java @@ -10,6 +10,7 @@ import java.util.UUID; import java.util.function.Consumer; +import io.quarkus.redis.datasource.ReactiveRedisDataSource; import io.quarkus.redis.datasource.pubsub.ReactivePubSubCommands; import io.smallrye.common.vertx.VertxContext; import io.smallrye.mutiny.Multi; @@ -36,6 +37,11 @@ public ReactivePubSubCommandsImpl(ReactiveRedisDataSourceImpl ds, Class class this.classOfMessage = classOfMessage; } + @Override + public ReactiveRedisDataSource getDataSource() { + return datasource; + } + @Override public Uni publish(String channel, V message) { nonNull(channel, "channel"); diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveSetCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveSetCommandsImpl.java index 959c695b5924a..2cda5ea9f5a23 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveSetCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveSetCommandsImpl.java @@ -6,6 +6,7 @@ import java.util.List; import java.util.Set; +import io.quarkus.redis.datasource.ReactiveRedisDataSource; import io.quarkus.redis.datasource.ScanArgs; import io.quarkus.redis.datasource.set.ReactiveSScanCursor; import io.quarkus.redis.datasource.set.ReactiveSetCommands; @@ -14,8 +15,16 @@ public class ReactiveSetCommandsImpl extends AbstractSetCommands implements ReactiveSetCommands { - public ReactiveSetCommandsImpl(RedisCommandExecutor redis, Class k, Class v) { + private final ReactiveRedisDataSource reactive; + + public ReactiveSetCommandsImpl(ReactiveRedisDataSourceImpl redis, Class k, Class v) { super(redis, k, v); + this.reactive = redis; + } + + @Override + public ReactiveRedisDataSource getDataSource() { + return reactive; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveSortedSetCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveSortedSetCommandsImpl.java index a9f3ba41b0a4a..f2aa3e5dd65ab 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveSortedSetCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveSortedSetCommandsImpl.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.Map; +import io.quarkus.redis.datasource.ReactiveRedisDataSource; import io.quarkus.redis.datasource.ScanArgs; import io.quarkus.redis.datasource.list.KeyValue; import io.quarkus.redis.datasource.sortedset.Range; @@ -24,8 +25,16 @@ public class ReactiveSortedSetCommandsImpl extends AbstractSortedSetCommands implements ReactiveSortedSetCommands { - public ReactiveSortedSetCommandsImpl(RedisCommandExecutor redis, Class k, Class v) { + private final ReactiveRedisDataSource reactive; + + public ReactiveSortedSetCommandsImpl(ReactiveRedisDataSourceImpl redis, Class k, Class v) { super(redis, k, v); + this.reactive = redis; + } + + @Override + public ReactiveRedisDataSource getDataSource() { + return reactive; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveStringCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveStringCommandsImpl.java index 76aa1bfed4c20..445c348ff821e 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveStringCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveStringCommandsImpl.java @@ -2,6 +2,7 @@ import java.util.Map; +import io.quarkus.redis.datasource.ReactiveRedisDataSource; import io.quarkus.redis.datasource.string.GetExArgs; import io.quarkus.redis.datasource.string.ReactiveStringCommands; import io.quarkus.redis.datasource.string.SetArgs; @@ -10,8 +11,16 @@ public class ReactiveStringCommandsImpl extends AbstractStringCommands implements ReactiveStringCommands { - public ReactiveStringCommandsImpl(RedisCommandExecutor redis, Class k, Class v) { + private final ReactiveRedisDataSource reactive; + + public ReactiveStringCommandsImpl(ReactiveRedisDataSourceImpl redis, Class k, Class v) { super(redis, k, v); + this.reactive = redis; + } + + @Override + public ReactiveRedisDataSource getDataSource() { + return reactive; } @Override diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalBitMapCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalBitMapCommandsImpl.java index c4242ceef9b93..4d5381e565be5 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalBitMapCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalBitMapCommandsImpl.java @@ -2,6 +2,7 @@ import io.quarkus.redis.datasource.bitmap.BitFieldArgs; import io.quarkus.redis.datasource.bitmap.ReactiveTransactionalBitMapCommands; +import io.quarkus.redis.datasource.transactions.ReactiveTransactionalRedisDataSource; import io.smallrye.mutiny.Uni; import io.vertx.mutiny.redis.client.Response; @@ -10,8 +11,9 @@ public class ReactiveTransactionalBitMapCommandsImpl extends AbstractTransact private final ReactiveBitMapCommandsImpl reactive; - public ReactiveTransactionalBitMapCommandsImpl(ReactiveBitMapCommandsImpl reactive, TransactionHolder tx) { - super(tx); + public ReactiveTransactionalBitMapCommandsImpl(ReactiveTransactionalRedisDataSource ds, + ReactiveBitMapCommandsImpl reactive, TransactionHolder tx) { + super(ds, tx); this.reactive = reactive; } diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalGeoCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalGeoCommandsImpl.java index 51d6071e4c352..7c6667d83bf91 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalGeoCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalGeoCommandsImpl.java @@ -12,6 +12,7 @@ import io.quarkus.redis.datasource.geo.GeoSearchStoreArgs; import io.quarkus.redis.datasource.geo.GeoUnit; import io.quarkus.redis.datasource.geo.ReactiveTransactionalGeoCommands; +import io.quarkus.redis.datasource.transactions.ReactiveTransactionalRedisDataSource; import io.smallrye.mutiny.Uni; import io.vertx.mutiny.redis.client.Response; @@ -20,8 +21,9 @@ public class ReactiveTransactionalGeoCommandsImpl extends AbstractTransact private final ReactiveGeoCommandsImpl reactive; - public ReactiveTransactionalGeoCommandsImpl(ReactiveGeoCommandsImpl reactive, TransactionHolder tx) { - super(tx); + public ReactiveTransactionalGeoCommandsImpl(ReactiveTransactionalRedisDataSource ds, ReactiveGeoCommandsImpl reactive, + TransactionHolder tx) { + super(ds, tx); this.reactive = reactive; } diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalHashCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalHashCommandsImpl.java index d8412fc2c8447..e487183c50413 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalHashCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalHashCommandsImpl.java @@ -3,6 +3,7 @@ import java.util.Map; import io.quarkus.redis.datasource.hash.ReactiveTransactionalHashCommands; +import io.quarkus.redis.datasource.transactions.ReactiveTransactionalRedisDataSource; import io.smallrye.mutiny.Uni; import io.vertx.mutiny.redis.client.Response; @@ -11,8 +12,9 @@ public class ReactiveTransactionalHashCommandsImpl extends AbstractTran private final ReactiveHashCommandsImpl reactive; - public ReactiveTransactionalHashCommandsImpl(ReactiveHashCommandsImpl reactive, TransactionHolder tx) { - super(tx); + public ReactiveTransactionalHashCommandsImpl(ReactiveTransactionalRedisDataSource ds, + ReactiveHashCommandsImpl reactive, TransactionHolder tx) { + super(ds, tx); this.reactive = reactive; } diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalHyperLogLogCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalHyperLogLogCommandsImpl.java index 86f5af25001b3..07b85023c0f89 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalHyperLogLogCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalHyperLogLogCommandsImpl.java @@ -1,6 +1,7 @@ package io.quarkus.redis.runtime.datasource; import io.quarkus.redis.datasource.hyperloglog.ReactiveTransactionalHyperLogLogCommands; +import io.quarkus.redis.datasource.transactions.ReactiveTransactionalRedisDataSource; import io.smallrye.mutiny.Uni; import io.vertx.mutiny.redis.client.Response; @@ -9,8 +10,9 @@ public class ReactiveTransactionalHyperLogLogCommandsImpl extends Abstract private final ReactiveHyperLogLogCommandsImpl reactive; - public ReactiveTransactionalHyperLogLogCommandsImpl(ReactiveHyperLogLogCommandsImpl reactive, TransactionHolder tx) { - super(tx); + public ReactiveTransactionalHyperLogLogCommandsImpl(ReactiveTransactionalRedisDataSource ds, + ReactiveHyperLogLogCommandsImpl reactive, TransactionHolder tx) { + super(ds, tx); this.reactive = reactive; } diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalKeyCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalKeyCommandsImpl.java index e1abb6d983c47..89cb9276754b7 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalKeyCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalKeyCommandsImpl.java @@ -7,6 +7,7 @@ import io.quarkus.redis.datasource.keys.ExpireArgs; import io.quarkus.redis.datasource.keys.ReactiveTransactionalKeyCommands; import io.quarkus.redis.datasource.keys.RedisKeyNotFoundException; +import io.quarkus.redis.datasource.transactions.ReactiveTransactionalRedisDataSource; import io.smallrye.mutiny.Uni; import io.vertx.mutiny.redis.client.Response; @@ -15,8 +16,9 @@ public class ReactiveTransactionalKeyCommandsImpl extends AbstractTransaction private final ReactiveKeyCommandsImpl reactive; - public ReactiveTransactionalKeyCommandsImpl(ReactiveKeyCommandsImpl reactive, TransactionHolder tx) { - super(tx); + public ReactiveTransactionalKeyCommandsImpl(ReactiveTransactionalRedisDataSource ds, ReactiveKeyCommandsImpl reactive, + TransactionHolder tx) { + super(ds, tx); this.reactive = reactive; } diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalListCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalListCommandsImpl.java index 7a2d82a4aa041..39346edc829ab 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalListCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalListCommandsImpl.java @@ -5,6 +5,7 @@ import io.quarkus.redis.datasource.list.LPosArgs; import io.quarkus.redis.datasource.list.Position; import io.quarkus.redis.datasource.list.ReactiveTransactionalListCommands; +import io.quarkus.redis.datasource.transactions.ReactiveTransactionalRedisDataSource; import io.smallrye.mutiny.Uni; import io.vertx.mutiny.redis.client.Response; @@ -13,8 +14,9 @@ public class ReactiveTransactionalListCommandsImpl extends AbstractTransac private final ReactiveListCommandsImpl reactive; - public ReactiveTransactionalListCommandsImpl(ReactiveListCommandsImpl reactive, TransactionHolder tx) { - super(tx); + public ReactiveTransactionalListCommandsImpl(ReactiveTransactionalRedisDataSource ds, + ReactiveListCommandsImpl reactive, TransactionHolder tx) { + super(ds, tx); this.reactive = reactive; } diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalRedisDataSourceImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalRedisDataSourceImpl.java index 1e1db0b19f570..229a4a5c0cc16 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalRedisDataSourceImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalRedisDataSourceImpl.java @@ -43,56 +43,56 @@ public boolean discarded() { @Override public ReactiveTransactionalHashCommands hash(Class redisKeyType, Class typeOfField, Class typeOfValue) { - return new ReactiveTransactionalHashCommandsImpl<>( + return new ReactiveTransactionalHashCommandsImpl<>(this, (ReactiveHashCommandsImpl) this.reactive.hash(redisKeyType, typeOfField, typeOfValue), tx); } @Override public ReactiveTransactionalGeoCommands geo(Class redisKeyType, Class memberType) { - return new ReactiveTransactionalGeoCommandsImpl<>( + return new ReactiveTransactionalGeoCommandsImpl<>(this, (ReactiveGeoCommandsImpl) this.reactive.geo(redisKeyType, memberType), tx); } @Override public ReactiveTransactionalSortedSetCommands sortedSet(Class redisKeyType, Class valueType) { - return new ReactiveTransactionalSortedSetCommandsImpl<>( + return new ReactiveTransactionalSortedSetCommandsImpl<>(this, (ReactiveSortedSetCommandsImpl) this.reactive.sortedSet(redisKeyType, valueType), tx); } @Override public ReactiveTransactionalStringCommands string(Class redisKeyType, Class valueType) { - return new ReactiveTransactionalStringCommandsImpl<>( + return new ReactiveTransactionalStringCommandsImpl<>(this, (ReactiveStringCommandsImpl) this.reactive.string(redisKeyType, valueType), tx); } @Override public ReactiveTransactionalSetCommands set(Class redisKeyType, Class memberType) { - return new ReactiveTransactionalSetCommandsImpl<>( + return new ReactiveTransactionalSetCommandsImpl<>(this, (ReactiveSetCommandsImpl) this.reactive.set(redisKeyType, memberType), tx); } @Override public ReactiveTransactionalListCommands list(Class redisKeyType, Class memberType) { - return new ReactiveTransactionalListCommandsImpl<>( + return new ReactiveTransactionalListCommandsImpl<>(this, (ReactiveListCommandsImpl) this.reactive.list(redisKeyType, memberType), tx); } @Override public ReactiveTransactionalHyperLogLogCommands hyperloglog(Class redisKeyType, Class memberType) { - return new ReactiveTransactionalHyperLogLogCommandsImpl<>( + return new ReactiveTransactionalHyperLogLogCommandsImpl<>(this, (ReactiveHyperLogLogCommandsImpl) this.reactive.hyperloglog(redisKeyType, memberType), tx); } @Override public ReactiveTransactionalBitMapCommands bitmap(Class redisKeyType) { - return new ReactiveTransactionalBitMapCommandsImpl<>( + return new ReactiveTransactionalBitMapCommandsImpl<>(this, (ReactiveBitMapCommandsImpl) this.reactive.bitmap(redisKeyType), tx); } @Override public ReactiveTransactionalKeyCommands key(Class redisKeyType) { - return new ReactiveTransactionalKeyCommandsImpl<>( + return new ReactiveTransactionalKeyCommandsImpl<>(this, (ReactiveKeyCommandsImpl) this.reactive.key(redisKeyType), tx); } diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalSetCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalSetCommandsImpl.java index c909ff6fb6b3e..2a43d9d098825 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalSetCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalSetCommandsImpl.java @@ -1,6 +1,7 @@ package io.quarkus.redis.runtime.datasource; import io.quarkus.redis.datasource.set.ReactiveTransactionalSetCommands; +import io.quarkus.redis.datasource.transactions.ReactiveTransactionalRedisDataSource; import io.smallrye.mutiny.Uni; import io.vertx.mutiny.redis.client.Response; @@ -9,8 +10,9 @@ public class ReactiveTransactionalSetCommandsImpl extends AbstractTransact private final ReactiveSetCommandsImpl reactive; - public ReactiveTransactionalSetCommandsImpl(ReactiveSetCommandsImpl reactive, TransactionHolder tx) { - super(tx); + public ReactiveTransactionalSetCommandsImpl(ReactiveTransactionalRedisDataSource ds, ReactiveSetCommandsImpl reactive, + TransactionHolder tx) { + super(ds, tx); this.reactive = reactive; } diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalSortedSetCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalSortedSetCommandsImpl.java index 349da32370d58..a2f290c695a96 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalSortedSetCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalSortedSetCommandsImpl.java @@ -10,6 +10,7 @@ import io.quarkus.redis.datasource.sortedset.ZAddArgs; import io.quarkus.redis.datasource.sortedset.ZAggregateArgs; import io.quarkus.redis.datasource.sortedset.ZRangeArgs; +import io.quarkus.redis.datasource.transactions.ReactiveTransactionalRedisDataSource; import io.smallrye.mutiny.Uni; import io.vertx.mutiny.redis.client.Response; @@ -18,8 +19,9 @@ public class ReactiveTransactionalSortedSetCommandsImpl extends AbstractTr private final ReactiveSortedSetCommandsImpl reactive; - public ReactiveTransactionalSortedSetCommandsImpl(ReactiveSortedSetCommandsImpl reactive, TransactionHolder tx) { - super(tx); + public ReactiveTransactionalSortedSetCommandsImpl(ReactiveTransactionalRedisDataSource ds, + ReactiveSortedSetCommandsImpl reactive, TransactionHolder tx) { + super(ds, tx); this.reactive = reactive; } diff --git a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalStringCommandsImpl.java b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalStringCommandsImpl.java index 2c61668b67a4c..044b972d139fe 100644 --- a/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalStringCommandsImpl.java +++ b/extensions/redis-client/runtime/src/main/java/io/quarkus/redis/runtime/datasource/ReactiveTransactionalStringCommandsImpl.java @@ -5,6 +5,7 @@ import io.quarkus.redis.datasource.string.GetExArgs; import io.quarkus.redis.datasource.string.ReactiveTransactionalStringCommands; import io.quarkus.redis.datasource.string.SetArgs; +import io.quarkus.redis.datasource.transactions.ReactiveTransactionalRedisDataSource; import io.smallrye.mutiny.Uni; import io.vertx.mutiny.redis.client.Response; @@ -13,8 +14,9 @@ public class ReactiveTransactionalStringCommandsImpl extends AbstractTrans private final ReactiveStringCommandsImpl reactive; - public ReactiveTransactionalStringCommandsImpl(ReactiveStringCommandsImpl reactive, TransactionHolder tx) { - super(tx); + public ReactiveTransactionalStringCommandsImpl(ReactiveTransactionalRedisDataSource ds, + ReactiveStringCommandsImpl reactive, TransactionHolder tx) { + super(ds, tx); this.reactive = reactive; } diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/BitMapCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/BitMapCommandsTest.java index 04d46ad94caf4..29c036180288f 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/BitMapCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/BitMapCommandsTest.java @@ -36,6 +36,11 @@ void clear() { ds.flushall(); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(bitmap.getDataSource()); + } + @Test void bitcount() { assertThat(bitmap.bitcount(key)).isEqualTo(0); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/GeoCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/GeoCommandsTest.java index 7924dfa0e3838..0d2a365de53ae 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/GeoCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/GeoCommandsTest.java @@ -70,6 +70,11 @@ void populate() { GeoItem.of(Place.suze, SUZE_LONGITUDE, SUZE_LATITUDE)); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(geo.getDataSource()); + } + @Test void geoadd() { boolean added = geo.geoadd(key, 44.9396, CRUSSOL_LATITUDE, Place.crussol); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/HashCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/HashCommandsTest.java index 6a556631f6c17..643952e39ab51 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/HashCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/HashCommandsTest.java @@ -37,6 +37,11 @@ void clear() { ds.flushall(); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(hash.getDataSource()); + } + @Test void simpleHset() { hash.hset("my-hash", "field1", Person.person1); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/HyperLogLogCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/HyperLogLogCommandsTest.java index e32b5dead9f1b..d8340f05a70ea 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/HyperLogLogCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/HyperLogLogCommandsTest.java @@ -26,6 +26,11 @@ void initialize() { hll = ds.hyperloglog(Person.class); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(hll.getDataSource()); + } + @Test void pfadd() { String k = getKey(); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/KeyCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/KeyCommandsTest.java index 613f41a0a5754..42604f3f35901 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/KeyCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/KeyCommandsTest.java @@ -50,6 +50,11 @@ public void clear() { ds.flushall(); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(keys.getDataSource()); + } + @Test void del() { strings.set(key, Person.person7); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/ListCommandTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/ListCommandTest.java index 1bfd7a616181c..0ab383f48a4aa 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/ListCommandTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/ListCommandTest.java @@ -35,6 +35,11 @@ public void clear() { ds.flushall(); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(lists.getDataSource()); + } + @Test void blpop() { lists.rpush("two", Person.person2, Person.person3); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/NumericCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/NumericCommandsTest.java index 11ed36f9b6e2e..8c619f5fd6b0a 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/NumericCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/NumericCommandsTest.java @@ -30,6 +30,11 @@ public void clear() { ds.flushall(); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(num.getDataSource()); + } + @Test void decr() { assertThat(num.decr(key)).isEqualTo(-1); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/PubSubCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/PubSubCommandsTest.java index 9aa1d65e44abb..452d81abff8af 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/PubSubCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/PubSubCommandsTest.java @@ -53,6 +53,11 @@ private void awaitNoMoreActiveChannels() { }); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(pubsub.getDataSource()); + } + @Test void testPubSub() { diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/PubSubTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/PubSubTest.java index 2ec46f52d8308..9fe2333ac1db7 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/PubSubTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/PubSubTest.java @@ -34,6 +34,11 @@ void tearDown() { ds.flushall().await().indefinitely(); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(ps.getDataSource()); + } + @Test void testWithSingleChannel() throws InterruptedException { CountDownLatch latch = new CountDownLatch(3); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/SetCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/SetCommandsTest.java index 021c697c902fe..294a5f93e7beb 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/SetCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/SetCommandsTest.java @@ -41,6 +41,11 @@ public void clear() { ds.flushall(); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(sets.getDataSource()); + } + @Test void sadd() { assertThat(sets.sadd(key, person1)).isEqualTo(1L); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/SortedSetCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/SortedSetCommandsTest.java index 9e6d105c80da8..592ef731e28ea 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/SortedSetCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/SortedSetCommandsTest.java @@ -43,7 +43,6 @@ void initialize() { setOfPlaces = ds.sortedSet(Place.class); setOfStrings = ds.sortedSet(String.class); - } @AfterEach @@ -55,6 +54,12 @@ private void populate() { setOfPlaces.zadd(key, Map.of(Place.crussol, 1.0, Place.grignan, 2.0, Place.suze, 3.0)); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(setOfStrings.getDataSource()); + assertThat(ds).isEqualTo(setOfPlaces.getDataSource()); + } + @Test void zadd() { assertThat(setOfPlaces.zadd(key, 1.0, Place.crussol)).isTrue(); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/StringCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/StringCommandsTest.java index e5a0a1572984a..d6fce83fbca04 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/StringCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/StringCommandsTest.java @@ -40,6 +40,11 @@ void clear() { ds.flushall(); } + @Test + void getDataSource() { + assertThat(ds).isEqualTo(strings.getDataSource()); + } + @Test void append() { assertThat(strings.append(key, value)).isEqualTo(value.length()); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalBitMapCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalBitMapCommandsTest.java index 968e46c33141c..4c15a4a1f5a5a 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalBitMapCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalBitMapCommandsTest.java @@ -37,6 +37,7 @@ public void clear() { public void bitMapBlocking() { TransactionResult result = blocking.withTransaction(tx -> { TransactionalBitMapCommands bitmap = tx.bitmap(String.class); + assertThat(bitmap.getDataSource()).isEqualTo(tx); bitmap.bitcount(key); // 0 -> 0 bitmap.setbit(key, 0L, 1); // 1 -> 1 bitmap.setbit(key, 1L, 1); // 2 -> 2 diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalGeoCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalGeoCommandsTest.java index 00b411bc080f5..503de2254a51a 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalGeoCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalGeoCommandsTest.java @@ -40,6 +40,7 @@ public void clear() { public void geoBlocking() { TransactionResult result = blocking.withTransaction(tx -> { TransactionalGeoCommands geo = tx.geo(String.class); + assertThat(geo.getDataSource()).isEqualTo(tx); geo.geoadd(key, 10, 10, "1"); // 0 - true geo.geoadd(key, GeoItem.of("2", GeoPosition.of(-1, -1))); // 1 - true geo.geoadd(key, GeoItem.of("3", -20, -20)); // 2 - true diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalHashCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalHashCommandsTest.java index dfc0ca93c404a..76145f2f90d1e 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalHashCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalHashCommandsTest.java @@ -36,6 +36,7 @@ public void clear() { public void hgetBlocking() { TransactionResult result = blocking.withTransaction(tx -> { TransactionalHashCommands hash = tx.hash(String.class); + assertThat(hash.getDataSource()).isEqualTo(tx); hash.hget(KEY, "field"); // 0 -> null hash.hset(KEY, "field", "hello"); // 1 -> true hash.hget(KEY, "field"); // 2 -> "hello diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalHyperLogLogCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalHyperLogLogCommandsTest.java index 0e35aacaacdf5..13d77c1b66a33 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalHyperLogLogCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalHyperLogLogCommandsTest.java @@ -34,6 +34,7 @@ public void clear() { public void hllBlocking() { TransactionResult result = blocking.withTransaction(tx -> { TransactionalHyperLogLogCommands hll = tx.hyperloglog(String.class); + assertThat(hll.getDataSource()).isEqualTo(tx); hll.pfadd(key, "a", "b", "c", "d"); // 0 -> true hll.pfcount(key); // 1 -> 4 hll.pfadd(key, "a", "d", "e"); // 2 -> true diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalKeyTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalKeyTest.java index 49e24cde384b7..4043004f019c6 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalKeyTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalKeyTest.java @@ -38,7 +38,9 @@ public void clear() { public void keyBlocking() { TransactionResult result = blocking.withTransaction(tx -> { TransactionalKeyCommands keys = tx.key(); + assertThat(keys.getDataSource()).isEqualTo(tx); TransactionalHashCommands hash = tx.hash(String.class); + assertThat(hash.getDataSource()).isEqualTo(tx); hash.hset("k1", Map.of("1", "a", "2", "b", "3", "c")); hash.hset("k2", "4", "d"); keys.type("k1"); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalListCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalListCommandsTest.java index 4e6859858b46e..3d00167c5dfd5 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalListCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalListCommandsTest.java @@ -34,6 +34,7 @@ public void clear() { public void listBlocking() { TransactionResult result = blocking.withTransaction(tx -> { TransactionalListCommands list = tx.list(String.class); + assertThat(list.getDataSource()).isEqualTo(tx); list.lpush(key, "a", "b", "c", "d"); list.linsertBeforePivot(key, "c", "1"); list.lpos(key, "c"); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalSetCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalSetCommandsTest.java index 7cf6dd4348624..24c172c2c4dfe 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalSetCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalSetCommandsTest.java @@ -34,6 +34,7 @@ public void clear() { public void setBlocking() { TransactionResult result = blocking.withTransaction(tx -> { TransactionalSetCommands set = tx.set(String.class); + assertThat(set.getDataSource()).isEqualTo(tx); set.sadd(key, "a", "b", "c", "d"); set.sadd(key, "c", "1"); set.spop(key); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalSortedSetCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalSortedSetCommandsTest.java index b1adc85cda942..bfae930579803 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalSortedSetCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalSortedSetCommandsTest.java @@ -37,6 +37,7 @@ public void clear() { public void setBlocking() { TransactionResult result = blocking.withTransaction(tx -> { TransactionalSortedSetCommands set = tx.sortedSet(String.class); + assertThat(set.getDataSource()).isEqualTo(tx); set.zadd(key, Map.of("a", 1.0, "b", 2.0, "c", 3.0, "d", 4.0)); set.zadd(key, 3.0, "e"); set.zpopmin(key); diff --git a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalStringCommandsTest.java b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalStringCommandsTest.java index 947f174a2c6fe..f0abbbd6b16d3 100644 --- a/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalStringCommandsTest.java +++ b/extensions/redis-client/runtime/src/test/java/io/quarkus/redis/datasource/TransactionalStringCommandsTest.java @@ -35,6 +35,7 @@ public void clear() { public void setBlocking() { TransactionResult result = blocking.withTransaction(tx -> { TransactionalStringCommands string = tx.string(String.class); + assertThat(string.getDataSource()).isEqualTo(tx); string.set(key, "hello"); string.setnx("k2", "bonjour"); string.append(key, "-1");