From 039aef6bdf60279ecc874432bc8baada9fd147e7 Mon Sep 17 00:00:00 2001 From: Nikita Date: Thu, 19 Jul 2018 17:27:58 +0300 Subject: [PATCH] RBatchReactive synced with RBatch interface --- .../java/org/redisson/RedissonReactive.java | 9 ++- .../java/org/redisson/api/RBatchReactive.java | 72 +++++++++++++++++++ .../reactive/RedissonBatchReactive.java | 39 ++++++++++ .../RedissonListMultimapReactive.java | 5 +- .../reactive/RedissonSetMultimapReactive.java | 5 +- 5 files changed, 119 insertions(+), 11 deletions(-) diff --git a/redisson/src/main/java/org/redisson/RedissonReactive.java b/redisson/src/main/java/org/redisson/RedissonReactive.java index 4a658bb94..5ea4e0ec6 100644 --- a/redisson/src/main/java/org/redisson/RedissonReactive.java +++ b/redisson/src/main/java/org/redisson/RedissonReactive.java @@ -109,7 +109,6 @@ public class RedissonReactive implements RedissonReactiveClient { protected final Config config; protected final ReferenceCodecProvider codecProvider; - protected final UUID id = UUID.randomUUID(); protected final SemaphorePubSub semaphorePubSub = new SemaphorePubSub(); protected RedissonReactive(Config config) { @@ -220,22 +219,22 @@ public class RedissonReactive implements RedissonReactiveClient { @Override public RListMultimapReactive getListMultimap(String name) { - return new RedissonListMultimapReactive(id, commandExecutor, name); + return new RedissonListMultimapReactive(commandExecutor, name); } @Override public RListMultimapReactive getListMultimap(String name, Codec codec) { - return new RedissonListMultimapReactive(id, codec, commandExecutor, name); + return new RedissonListMultimapReactive(codec, commandExecutor, name); } @Override public RSetMultimapReactive getSetMultimap(String name) { - return new RedissonSetMultimapReactive(id, commandExecutor, name); + return new RedissonSetMultimapReactive(commandExecutor, name); } @Override public RSetMultimapReactive getSetMultimap(String name, Codec codec) { - return new RedissonSetMultimapReactive(id, codec, commandExecutor, name); + return new RedissonSetMultimapReactive(codec, commandExecutor, name); } @Override diff --git a/redisson/src/main/java/org/redisson/api/RBatchReactive.java b/redisson/src/main/java/org/redisson/api/RBatchReactive.java index 394b9acf4..ca94cc417 100644 --- a/redisson/src/main/java/org/redisson/api/RBatchReactive.java +++ b/redisson/src/main/java/org/redisson/api/RBatchReactive.java @@ -33,6 +33,48 @@ import org.redisson.client.codec.Codec; */ public interface RBatchReactive { + /** + * Returns geospatial items holder instance by name. + * + * @param type of value + * @param name - name of object + * @return Geo object + */ + RGeoReactive getGeo(String name); + + /** + * Returns geospatial items holder instance by name + * using provided codec for geospatial members. + * + * @param type of value + * @param name - name of object + * @param codec - codec for value + * @return Geo object + */ + RGeoReactive getGeo(String name, Codec codec); + + /** + * Returns Set based Multimap instance by name. + * + * @param type of key + * @param type of value + * @param name - name of object + * @return SetMultimap object + */ + RSetMultimapReactive getSetMultimap(String name); + + /** + * Returns Set based Multimap instance by name + * using provided codec for both map keys and values. + * + * @param type of key + * @param type of value + * @param name - name of object + * @param codec - codec for keys and values + * @return SetMultimap object + */ + RSetMultimapReactive getSetMultimap(String name, Codec codec); + /** * Returns set-based cache instance by name. * Uses map (value_hash, value) under the hood for minimal memory consumption. @@ -122,6 +164,28 @@ public interface RBatchReactive { RListReactive getList(String name, Codec codec); + /** + * Returns List based MultiMap instance by name. + * + * @param type of key + * @param type of value + * @param name - name of object + * @return ListMultimap object + */ + RListMultimapReactive getListMultimap(String name); + + /** + * Returns List based MultiMap instance by name + * using provided codec for both map keys and values. + * + * @param type of key + * @param type of value + * @param name - name of object + * @param codec - codec for keys and values + * @return ListMultimap object + */ + RListMultimapReactive getListMultimap(String name, Codec codec); + /** * Returns map instance by name. * @@ -197,6 +261,14 @@ public interface RBatchReactive { */ RAtomicLongReactive getAtomicLongReactive(String name); + /** + * Returns atomicDouble instance by name. + * + * @param name - name of object + * @return AtomicDouble object + */ + RAtomicDoubleReactive getAtomicDouble(String name); + /** * Returns Redis Sorted Set instance by name * diff --git a/redisson/src/main/java/org/redisson/reactive/RedissonBatchReactive.java b/redisson/src/main/java/org/redisson/reactive/RedissonBatchReactive.java index 35d3fbc3a..3cc9417c4 100644 --- a/redisson/src/main/java/org/redisson/reactive/RedissonBatchReactive.java +++ b/redisson/src/main/java/org/redisson/reactive/RedissonBatchReactive.java @@ -20,6 +20,7 @@ import java.util.concurrent.TimeUnit; import org.reactivestreams.Publisher; import org.redisson.api.BatchOptions; import org.redisson.api.BatchResult; +import org.redisson.api.RAtomicDoubleReactive; import org.redisson.api.RAtomicLongReactive; import org.redisson.api.RBatchReactive; import org.redisson.api.RBitSetReactive; @@ -27,9 +28,11 @@ import org.redisson.api.RBlockingQueueReactive; import org.redisson.api.RBucketReactive; import org.redisson.api.RDequeReactive; import org.redisson.api.RFuture; +import org.redisson.api.RGeoReactive; import org.redisson.api.RHyperLogLogReactive; import org.redisson.api.RKeysReactive; import org.redisson.api.RLexSortedSetReactive; +import org.redisson.api.RListMultimapReactive; import org.redisson.api.RListReactive; import org.redisson.api.RMapCacheReactive; import org.redisson.api.RMapReactive; @@ -37,6 +40,7 @@ import org.redisson.api.RQueueReactive; import org.redisson.api.RScoredSortedSetReactive; import org.redisson.api.RScriptReactive; import org.redisson.api.RSetCacheReactive; +import org.redisson.api.RSetMultimapReactive; import org.redisson.api.RSetReactive; import org.redisson.api.RTopicReactive; import org.redisson.api.RedissonReactiveClient; @@ -258,4 +262,39 @@ public class RedissonBatchReactive implements RBatchReactive { this.executorService.enableRedissonReferenceSupport(redissonReactive); } + @Override + public RGeoReactive getGeo(String name) { + return new RedissonGeoReactive(executorService, name); + } + + @Override + public RGeoReactive getGeo(String name, Codec codec) { + return new RedissonGeoReactive(codec, executorService, name); + } + + @Override + public RSetMultimapReactive getSetMultimap(String name) { + return new RedissonSetMultimapReactive(executorService, name); + } + + @Override + public RSetMultimapReactive getSetMultimap(String name, Codec codec) { + return new RedissonSetMultimapReactive(codec, executorService, name); + } + + @Override + public RListMultimapReactive getListMultimap(String name) { + return new RedissonListMultimapReactive(executorService, name); + } + + @Override + public RListMultimapReactive getListMultimap(String name, Codec codec) { + return new RedissonListMultimapReactive(codec, executorService, name); + } + + @Override + public RAtomicDoubleReactive getAtomicDouble(String name) { + return new RedissonAtomicDoubleReactive(executorService, name); + } + } diff --git a/redisson/src/main/java/org/redisson/reactive/RedissonListMultimapReactive.java b/redisson/src/main/java/org/redisson/reactive/RedissonListMultimapReactive.java index fc6ca2bb7..e7f0c6133 100644 --- a/redisson/src/main/java/org/redisson/reactive/RedissonListMultimapReactive.java +++ b/redisson/src/main/java/org/redisson/reactive/RedissonListMultimapReactive.java @@ -16,7 +16,6 @@ package org.redisson.reactive; import java.util.List; -import java.util.UUID; import org.reactivestreams.Publisher; import org.redisson.RedissonListMultimap; @@ -39,11 +38,11 @@ import reactor.fn.Supplier; */ public class RedissonListMultimapReactive extends RedissonBaseMultimapReactive implements RListMultimapReactive { - public RedissonListMultimapReactive(UUID id, CommandReactiveExecutor commandExecutor, String name) { + public RedissonListMultimapReactive(CommandReactiveExecutor commandExecutor, String name) { super(new RedissonListMultimap(commandExecutor, name), commandExecutor, name); } - public RedissonListMultimapReactive(UUID id, Codec codec, CommandReactiveExecutor commandExecutor, String name) { + public RedissonListMultimapReactive(Codec codec, CommandReactiveExecutor commandExecutor, String name) { super(new RedissonListMultimap(codec, commandExecutor, name), codec, commandExecutor, name); } diff --git a/redisson/src/main/java/org/redisson/reactive/RedissonSetMultimapReactive.java b/redisson/src/main/java/org/redisson/reactive/RedissonSetMultimapReactive.java index 89d199574..ca105b81d 100644 --- a/redisson/src/main/java/org/redisson/reactive/RedissonSetMultimapReactive.java +++ b/redisson/src/main/java/org/redisson/reactive/RedissonSetMultimapReactive.java @@ -16,7 +16,6 @@ package org.redisson.reactive; import java.util.Set; -import java.util.UUID; import org.reactivestreams.Publisher; import org.redisson.RedissonSetMultimap; @@ -39,11 +38,11 @@ import reactor.fn.Supplier; */ public class RedissonSetMultimapReactive extends RedissonBaseMultimapReactive implements RSetMultimapReactive { - public RedissonSetMultimapReactive(UUID id, CommandReactiveExecutor commandExecutor, String name) { + public RedissonSetMultimapReactive(CommandReactiveExecutor commandExecutor, String name) { super(new RedissonSetMultimap(commandExecutor, name), commandExecutor, name); } - public RedissonSetMultimapReactive(UUID id, Codec codec, CommandReactiveExecutor commandExecutor, String name) { + public RedissonSetMultimapReactive(Codec codec, CommandReactiveExecutor commandExecutor, String name) { super(new RedissonSetMultimap(codec, commandExecutor, name), codec, commandExecutor, name); }