diff --git a/redisson/pom.xml b/redisson/pom.xml index 67172b157..cf8996ce7 100644 --- a/redisson/pom.xml +++ b/redisson/pom.xml @@ -360,29 +360,6 @@ - - **/org/redisson/api/**/*.java, - **/org/redisson/cache/**/*.java, - **/org/redisson/client/**/*.java, - **/org/redisson/cluster/**/*.java, - **/org/redisson/codec/**/*.java, - **/org/redisson/command/**/*.java, - **/org/redisson/config/**/*.java, - **/org/redisson/connection/**/*.java, - **/org/redisson/eviction/**/*.java, - **/org/redisson/executor/**/*.java, - **/org/redisson/jcache/**/*.java, - **/org/redisson/liveobject/**/*.java, - **/org/redisson/mapreduce/**/*.java, - **/org/redisson/misc/**/*.java, - **/org/redisson/pubsub/**/*.java, - **/org/redisson/reactive/**/*.java, - **/org/redisson/remote/**/*.java, - **/org/redisson/rx/**/*.java, - **/org/redisson/spring/**/*.java, - **/org/redisson/transaction/**/*.java, - - true false /checkstyle.xml diff --git a/redisson/src/main/java/org/redisson/PubSubMessageListener.java b/redisson/src/main/java/org/redisson/PubSubMessageListener.java index 9a0880403..fd0df0e40 100644 --- a/redisson/src/main/java/org/redisson/PubSubMessageListener.java +++ b/redisson/src/main/java/org/redisson/PubSubMessageListener.java @@ -15,9 +15,6 @@ */ package org.redisson; -import java.util.ArrayList; -import java.util.List; - import org.redisson.api.listener.MessageListener; import org.redisson.client.RedisPubSubListener; import org.redisson.client.protocol.pubsub.PubSubType; @@ -46,6 +43,7 @@ public class PubSubMessageListener implements RedisPubSubListener { } @Override + @SuppressWarnings("AvoidInlineConditionals") public int hashCode() { final int prime = 31; int result = 1; @@ -78,7 +76,7 @@ public class PubSubMessageListener implements RedisPubSubListener { public void onMessage(CharSequence channel, Object message) { // could be subscribed to multiple channels if (name.equals(channel.toString()) && type.isInstance(message)) { - listener.onMessage(channel, (V)message); + listener.onMessage(channel, (V) message); } } @@ -86,7 +84,7 @@ public class PubSubMessageListener implements RedisPubSubListener { public void onPatternMessage(CharSequence pattern, CharSequence channel, Object message) { // could be subscribed to multiple channels if (name.equals(pattern.toString()) && type.isInstance(message)) { - listener.onMessage(channel, (V)message); + listener.onMessage(channel, (V) message); } } diff --git a/redisson/src/main/java/org/redisson/PubSubPatternMessageListener.java b/redisson/src/main/java/org/redisson/PubSubPatternMessageListener.java index 635e82b17..8e78fe221 100644 --- a/redisson/src/main/java/org/redisson/PubSubPatternMessageListener.java +++ b/redisson/src/main/java/org/redisson/PubSubPatternMessageListener.java @@ -43,6 +43,7 @@ public class PubSubPatternMessageListener implements RedisPubSubListener { } @Override + @SuppressWarnings("AvoidInlineConditionals") public int hashCode() { final int prime = 31; int result = 1; diff --git a/redisson/src/main/java/org/redisson/PubSubPatternStatusListener.java b/redisson/src/main/java/org/redisson/PubSubPatternStatusListener.java index 77e5f47fa..7ce5b9890 100644 --- a/redisson/src/main/java/org/redisson/PubSubPatternStatusListener.java +++ b/redisson/src/main/java/org/redisson/PubSubPatternStatusListener.java @@ -40,6 +40,7 @@ public class PubSubPatternStatusListener implements RedisPubSubListener } @Override + @SuppressWarnings("AvoidInlineConditionals") public int hashCode() { final int prime = 31; int result = 1; diff --git a/redisson/src/main/java/org/redisson/PubSubStatusListener.java b/redisson/src/main/java/org/redisson/PubSubStatusListener.java index 4e1c2243c..d287d49a4 100644 --- a/redisson/src/main/java/org/redisson/PubSubStatusListener.java +++ b/redisson/src/main/java/org/redisson/PubSubStatusListener.java @@ -40,6 +40,7 @@ public class PubSubStatusListener implements RedisPubSubListener { } @Override + @SuppressWarnings("AvoidInlineConditionals") public int hashCode() { final int prime = 31; int result = 1; diff --git a/redisson/src/main/java/org/redisson/RedisNodes.java b/redisson/src/main/java/org/redisson/RedisNodes.java index d1628be6d..feb0e718d 100644 --- a/redisson/src/main/java/org/redisson/RedisNodes.java +++ b/redisson/src/main/java/org/redisson/RedisNodes.java @@ -113,7 +113,7 @@ public class RedisNodes implements NodesGroup { @Override public boolean pingAll() { - List clients = new ArrayList((Collection)getNodes()); + List clients = new ArrayList<>((Collection) getNodes()); Map> result = new ConcurrentHashMap<>(clients.size()); CountDownLatch latch = new CountDownLatch(clients.size()); for (RedisClientEntry entry : clients) { diff --git a/redisson/src/main/java/org/redisson/RedissonBaseAdder.java b/redisson/src/main/java/org/redisson/RedissonBaseAdder.java index f8db8ca76..3ee4713c5 100644 --- a/redisson/src/main/java/org/redisson/RedissonBaseAdder.java +++ b/redisson/src/main/java/org/redisson/RedissonBaseAdder.java @@ -42,7 +42,7 @@ public abstract class RedissonBaseAdder extends RedissonExpira private final RPromise result; - private ResetListener(RPromise result) { + ResetListener(RPromise result) { this.result = result; } @@ -72,7 +72,7 @@ public abstract class RedissonBaseAdder extends RedissonExpira private final RPromise result; - private SumListener(RPromise result) { + SumListener(RPromise result) { this.result = result; } diff --git a/redisson/src/main/java/org/redisson/RedissonBaseMapIterator.java b/redisson/src/main/java/org/redisson/RedissonBaseMapIterator.java index fc350d610..009f6d61e 100644 --- a/redisson/src/main/java/org/redisson/RedissonBaseMapIterator.java +++ b/redisson/src/main/java/org/redisson/RedissonBaseMapIterator.java @@ -28,8 +28,8 @@ import java.util.Map.Entry; public abstract class RedissonBaseMapIterator extends BaseIterator> { @SuppressWarnings("unchecked") - protected V getValue(final Map.Entry entry) { - return (V)new AbstractMap.SimpleEntry(entry.getKey(), entry.getValue()) { + protected V getValue(Map.Entry entry) { + return (V) new AbstractMap.SimpleEntry(entry.getKey(), entry.getValue()) { @Override public Object setValue(Object value) { diff --git a/redisson/src/main/java/org/redisson/RedissonBinaryStream.java b/redisson/src/main/java/org/redisson/RedissonBinaryStream.java index cf9000833..ff2e48d51 100644 --- a/redisson/src/main/java/org/redisson/RedissonBinaryStream.java +++ b/redisson/src/main/java/org/redisson/RedissonBinaryStream.java @@ -44,7 +44,7 @@ public class RedissonBinaryStream extends RedissonBucket implements RBin @Override public void write(int b) throws IOException { - writeBytes(new byte[] {(byte)b}); + writeBytes(new byte[] {(byte) b}); } private void writeBytes(byte[] bytes) { @@ -104,7 +104,7 @@ public class RedissonBinaryStream extends RedissonBucket implements RBin @Override public int available() throws IOException { - return (int)(size() - index); + return (int) (size() - index); } @Override @@ -134,7 +134,7 @@ public class RedissonBinaryStream extends RedissonBucket implements RBin throw new IndexOutOfBoundsException(); } - return (Integer)get(commandExecutor.evalReadAsync(getName(), codec, new RedisCommand("EVAL", new Decoder() { + return (Integer) get(commandExecutor.evalReadAsync(getName(), codec, new RedisCommand("EVAL", new Decoder() { @Override public Integer decode(ByteBuf buf, State state) { if (buf.readableBytes() == 0) { diff --git a/redisson/src/main/java/org/redisson/RedissonBitSet.java b/redisson/src/main/java/org/redisson/RedissonBitSet.java index f2c63a794..bc9af2987 100644 --- a/redisson/src/main/java/org/redisson/RedissonBitSet.java +++ b/redisson/src/main/java/org/redisson/RedissonBitSet.java @@ -83,7 +83,16 @@ public class RedissonBitSet extends RedissonExpirable implements RBitSet { @Override public RFuture setAsync(long bitIndex, boolean value) { - return commandExecutor.writeAsync(getName(), LongCodec.INSTANCE, RedisCommands.SETBIT, getName(), bitIndex, value ? 1 : 0); + int val = toInt(value); + return commandExecutor.writeAsync(getName(), LongCodec.INSTANCE, RedisCommands.SETBIT, getName(), bitIndex, val); + } + + protected int toInt(boolean value) { + int val = 0; + if (value) { + val = 1; + } + return val; } @Override @@ -199,9 +208,10 @@ public class RedissonBitSet extends RedissonExpirable implements RBitSet { @Override public RFuture setAsync(long fromIndex, long toIndex, boolean value) { + int val = toInt(value); CommandBatchService executorService = new CommandBatchService(commandExecutor.getConnectionManager()); for (long i = fromIndex; i < toIndex; i++) { - executorService.writeAsync(getName(), LongCodec.INSTANCE, RedisCommands.SETBIT_VOID, getName(), i, value ? 1 : 0); + executorService.writeAsync(getName(), LongCodec.INSTANCE, RedisCommands.SETBIT_VOID, getName(), i, val); } return executorService.executeAsyncVoid(); } diff --git a/redisson/src/main/java/org/redisson/RedissonBlockingDeque.java b/redisson/src/main/java/org/redisson/RedissonBlockingDeque.java index de5441af6..34a0f2b6e 100644 --- a/redisson/src/main/java/org/redisson/RedissonBlockingDeque.java +++ b/redisson/src/main/java/org/redisson/RedissonBlockingDeque.java @@ -15,9 +15,7 @@ */ package org.redisson; -import java.util.ArrayList; import java.util.Collection; -import java.util.List; import java.util.concurrent.TimeUnit; import org.redisson.api.RBlockingDeque; diff --git a/redisson/src/main/java/org/redisson/RedissonBoundedBlockingQueue.java b/redisson/src/main/java/org/redisson/RedissonBoundedBlockingQueue.java index 294dc635d..84f0854fa 100644 --- a/redisson/src/main/java/org/redisson/RedissonBoundedBlockingQueue.java +++ b/redisson/src/main/java/org/redisson/RedissonBoundedBlockingQueue.java @@ -274,7 +274,7 @@ public class RedissonBoundedBlockingQueue extends RedissonQueue implements } String channelName = RedissonSemaphore.getChannelName(getSemaphoreName()); - return commandExecutor.evalWriteAsync(getName(), codec, new RedisCommand("EVAL", new ListDrainToDecoder((Collection)c)), + return commandExecutor.evalWriteAsync(getName(), codec, new RedisCommand("EVAL", new ListDrainToDecoder((Collection) c)), "local vals = redis.call('lrange', KEYS[1], 0, -1); " + "redis.call('del', KEYS[1]); " + "if #vals > 0 then " @@ -302,7 +302,7 @@ public class RedissonBoundedBlockingQueue extends RedissonQueue implements String channelName = RedissonSemaphore.getChannelName(getSemaphoreName()); - return commandExecutor.evalWriteAsync(getName(), codec, new RedisCommand("EVAL", new ListDrainToDecoder((Collection)c)), + return commandExecutor.evalWriteAsync(getName(), codec, new RedisCommand("EVAL", new ListDrainToDecoder((Collection) c)), "local elemNum = math.min(ARGV[1], redis.call('llen', KEYS[1])) - 1;" + "local vals = redis.call('lrange', KEYS[1], 0, elemNum); " + "redis.call('ltrim', KEYS[1], elemNum + 1, -1); " + diff --git a/redisson/src/main/java/org/redisson/RedissonCountDownLatch.java b/redisson/src/main/java/org/redisson/RedissonCountDownLatch.java index c9e3a5342..b315c4b98 100644 --- a/redisson/src/main/java/org/redisson/RedissonCountDownLatch.java +++ b/redisson/src/main/java/org/redisson/RedissonCountDownLatch.java @@ -37,8 +37,8 @@ import org.redisson.pubsub.CountDownLatchPubSub; */ public class RedissonCountDownLatch extends RedissonObject implements RCountDownLatch { - public static final Long zeroCountMessage = 0L; - public static final Long newCountMessage = 1L; + public static final Long ZERO_COUNT_MESSAGE = 0L; + public static final Long NEW_COUNT_MESSAGE = 1L; private static final CountDownLatchPubSub PUBSUB = new CountDownLatchPubSub(); @@ -76,7 +76,7 @@ public class RedissonCountDownLatch extends RedissonObject implements RCountDown } try { - remainTime -= (System.currentTimeMillis() - current); + remainTime -= System.currentTimeMillis() - current; if (remainTime <= 0) { return false; } @@ -92,7 +92,7 @@ public class RedissonCountDownLatch extends RedissonObject implements RCountDown entry.getLatch().await(remainTime, TimeUnit.MILLISECONDS); } - remainTime -= (System.currentTimeMillis() - current); + remainTime -= System.currentTimeMillis() - current; } return true; @@ -124,7 +124,7 @@ public class RedissonCountDownLatch extends RedissonObject implements RCountDown "local v = redis.call('decr', KEYS[1]);" + "if v <= 0 then redis.call('del', KEYS[1]) end;" + "if v == 0 then redis.call('publish', KEYS[2], ARGV[1]) end;", - Arrays.asList(getName(), getChannelName()), zeroCountMessage); + Arrays.asList(getName(), getChannelName()), ZERO_COUNT_MESSAGE); } private String getEntryName() { @@ -160,7 +160,7 @@ public class RedissonCountDownLatch extends RedissonObject implements RCountDown + "else " + "return 0 " + "end", - Arrays.asList(getName(), getChannelName()), newCountMessage, count); + Arrays.asList(getName(), getChannelName()), NEW_COUNT_MESSAGE, count); } @Override @@ -172,7 +172,7 @@ public class RedissonCountDownLatch extends RedissonObject implements RCountDown + "else " + "return 0 " + "end", - Arrays.asList(getName(), getChannelName()), newCountMessage); + Arrays.asList(getName(), getChannelName()), NEW_COUNT_MESSAGE); } } diff --git a/redisson/src/main/java/org/redisson/RedissonDelayedQueue.java b/redisson/src/main/java/org/redisson/RedissonDelayedQueue.java index f6f447803..4c8e52111 100644 --- a/redisson/src/main/java/org/redisson/RedissonDelayedQueue.java +++ b/redisson/src/main/java/org/redisson/RedissonDelayedQueue.java @@ -106,8 +106,7 @@ public class RedissonDelayedQueue extends RedissonExpirable implements RDelay + "local v = redis.call('zrange', KEYS[2], 0, 0); " + "if v[1] == value then " + "redis.call('publish', KEYS[4], ARGV[1]); " - + "end;" - , + + "end;", Arrays.asList(getName(), timeoutSetName, queueName, channelName), timeout, randomId, encode(e)); } @@ -166,7 +165,7 @@ public class RedissonDelayedQueue extends RedissonExpirable implements RDelay } V getValue(int index) { - return (V)get(commandExecutor.evalReadAsync(getName(), codec, RedisCommands.EVAL_OBJECT, + return (V) get(commandExecutor.evalReadAsync(getName(), codec, RedisCommands.EVAL_OBJECT, "local v = redis.call('lindex', KEYS[1], ARGV[1]); " + "if v ~= false then " + "local randomId, value = struct.unpack('dLc0', v);" diff --git a/redisson/src/main/java/org/redisson/RedissonExecutorService.java b/redisson/src/main/java/org/redisson/RedissonExecutorService.java index 9f33ab968..c6218e592 100644 --- a/redisson/src/main/java/org/redisson/RedissonExecutorService.java +++ b/redisson/src/main/java/org/redisson/RedissonExecutorService.java @@ -42,7 +42,6 @@ import java.util.concurrent.RejectedExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import java.util.concurrent.atomic.AtomicReference; -import java.util.function.BiConsumer; import org.redisson.api.CronSchedule; import org.redisson.api.ExecutorOptions; @@ -102,7 +101,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { private static final Logger LOGGER = LoggerFactory.getLogger(RedissonExecutorService.class); - private static RemoteInvocationOptions RESULT_OPTIONS = RemoteInvocationOptions.defaults().noAck().expectResultWithin(1, TimeUnit.HOURS); + private static final RemoteInvocationOptions RESULT_OPTIONS = RemoteInvocationOptions.defaults().noAck().expectResultWithin(1, TimeUnit.HOURS); public static final int SHUTDOWN_STATE = 1; public static final int TERMINATED_STATE = 2; @@ -166,8 +165,8 @@ public class RedissonExecutorService implements RScheduledExecutorService { } remoteService = new RedissonExecutorRemoteService(codec, redisson, name, connectionManager.getCommandExecutor(), executorId, responses); - requestQueueName = ((RedissonRemoteService)remoteService).getRequestQueueName(RemoteExecutorService.class); - responseQueueName = ((RedissonRemoteService)remoteService).getResponseQueueName(executorId); + requestQueueName = ((RedissonRemoteService) remoteService).getRequestQueueName(RemoteExecutorService.class); + responseQueueName = ((RedissonRemoteService) remoteService).getResponseQueueName(executorId); String objectName = requestQueueName; tasksCounterName = objectName + ":counter"; tasksName = objectName + ":tasks"; @@ -323,7 +322,8 @@ public class RedissonExecutorService implements RScheduledExecutorService { check(task); ClassBody classBody = getClassBody(task); byte[] state = encode(task); - RemotePromise promise = (RemotePromise)asyncServiceWithoutResult.executeRunnable(new TaskParameters(classBody.getClazzName(), classBody.getClazz(), classBody.getLambda(), state)); + RemotePromise promise = (RemotePromise) asyncServiceWithoutResult.executeRunnable( + new TaskParameters(classBody.getClazzName(), classBody.getClazz(), classBody.getLambda(), state)); syncExecute(promise); } @@ -586,7 +586,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { check(task); ClassBody classBody = getClassBody(task); byte[] state = encode(task); - RemotePromise promise = (RemotePromise)asyncService.executeCallable(new TaskParameters(classBody.getClazzName(), classBody.getClazz(), classBody.getLambda(), state)); + RemotePromise promise = (RemotePromise) asyncService.executeCallable(new TaskParameters(classBody.getClazzName(), classBody.getClazz(), classBody.getLambda(), state)); RedissonExecutorFuture executorFuture = new RedissonExecutorFuture(promise); result.add(executorFuture); } @@ -612,7 +612,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { check(task); ClassBody classBody = getClassBody(task); byte[] state = encode(task); - RemotePromise promise = (RemotePromise)asyncService.executeCallable(new TaskParameters(classBody.getClazzName(), classBody.getClazz(), classBody.getLambda(), state)); + RemotePromise promise = (RemotePromise) asyncService.executeCallable(new TaskParameters(classBody.getClazzName(), classBody.getClazz(), classBody.getLambda(), state)); RedissonExecutorFuture executorFuture = new RedissonExecutorFuture(promise); result.add(executorFuture); } @@ -620,7 +620,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { executorRemoteService.executeAddAsync().onComplete((res, e) -> { if (e != null) { for (RExecutorFuture executorFuture : result) { - ((RPromise)executorFuture).tryFailure(e); + ((RPromise) executorFuture).tryFailure(e); } return; } @@ -629,7 +629,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { if (!bool) { RejectedExecutionException ex = new RejectedExecutionException("Task rejected. ExecutorService is in shutdown state"); for (RExecutorFuture executorFuture : result) { - ((RPromise)executorFuture).tryFailure(ex); + ((RPromise) executorFuture).tryFailure(ex); } break; } @@ -702,7 +702,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { check(task); ClassBody classBody = getClassBody(task); byte[] state = encode(task); - RemotePromise promise = (RemotePromise)asyncService.executeRunnable(new TaskParameters(classBody.getClazzName(), classBody.getClazz(), classBody.getLambda(), state)); + RemotePromise promise = (RemotePromise) asyncService.executeRunnable(new TaskParameters(classBody.getClazzName(), classBody.getClazz(), classBody.getLambda(), state)); RedissonExecutorFuture executorFuture = new RedissonExecutorFuture(promise); result.add(executorFuture); } @@ -728,7 +728,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { check(task); ClassBody classBody = getClassBody(task); byte[] state = encode(task); - RemotePromise promise = (RemotePromise)asyncService.executeRunnable(new TaskParameters(classBody.getClazzName(), classBody.getClazz(), classBody.getLambda(), state)); + RemotePromise promise = (RemotePromise) asyncService.executeRunnable(new TaskParameters(classBody.getClazzName(), classBody.getClazz(), classBody.getLambda(), state)); RedissonExecutorFuture executorFuture = new RedissonExecutorFuture(promise); result.add(executorFuture); } @@ -736,7 +736,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { executorRemoteService.executeAddAsync().onComplete((res, e) -> { if (e != null) { for (RExecutorFuture executorFuture : result) { - ((RPromise)executorFuture).tryFailure(e); + ((RPromise) executorFuture).tryFailure(e); } return; } @@ -745,7 +745,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { if (!bool) { RejectedExecutionException ex = new RejectedExecutionException("Task rejected. ExecutorService is in shutdown state"); for (RExecutorFuture executorFuture : result) { - ((RPromise)executorFuture).tryFailure(ex); + ((RPromise) executorFuture).tryFailure(ex); } break; } @@ -795,7 +795,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { @Override public RScheduledFuture schedule(Runnable task, long delay, TimeUnit unit) { RedissonScheduledFuture future = (RedissonScheduledFuture) scheduleAsync(task, delay, unit); - RemotePromise rp = (RemotePromise)future.getInnerPromise(); + RemotePromise rp = (RemotePromise) future.getInnerPromise(); syncExecute(rp); storeReference(future, rp.getRequestId()); return future; @@ -846,7 +846,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { @Override public RScheduledFuture schedule(Callable task, long delay, TimeUnit unit) { RedissonScheduledFuture future = (RedissonScheduledFuture) scheduleAsync(task, delay, unit); - RemotePromise rp = (RemotePromise)future.getInnerPromise(); + RemotePromise rp = (RemotePromise) future.getInnerPromise(); syncExecute(rp); storeReference(future, rp.getRequestId()); return future; @@ -866,7 +866,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { @Override public RScheduledFuture scheduleAtFixedRate(Runnable task, long initialDelay, long period, TimeUnit unit) { RedissonScheduledFuture future = (RedissonScheduledFuture) scheduleAtFixedRateAsync(task, initialDelay, period, unit); - RemotePromise rp = (RemotePromise)future.getInnerPromise(); + RemotePromise rp = (RemotePromise) future.getInnerPromise(); syncExecute(rp); storeReference(future, rp.getRequestId()); return future; @@ -894,7 +894,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { @Override public RScheduledFuture schedule(Runnable task, CronSchedule cronSchedule) { RedissonScheduledFuture future = (RedissonScheduledFuture) scheduleAsync(task, cronSchedule); - RemotePromise rp = (RemotePromise)future.getInnerPromise(); + RemotePromise rp = (RemotePromise) future.getInnerPromise(); syncExecute(rp); storeReference(future, rp.getRequestId()); return future; @@ -934,7 +934,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { @Override public RScheduledFuture scheduleWithFixedDelay(Runnable task, long initialDelay, long delay, TimeUnit unit) { RedissonScheduledFuture future = (RedissonScheduledFuture) scheduleWithFixedDelayAsync(task, initialDelay, delay, unit); - RemotePromise rp = (RemotePromise)future.getInnerPromise(); + RemotePromise rp = (RemotePromise) future.getInnerPromise(); syncExecute(rp); storeReference(future, rp.getRequestId()); return future; @@ -997,8 +997,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { } @Override - public T invokeAny(Collection> tasks) - throws InterruptedException, ExecutionException { + public T invokeAny(Collection> tasks) throws InterruptedException, ExecutionException { try { return invokeAny(tasks, -1, null); } catch (TimeoutException cannotHappen) { @@ -1008,8 +1007,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { @Override public T invokeAny(Collection> tasks, - long timeout, TimeUnit unit) - throws InterruptedException, ExecutionException, TimeoutException { + long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException { if (tasks == null) { throw new NullPointerException(); } @@ -1039,7 +1037,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { RExecutorBatchFuture future = submit(tasks.toArray(new Callable[tasks.size()])); future.await(); List futures = future.getTaskFutures(); - return (List>)futures; + return (List>) futures; } @Override @@ -1052,7 +1050,7 @@ public class RedissonExecutorService implements RScheduledExecutorService { RExecutorBatchFuture future = submit(tasks.toArray(new Callable[tasks.size()])); future.await(timeout, unit); List futures = future.getTaskFutures(); - return (List>)futures; + return (List>) futures; } } diff --git a/redisson/src/main/java/org/redisson/RedissonGeo.java b/redisson/src/main/java/org/redisson/RedissonGeo.java index cdced18c8..0edb23f5a 100644 --- a/redisson/src/main/java/org/redisson/RedissonGeo.java +++ b/redisson/src/main/java/org/redisson/RedissonGeo.java @@ -53,24 +53,31 @@ import org.redisson.connection.decoder.MapGetAllDecoder; */ public class RedissonGeo extends RedissonScoredSortedSet implements RGeo { - private static final MultiDecoder> postitionDecoder = new ListMultiDecoder(new CodecDecoder(), new GeoPositionDecoder(), new ObjectListReplayDecoder(ListMultiDecoder.RESET), new GeoMapReplayDecoder()); - private static final MultiDecoder> distanceDecoder = new ListMultiDecoder(new GeoDistanceDecoder(), new GeoMapReplayDecoder()); - private static final RedisCommand> GEORADIUS_RO_DISTANCE = new RedisCommand>("GEORADIUS_RO", distanceDecoder); - private static final RedisCommand> GEORADIUS_RO_POS = new RedisCommand>("GEORADIUS_RO", postitionDecoder); - private static final RedisCommand> GEORADIUSBYMEMBER_RO_DISTANCE = new RedisCommand>("GEORADIUSBYMEMBER_RO", distanceDecoder); - private static final RedisCommand> GEORADIUSBYMEMBER_RO_POS = new RedisCommand>("GEORADIUSBYMEMBER_RO", postitionDecoder); - + private static final MultiDecoder> POSTITION_DECODER = new ListMultiDecoder(new CodecDecoder(), + new GeoPositionDecoder(), new ObjectListReplayDecoder(ListMultiDecoder.RESET), new GeoMapReplayDecoder()); + private static final MultiDecoder> DISTANCE_DECODER = new ListMultiDecoder( + new GeoDistanceDecoder(), new GeoMapReplayDecoder()); + private static final RedisCommand> GEORADIUS_RO_DISTANCE = new RedisCommand>( + "GEORADIUS_RO", DISTANCE_DECODER); + private static final RedisCommand> GEORADIUS_RO_POS = new RedisCommand>( + "GEORADIUS_RO", POSTITION_DECODER); + private static final RedisCommand> GEORADIUSBYMEMBER_RO_DISTANCE = new RedisCommand>( + "GEORADIUSBYMEMBER_RO", DISTANCE_DECODER); + private static final RedisCommand> GEORADIUSBYMEMBER_RO_POS = new RedisCommand>( + "GEORADIUSBYMEMBER_RO", POSTITION_DECODER); + public RedissonGeo(CommandAsyncExecutor connectionManager, String name, RedissonClient redisson) { super(connectionManager, name, redisson); } - + public RedissonGeo(Codec codec, CommandAsyncExecutor connectionManager, String name, RedissonClient redisson) { super(codec, connectionManager, name, redisson); } @Override public RFuture addAsync(double longitude, double latitude, V member) { - return commandExecutor.writeAsync(getName(), codec, RedisCommands.GEOADD, getName(), convert(longitude), convert(latitude), encode(member)); + return commandExecutor.writeAsync(getName(), codec, RedisCommands.GEOADD, getName(), convert(longitude), + convert(latitude), encode(member)); } private String convert(double longitude) { @@ -103,17 +110,18 @@ public class RedissonGeo extends RedissonScoredSortedSet implements RGeo distAsync(V firstMember, V secondMember, GeoUnit geoUnit) { - return commandExecutor.readAsync(getName(), StringCodec.INSTANCE, RedisCommands.GEODIST, getName(), encode(firstMember), encode(secondMember), geoUnit); + return commandExecutor.readAsync(getName(), StringCodec.INSTANCE, RedisCommands.GEODIST, getName(), + encode(firstMember), encode(secondMember), geoUnit); } - + @Override public Map hash(V... members) { return get(hashAsync(members)); } - + @Override public RFuture> hashAsync(V... members) { List params = new ArrayList(members.length + 1); @@ -121,15 +129,16 @@ public class RedissonGeo extends RedissonScoredSortedSet implements RGeo> command = new RedisCommand>("GEOHASH", new MapGetAllDecoder((List)Arrays.asList(members), 0)); + RedisCommand> command = new RedisCommand>("GEOHASH", + new MapGetAllDecoder((List) Arrays.asList(members), 0)); return commandExecutor.readAsync(getName(), StringCodec.INSTANCE, command, params.toArray()); } - + @Override public Map pos(V... members) { return get(posAsync(members)); } - + @Override public RFuture> posAsync(V... members) { List params = new ArrayList(members.length + 1); @@ -137,322 +146,370 @@ public class RedissonGeo extends RedissonScoredSortedSet implements RGeo> decoder = new ListMultiDecoder(0, new GeoPositionDecoder(), -// new ObjectListReplayDecoder(ListMultiDecoder.RESET), - new GeoPositionMapDecoder((List)Arrays.asList(members))); + + MultiDecoder> decoder = new ListMultiDecoder(0, new GeoPositionDecoder(), + // new ObjectListReplayDecoder(ListMultiDecoder.RESET), + new GeoPositionMapDecoder((List) Arrays.asList(members))); RedisCommand> command = new RedisCommand>("GEOPOS", decoder); return commandExecutor.readAsync(getName(), StringCodec.INSTANCE, command, params.toArray()); } - + @Override public List radius(double longitude, double latitude, double radius, GeoUnit geoUnit) { return get(radiusAsync(longitude, latitude, radius, geoUnit)); } - + @Override public RFuture> radiusAsync(double longitude, double latitude, double radius, GeoUnit geoUnit) { - return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUS_RO, getName(), convert(longitude), convert(latitude), radius, geoUnit); + return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUS_RO, getName(), convert(longitude), + convert(latitude), radius, geoUnit); } @Override public List radius(double longitude, double latitude, double radius, GeoUnit geoUnit, int count) { return get(radiusAsync(longitude, latitude, radius, geoUnit, count)); } - + @Override public RFuture> radiusAsync(double longitude, double latitude, double radius, GeoUnit geoUnit, int count) { - return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUS_RO, getName(), convert(longitude), convert(latitude), - radius, geoUnit, "COUNT", count); + return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUS_RO, getName(), convert(longitude), + convert(latitude), radius, geoUnit, "COUNT", count); } - + @Override public List radius(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { return get(radiusAsync(longitude, latitude, radius, geoUnit, geoOrder)); } - + @Override - public RFuture> radiusAsync(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { - return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUS_RO, getName(), convert(longitude), convert(latitude), - radius, geoUnit, geoOrder); + public RFuture> radiusAsync(double longitude, double latitude, double radius, GeoUnit geoUnit, + GeoOrder geoOrder) { + return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUS_RO, getName(), convert(longitude), + convert(latitude), radius, geoUnit, geoOrder); } @Override - public List radius(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { + public List radius(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder, + int count) { return get(radiusAsync(longitude, latitude, radius, geoUnit, geoOrder, count)); } - + @Override - public RFuture> radiusAsync(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { - return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUS_RO, getName(), convert(longitude), convert(latitude), - radius, geoUnit, "COUNT", count, geoOrder); + public RFuture> radiusAsync(double longitude, double latitude, double radius, GeoUnit geoUnit, + GeoOrder geoOrder, int count) { + return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUS_RO, getName(), convert(longitude), + convert(latitude), radius, geoUnit, "COUNT", count, geoOrder); } - + @Override public Map radiusWithDistance(double longitude, double latitude, double radius, GeoUnit geoUnit) { return get(radiusWithDistanceAsync(longitude, latitude, radius, geoUnit)); } - + @Override - public RFuture> radiusWithDistanceAsync(double longitude, double latitude, double radius, GeoUnit geoUnit) { - return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_DISTANCE, getName(), convert(longitude), convert(latitude), - radius, geoUnit, "WITHDIST"); + public RFuture> radiusWithDistanceAsync(double longitude, double latitude, double radius, + GeoUnit geoUnit) { + return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_DISTANCE, getName(), convert(longitude), + convert(latitude), radius, geoUnit, "WITHDIST"); } - + @Override - public Map radiusWithDistance(double longitude, double latitude, double radius, GeoUnit geoUnit, int count) { + public Map radiusWithDistance(double longitude, double latitude, double radius, GeoUnit geoUnit, + int count) { return get(radiusWithDistanceAsync(longitude, latitude, radius, geoUnit, count)); } - + @Override - public RFuture> radiusWithDistanceAsync(double longitude, double latitude, double radius, GeoUnit geoUnit, int count) { - return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_DISTANCE, getName(), convert(longitude), convert(latitude), - radius, geoUnit, "WITHDIST", "COUNT", count); + public RFuture> radiusWithDistanceAsync(double longitude, double latitude, double radius, + GeoUnit geoUnit, int count) { + return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_DISTANCE, getName(), convert(longitude), + convert(latitude), radius, geoUnit, "WITHDIST", "COUNT", count); } @Override - public Map radiusWithDistance(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { + public Map radiusWithDistance(double longitude, double latitude, double radius, GeoUnit geoUnit, + GeoOrder geoOrder) { return get(radiusWithDistanceAsync(longitude, latitude, radius, geoUnit, geoOrder)); } - + @Override - public RFuture> radiusWithDistanceAsync(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { - return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_DISTANCE, getName(), convert(longitude), convert(latitude), - radius, geoUnit, "WITHDIST", geoOrder); + public RFuture> radiusWithDistanceAsync(double longitude, double latitude, double radius, + GeoUnit geoUnit, GeoOrder geoOrder) { + return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_DISTANCE, getName(), convert(longitude), + convert(latitude), radius, geoUnit, "WITHDIST", geoOrder); } - + @Override - public Map radiusWithDistance(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { + public Map radiusWithDistance(double longitude, double latitude, double radius, GeoUnit geoUnit, + GeoOrder geoOrder, int count) { return get(radiusWithDistanceAsync(longitude, latitude, radius, geoUnit, geoOrder, count)); } @Override - public RFuture> radiusWithDistanceAsync(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { - return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_DISTANCE, getName(), convert(longitude), convert(latitude), - radius, geoUnit, "WITHDIST", "COUNT", count, geoOrder); + public RFuture> radiusWithDistanceAsync(double longitude, double latitude, double radius, + GeoUnit geoUnit, GeoOrder geoOrder, int count) { + return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_DISTANCE, getName(), convert(longitude), + convert(latitude), radius, geoUnit, "WITHDIST", "COUNT", count, geoOrder); } @Override public Map radiusWithPosition(double longitude, double latitude, double radius, GeoUnit geoUnit) { return get(radiusWithPositionAsync(longitude, latitude, radius, geoUnit)); } - + @Override - public RFuture> radiusWithPositionAsync(double longitude, double latitude, double radius, GeoUnit geoUnit) { - return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_POS, getName(), convert(longitude), convert(latitude), radius, geoUnit, "WITHCOORD"); + public RFuture> radiusWithPositionAsync(double longitude, double latitude, double radius, + GeoUnit geoUnit) { + return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_POS, getName(), convert(longitude), + convert(latitude), radius, geoUnit, "WITHCOORD"); } - + @Override - public Map radiusWithPosition(double longitude, double latitude, double radius, GeoUnit geoUnit, int count) { + public Map radiusWithPosition(double longitude, double latitude, double radius, GeoUnit geoUnit, + int count) { return get(radiusWithPositionAsync(longitude, latitude, radius, geoUnit, count)); } - + @Override - public RFuture> radiusWithPositionAsync(double longitude, double latitude, double radius, GeoUnit geoUnit, int count) { - return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_POS, getName(), convert(longitude), convert(latitude), - radius, geoUnit, "WITHCOORD", "COUNT", count); + public RFuture> radiusWithPositionAsync(double longitude, double latitude, double radius, + GeoUnit geoUnit, int count) { + return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_POS, getName(), convert(longitude), + convert(latitude), radius, geoUnit, "WITHCOORD", "COUNT", count); } - + @Override - public Map radiusWithPosition(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { + public Map radiusWithPosition(double longitude, double latitude, double radius, GeoUnit geoUnit, + GeoOrder geoOrder) { return get(radiusWithPositionAsync(longitude, latitude, radius, geoUnit, geoOrder)); } - + @Override - public RFuture> radiusWithPositionAsync(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { - return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_POS, getName(), convert(longitude), convert(latitude), - radius, geoUnit, "WITHCOORD", geoOrder); + public RFuture> radiusWithPositionAsync(double longitude, double latitude, double radius, + GeoUnit geoUnit, GeoOrder geoOrder) { + return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_POS, getName(), convert(longitude), + convert(latitude), radius, geoUnit, "WITHCOORD", geoOrder); } @Override - public Map radiusWithPosition(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { + public Map radiusWithPosition(double longitude, double latitude, double radius, GeoUnit geoUnit, + GeoOrder geoOrder, int count) { return get(radiusWithPositionAsync(longitude, latitude, radius, geoUnit, geoOrder, count)); } - + @Override - public RFuture> radiusWithPositionAsync(double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { - return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_POS, getName(), convert(longitude), convert(latitude), - radius, geoUnit, "WITHCOORD", "COUNT", count, geoOrder); + public RFuture> radiusWithPositionAsync(double longitude, double latitude, double radius, + GeoUnit geoUnit, GeoOrder geoOrder, int count) { + return commandExecutor.readAsync(getName(), codec, GEORADIUS_RO_POS, getName(), convert(longitude), + convert(latitude), radius, geoUnit, "WITHCOORD", "COUNT", count, geoOrder); } @Override public List radius(V member, double radius, GeoUnit geoUnit) { return get(radiusAsync(member, radius, geoUnit)); } - + @Override public RFuture> radiusAsync(V member, double radius, GeoUnit geoUnit) { - return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_RO, getName(), encode(member), radius, geoUnit); + return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_RO, getName(), + encode(member), radius, geoUnit); } - + @Override public List radius(V member, double radius, GeoUnit geoUnit, int count) { return get(radiusAsync(member, radius, geoUnit, count)); } - + @Override public RFuture> radiusAsync(V member, double radius, GeoUnit geoUnit, int count) { - return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_RO, getName(), encode(member), radius, geoUnit, "COUNT", count); + return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_RO, getName(), + encode(member), radius, geoUnit, "COUNT", count); } @Override public List radius(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { return get(radiusAsync(member, radius, geoUnit, geoOrder)); } - + @Override public RFuture> radiusAsync(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { - return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_RO, getName(), encode(member), radius, geoUnit, geoOrder); + return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_RO, getName(), + encode(member), radius, geoUnit, geoOrder); } @Override public List radius(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { return get(radiusAsync(member, radius, geoUnit, geoOrder, count)); } - + @Override public RFuture> radiusAsync(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { - return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_RO, getName(), encode(member), radius, geoUnit, "COUNT", count, geoOrder); + return commandExecutor.readAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_RO, getName(), + encode(member), radius, geoUnit, "COUNT", count, geoOrder); } - + @Override public Map radiusWithDistance(V member, double radius, GeoUnit geoUnit) { return get(radiusWithDistanceAsync(member, radius, geoUnit)); } - + @Override public RFuture> radiusWithDistanceAsync(V member, double radius, GeoUnit geoUnit) { - return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_DISTANCE, getName(), encode(member), radius, geoUnit, "WITHDIST"); + return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_DISTANCE, getName(), encode(member), + radius, geoUnit, "WITHDIST"); } @Override public Map radiusWithDistance(V member, double radius, GeoUnit geoUnit, int count) { return get(radiusWithDistanceAsync(member, radius, geoUnit, count)); } - + @Override public RFuture> radiusWithDistanceAsync(V member, double radius, GeoUnit geoUnit, int count) { - return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_DISTANCE, getName(), encode(member), radius, geoUnit, "WITHDIST", "COUNT", count); + return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_DISTANCE, getName(), encode(member), + radius, geoUnit, "WITHDIST", "COUNT", count); } @Override public Map radiusWithDistance(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { return get(radiusWithDistanceAsync(member, radius, geoUnit, geoOrder)); } - + @Override - public RFuture> radiusWithDistanceAsync(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { - return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_DISTANCE, getName(), encode(member), radius, geoUnit, "WITHDIST", geoOrder); + public RFuture> radiusWithDistanceAsync(V member, double radius, GeoUnit geoUnit, + GeoOrder geoOrder) { + return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_DISTANCE, getName(), encode(member), + radius, geoUnit, "WITHDIST", geoOrder); } - + @Override public Map radiusWithDistance(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { return get(radiusWithDistanceAsync(member, radius, geoUnit, geoOrder, count)); } - + @Override - public RFuture> radiusWithDistanceAsync(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { - return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_DISTANCE, getName(), encode(member), radius, geoUnit, "WITHDIST", "COUNT", count, geoOrder); + public RFuture> radiusWithDistanceAsync(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder, + int count) { + return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_DISTANCE, getName(), encode(member), + radius, geoUnit, "WITHDIST", "COUNT", count, geoOrder); } - + @Override public Map radiusWithPosition(V member, double radius, GeoUnit geoUnit) { return get(radiusWithPositionAsync(member, radius, geoUnit)); } - + @Override public RFuture> radiusWithPositionAsync(V member, double radius, GeoUnit geoUnit) { - return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_POS, getName(), encode(member), radius, geoUnit, "WITHCOORD"); + return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_POS, getName(), encode(member), radius, + geoUnit, "WITHCOORD"); } - + @Override public Map radiusWithPosition(V member, double radius, GeoUnit geoUnit, int count) { return get(radiusWithPositionAsync(member, radius, geoUnit, count)); } - + @Override public RFuture> radiusWithPositionAsync(V member, double radius, GeoUnit geoUnit, int count) { - return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_POS, getName(), encode(member), radius, geoUnit, "WITHCOORD", "COUNT", count); + return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_POS, getName(), encode(member), radius, + geoUnit, "WITHCOORD", "COUNT", count); } @Override public Map radiusWithPosition(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { return get(radiusWithPositionAsync(member, radius, geoUnit, geoOrder)); } - + @Override - public RFuture> radiusWithPositionAsync(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder) { - return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_POS, getName(), encode(member), radius, geoUnit, "WITHCOORD", geoOrder); + public RFuture> radiusWithPositionAsync(V member, double radius, GeoUnit geoUnit, + GeoOrder geoOrder) { + return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_POS, getName(), encode(member), radius, + geoUnit, "WITHCOORD", geoOrder); } - + @Override - public Map radiusWithPosition(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { + public Map radiusWithPosition(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder, + int count) { return get(radiusWithPositionAsync(member, radius, geoUnit, geoOrder, count)); } - + @Override - public RFuture> radiusWithPositionAsync(V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { - return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_POS, getName(), encode(member), radius, geoUnit, "WITHCOORD", "COUNT", count, geoOrder); + public RFuture> radiusWithPositionAsync(V member, double radius, GeoUnit geoUnit, + GeoOrder geoOrder, int count) { + return commandExecutor.readAsync(getName(), codec, GEORADIUSBYMEMBER_RO_POS, getName(), encode(member), radius, + geoUnit, "WITHCOORD", "COUNT", count, geoOrder); } - @Override - public long radiusStoreTo(String destName, double longitude, double latitude, double radius, GeoUnit geoUnit) { - return get(radiusStoreToAsync(destName, longitude, latitude, radius, geoUnit)); - } + @Override + public long radiusStoreTo(String destName, double longitude, double latitude, double radius, GeoUnit geoUnit) { + return get(radiusStoreToAsync(destName, longitude, latitude, radius, geoUnit)); + } - @Override - public RFuture radiusStoreToAsync(String destName, double longitude, double latitude, double radius, GeoUnit geoUnit) { - return commandExecutor.writeAsync(getName(), LongCodec.INSTANCE, RedisCommands.GEORADIUS_STORE, getName(), convert(longitude), convert(latitude), radius, geoUnit, "STORE", destName); - } + @Override + public RFuture radiusStoreToAsync(String destName, double longitude, double latitude, double radius, + GeoUnit geoUnit) { + return commandExecutor.writeAsync(getName(), LongCodec.INSTANCE, RedisCommands.GEORADIUS_STORE, getName(), + convert(longitude), convert(latitude), radius, geoUnit, "STORE", destName); + } - @Override - public long radiusStoreTo(String destName, double longitude, double latitude, double radius, GeoUnit geoUnit, int count) { - return get(radiusStoreToAsync(destName, longitude, latitude, radius, geoUnit, count)); - } + @Override + public long radiusStoreTo(String destName, double longitude, double latitude, double radius, GeoUnit geoUnit, + int count) { + return get(radiusStoreToAsync(destName, longitude, latitude, radius, geoUnit, count)); + } - @Override - public RFuture radiusStoreToAsync(String destName, double longitude, double latitude, double radius, GeoUnit geoUnit, int count) { - return commandExecutor.writeAsync(getName(), LongCodec.INSTANCE, RedisCommands.GEORADIUS_STORE, getName(), convert(longitude), convert(latitude), radius, geoUnit, "COUNT", count, "STORE", destName); - } + @Override + public RFuture radiusStoreToAsync(String destName, double longitude, double latitude, double radius, + GeoUnit geoUnit, int count) { + return commandExecutor.writeAsync(getName(), LongCodec.INSTANCE, RedisCommands.GEORADIUS_STORE, getName(), + convert(longitude), convert(latitude), radius, geoUnit, "COUNT", count, "STORE", destName); + } - @Override - public long radiusStoreTo(String destName, double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { - return get(radiusStoreToAsync(destName, longitude, latitude, radius, geoUnit, geoOrder, count)); - } + @Override + public long radiusStoreTo(String destName, double longitude, double latitude, double radius, GeoUnit geoUnit, + GeoOrder geoOrder, int count) { + return get(radiusStoreToAsync(destName, longitude, latitude, radius, geoUnit, geoOrder, count)); + } - @Override - public RFuture radiusStoreToAsync(String destName, double longitude, double latitude, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { - return commandExecutor.writeAsync(getName(), LongCodec.INSTANCE, RedisCommands.GEORADIUS_STORE, getName(), convert(longitude), convert(latitude), radius, geoUnit, geoOrder, "COUNT", count, "STORE", destName); - } + @Override + public RFuture radiusStoreToAsync(String destName, double longitude, double latitude, double radius, + GeoUnit geoUnit, GeoOrder geoOrder, int count) { + return commandExecutor.writeAsync(getName(), LongCodec.INSTANCE, RedisCommands.GEORADIUS_STORE, getName(), + convert(longitude), convert(latitude), radius, geoUnit, geoOrder, "COUNT", count, "STORE", destName); + } - @Override - public long radiusStoreTo(String destName, V member, double radius, GeoUnit geoUnit) { - return get(radiusStoreToAsync(destName, member, radius, geoUnit)); - } + @Override + public long radiusStoreTo(String destName, V member, double radius, GeoUnit geoUnit) { + return get(radiusStoreToAsync(destName, member, radius, geoUnit)); + } - @Override - public RFuture radiusStoreToAsync(String destName, V member, double radius, GeoUnit geoUnit) { - return commandExecutor.writeAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_STORE, getName(), encode(member), radius, geoUnit, "STORE", destName); - } + @Override + public RFuture radiusStoreToAsync(String destName, V member, double radius, GeoUnit geoUnit) { + return commandExecutor.writeAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_STORE, getName(), + encode(member), radius, geoUnit, "STORE", destName); + } - @Override - public long radiusStoreTo(String destName, V member, double radius, GeoUnit geoUnit, int count) { - return get(radiusStoreToAsync(destName, member, radius, geoUnit, count)); - } + @Override + public long radiusStoreTo(String destName, V member, double radius, GeoUnit geoUnit, int count) { + return get(radiusStoreToAsync(destName, member, radius, geoUnit, count)); + } - @Override - public RFuture radiusStoreToAsync(String destName, V member, double radius, GeoUnit geoUnit, int count) { - return commandExecutor.writeAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_STORE, getName(), encode(member), radius, geoUnit, "COUNT", count, "STORE", destName); - } + @Override + public RFuture radiusStoreToAsync(String destName, V member, double radius, GeoUnit geoUnit, int count) { + return commandExecutor.writeAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_STORE, getName(), + encode(member), radius, geoUnit, "COUNT", count, "STORE", destName); + } - @Override - public long radiusStoreTo(String destName, V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { + @Override + public long radiusStoreTo(String destName, V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { return get(radiusStoreToAsync(destName, member, radius, geoUnit, geoOrder, count)); - } + } - @Override - public RFuture radiusStoreToAsync(String destName, V member, double radius, GeoUnit geoUnit, GeoOrder geoOrder, int count) { - return commandExecutor.writeAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_STORE, getName(), encode(member), radius, geoUnit, geoOrder, "COUNT", count, "STORE", destName); - } + @Override + public RFuture radiusStoreToAsync(String destName, V member, double radius, GeoUnit geoUnit, + GeoOrder geoOrder, int count) { + return commandExecutor.writeAsync(getName(), codec, RedisCommands.GEORADIUSBYMEMBER_STORE, getName(), + encode(member), radius, geoUnit, geoOrder, "COUNT", count, "STORE", destName); + } } diff --git a/redisson/src/main/java/org/redisson/RedissonKeys.java b/redisson/src/main/java/org/redisson/RedissonKeys.java index 9f2c9d922..214e74317 100644 --- a/redisson/src/main/java/org/redisson/RedissonKeys.java +++ b/redisson/src/main/java/org/redisson/RedissonKeys.java @@ -71,7 +71,7 @@ public class RedissonKeys implements RKeys { public RFuture getTypeAsync(String key) { return commandExecutor.readAsync(key, RedisCommands.TYPE, key); } - + @Override public int getSlot(String key) { return commandExecutor.get(getSlotAsync(key)); @@ -86,7 +86,7 @@ public class RedissonKeys implements RKeys { public Iterable getKeysByPattern(String pattern) { return getKeysByPattern(pattern, 10); } - + @Override public Iterable getKeysByPattern(String pattern, int count) { List> iterables = new ArrayList>(); @@ -102,22 +102,24 @@ public class RedissonKeys implements RKeys { return new CompositeIterable(iterables); } - @Override public Iterable getKeys() { return getKeysByPattern(null); } - + @Override public Iterable getKeys(int count) { return getKeysByPattern(null, count); } - public RFuture> scanIteratorAsync(RedisClient client, MasterSlaveEntry entry, long startPos, String pattern, int count) { + public RFuture> scanIteratorAsync(RedisClient client, MasterSlaveEntry entry, long startPos, + String pattern, int count) { if (pattern == null) { - return commandExecutor.readAsync(client, entry, StringCodec.INSTANCE, RedisCommands.SCAN, startPos, "COUNT", count); + return commandExecutor.readAsync(client, entry, StringCodec.INSTANCE, RedisCommands.SCAN, startPos, "COUNT", + count); } - return commandExecutor.readAsync(client, entry, StringCodec.INSTANCE, RedisCommands.SCAN, startPos, "MATCH", pattern, "COUNT", count); + return commandExecutor.readAsync(client, entry, StringCodec.INSTANCE, RedisCommands.SCAN, startPos, "MATCH", + pattern, "COUNT", count); } private Iterator createKeysIterator(MasterSlaveEntry entry, String pattern, int count) { @@ -125,14 +127,15 @@ public class RedissonKeys implements RKeys { @Override protected ListScanResult iterator(RedisClient client, long nextIterPos) { - return commandExecutor.get(RedissonKeys.this.scanIteratorAsync(client, entry, nextIterPos, pattern, count)); + return commandExecutor + .get(RedissonKeys.this.scanIteratorAsync(client, entry, nextIterPos, pattern, count)); } @Override protected void remove(Object value) { - RedissonKeys.this.delete((String)value); + RedissonKeys.this.delete((String) value); } - + }; } @@ -140,11 +143,12 @@ public class RedissonKeys implements RKeys { public long touch(String... names) { return commandExecutor.get(touchAsync(names)); } - + @Override public RFuture touchAsync(String... names) { return commandExecutor.writeAllAsync(RedisCommands.TOUCH_LONG, new SlotCallback() { AtomicLong results = new AtomicLong(); + @Override public void onSlotResult(Long result) { results.addAndGet(result); @@ -156,16 +160,17 @@ public class RedissonKeys implements RKeys { } }, names); } - + @Override public long countExists(String... names) { return commandExecutor.get(countExistsAsync(names)); } - + @Override public RFuture countExistsAsync(String... names) { return commandExecutor.readAllAsync(RedisCommands.EXISTS_LONG, new SlotCallback() { AtomicLong results = new AtomicLong(); + @Override public void onSlotResult(Long result) { results.addAndGet(result); @@ -178,7 +183,6 @@ public class RedissonKeys implements RKeys { }, names); } - @Override public String randomKey() { return commandExecutor.get(randomKeyAsync()); @@ -218,7 +222,7 @@ public class RedissonKeys implements RKeys { } else { failed.set(e); } - + checkExecution(result, failed, count, executed); }; @@ -233,18 +237,18 @@ public class RedissonKeys implements RKeys { while (keysIterator.hasNext()) { String key = keysIterator.next(); keys.add(key); - + if (keys.size() % batchSize == 0) { count += delete(keys.toArray(new String[keys.size()])); keys.clear(); } } - + if (!keys.isEmpty()) { count += delete(keys.toArray(new String[keys.size()])); keys.clear(); } - + RFuture future = RedissonPromise.newSucceededFuture(count); future.onComplete(listener); } catch (Exception e) { @@ -262,7 +266,7 @@ public class RedissonKeys implements RKeys { public long delete(String... keys) { return commandExecutor.get(deleteAsync(keys)); } - + @Override public long delete(RObject... objects) { return commandExecutor.get(deleteAsync(objects)); @@ -274,10 +278,10 @@ public class RedissonKeys implements RKeys { for (RObject obj : objects) { keys.add(obj.getName()); } - + return deleteAsync(keys.toArray(new String[keys.size()])); } - + @Override public long unlink(String... keys) { return commandExecutor.get(deleteAsync(keys)); @@ -292,7 +296,7 @@ public class RedissonKeys implements RKeys { public RFuture deleteAsync(String... keys) { return executeAsync(RedisCommands.DEL, keys); } - + private RFuture executeAsync(RedisStrictCommand command, String... keys) { if (!commandExecutor.getConnectionManager().isClusterMode()) { return commandExecutor.writeAsync(null, command, keys); @@ -324,7 +328,7 @@ public class RedissonKeys implements RKeys { } else { failed.set(u); } - + checkExecution(result, failed, count, executed); }; @@ -351,6 +355,7 @@ public class RedissonKeys implements RKeys { public RFuture countAsync() { return commandExecutor.readAllAsync(RedisCommands.DBSIZE, new SlotCallback() { AtomicLong results = new AtomicLong(); + @Override public void onSlotResult(Long result) { results.addAndGet(result); @@ -383,7 +388,6 @@ public class RedissonKeys implements RKeys { return commandExecutor.writeAllAsync(RedisCommands.FLUSHALL_ASYNC); } - @Override public void flushdb() { commandExecutor.get(flushdbAsync()); @@ -404,12 +408,14 @@ public class RedissonKeys implements RKeys { return commandExecutor.writeAllAsync(RedisCommands.FLUSHALL); } - private void checkExecution(RPromise result, AtomicReference failed, - AtomicLong count, AtomicLong executed) { + private void checkExecution(RPromise result, AtomicReference failed, AtomicLong count, + AtomicLong executed) { if (executed.decrementAndGet() == 0) { if (failed.get() != null) { if (count.get() > 0) { - RedisException ex = new RedisException("" + count.get() + " keys has been deleted. But one or more nodes has an error", failed.get()); + RedisException ex = new RedisException( + "" + count.get() + " keys has been deleted. But one or more nodes has an error", + failed.get()); result.tryFailure(ex); } else { result.tryFailure(failed.get()); @@ -477,7 +483,8 @@ public class RedissonKeys implements RKeys { @Override public RFuture expireAsync(String name, long timeToLive, TimeUnit timeUnit) { - return commandExecutor.writeAsync(name, StringCodec.INSTANCE, RedisCommands.PEXPIRE, name, timeUnit.toMillis(timeToLive)); + return commandExecutor.writeAsync(name, StringCodec.INSTANCE, RedisCommands.PEXPIRE, name, + timeUnit.toMillis(timeToLive)); } @Override @@ -499,7 +506,7 @@ public class RedissonKeys implements RKeys { public RFuture copyAsync(String name, String host, int port, int database, long timeout) { return commandExecutor.writeAsync(name, RedisCommands.MIGRATE, host, port, name, database, timeout, "COPY"); } - + @Override public boolean move(String name, int database) { return commandExecutor.get(moveAsync(name, database)); @@ -534,5 +541,5 @@ public class RedissonKeys implements RKeys { public Stream getKeysStream(int count) { return toStream(getKeys(count).iterator()); } - + } diff --git a/redisson/src/main/java/org/redisson/RedissonList.java b/redisson/src/main/java/org/redisson/RedissonList.java index ee6260e50..2d3faaa5a 100644 --- a/redisson/src/main/java/org/redisson/RedissonList.java +++ b/redisson/src/main/java/org/redisson/RedissonList.java @@ -343,7 +343,7 @@ public class RedissonList extends RedissonExpirable implements RList { return get(setAsync(index, element)); } catch (RedisException e) { if (e.getCause() instanceof IndexOutOfBoundsException) { - throw (IndexOutOfBoundsException)e.getCause(); + throw (IndexOutOfBoundsException) e.getCause(); } throw e; } @@ -613,6 +613,8 @@ public class RedissonList extends RedissonExpirable implements RList { return new RedissonSubList(codec, commandExecutor, getName(), fromIndex, toIndex); } + @Override + @SuppressWarnings("AvoidInlineConditionals") public String toString() { Iterator it = iterator(); if (! it.hasNext()) @@ -630,6 +632,7 @@ public class RedissonList extends RedissonExpirable implements RList { } @Override + @SuppressWarnings("AvoidInlineConditionals") public boolean equals(Object o) { if (o == this) return true; @@ -648,6 +651,7 @@ public class RedissonList extends RedissonExpirable implements RList { } @Override + @SuppressWarnings("AvoidInlineConditionals") public int hashCode() { int hashCode = 1; for (V e : this) { @@ -718,7 +722,7 @@ public class RedissonList extends RedissonExpirable implements RList { @Override public Collection readSort(String byPattern, List getPatterns, SortOrder order) { - return (Collection)get(readSortAsync(byPattern, getPatterns, order)); + return (Collection) get(readSortAsync(byPattern, getPatterns, order)); } @Override @@ -728,7 +732,7 @@ public class RedissonList extends RedissonExpirable implements RList { @Override public Collection readSort(String byPattern, List getPatterns, SortOrder order, int offset, int count) { - return (Collection)get(readSortAsync(byPattern, getPatterns, order, offset, count)); + return (Collection) get(readSortAsync(byPattern, getPatterns, order, offset, count)); } @Override @@ -778,7 +782,7 @@ public class RedissonList extends RedissonExpirable implements RList { @Override public Collection readSortAlpha(String byPattern, List getPatterns, SortOrder order) { - return (Collection)get(readSortAlphaAsync(byPattern, getPatterns, order)); + return (Collection) get(readSortAlphaAsync(byPattern, getPatterns, order)); } @Override @@ -788,7 +792,7 @@ public class RedissonList extends RedissonExpirable implements RList { @Override public Collection readSortAlpha(String byPattern, List getPatterns, SortOrder order, int offset, int count) { - return (Collection)get(readSortAlphaAsync(byPattern, getPatterns, order, offset, count)); + return (Collection) get(readSortAlphaAsync(byPattern, getPatterns, order, offset, count)); } @Override diff --git a/redisson/src/main/java/org/redisson/RedissonListMultimapValues.java b/redisson/src/main/java/org/redisson/RedissonListMultimapValues.java index 35db3f32a..e80a55071 100644 --- a/redisson/src/main/java/org/redisson/RedissonListMultimapValues.java +++ b/redisson/src/main/java/org/redisson/RedissonListMultimapValues.java @@ -656,6 +656,7 @@ public class RedissonListMultimapValues extends RedissonExpirable implements } @Override + @SuppressWarnings("AvoidInlineConditionals") public String toString() { Iterator it = iterator(); if (! it.hasNext()) @@ -673,6 +674,7 @@ public class RedissonListMultimapValues extends RedissonExpirable implements } @Override + @SuppressWarnings("AvoidInlineConditionals") public boolean equals(Object o) { if (o == this) return true; @@ -691,6 +693,7 @@ public class RedissonListMultimapValues extends RedissonExpirable implements } @Override + @SuppressWarnings("AvoidInlineConditionals") public int hashCode() { int hashCode = 1; for (V e : this) { diff --git a/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java b/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java index 97a912463..5f4dc9084 100644 --- a/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java +++ b/redisson/src/main/java/org/redisson/RedissonLiveObjectService.java @@ -90,7 +90,7 @@ import net.bytebuddy.matcher.ElementMatchers; public class RedissonLiveObjectService implements RLiveObjectService { - private static final ConcurrentMap, Resolver> providerCache = PlatformDependent.newConcurrentHashMap(); + private static final ConcurrentMap, Resolver> PROVIDER_CACHE = PlatformDependent.newConcurrentHashMap(); private final ConcurrentMap, Class> classCache; private final RedissonClient redisson; private final CommandAsyncExecutor commandExecutor; @@ -126,14 +126,14 @@ public class RedissonLiveObjectService implements RLiveObjectService { } private Resolver getResolver(Class cls, Class resolverClass, Annotation anno) { - if (!providerCache.containsKey(resolverClass)) { + if (!PROVIDER_CACHE.containsKey(resolverClass)) { try { - providerCache.putIfAbsent(resolverClass, resolverClass.newInstance()); + PROVIDER_CACHE.putIfAbsent(resolverClass, resolverClass.newInstance()); } catch (Exception ex) { throw new RuntimeException(ex); } } - return providerCache.get(resolverClass); + return PROVIDER_CACHE.get(resolverClass); } public T createLiveObject(Class entityClass, Object id) { @@ -143,7 +143,10 @@ public class RedissonLiveObjectService implements RLiveObjectService { @Override public T get(Class entityClass, Object id) { T proxied = createLiveObject(entityClass, id); - return asLiveObject(proxied).isExists() ? proxied : null; + if (asLiveObject(proxied).isExists()) { + return proxied; + } + return null; } Set traverseAnd(ANDCondition condition, NamingScheme namingScheme, Class entityClass) { @@ -306,45 +309,42 @@ public class RedissonLiveObjectService implements RLiveObjectService { if (rObject != null) { commandExecutor.getObjectBuilder().store(rObject, field.getName(), liveMap); if (rObject instanceof SortedSet) { - ((RSortedSet)rObject).trySetComparator(((SortedSet)object).comparator()); + ((RSortedSet) rObject).trySetComparator(((SortedSet) object).comparator()); } if (rObject instanceof Collection) { - for (Object obj : (Collection)object) { + for (Object obj : (Collection) object) { if (obj != null && ClassUtils.isAnnotationPresent(obj.getClass(), REntity.class)) { Object persisted = alreadyPersisted.get(obj); - if (persisted == null) { - if (checkCascade(detachedObject, type, field.getName())) { - persisted = persist(obj, alreadyPersisted, type); - } + if (persisted == null + && checkCascade(detachedObject, type, field.getName())) { + persisted = persist(obj, alreadyPersisted, type); } obj = persisted; } - ((Collection)rObject).add(obj); + ((Collection) rObject).add(obj); } } else if (rObject instanceof Map) { Map rMap = (Map) rObject; - Map map = (Map)rObject; + Map map = (Map) rObject; for (Entry entry : map.entrySet()) { Object key = entry.getKey(); Object value = entry.getValue(); if (key != null && ClassUtils.isAnnotationPresent(key.getClass(), REntity.class)) { Object persisted = alreadyPersisted.get(key); - if (persisted == null) { - if (checkCascade(detachedObject, type, field.getName())) { - persisted = persist(key, alreadyPersisted, type); - } + if (persisted == null + && checkCascade(detachedObject, type, field.getName())) { + persisted = persist(key, alreadyPersisted, type); } key = persisted; } if (value != null && ClassUtils.isAnnotationPresent(value.getClass(), REntity.class)) { Object persisted = alreadyPersisted.get(value); - if (persisted == null) { - if (checkCascade(detachedObject, type, field.getName())) { - persisted = persist(value, alreadyPersisted, type); - } + if (persisted == null + && checkCascade(detachedObject, type, field.getName())) { + persisted = persist(value, alreadyPersisted, type); } value = persisted; } @@ -407,132 +407,128 @@ public class RedissonLiveObjectService implements RLiveObjectService { @SuppressWarnings("unchecked") private T detach(T attachedObject, Map alreadyDetached) { validateAttached(attachedObject); - try { - T detached = instantiateDetachedObject((Class) attachedObject.getClass().getSuperclass(), asLiveObject(attachedObject).getLiveObjectId()); - BeanCopy.beans(attachedObject, detached).declared(true, true).copy(); - alreadyDetached.put(getMap(attachedObject).getName(), detached); + T detached = instantiateDetachedObject((Class) attachedObject.getClass().getSuperclass(), asLiveObject(attachedObject).getLiveObjectId()); + BeanCopy.beans(attachedObject, detached).declared(true, true).copy(); + alreadyDetached.put(getMap(attachedObject).getName(), detached); + + for (Entry obj : getMap(attachedObject).entrySet()) { + if (!checkCascade(attachedObject, RCascadeType.DETACH, obj.getKey())) { + continue; + } - for (Entry obj : getMap(attachedObject).entrySet()) { - if (!checkCascade(attachedObject, RCascadeType.DETACH, obj.getKey())) { - continue; + if (obj.getValue() instanceof RSortedSet) { + SortedSet redissonSet = (SortedSet) obj.getValue(); + Set set = new TreeSet(redissonSet.comparator()); + for (Object object : redissonSet) { + if (isLiveObject(object)) { + Object detachedObject = alreadyDetached.get(getMap(object).getName()); + if (detachedObject == null) { + detachedObject = detach(object, alreadyDetached); + } + object = detachedObject; + } + set.add(object); } - if (obj.getValue() instanceof RSortedSet) { - SortedSet redissonSet = (SortedSet) obj.getValue(); - Set set = new TreeSet(redissonSet.comparator()); - for (Object object : redissonSet) { - if (isLiveObject(object)) { - Object detachedObject = alreadyDetached.get(getMap(object).getName()); - if (detachedObject == null) { - detachedObject = detach(object, alreadyDetached); - } - object = detachedObject; + ClassUtils.setField(detached, obj.getKey(), set); + } else if (obj.getValue() instanceof RDeque) { + Collection redissonDeque = (Collection) obj.getValue(); + Deque deque = new LinkedList(); + for (Object object : redissonDeque) { + if (isLiveObject(object)) { + Object detachedObject = alreadyDetached.get(getMap(object).getName()); + if (detachedObject == null) { + detachedObject = detach(object, alreadyDetached); } - set.add(object); + object = detachedObject; } - - ClassUtils.setField(detached, obj.getKey(), set); - } else if (obj.getValue() instanceof RDeque) { - Collection redissonDeque = (Collection) obj.getValue(); - Deque deque = new LinkedList(); - for (Object object : redissonDeque) { - if (isLiveObject(object)) { - Object detachedObject = alreadyDetached.get(getMap(object).getName()); - if (detachedObject == null) { - detachedObject = detach(object, alreadyDetached); - } - object = detachedObject; + deque.add(object); + } + + ClassUtils.setField(detached, obj.getKey(), deque); + } else if (obj.getValue() instanceof RQueue) { + Collection redissonQueue = (Collection) obj.getValue(); + Queue queue = new LinkedList(); + for (Object object : redissonQueue) { + if (isLiveObject(object)) { + Object detachedObject = alreadyDetached.get(getMap(object).getName()); + if (detachedObject == null) { + detachedObject = detach(object, alreadyDetached); } - deque.add(object); + object = detachedObject; } - - ClassUtils.setField(detached, obj.getKey(), deque); - } else if (obj.getValue() instanceof RQueue) { - Collection redissonQueue = (Collection) obj.getValue(); - Queue queue = new LinkedList(); - for (Object object : redissonQueue) { - if (isLiveObject(object)) { - Object detachedObject = alreadyDetached.get(getMap(object).getName()); - if (detachedObject == null) { - detachedObject = detach(object, alreadyDetached); - } - object = detachedObject; + queue.add(object); + } + + ClassUtils.setField(detached, obj.getKey(), queue); + } else if (obj.getValue() instanceof RSet) { + Set set = new HashSet(); + Collection redissonSet = (Collection) obj.getValue(); + for (Object object : redissonSet) { + if (isLiveObject(object)) { + Object detachedObject = alreadyDetached.get(getMap(object).getName()); + if (detachedObject == null) { + detachedObject = detach(object, alreadyDetached); } - queue.add(object); + object = detachedObject; } - - ClassUtils.setField(detached, obj.getKey(), queue); - } else if (obj.getValue() instanceof RSet) { - Set set = new HashSet(); - Collection redissonSet = (Collection) obj.getValue(); - for (Object object : redissonSet) { - if (isLiveObject(object)) { - Object detachedObject = alreadyDetached.get(getMap(object).getName()); - if (detachedObject == null) { - detachedObject = detach(object, alreadyDetached); - } - object = detachedObject; + set.add(object); + } + + ClassUtils.setField(detached, obj.getKey(), set); + } else if (obj.getValue() instanceof RList) { + List list = new ArrayList(); + Collection redissonList = (Collection) obj.getValue(); + for (Object object : redissonList) { + if (isLiveObject(object)) { + Object detachedObject = alreadyDetached.get(getMap(object).getName()); + if (detachedObject == null) { + detachedObject = detach(object, alreadyDetached); } - set.add(object); + object = detachedObject; } + list.add(object); + } + + ClassUtils.setField(detached, obj.getKey(), list); + } else if (isLiveObject(obj.getValue())) { + Object detachedObject = alreadyDetached.get(getMap(obj.getValue()).getName()); + if (detachedObject == null) { + detachedObject = detach(obj.getValue(), alreadyDetached); + } + ClassUtils.setField(detached, obj.getKey(), detachedObject); + } else if (obj.getValue() instanceof RMap) { + Map map = new LinkedHashMap(); + Map redissonMap = (Map) obj.getValue(); + for (Entry entry : redissonMap.entrySet()) { + Object key = entry.getKey(); + Object value = entry.getValue(); - ClassUtils.setField(detached, obj.getKey(), set); - } else if (obj.getValue() instanceof RList) { - List list = new ArrayList(); - Collection redissonList = (Collection) obj.getValue(); - for (Object object : redissonList) { - if (isLiveObject(object)) { - Object detachedObject = alreadyDetached.get(getMap(object).getName()); - if (detachedObject == null) { - detachedObject = detach(object, alreadyDetached); - } - object = detachedObject; + if (isLiveObject(key)) { + Object detachedObject = alreadyDetached.get(getMap(key).getName()); + if (detachedObject == null) { + detachedObject = detach(key, alreadyDetached); } - list.add(object); - } - - ClassUtils.setField(detached, obj.getKey(), list); - } else if (isLiveObject(obj.getValue())) { - Object detachedObject = alreadyDetached.get(getMap(obj.getValue()).getName()); - if (detachedObject == null) { - detachedObject = detach(obj.getValue(), alreadyDetached); + key = detachedObject; } - ClassUtils.setField(detached, obj.getKey(), detachedObject); - } else if (obj.getValue() instanceof RMap) { - Map map = new LinkedHashMap(); - Map redissonMap = (Map) obj.getValue(); - for (Entry entry : redissonMap.entrySet()) { - Object key = entry.getKey(); - Object value = entry.getValue(); - - if (isLiveObject(key)) { - Object detachedObject = alreadyDetached.get(getMap(key).getName()); - if (detachedObject == null) { - detachedObject = detach(key, alreadyDetached); - } - key = detachedObject; - } - - if (isLiveObject(value)) { - Object detachedObject = alreadyDetached.get(getMap(value).getName()); - if (detachedObject == null) { - detachedObject = detach(value, alreadyDetached); - } - value = detachedObject; + + if (isLiveObject(value)) { + Object detachedObject = alreadyDetached.get(getMap(value).getName()); + if (detachedObject == null) { + detachedObject = detach(value, alreadyDetached); } - map.put(key, value); + value = detachedObject; } - - ClassUtils.setField(detached, obj.getKey(), map); - } else { - validateAnnotation(detached, obj.getKey()); + map.put(key, value); } + + ClassUtils.setField(detached, obj.getKey(), map); + } else { + validateAnnotation(detached, obj.getKey()); } - - return detached; - } catch (Exception ex) { - throw ex instanceof RuntimeException ? (RuntimeException) ex : new RuntimeException(ex); } + + return detached; } @Override @@ -550,29 +546,29 @@ public class RedissonLiveObjectService implements RLiveObjectService { } if (obj.getValue() instanceof RSortedSet) { - deleteCollection(deleted, (Iterable)obj.getValue()); - ((RObject)obj.getValue()).delete(); + deleteCollection(deleted, (Iterable) obj.getValue()); + ((RObject) obj.getValue()).delete(); } else if (obj.getValue() instanceof RDeque) { - deleteCollection(deleted, (Iterable)obj.getValue()); - ((RObject)obj.getValue()).delete(); + deleteCollection(deleted, (Iterable) obj.getValue()); + ((RObject) obj.getValue()).delete(); } else if (obj.getValue() instanceof RQueue) { - deleteCollection(deleted, (Iterable)obj.getValue()); - ((RObject)obj.getValue()).delete(); + deleteCollection(deleted, (Iterable) obj.getValue()); + ((RObject) obj.getValue()).delete(); } else if (obj.getValue() instanceof RSet) { - deleteCollection(deleted, (Iterable)obj.getValue()); - ((RObject)obj.getValue()).delete(); + deleteCollection(deleted, (Iterable) obj.getValue()); + ((RObject) obj.getValue()).delete(); } else if (obj.getValue() instanceof RList) { - deleteCollection(deleted, (Iterable)obj.getValue()); - ((RObject)obj.getValue()).delete(); + deleteCollection(deleted, (Iterable) obj.getValue()); + ((RObject) obj.getValue()).delete(); } else if (isLiveObject(obj.getValue())) { if (deleted.add(getMap(obj.getValue()).getName())) { delete(obj.getValue(), deleted); } } else if (obj.getValue() instanceof RMap) { - RMap map = (RMap)obj.getValue(); + RMap map = (RMap) obj.getValue(); deleteCollection(deleted, map.keySet()); deleteCollection(deleted, map.values()); - ((RObject)obj.getValue()).delete(); + ((RObject) obj.getValue()).delete(); } else { validateAnnotation(attachedObject, obj.getKey()); } @@ -632,7 +628,11 @@ public class RedissonLiveObjectService implements RLiveObjectService { @Override public void unregisterClass(Class cls) { - classCache.remove(cls.isAssignableFrom(RLiveObject.class) ? cls.getSuperclass() : cls); + if (cls.isAssignableFrom(RLiveObject.class)) { + classCache.remove(cls.getSuperclass()); + } else { + classCache.remove(cls); + } } @Override diff --git a/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java b/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java index e55a37a97..834fab227 100644 --- a/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java +++ b/redisson/src/main/java/org/redisson/RedissonLocalCachedMap.java @@ -81,6 +81,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R public static final String DISABLED_KEYS_SUFFIX = "disabled-keys"; public static final String DISABLED_ACK_SUFFIX = ":topic"; + @SuppressWarnings("EqualsHashCode") public static class CacheValue implements Serializable { private final Object key; @@ -99,7 +100,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R public Object getValue() { return value; } - + @Override public boolean equals(Object obj) { if (this == obj) @@ -240,16 +241,16 @@ public class RedissonLocalCachedMap extends RedissonMap implements R } @Override - public RFuture getAsync(final Object key) { + public RFuture getAsync(Object key) { checkKey(key); - final CacheKey cacheKey = toCacheKey(key); + CacheKey cacheKey = toCacheKey(key); CacheValue cacheValue = cache.get(cacheKey); if (cacheValue != null && cacheValue.getValue() != null) { - return RedissonPromise.newSucceededFuture((V)cacheValue.getValue()); + return RedissonPromise.newSucceededFuture((V) cacheValue.getValue()); } - RFuture future = super.getAsync((K)key); + RFuture future = super.getAsync((K) key); future.onComplete((value, e) -> { if (e != null) { return; @@ -543,19 +544,19 @@ public class RedissonLocalCachedMap extends RedissonMap implements R return RedissonPromise.newSucceededFuture(Collections.emptyMap()); } - final Map result = new HashMap(); + Map result = new HashMap(); Set mapKeys = new HashSet(keys); for (Iterator iterator = mapKeys.iterator(); iterator.hasNext();) { K key = iterator.next(); - final CacheKey cacheKey = toCacheKey(key); + CacheKey cacheKey = toCacheKey(key); CacheValue value = cache.get(cacheKey); if (value != null) { - result.put(key, (V)value.getValue()); + result.put(key, (V) value.getValue()); iterator.remove(); } } - final RPromise> promise = new RedissonPromise>(); + RPromise> promise = new RedissonPromise>(); RFuture> future = super.getAllAsync(mapKeys); future.onComplete((map, e) -> { if (e != null) { @@ -580,7 +581,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R } @Override - protected RFuture putAllOperationAsync(final Map map) { + protected RFuture putAllOperationAsync(Map map) { List params = new ArrayList(map.size()*3); params.add(invalidateEntryOnChange); params.add(map.size()*2); @@ -624,7 +625,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R params.add(msgEncoded); } - final RPromise result = new RedissonPromise(); + RPromise result = new RedissonPromise(); RFuture future = commandExecutor.evalWriteAsync(getName(), codec, RedisCommands.EVAL_VOID, "for i=3, tonumber(ARGV[2]) + 2, 5000 do " + "redis.call('hmset', KEYS[1], unpack(ARGV, i, math.min(i+4999, tonumber(ARGV[2]) + 2))); " @@ -654,7 +655,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R } @Override - protected RFuture addAndGetOperationAsync(final K key, Number value) { + protected RFuture addAndGetOperationAsync(K key, Number value) { ByteBuf keyState = encodeMapKey(key); CacheKey cacheKey = toCacheKey(keyState); ByteBuf msg = encode(new LocalCachedMapInvalidate(instanceId, cacheKey.getKeyHash())); @@ -682,7 +683,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R } @Override - public RFuture fastPutIfAbsentAsync(final K key, final V value) { + public RFuture fastPutIfAbsentAsync(K key, V value) { RFuture future = super.fastPutIfAbsentAsync(key, value); future.onComplete((res, e) -> { if (e != null) { @@ -699,14 +700,14 @@ public class RedissonLocalCachedMap extends RedissonMap implements R @Override public RFuture> readAllValuesAsync() { - final List result = new ArrayList(); - final List mapKeys = new ArrayList(); + List result = new ArrayList(); + List mapKeys = new ArrayList(); for (CacheValue value : cache.values()) { mapKeys.add(encodeMapKey(value.getKey())); result.add((V) value.getValue()); } - final RPromise> promise = new RedissonPromise>(); + RPromise> promise = new RedissonPromise>(); RFuture> future = commandExecutor.evalReadAsync(getName(), codec, ALL_KEYS, "local entries = redis.call('hgetall', KEYS[1]); " + "local result = {};" @@ -742,14 +743,14 @@ public class RedissonLocalCachedMap extends RedissonMap implements R @Override public RFuture> readAllMapAsync() { - final Map result = new HashMap(); + Map result = new HashMap(); List mapKeys = new ArrayList(); for (CacheValue value : cache.values()) { mapKeys.add(encodeMapKey(value.getKey())); - result.put((K)value.getKey(), (V)value.getValue()); + result.put((K) value.getKey(), (V) value.getValue()); } - final RPromise> promise = new RedissonPromise>(); + RPromise> promise = new RedissonPromise>(); RFuture> future = readAll(ALL_MAP, mapKeys, result); future.onComplete((res, e) -> { @@ -775,7 +776,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R // add anything found into the cache. This does not guarantee to find // entries added during the warmUp, but statistically the cache will have // few misses after this process - for(Entry entry : super.entrySet()) { + for (Entry entry : super.entrySet()) { CacheKey cacheKey = toCacheKey(entry.getKey()); cachePut(cacheKey, entry.getKey(), entry.getValue()); } @@ -793,14 +794,14 @@ public class RedissonLocalCachedMap extends RedissonMap implements R @Override public RFuture>> readAllEntrySetAsync() { - final Set> result = new HashSet>(); + Set> result = new HashSet>(); List mapKeys = new ArrayList(); for (CacheValue value : cache.values()) { mapKeys.add(encodeMapKey(value.getKey())); - result.add(new AbstractMap.SimpleEntry((K)value.getKey(), (V)value.getValue())); + result.add(new AbstractMap.SimpleEntry((K) value.getKey(), (V) value.getValue())); } - final RPromise>> promise = new RedissonPromise>>(); + RPromise>> promise = new RedissonPromise>>(); RFuture>> future = readAll(ALL_ENTRIES, mapKeys, result); future.onComplete((res, e) -> { @@ -844,7 +845,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R } @Override - public RFuture fastReplaceAsync(final K key, final V value) { + public RFuture fastReplaceAsync(K key, V value) { RFuture future = super.fastReplaceAsync(key, value); future.onComplete((res, e) -> { if (e != null) { @@ -916,7 +917,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R } @Override - public RFuture replaceAsync(final K key, final V value) { + public RFuture replaceAsync(K key, V value) { RFuture future = super.replaceAsync(key, value); future.onComplete((res, e) -> { if (e != null) { @@ -959,8 +960,8 @@ public class RedissonLocalCachedMap extends RedissonMap implements R } @Override - public RFuture replaceAsync(final K key, V oldValue, final V newValue) { - final CacheKey cacheKey = toCacheKey(key); + public RFuture replaceAsync(K key, V oldValue, V newValue) { + CacheKey cacheKey = toCacheKey(key); RFuture future = super.replaceAsync(key, oldValue, newValue); future.onComplete((res, e) -> { @@ -1003,7 +1004,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R @Override public RFuture removeAsync(Object key, Object value) { - final CacheKey cacheKey = toCacheKey(key); + CacheKey cacheKey = toCacheKey(key); RFuture future = super.removeAsync(key, value); future.onComplete((res, e) -> { @@ -1020,7 +1021,7 @@ public class RedissonLocalCachedMap extends RedissonMap implements R @Override - public RFuture putIfAbsentAsync(final K key, final V value) { + public RFuture putIfAbsentAsync(K key, V value) { RFuture future = super.putIfAbsentAsync(key, value); future.onComplete((res, e) -> { if (e != null) { diff --git a/redisson/src/main/java/org/redisson/RedissonLock.java b/redisson/src/main/java/org/redisson/RedissonLock.java index 98cda4815..210a1812a 100644 --- a/redisson/src/main/java/org/redisson/RedissonLock.java +++ b/redisson/src/main/java/org/redisson/RedissonLock.java @@ -80,7 +80,7 @@ public class RedissonLock extends RedissonExpirable implements RLock { private static final Logger log = LoggerFactory.getLogger(RedissonLock.class); - private static final ConcurrentMap expirationRenewalMap = PlatformDependent.newConcurrentHashMap(); + private static final ConcurrentMap EXPIRATION_RENEWAL_MAP = PlatformDependent.newConcurrentHashMap(); protected long internalLockLeaseTime; final UUID id; @@ -213,7 +213,7 @@ public class RedissonLock extends RedissonExpirable implements RLock { } private void scheduleExpirationRenewal(long threadId) { - if (expirationRenewalMap.containsKey(getEntryName())) { + if (EXPIRATION_RENEWAL_MAP.containsKey(getEntryName())) { return; } @@ -223,7 +223,7 @@ public class RedissonLock extends RedissonExpirable implements RLock { RFuture future = renewExpirationAsync(threadId); future.onComplete((res, e) -> { - expirationRenewalMap.remove(getEntryName()); + EXPIRATION_RENEWAL_MAP.remove(getEntryName()); if (e != null) { log.error("Can't update lock " + getName() + " expiration", e); return; @@ -238,7 +238,7 @@ public class RedissonLock extends RedissonExpirable implements RLock { }, internalLockLeaseTime / 3, TimeUnit.MILLISECONDS); - if (expirationRenewalMap.putIfAbsent(getEntryName(), new ExpirationEntry(threadId, task)) != null) { + if (EXPIRATION_RENEWAL_MAP.putIfAbsent(getEntryName(), new ExpirationEntry(threadId, task)) != null) { task.cancel(); } } @@ -255,9 +255,9 @@ public class RedissonLock extends RedissonExpirable implements RLock { } void cancelExpirationRenewal(Long threadId) { - ExpirationEntry task = expirationRenewalMap.get(getEntryName()); + ExpirationEntry task = EXPIRATION_RENEWAL_MAP.get(getEntryName()); if (task != null && (threadId == null || task.getThreadId() == threadId)) { - expirationRenewalMap.remove(getEntryName()); + EXPIRATION_RENEWAL_MAP.remove(getEntryName()); task.getTimeout().cancel(); } } @@ -299,7 +299,7 @@ public class RedissonLock extends RedissonExpirable implements RLock { return true; } - time -= (System.currentTimeMillis() - current); + time -= System.currentTimeMillis() - current; if (time <= 0) { acquireFailed(threadId); return false; @@ -320,7 +320,7 @@ public class RedissonLock extends RedissonExpirable implements RLock { } try { - time -= (System.currentTimeMillis() - current); + time -= System.currentTimeMillis() - current; if (time <= 0) { acquireFailed(threadId); return false; @@ -334,7 +334,7 @@ public class RedissonLock extends RedissonExpirable implements RLock { return true; } - time -= (System.currentTimeMillis() - currentTime); + time -= System.currentTimeMillis() - currentTime; if (time <= 0) { acquireFailed(threadId); return false; @@ -348,7 +348,7 @@ public class RedissonLock extends RedissonExpirable implements RLock { getEntry(threadId).getLatch().tryAcquire(time, TimeUnit.MILLISECONDS); } - time -= (System.currentTimeMillis() - currentTime); + time -= System.currentTimeMillis() - currentTime; if (time <= 0) { acquireFailed(threadId); return false; @@ -383,7 +383,7 @@ public class RedissonLock extends RedissonExpirable implements RLock { get(unlockAsync(Thread.currentThread().getId())); } catch (RedisException e) { if (e.getCause() instanceof IllegalMonitorStateException) { - throw (IllegalMonitorStateException)e.getCause(); + throw (IllegalMonitorStateException) e.getCause(); } else { throw e; } @@ -796,4 +796,3 @@ public class RedissonLock extends RedissonExpirable implements RLock { } -; diff --git a/redisson/src/main/java/org/redisson/RedissonMap.java b/redisson/src/main/java/org/redisson/RedissonMap.java index 06924b648..e78e49b53 100644 --- a/redisson/src/main/java/org/redisson/RedissonMap.java +++ b/redisson/src/main/java/org/redisson/RedissonMap.java @@ -111,13 +111,13 @@ public class RedissonMap extends RedissonExpirable implements RMap { @Override public RPermitExpirableSemaphore getPermitExpirableSemaphore(K key) { String lockName = getLockName(key, "permitexpirablesemaphore"); - return new RedissonPermitExpirableSemaphore(commandExecutor, lockName, ((Redisson)redisson).getSemaphorePubSub()); + return new RedissonPermitExpirableSemaphore(commandExecutor, lockName, ((Redisson) redisson).getSemaphorePubSub()); } @Override public RSemaphore getSemaphore(K key) { String lockName = getLockName(key, "semaphore"); - return new RedissonSemaphore(commandExecutor, lockName, ((Redisson)redisson).getSemaphorePubSub()); + return new RedissonSemaphore(commandExecutor, lockName, ((Redisson) redisson).getSemaphorePubSub()); } @Override @@ -270,7 +270,7 @@ public class RedissonMap extends RedissonExpirable implements RMap { @Override public V get(Object key) { - return get(getAsync((K)key)); + return get(getAsync((K) key)); } @Override @@ -280,7 +280,7 @@ public class RedissonMap extends RedissonExpirable implements RMap { @Override public V remove(Object key) { - return get(removeAsync((K)key)); + return get(removeAsync((K) key)); } @Override @@ -297,7 +297,7 @@ public class RedissonMap extends RedissonExpirable implements RMap { public RFuture putAllAsync(Map map, int batchSize) { Map batch = new HashMap(); AtomicInteger counter = new AtomicInteger(); - Iterator> iter = ((Map)map).entrySet().iterator(); + Iterator> iter = ((Map) map).entrySet().iterator(); RPromise promise = new RedissonPromise(); putAllAsync(batch, iter, counter, batchSize, promise); @@ -828,7 +828,7 @@ public class RedissonMap extends RedissonExpirable implements RMap { @Override public RFuture loadAllAsync(Set keys, boolean replaceExistingValues, int parallelism) { - return loadAllAsync((Iterable)keys, replaceExistingValues, parallelism, null); + return loadAllAsync((Iterable) keys, replaceExistingValues, parallelism, null); } private RFuture loadAllAsync(Iterable keys, boolean replaceExistingValues, int parallelism, Map loadedEntires) { @@ -1062,7 +1062,7 @@ public class RedissonMap extends RedissonExpirable implements RMap { } if (options.getWriteMode() == WriteMode.WRITE_BEHIND) { - result.trySuccess((long)deletedKeys.size()); + result.trySuccess((long) deletedKeys.size()); MapWriterTask> listener = new MapWriterTask>() { @Override @@ -1076,7 +1076,7 @@ public class RedissonMap extends RedissonExpirable implements RMap { @Override public void run() { options.getWriter().deleteAll(deletedKeys); - result.trySuccess((long)deletedKeys.size()); + result.trySuccess((long) deletedKeys.size()); } }); } @@ -1172,14 +1172,14 @@ public class RedissonMap extends RedissonExpirable implements RMap { if (!(o instanceof Map)) return false; - Map m = (Map) o; + Map m = (Map) o; if (m.size() != size()) return false; try { - Iterator> i = entrySet().iterator(); + Iterator> i = entrySet().iterator(); while (i.hasNext()) { - Entry e = i.next(); + Entry e = i.next(); K key = e.getKey(); V value = e.getValue(); if (value == null) { @@ -1202,9 +1202,10 @@ public class RedissonMap extends RedissonExpirable implements RMap { @Override public int hashCode() { int h = 0; - Iterator> i = entrySet().iterator(); - while (i.hasNext()) + Iterator> i = entrySet().iterator(); + while (i.hasNext()) { h += i.next().hashCode(); + } return h; } @@ -1217,12 +1218,12 @@ public class RedissonMap extends RedissonExpirable implements RMap { }; } - class KeySet extends AbstractSet { + final class KeySet extends AbstractSet { private final String pattern; private final int count; - public KeySet(String pattern, int count) { + KeySet(String pattern, int count) { this.pattern = pattern; this.count = count; } @@ -1239,7 +1240,7 @@ public class RedissonMap extends RedissonExpirable implements RMap { @Override public boolean remove(Object o) { - return RedissonMap.this.fastRemove((K)o) == 1; + return RedissonMap.this.fastRemove((K) o) == 1; } @Override @@ -1275,7 +1276,7 @@ public class RedissonMap extends RedissonExpirable implements RMap { private final String keyPattern; private final int count; - public Values(String keyPattern, int count) { + Values(String keyPattern, int count) { this.keyPattern = keyPattern; this.count = count; } @@ -1310,7 +1311,7 @@ public class RedissonMap extends RedissonExpirable implements RMap { } - protected Iterator> entryIterator(String pattern, int count) { + protected Iterator> entryIterator(String pattern, int count) { return new RedissonMapIterator>(RedissonMap.this, pattern, count); } @@ -1389,32 +1390,35 @@ public class RedissonMap extends RedissonExpirable implements RMap { }); } - final class EntrySet extends AbstractSet> { + final class EntrySet extends AbstractSet> { private final String keyPattern; private final int count; - public EntrySet(String keyPattern, int count) { + EntrySet(String keyPattern, int count) { this.keyPattern = keyPattern; this.count = count; } - public final Iterator> iterator() { + @Override + public Iterator> iterator() { return entryIterator(keyPattern, count); } - public final boolean contains(Object o) { + @Override + public boolean contains(Object o) { if (!(o instanceof Map.Entry)) return false; - Map.Entry e = (Map.Entry) o; + Map.Entry e = (Map.Entry) o; Object key = e.getKey(); V value = get(key); return value != null && value.equals(e); } - public final boolean remove(Object o) { + @Override + public boolean remove(Object o) { if (o instanceof Map.Entry) { - Map.Entry e = (Map.Entry) o; + Map.Entry e = (Map.Entry) o; Object key = e.getKey(); Object value = e.getValue(); return RedissonMap.this.remove(key, value); @@ -1422,7 +1426,8 @@ public class RedissonMap extends RedissonExpirable implements RMap { return false; } - public final int size() { + @Override + public int size() { if (keyPattern != null) { int size = 0; for (Entry val : this) { @@ -1434,7 +1439,8 @@ public class RedissonMap extends RedissonExpirable implements RMap { return RedissonMap.this.size(); } - public final void clear() { + @Override + public void clear() { RedissonMap.this.clear(); } diff --git a/redisson/src/main/java/org/redisson/RedissonMapCache.java b/redisson/src/main/java/org/redisson/RedissonMapCache.java index 8de8ade0d..addf902c5 100644 --- a/redisson/src/main/java/org/redisson/RedissonMapCache.java +++ b/redisson/src/main/java/org/redisson/RedissonMapCache.java @@ -1254,9 +1254,9 @@ public class RedissonMapCache extends RedissonMap implements RMapCac } params.add(count); - RedisCommand> EVAL_HSCAN = new RedisCommand>("EVAL", + RedisCommand> command = new RedisCommand>("EVAL", new ListMultiDecoder(new LongMultiDecoder(), new ObjectMapDecoder(codec), new ObjectListDecoder(codec), new MapCacheScanResultReplayDecoder()), ValueType.MAP); - RFuture> f = commandExecutor.evalReadAsync(client, name, codec, EVAL_HSCAN, + RFuture> f = commandExecutor.evalReadAsync(client, name, codec, command, "local result = {}; " + "local idleKeys = {}; " + "local res; " @@ -1329,7 +1329,7 @@ public class RedissonMapCache extends RedissonMap implements RMapCac } }); - return (RFuture>)(Object)f; + return (RFuture>) (Object) f; } @Override @@ -1477,21 +1477,21 @@ public class RedissonMapCache extends RedissonMap implements RMapCac } @Override - public boolean fastPutIfAbsent(K key, V value, long ttl, TimeUnit ttlUnit) { - return fastPutIfAbsent(key, value, ttl, ttlUnit, 0, null); - } + public boolean fastPutIfAbsent(K key, V value, long ttl, TimeUnit ttlUnit) { + return fastPutIfAbsent(key, value, ttl, ttlUnit, 0, null); + } @Override public boolean fastPutIfAbsent(K key, V value, long ttl, TimeUnit ttlUnit, long maxIdleTime, TimeUnit maxIdleUnit) { - return get(fastPutIfAbsentAsync(key, value, ttl, ttlUnit, maxIdleTime, maxIdleUnit)); + return get(fastPutIfAbsentAsync(key, value, ttl, ttlUnit, maxIdleTime, maxIdleUnit)); } @Override - public RFuture fastPutIfAbsentAsync(K key, V value, long ttl, TimeUnit ttlUnit, long maxIdleTime, TimeUnit maxIdleUnit) { + public RFuture fastPutIfAbsentAsync(K key, V value, long ttl, TimeUnit ttlUnit, long maxIdleTime, TimeUnit maxIdleUnit) { checkKey(key); checkValue(value); - if (ttl < 0) { + if (ttl < 0) { throw new IllegalArgumentException("ttl can't be negative"); } if (maxIdleTime < 0) { @@ -1902,7 +1902,7 @@ public class RedissonMapCache extends RedissonMap implements RMapCac } if (isWindows == null) { - RFuture> serverFuture = commandExecutor.readAsync((String)null, StringCodec.INSTANCE, RedisCommands.INFO_SERVER); + RFuture> serverFuture = commandExecutor.readAsync((String) null, StringCodec.INSTANCE, RedisCommands.INFO_SERVER); serverFuture.syncUninterruptibly(); String os = serverFuture.getNow().get("os"); isWindows = os.contains("Windows"); @@ -1913,7 +1913,7 @@ public class RedissonMapCache extends RedissonMap implements RMapCac return topic.addListener(List.class, new MessageListener>() { @Override public void onMessage(CharSequence channel, List msg) { - EntryEvent event = new EntryEvent(RedissonMapCache.this, EntryEvent.Type.REMOVED, (K)msg.get(0), (V)msg.get(1), null); + EntryEvent event = new EntryEvent(RedissonMapCache.this, EntryEvent.Type.REMOVED, (K) msg.get(0), (V) msg.get(1), null); ((EntryRemovedListener) listener).onRemoved(event); } }); @@ -1924,7 +1924,7 @@ public class RedissonMapCache extends RedissonMap implements RMapCac return topic.addListener(List.class, new MessageListener>() { @Override public void onMessage(CharSequence channel, List msg) { - EntryEvent event = new EntryEvent(RedissonMapCache.this, EntryEvent.Type.CREATED, (K)msg.get(0), (V)msg.get(1), null); + EntryEvent event = new EntryEvent(RedissonMapCache.this, EntryEvent.Type.CREATED, (K) msg.get(0), (V) msg.get(1), null); ((EntryCreatedListener) listener).onCreated(event); } }); @@ -1935,7 +1935,7 @@ public class RedissonMapCache extends RedissonMap implements RMapCac return topic.addListener(List.class, new MessageListener>() { @Override public void onMessage(CharSequence channel, List msg) { - EntryEvent event = new EntryEvent(RedissonMapCache.this, EntryEvent.Type.UPDATED, (K)msg.get(0), (V)msg.get(1), (V)msg.get(2)); + EntryEvent event = new EntryEvent(RedissonMapCache.this, EntryEvent.Type.UPDATED, (K) msg.get(0), (V) msg.get(1), (V) msg.get(2)); ((EntryUpdatedListener) listener).onUpdated(event); } }); @@ -1946,7 +1946,7 @@ public class RedissonMapCache extends RedissonMap implements RMapCac return topic.addListener(List.class, new MessageListener>() { @Override public void onMessage(CharSequence channel, List msg) { - EntryEvent event = new EntryEvent(RedissonMapCache.this, EntryEvent.Type.EXPIRED, (K)msg.get(0), (V)msg.get(1), null); + EntryEvent event = new EntryEvent(RedissonMapCache.this, EntryEvent.Type.EXPIRED, (K) msg.get(0), (V) msg.get(1), null); ((EntryExpiredListener) listener).onExpired(event); } }); diff --git a/redisson/src/main/java/org/redisson/RedissonMultiLock.java b/redisson/src/main/java/org/redisson/RedissonMultiLock.java index 435624988..75afd3efb 100644 --- a/redisson/src/main/java/org/redisson/RedissonMultiLock.java +++ b/redisson/src/main/java/org/redisson/RedissonMultiLock.java @@ -41,6 +41,7 @@ import io.netty.util.internal.ThreadLocalRandom; * @author Nikita Koksharov * */ +@SuppressWarnings("ParameterNumber") public class RedissonMultiLock implements Lock { final List locks = new ArrayList(); @@ -260,7 +261,7 @@ public class RedissonMultiLock implements Lock { } if (remainTime != -1) { - remainTime -= (System.currentTimeMillis() - time); + remainTime -= System.currentTimeMillis() - time; time = System.currentTimeMillis(); if (remainTime <= 0) { unlockInner(acquiredLocks); @@ -300,7 +301,7 @@ public class RedissonMultiLock implements Lock { } else { long awaitTime = Math.min(lockWaitTime, remainTime.get()); lock.tryLockAsync(awaitTime, newLeaseTime, TimeUnit.MILLISECONDS, threadId) - .onComplete(new TransferListener(lockAcquiredFuture));; + .onComplete(new TransferListener(lockAcquiredFuture)); } lockAcquiredFuture.onComplete((res, e) -> { @@ -383,7 +384,7 @@ public class RedissonMultiLock implements Lock { AtomicLong remainTime, AtomicLong time, AtomicInteger failedLocksLimit, TimeUnit unit, long threadId) { if (remainTime.get() != -1) { remainTime.addAndGet(-(System.currentTimeMillis() - time.get())); - time.set(System.currentTimeMillis());; + time.set(System.currentTimeMillis()); if (remainTime.get() <= 0) { unlockInnerAsync(acquiredLocks, threadId).onComplete((res, e) -> { if (e != null) { diff --git a/redisson/src/main/java/org/redisson/RedissonMultiMapIterator.java b/redisson/src/main/java/org/redisson/RedissonMultiMapIterator.java index 611b99087..18276edf3 100644 --- a/redisson/src/main/java/org/redisson/RedissonMultiMapIterator.java +++ b/redisson/src/main/java/org/redisson/RedissonMultiMapIterator.java @@ -55,8 +55,7 @@ abstract class RedissonMultiMapIterator implements Iterator { final CommandAsyncExecutor commandExecutor; final Codec codec; - - public RedissonMultiMapIterator(RedissonMultimap map, CommandAsyncExecutor commandExecutor, Codec codec) { + RedissonMultiMapIterator(RedissonMultimap map, CommandAsyncExecutor commandExecutor, Codec codec) { this.map = map; this.commandExecutor = commandExecutor; this.codec = codec; @@ -116,7 +115,7 @@ abstract class RedissonMultiMapIterator implements Iterator { @SuppressWarnings("unchecked") M getValue(V entry) { - return (M)new AbstractMap.SimpleEntry(currentKey, entry) { + return (M) new AbstractMap.SimpleEntry(currentKey, entry) { @Override public V setValue(V value) { diff --git a/redisson/src/main/java/org/redisson/RedissonMultimap.java b/redisson/src/main/java/org/redisson/RedissonMultimap.java index 30bef2719..aee227037 100644 --- a/redisson/src/main/java/org/redisson/RedissonMultimap.java +++ b/redisson/src/main/java/org/redisson/RedissonMultimap.java @@ -69,13 +69,13 @@ public abstract class RedissonMultimap extends RedissonExpirable implement @Override public RLock getLock(K key) { String lockName = getLockName(key); - return new RedissonLock((CommandExecutor)commandExecutor, lockName); + return new RedissonLock((CommandExecutor) commandExecutor, lockName); } @Override public RReadWriteLock getReadWriteLock(K key) { String lockName = getLockName(key); - return new RedissonReadWriteLock((CommandExecutor)commandExecutor, lockName); + return new RedissonReadWriteLock((CommandExecutor) commandExecutor, lockName); } private String getLockName(Object key) { @@ -107,7 +107,7 @@ public abstract class RedissonMultimap extends RedissonExpirable implement @Override public int keySize() { - return get(keySizeAsync()); + return get(keySizeAsync()); } @Override @@ -296,7 +296,7 @@ public abstract class RedissonMultimap extends RedissonExpirable implement @Override public RFuture keySizeAsync() { - return commandExecutor.readAsync(getName(), LongCodec.INSTANCE, RedisCommands.HLEN, getName()); + return commandExecutor.readAsync(getName(), LongCodec.INSTANCE, RedisCommands.HLEN, getName()); } @@ -328,7 +328,7 @@ public abstract class RedissonMultimap extends RedissonExpirable implement @Override public boolean remove(Object o) { - return RedissonMultimap.this.fastRemove((K)o) == 1; + return RedissonMultimap.this.fastRemove((K) o) == 1; } @Override @@ -367,22 +367,25 @@ public abstract class RedissonMultimap extends RedissonExpirable implement } - final class EntrySet extends AbstractSet> { + final class EntrySet extends AbstractSet> { - public final Iterator> iterator() { + @Override + public Iterator> iterator() { return entryIterator(); } - public final boolean contains(Object o) { + @Override + public boolean contains(Object o) { if (!(o instanceof Map.Entry)) return false; - Map.Entry e = (Map.Entry) o; + Map.Entry e = (Map.Entry) o; return containsEntry(e.getKey(), e.getValue()); } - public final boolean remove(Object o) { + @Override + public boolean remove(Object o) { if (o instanceof Map.Entry) { - Map.Entry e = (Map.Entry) o; + Map.Entry e = (Map.Entry) o; Object key = e.getKey(); Object value = e.getValue(); return RedissonMultimap.this.remove(key, value); @@ -390,11 +393,13 @@ public abstract class RedissonMultimap extends RedissonExpirable implement return false; } - public final int size() { + @Override + public int size() { return RedissonMultimap.this.size(); } - public final void clear() { + @Override + public void clear() { RedissonMultimap.this.clear(); } diff --git a/redisson/src/main/java/org/redisson/RedissonMultimapCache.java b/redisson/src/main/java/org/redisson/RedissonMultimapCache.java index 0c05a560b..04f1a729b 100644 --- a/redisson/src/main/java/org/redisson/RedissonMultimapCache.java +++ b/redisson/src/main/java/org/redisson/RedissonMultimapCache.java @@ -60,12 +60,12 @@ public class RedissonMultimapCache { + "return 0; " + "end", Arrays.asList(object.getName(), timeoutSetName), - ttlTimeout, ((RedissonObject)object).encodeMapKey(key)); + ttlTimeout, ((RedissonObject) object).encodeMapKey(key)); } public RFuture sizeInMemoryAsync() { List keys = Arrays.asList(object.getName(), timeoutSetName); - return ((RedissonObject)object).sizeInMemoryAsync(keys); + return ((RedissonObject) object).sizeInMemoryAsync(keys); } public RFuture deleteAsync() { diff --git a/redisson/src/main/java/org/redisson/RedissonNode.java b/redisson/src/main/java/org/redisson/RedissonNode.java index 30333de54..b6d056f1d 100644 --- a/redisson/src/main/java/org/redisson/RedissonNode.java +++ b/redisson/src/main/java/org/redisson/RedissonNode.java @@ -33,14 +33,13 @@ import org.slf4j.LoggerFactory; import io.netty.buffer.ByteBufUtil; import io.netty.util.internal.PlatformDependent; -import io.netty.util.internal.ThreadLocalRandom; /** * * @author Nikita Koksharov * */ -public class RedissonNode { +public final class RedissonNode { private static final Logger log = LoggerFactory.getLogger(RedissonNode.class); @@ -156,10 +155,10 @@ public class RedissonNode { } private void retrieveAddresses() { - ConnectionManager connectionManager = ((Redisson)redisson).getConnectionManager(); + ConnectionManager connectionManager = ((Redisson) redisson).getConnectionManager(); for (MasterSlaveEntry entry : connectionManager.getEntrySet()) { RFuture readFuture = entry.connectionReadOp(null); - if (readFuture.awaitUninterruptibly((long)connectionManager.getConfig().getConnectTimeout()) + if (readFuture.awaitUninterruptibly((long) connectionManager.getConfig().getConnectTimeout()) && readFuture.isSuccess()) { RedisConnection connection = readFuture.getNow(); entry.releaseRead(connection); @@ -168,7 +167,7 @@ public class RedissonNode { return; } RFuture writeFuture = entry.connectionWriteOp(null); - if (writeFuture.awaitUninterruptibly((long)connectionManager.getConfig().getConnectTimeout()) + if (writeFuture.awaitUninterruptibly((long) connectionManager.getConfig().getConnectTimeout()) && writeFuture.isSuccess()) { RedisConnection connection = writeFuture.getNow(); entry.releaseWrite(connection); diff --git a/redisson/src/main/java/org/redisson/RedissonObject.java b/redisson/src/main/java/org/redisson/RedissonObject.java index 56ebc05f0..4660dc537 100644 --- a/redisson/src/main/java/org/redisson/RedissonObject.java +++ b/redisson/src/main/java/org/redisson/RedissonObject.java @@ -113,7 +113,7 @@ public abstract class RedissonObject implements RObject { } public final RFuture sizeInMemoryAsync(List keys) { - return commandExecutor.evalWriteAsync((String)keys.get(0), StringCodec.INSTANCE, RedisCommands.EVAL_LONG, + return commandExecutor.evalWriteAsync((String) keys.get(0), StringCodec.INSTANCE, RedisCommands.EVAL_LONG, "local total = 0;" + "for j = 1, #KEYS, 1 do " + "local size = redis.call('memory', 'usage', KEYS[j]); " diff --git a/redisson/src/main/java/org/redisson/RedissonPermitExpirableSemaphore.java b/redisson/src/main/java/org/redisson/RedissonPermitExpirableSemaphore.java index 2575e0d8d..cf3df56df 100644 --- a/redisson/src/main/java/org/redisson/RedissonPermitExpirableSemaphore.java +++ b/redisson/src/main/java/org/redisson/RedissonPermitExpirableSemaphore.java @@ -422,7 +422,7 @@ public class RedissonPermitExpirableSemaphore extends RedissonExpirable implemen return permitId; } - time -= (System.currentTimeMillis() - current); + time -= System.currentTimeMillis() - current; if (time <= 0) { return null; } @@ -434,7 +434,7 @@ public class RedissonPermitExpirableSemaphore extends RedissonExpirable implemen } try { - time -= (System.currentTimeMillis() - current); + time -= System.currentTimeMillis() - current; if (time <= 0) { return null; } @@ -453,7 +453,7 @@ public class RedissonPermitExpirableSemaphore extends RedissonExpirable implemen nearestTimeout = null; } - time -= (System.currentTimeMillis() - current); + time -= System.currentTimeMillis() - current; if (time <= 0) { return null; } diff --git a/redisson/src/main/java/org/redisson/RedissonPriorityQueue.java b/redisson/src/main/java/org/redisson/RedissonPriorityQueue.java index 0a7f150d5..7f613186e 100644 --- a/redisson/src/main/java/org/redisson/RedissonPriorityQueue.java +++ b/redisson/src/main/java/org/redisson/RedissonPriorityQueue.java @@ -165,7 +165,7 @@ public class RedissonPriorityQueue extends RedissonList implements RPriori @Override public boolean contains(Object o) { - return binarySearch((V)o, codec).getIndex() >= 0; + return binarySearch((V) o, codec).getIndex() >= 0; } @Override @@ -222,7 +222,7 @@ public class RedissonPriorityQueue extends RedissonList implements RPriori return false; } - remove((int)res.getIndex()); + remove((int) res.getIndex()); return true; } finally { lock.unlock(); @@ -411,6 +411,8 @@ public class RedissonPriorityQueue extends RedissonList implements RPriori return indexRes; } + @Override + @SuppressWarnings("AvoidInlineConditionals") public String toString() { Iterator it = iterator(); if (! it.hasNext()) diff --git a/redisson/src/main/java/org/redisson/RedissonRateLimiter.java b/redisson/src/main/java/org/redisson/RedissonRateLimiter.java index 77ac3ded1..c2129ee06 100644 --- a/redisson/src/main/java/org/redisson/RedissonRateLimiter.java +++ b/redisson/src/main/java/org/redisson/RedissonRateLimiter.java @@ -23,6 +23,7 @@ import org.redisson.api.RFuture; import org.redisson.api.RRateLimiter; import org.redisson.api.RateIntervalUnit; import org.redisson.api.RateType; +import org.redisson.client.codec.IntegerCodec; import org.redisson.client.codec.LongCodec; import org.redisson.client.protocol.RedisCommand; import org.redisson.client.protocol.RedisCommands; diff --git a/redisson/src/main/java/org/redisson/RedissonReactive.java b/redisson/src/main/java/org/redisson/RedissonReactive.java index 6fdc080c5..93ec9fa9d 100644 --- a/redisson/src/main/java/org/redisson/RedissonReactive.java +++ b/redisson/src/main/java/org/redisson/RedissonReactive.java @@ -208,7 +208,7 @@ public class RedissonReactive implements RedissonReactiveClient { List> buckets = new ArrayList>(); for (Object key : keys) { - if(key != null) { + if (key != null) { buckets.add(this.getBucket(key.toString())); } } @@ -342,7 +342,7 @@ public class RedissonReactive implements RedissonReactiveClient { @Override public RQueueReactive getQueue(String name, Codec codec) { return ReactiveProxyBuilder.create(commandExecutor, new RedissonQueue(codec, commandExecutor, name, null), - new RedissonListReactive(codec,commandExecutor, name), RQueueReactive.class); + new RedissonListReactive(codec, commandExecutor, name), RQueueReactive.class); } @Override diff --git a/redisson/src/main/java/org/redisson/RedissonReference.java b/redisson/src/main/java/org/redisson/RedissonReference.java index cf1be1f70..e56224086 100644 --- a/redisson/src/main/java/org/redisson/RedissonReference.java +++ b/redisson/src/main/java/org/redisson/RedissonReference.java @@ -58,25 +58,27 @@ import org.redisson.misc.BiHashMap; */ public class RedissonReference implements Serializable { - private static final BiHashMap reactiveMap = new BiHashMap(); + private static final long serialVersionUID = -2378564460151709127L; + + private static final BiHashMap REACTIVE_MAP = new BiHashMap(); static { - reactiveMap.put(RAtomicLongReactive.class.getName(), RAtomicLong.class.getName()); - reactiveMap.put(RBitSetReactive.class.getName(), RBitSet.class.getName()); - reactiveMap.put(RBlockingQueueReactive.class.getName(), RBlockingQueue.class.getName()); - reactiveMap.put(RBucketReactive.class.getName(), RBucket.class.getName()); - reactiveMap.put(RDequeReactive.class.getName(), RDeque.class.getName()); - reactiveMap.put(RHyperLogLogReactive.class.getName(), RHyperLogLog.class.getName()); - reactiveMap.put(RLexSortedSetReactive.class.getName(), RLexSortedSet.class.getName()); - reactiveMap.put(RListReactive.class.getName(), RList.class.getName()); - reactiveMap.put(RMapCacheReactive.class.getName(), RMapCache.class.getName()); - reactiveMap.put(RMapReactive.class.getName(), RMap.class.getName()); - reactiveMap.put(RQueueReactive.class.getName(), RQueue.class.getName()); - reactiveMap.put(RScoredSortedSetReactive.class.getName(), RScoredSortedSet.class.getName()); - reactiveMap.put(RSetCacheReactive.class.getName(), RSetCache.class.getName()); - reactiveMap.put(RSetReactive.class.getName(), RSet.class.getName()); - - reactiveMap.makeImmutable(); + REACTIVE_MAP.put(RAtomicLongReactive.class.getName(), RAtomicLong.class.getName()); + REACTIVE_MAP.put(RBitSetReactive.class.getName(), RBitSet.class.getName()); + REACTIVE_MAP.put(RBlockingQueueReactive.class.getName(), RBlockingQueue.class.getName()); + REACTIVE_MAP.put(RBucketReactive.class.getName(), RBucket.class.getName()); + REACTIVE_MAP.put(RDequeReactive.class.getName(), RDeque.class.getName()); + REACTIVE_MAP.put(RHyperLogLogReactive.class.getName(), RHyperLogLog.class.getName()); + REACTIVE_MAP.put(RLexSortedSetReactive.class.getName(), RLexSortedSet.class.getName()); + REACTIVE_MAP.put(RListReactive.class.getName(), RList.class.getName()); + REACTIVE_MAP.put(RMapCacheReactive.class.getName(), RMapCache.class.getName()); + REACTIVE_MAP.put(RMapReactive.class.getName(), RMap.class.getName()); + REACTIVE_MAP.put(RQueueReactive.class.getName(), RQueue.class.getName()); + REACTIVE_MAP.put(RScoredSortedSetReactive.class.getName(), RScoredSortedSet.class.getName()); + REACTIVE_MAP.put(RSetCacheReactive.class.getName(), RSetCache.class.getName()); + REACTIVE_MAP.put(RSetReactive.class.getName(), RSet.class.getName()); + + REACTIVE_MAP.makeImmutable(); } public static void warmUp() {} @@ -96,11 +98,15 @@ public class RedissonReference implements Serializable { if (!ClassUtils.isAnnotationPresent(type, REntity.class) && !RObject.class.isAssignableFrom(type) && !RObjectReactive.class.isAssignableFrom(type)) { throw new IllegalArgumentException("Class reference has to be a type of either RObject or RLiveObject or RObjectReactive"); } - this.type = RObjectReactive.class.isAssignableFrom(type) - ? reactiveMap.get(type.getName()) - : type.getName(); + if (RObjectReactive.class.isAssignableFrom(type)) { + this.type = REACTIVE_MAP.get(type.getName()); + } else { + this.type = type.getName(); + } this.keyName = keyName; - this.codec = codec != null ? codec.getClass().getName() : null; + if (codec != null) { + this.codec = codec.getClass().getName(); + } } /** @@ -122,8 +128,8 @@ public class RedissonReference implements Serializable { * ClassNotFoundException - if the class cannot be located */ public Class getReactiveType() throws Exception { - if (reactiveMap.containsValue(type)) { - return Class.forName(reactiveMap.reverseGet(type));//live object is not supported in reactive client + if (REACTIVE_MAP.containsValue(type)) { + return Class.forName(REACTIVE_MAP.reverseGet(type)); //live object is not supported in reactive client } throw new ClassNotFoundException("There is no Reactive compatible type for " + type); } @@ -179,9 +185,10 @@ public class RedissonReference implements Serializable { * ClassNotFoundException - if the class cannot be located */ public Class getCodecType() throws Exception { - return (Class) (codec == null - ? null - : Class.forName(codec)); + if (codec != null) { + return (Class) Class.forName(codec); + } + return null; } /** diff --git a/redisson/src/main/java/org/redisson/RedissonRx.java b/redisson/src/main/java/org/redisson/RedissonRx.java index 4ca69e476..5788b8a3f 100644 --- a/redisson/src/main/java/org/redisson/RedissonRx.java +++ b/redisson/src/main/java/org/redisson/RedissonRx.java @@ -312,7 +312,7 @@ public class RedissonRx implements RedissonRxClient { @Override public RQueueRx getQueue(String name, Codec codec) { return RxProxyBuilder.create(commandExecutor, new RedissonQueue(codec, commandExecutor, name, null), - new RedissonListRx(new RedissonList(codec,commandExecutor, name, null)), RQueueRx.class); + new RedissonListRx(new RedissonList(codec, commandExecutor, name, null)), RQueueRx.class); } @Override diff --git a/redisson/src/main/java/org/redisson/RedissonScoredSortedSet.java b/redisson/src/main/java/org/redisson/RedissonScoredSortedSet.java index 160b1af91..28c91517a 100644 --- a/redisson/src/main/java/org/redisson/RedissonScoredSortedSet.java +++ b/redisson/src/main/java/org/redisson/RedissonScoredSortedSet.java @@ -319,7 +319,11 @@ public class RedissonScoredSortedSet extends RedissonExpirable implements RSc element.append("("); } if (Double.isInfinite(score)) { - element.append(score > 0 ? "+inf" : "-inf"); + if (score > 0) { + element.append("+inf"); + } else { + element.append("-inf"); + } } else { element.append(BigDecimal.valueOf(score).toPlainString()); } @@ -421,7 +425,7 @@ public class RedissonScoredSortedSet extends RedissonExpirable implements RSc @Override protected void remove(Object value) { - RedissonScoredSortedSet.this.remove((V)value); + RedissonScoredSortedSet.this.remove((V) value); } }; @@ -493,7 +497,7 @@ public class RedissonScoredSortedSet extends RedissonExpirable implements RSc List params = new ArrayList(c.size()*2); for (Object object : c) { params.add(0); - params.add(encode((V)object)); + params.add(encode((V) object)); } return commandExecutor.evalWriteAsync(getName(), codec, RedisCommands.EVAL_BOOLEAN, @@ -863,7 +867,7 @@ public class RedissonScoredSortedSet extends RedissonExpirable implements RSc @Override public Collection readSort(String byPattern, List getPatterns, SortOrder order) { - return (Collection)get(readSortAsync(byPattern, getPatterns, order)); + return (Collection) get(readSortAsync(byPattern, getPatterns, order)); } @Override @@ -873,7 +877,7 @@ public class RedissonScoredSortedSet extends RedissonExpirable implements RSc @Override public Collection readSort(String byPattern, List getPatterns, SortOrder order, int offset, int count) { - return (Collection)get(readSortAsync(byPattern, getPatterns, order, offset, count)); + return (Collection) get(readSortAsync(byPattern, getPatterns, order, offset, count)); } @Override @@ -903,12 +907,12 @@ public class RedissonScoredSortedSet extends RedissonExpirable implements RSc @Override public Collection readSortAlpha(String byPattern, List getPatterns, SortOrder order) { - return (Collection)get(readSortAlphaAsync(byPattern, getPatterns, order)); + return (Collection) get(readSortAlphaAsync(byPattern, getPatterns, order)); } @Override public Collection readSortAlpha(String byPattern, List getPatterns, SortOrder order, int offset, int count) { - return (Collection)get(readSortAlphaAsync(byPattern, getPatterns, order, offset, count)); + return (Collection) get(readSortAlphaAsync(byPattern, getPatterns, order, offset, count)); } @Override diff --git a/redisson/src/main/java/org/redisson/RedissonScript.java b/redisson/src/main/java/org/redisson/RedissonScript.java index 485cbc6fa..6030254d7 100644 --- a/redisson/src/main/java/org/redisson/RedissonScript.java +++ b/redisson/src/main/java/org/redisson/RedissonScript.java @@ -29,7 +29,6 @@ import org.redisson.client.codec.StringCodec; import org.redisson.client.protocol.RedisCommand; import org.redisson.client.protocol.RedisCommands; import org.redisson.command.CommandAsyncExecutor; -import org.redisson.liveobject.core.RedissonObjectBuilder; import io.netty.buffer.ByteBuf; @@ -198,7 +197,7 @@ public class RedissonScript implements RScript { public List onFinish() { return new ArrayList(result); } - }, (Object[])shaDigests); + }, (Object[]) shaDigests); } public List scriptExists(String key, String... shaDigests) { @@ -292,13 +291,13 @@ public class RedissonScript implements RScript { @Override public R evalSha(String key, Mode mode, String shaDigest, ReturnType returnType, List keys, Object... values) { - return commandExecutor.get((RFuture)evalShaAsync(key, mode, shaDigest, returnType, keys, values)); + return commandExecutor.get((RFuture) evalShaAsync(key, mode, shaDigest, returnType, keys, values)); } @Override public R eval(String key, Mode mode, String luaScript, ReturnType returnType, List keys, Object... values) { - return commandExecutor.get((RFuture)evalAsync(key, mode, luaScript, returnType, keys, values)); + return commandExecutor.get((RFuture) evalAsync(key, mode, luaScript, returnType, keys, values)); } } diff --git a/redisson/src/main/java/org/redisson/RedissonSemaphore.java b/redisson/src/main/java/org/redisson/RedissonSemaphore.java index 66455556e..0d4b5b581 100644 --- a/redisson/src/main/java/org/redisson/RedissonSemaphore.java +++ b/redisson/src/main/java/org/redisson/RedissonSemaphore.java @@ -287,7 +287,7 @@ public class RedissonSemaphore extends RedissonExpirable implements RSemaphore { return true; } - time -= (System.currentTimeMillis() - current); + time -= System.currentTimeMillis() - current; if (time <= 0) { return false; } @@ -299,7 +299,7 @@ public class RedissonSemaphore extends RedissonExpirable implements RSemaphore { } try { - time -= (System.currentTimeMillis() - current); + time -= System.currentTimeMillis() - current; if (time <= 0) { return false; } @@ -310,7 +310,7 @@ public class RedissonSemaphore extends RedissonExpirable implements RSemaphore { return true; } - time -= (System.currentTimeMillis() - current); + time -= System.currentTimeMillis() - current; if (time <= 0) { return false; } @@ -320,7 +320,7 @@ public class RedissonSemaphore extends RedissonExpirable implements RSemaphore { getEntry().getLatch().tryAcquire(permits, time, TimeUnit.MILLISECONDS); - time -= (System.currentTimeMillis() - current); + time -= System.currentTimeMillis() - current; if (time <= 0) { return false; } diff --git a/redisson/src/main/java/org/redisson/RedissonSet.java b/redisson/src/main/java/org/redisson/RedissonSet.java index 635dd1293..2f08a8cb6 100644 --- a/redisson/src/main/java/org/redisson/RedissonSet.java +++ b/redisson/src/main/java/org/redisson/RedissonSet.java @@ -122,7 +122,7 @@ public class RedissonSet extends RedissonExpirable implements RSet, ScanIt @Override protected void remove(Object value) { - RedissonSet.this.remove((V)value); + RedissonSet.this.remove((V) value); } }; @@ -212,7 +212,7 @@ public class RedissonSet extends RedissonExpirable implements RSet, ScanIt @Override public boolean remove(Object value) { - return get(removeAsync((V)value)); + return get(removeAsync((V) value)); } @Override @@ -388,6 +388,7 @@ public class RedissonSet extends RedissonExpirable implements RSet, ScanIt } @Override + @SuppressWarnings("AvoidInlineConditionals") public String toString() { Iterator it = iterator(); if (! it.hasNext()) @@ -446,7 +447,7 @@ public class RedissonSet extends RedissonExpirable implements RSet, ScanIt @Override public Collection readSort(String byPattern, List getPatterns, SortOrder order) { - return (Collection)get(readSortAsync(byPattern, getPatterns, order)); + return (Collection) get(readSortAsync(byPattern, getPatterns, order)); } @Override @@ -456,7 +457,7 @@ public class RedissonSet extends RedissonExpirable implements RSet, ScanIt @Override public Collection readSort(String byPattern, List getPatterns, SortOrder order, int offset, int count) { - return (Collection)get(readSortAsync(byPattern, getPatterns, order, offset, count)); + return (Collection) get(readSortAsync(byPattern, getPatterns, order, offset, count)); } @Override @@ -486,12 +487,12 @@ public class RedissonSet extends RedissonExpirable implements RSet, ScanIt @Override public Collection readSortAlpha(String byPattern, List getPatterns, SortOrder order) { - return (Collection)get(readSortAlphaAsync(byPattern, getPatterns, order)); + return (Collection) get(readSortAlphaAsync(byPattern, getPatterns, order)); } @Override public Collection readSortAlpha(String byPattern, List getPatterns, SortOrder order, int offset, int count) { - return (Collection)get(readSortAlphaAsync(byPattern, getPatterns, order, offset, count)); + return (Collection) get(readSortAlphaAsync(byPattern, getPatterns, order, offset, count)); } @Override @@ -619,13 +620,13 @@ public class RedissonSet extends RedissonExpirable implements RSet, ScanIt @Override public RPermitExpirableSemaphore getPermitExpirableSemaphore(V value) { String lockName = getLockName(value, "permitexpirablesemaphore"); - return new RedissonPermitExpirableSemaphore(commandExecutor, lockName, ((Redisson)redisson).getSemaphorePubSub()); + return new RedissonPermitExpirableSemaphore(commandExecutor, lockName, ((Redisson) redisson).getSemaphorePubSub()); } @Override public RSemaphore getSemaphore(V value) { String lockName = getLockName(value, "semaphore"); - return new RedissonSemaphore(commandExecutor, lockName, ((Redisson)redisson).getSemaphorePubSub()); + return new RedissonSemaphore(commandExecutor, lockName, ((Redisson) redisson).getSemaphorePubSub()); } @Override diff --git a/redisson/src/main/java/org/redisson/RedissonSetCache.java b/redisson/src/main/java/org/redisson/RedissonSetCache.java index f128a1584..00a5e343b 100644 --- a/redisson/src/main/java/org/redisson/RedissonSetCache.java +++ b/redisson/src/main/java/org/redisson/RedissonSetCache.java @@ -184,7 +184,7 @@ public class RedissonSetCache extends RedissonExpirable implements RSetCache< @Override protected void remove(Object value) { - RedissonSetCache.this.remove((V)value); + RedissonSetCache.this.remove((V) value); } }; @@ -265,7 +265,7 @@ public class RedissonSetCache extends RedissonExpirable implements RSetCache< @Override public boolean remove(Object value) { - return get(removeAsync((V)value)); + return get(removeAsync((V) value)); } @Override @@ -336,7 +336,7 @@ public class RedissonSetCache extends RedissonExpirable implements RSetCache< List params = new ArrayList(c.size()*2); for (Object object : c) { params.add(score); - params.add(encode((V)object)); + params.add(encode((V) object)); } return commandExecutor.evalWriteAsync(getName(), codec, RedisCommands.EVAL_BOOLEAN, @@ -383,13 +383,13 @@ public class RedissonSetCache extends RedissonExpirable implements RSetCache< @Override public RPermitExpirableSemaphore getPermitExpirableSemaphore(V value) { String lockName = getLockName(value, "permitexpirablesemaphore"); - return new RedissonPermitExpirableSemaphore(commandExecutor, lockName, ((Redisson)redisson).getSemaphorePubSub()); + return new RedissonPermitExpirableSemaphore(commandExecutor, lockName, ((Redisson) redisson).getSemaphorePubSub()); } @Override public RSemaphore getSemaphore(V value) { String lockName = getLockName(value, "semaphore"); - return new RedissonSemaphore(commandExecutor, lockName, ((Redisson)redisson).getSemaphorePubSub()); + return new RedissonSemaphore(commandExecutor, lockName, ((Redisson) redisson).getSemaphorePubSub()); } @Override diff --git a/redisson/src/main/java/org/redisson/RedissonSetMultimapValues.java b/redisson/src/main/java/org/redisson/RedissonSetMultimapValues.java index 587417ccc..60347d0e3 100644 --- a/redisson/src/main/java/org/redisson/RedissonSetMultimapValues.java +++ b/redisson/src/main/java/org/redisson/RedissonSetMultimapValues.java @@ -230,7 +230,7 @@ public class RedissonSetMultimapValues extends RedissonExpirable implements R @Override protected void remove(Object value) { - RedissonSetMultimapValues.this.remove((V)value); + RedissonSetMultimapValues.this.remove((V) value); } }; @@ -342,7 +342,7 @@ public class RedissonSetMultimapValues extends RedissonExpirable implements R @Override public boolean remove(Object value) { - return get(removeAsync((V)value)); + return get(removeAsync((V) value)); } @Override diff --git a/redisson/src/main/java/org/redisson/RedissonSortedSet.java b/redisson/src/main/java/org/redisson/RedissonSortedSet.java index f66f1ff02..0e5005b00 100644 --- a/redisson/src/main/java/org/redisson/RedissonSortedSet.java +++ b/redisson/src/main/java/org/redisson/RedissonSortedSet.java @@ -194,7 +194,7 @@ public class RedissonSortedSet extends RedissonObject implements RSortedSet= 0; + return binarySearch((V) o, codec).getIndex() >= 0; } @Override @@ -298,7 +298,7 @@ public class RedissonSortedSet extends RedissonObject implements RSortedSet extends RedissonObject implements RSortedSet it = iterator(); if (! it.hasNext()) diff --git a/redisson/src/main/java/org/redisson/RedissonStream.java b/redisson/src/main/java/org/redisson/RedissonStream.java index c8ff46f38..438386b8c 100644 --- a/redisson/src/main/java/org/redisson/RedissonStream.java +++ b/redisson/src/main/java/org/redisson/RedissonStream.java @@ -232,7 +232,7 @@ public class RedissonStream extends RedissonExpirable implements RStream>>> readGroupAsync(String groupName, String consumerName,StreamMessageId id, Map keyToId) { + public RFuture>>> readGroupAsync(String groupName, String consumerName, StreamMessageId id, Map keyToId) { return readGroupAsync(groupName, consumerName, 0, id, keyToId); } diff --git a/redisson/src/main/java/org/redisson/RedissonSubList.java b/redisson/src/main/java/org/redisson/RedissonSubList.java index 262e53b7f..e5df1ba65 100644 --- a/redisson/src/main/java/org/redisson/RedissonSubList.java +++ b/redisson/src/main/java/org/redisson/RedissonSubList.java @@ -486,6 +486,7 @@ public class RedissonSubList extends RedissonList implements RList { get(trimAsync(fromIndex, toIndex)); } + @SuppressWarnings("AvoidInlineConditionals") public String toString() { Iterator it = iterator(); if (! it.hasNext()) @@ -503,6 +504,7 @@ public class RedissonSubList extends RedissonList implements RList { } @Override + @SuppressWarnings("AvoidInlineConditionals") public boolean equals(Object o) { if (o == this) return true; @@ -521,6 +523,7 @@ public class RedissonSubList extends RedissonList implements RList { } @Override + @SuppressWarnings("AvoidInlineConditionals") public int hashCode() { int hashCode = 1; for (V e : this) { diff --git a/redisson/src/main/java/org/redisson/RedissonSubSortedSet.java b/redisson/src/main/java/org/redisson/RedissonSubSortedSet.java index b26146c81..f38a8ed2e 100644 --- a/redisson/src/main/java/org/redisson/RedissonSubSortedSet.java +++ b/redisson/src/main/java/org/redisson/RedissonSubSortedSet.java @@ -38,7 +38,7 @@ class RedissonSubSortedSet implements SortedSet { private V headValue; private V tailValue; - public RedissonSubSortedSet(RedissonSortedSet redissonSortedSet, ConnectionManager connectionManager, V headValue, V tailValue) { + RedissonSubSortedSet(RedissonSortedSet redissonSortedSet, ConnectionManager connectionManager, V headValue, V tailValue) { super(); this.headValue = headValue; this.tailValue = tailValue; @@ -317,6 +317,8 @@ class RedissonSubSortedSet implements SortedSet { // } } + @SuppressWarnings("AvoidInlineConditionals") + @Override public String toString() { Iterator it = iterator(); if (! it.hasNext()) diff --git a/redisson/src/main/java/org/redisson/RedissonTopic.java b/redisson/src/main/java/org/redisson/RedissonTopic.java index 8bfb7d655..becb72e95 100644 --- a/redisson/src/main/java/org/redisson/RedissonTopic.java +++ b/redisson/src/main/java/org/redisson/RedissonTopic.java @@ -104,14 +104,14 @@ public class RedissonTopic implements RTopic { @Override public int addListener(Class type, MessageListener listener) { - PubSubMessageListener pubSubListener = new PubSubMessageListener(type, (MessageListener)listener, name); + PubSubMessageListener pubSubListener = new PubSubMessageListener(type, (MessageListener) listener, name); return addListener(pubSubListener); } @Override public RFuture addListenerAsync(StatusListener listener) { PubSubStatusListener pubSubListener = new PubSubStatusListener(listener, name); - return addListenerAsync((RedisPubSubListener)pubSubListener); + return addListenerAsync((RedisPubSubListener) pubSubListener); } @Override diff --git a/redisson/src/main/java/org/redisson/Version.java b/redisson/src/main/java/org/redisson/Version.java index d5dba0850..64d7e2728 100644 --- a/redisson/src/main/java/org/redisson/Version.java +++ b/redisson/src/main/java/org/redisson/Version.java @@ -37,7 +37,7 @@ public class Version { continue; } String name = attrs.getValue("Bundle-Name"); - if (name != null && name.equals("Redisson")) { + if ("Redisson".equals(name)) { log.info("Redisson " + attrs.getValue("Bundle-Version")); break; } diff --git a/redisson/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java b/redisson/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java index ef11e05bc..72757e4ab 100644 --- a/redisson/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java +++ b/redisson/src/main/java/org/redisson/connection/MasterSlaveConnectionManager.java @@ -656,6 +656,7 @@ public class MasterSlaveConnectionManager implements ConnectionManager { if (cfg.getEventLoopGroup() == null) { group.shutdownGracefully(quietPeriod, timeout, unit).syncUninterruptibly(); } + } @Override diff --git a/redisson/src/main/java/org/redisson/pubsub/CountDownLatchPubSub.java b/redisson/src/main/java/org/redisson/pubsub/CountDownLatchPubSub.java index 3913ede94..bdff622cb 100644 --- a/redisson/src/main/java/org/redisson/pubsub/CountDownLatchPubSub.java +++ b/redisson/src/main/java/org/redisson/pubsub/CountDownLatchPubSub.java @@ -33,10 +33,10 @@ public class CountDownLatchPubSub extends PublishSubscribe + files="JCache.java|RedissonMapCache.java"/>