From c9dacc40074cddb2aa5f16808e4ae261b07e8b2a Mon Sep 17 00:00:00 2001 From: Nikita Date: Wed, 10 Jan 2018 06:12:02 +0300 Subject: [PATCH] refactoring --- .../java/org/redisson/RedissonBaseAdder.java | 4 -- .../org/redisson/RedissonDoubleAdder.java | 61 ++++++------------- .../java/org/redisson/RedissonLongAdder.java | 58 ++++++------------ .../org/redisson/RedissonDoubleAdderTest.java | 1 - 4 files changed, 38 insertions(+), 86 deletions(-) diff --git a/redisson/src/main/java/org/redisson/RedissonBaseAdder.java b/redisson/src/main/java/org/redisson/RedissonBaseAdder.java index 1bc9e5e51..37c65e45e 100644 --- a/redisson/src/main/java/org/redisson/RedissonBaseAdder.java +++ b/redisson/src/main/java/org/redisson/RedissonBaseAdder.java @@ -102,10 +102,6 @@ public abstract class RedissonBaseAdder extends RedissonExpira protected abstract void doReset(); - public T sum() { - return get(sumAsync()); - } - public void reset() { get(resetAsync()); } diff --git a/redisson/src/main/java/org/redisson/RedissonDoubleAdder.java b/redisson/src/main/java/org/redisson/RedissonDoubleAdder.java index 3c207d3ca..b5a582db6 100644 --- a/redisson/src/main/java/org/redisson/RedissonDoubleAdder.java +++ b/redisson/src/main/java/org/redisson/RedissonDoubleAdder.java @@ -28,38 +28,37 @@ import org.redisson.command.CommandAsyncExecutor; * @author Nikita Koksharov * */ -public class RedissonDoubleAdder extends RedissonExpirable implements RDoubleAdder { +public class RedissonDoubleAdder extends RedissonBaseAdder implements RDoubleAdder { private final DoubleAdder counter = new DoubleAdder(); - private final RedissonBaseAdder adder; + private final RAtomicDouble atomicDouble; public RedissonDoubleAdder(CommandAsyncExecutor connectionManager, String name, RedissonClient redisson) { - super(connectionManager, name); + super(connectionManager, name, redisson); - final RAtomicDouble atomicDouble = redisson.getAtomicDouble(getName()); - adder = new RedissonBaseAdder(connectionManager, name, redisson) { - @Override - protected void doReset() { - counter.reset(); - } - - @Override - protected RFuture addAndGetAsync() { - return atomicDouble.getAndAddAsync(counter.sum()); - } + atomicDouble = redisson.getAtomicDouble(getName()); + } - @Override - protected RFuture getAsync() { - return atomicDouble.getAsync(); - } - }; + @Override + protected void doReset() { + counter.reset(); + } + + @Override + protected RFuture addAndGetAsync() { + return atomicDouble.getAndAddAsync(counter.sum()); + } + + @Override + protected RFuture getAsync() { + return atomicDouble.getAsync(); } @Override public void add(double x) { counter.add(x); } - + @Override public void increment() { add(1L); @@ -72,27 +71,7 @@ public class RedissonDoubleAdder extends RedissonExpirable implements RDoubleAdd @Override public double sum() { - return adder.sum(); - } - - @Override - public void reset() { - adder.reset(); - } - - @Override - public RFuture sumAsync() { - return adder.sumAsync(); - } - - @Override - public RFuture resetAsync() { - return adder.resetAsync(); - } - - @Override - public void destroy() { - adder.destroy(); + return get(sumAsync()); } } diff --git a/redisson/src/main/java/org/redisson/RedissonLongAdder.java b/redisson/src/main/java/org/redisson/RedissonLongAdder.java index 8652c528b..c0faeda87 100644 --- a/redisson/src/main/java/org/redisson/RedissonLongAdder.java +++ b/redisson/src/main/java/org/redisson/RedissonLongAdder.java @@ -27,32 +27,30 @@ import org.redisson.misc.LongAdder; * @author Nikita Koksharov * */ -public class RedissonLongAdder extends RedissonExpirable implements RLongAdder { +public class RedissonLongAdder extends RedissonBaseAdder implements RLongAdder { private final RAtomicLong atomicLong; private final LongAdder counter = new LongAdder(); - private final RedissonBaseAdder adder; public RedissonLongAdder(CommandAsyncExecutor connectionManager, String name, RedissonClient redisson) { - super(connectionManager, name); + super(connectionManager, name, redisson); atomicLong = redisson.getAtomicLong(getName()); - adder = new RedissonBaseAdder(connectionManager, name, redisson) { - @Override - protected void doReset() { - counter.reset(); - } - - @Override - protected RFuture addAndGetAsync() { - return atomicLong.getAndAddAsync(counter.sum()); - } + } - @Override - protected RFuture getAsync() { - return atomicLong.getAsync(); - } - }; + @Override + protected void doReset() { + counter.reset(); + } + + @Override + protected RFuture addAndGetAsync() { + return atomicLong.getAndAddAsync(counter.sum()); + } + + @Override + protected RFuture getAsync() { + return atomicLong.getAsync(); } @Override @@ -69,30 +67,10 @@ public class RedissonLongAdder extends RedissonExpirable implements RLongAdder { public void decrement() { add(-1L); } - + @Override public long sum() { - return adder.sum(); + return get(sumAsync()); } - @Override - public void reset() { - adder.reset(); - } - - @Override - public RFuture sumAsync() { - return adder.sumAsync(); - } - - @Override - public RFuture resetAsync() { - return adder.resetAsync(); - } - - @Override - public void destroy() { - adder.destroy(); - } - } diff --git a/redisson/src/test/java/org/redisson/RedissonDoubleAdderTest.java b/redisson/src/test/java/org/redisson/RedissonDoubleAdderTest.java index 593d113f9..66113576e 100644 --- a/redisson/src/test/java/org/redisson/RedissonDoubleAdderTest.java +++ b/redisson/src/test/java/org/redisson/RedissonDoubleAdderTest.java @@ -3,7 +3,6 @@ package org.redisson; import org.assertj.core.api.Assertions; import org.junit.Test; import org.redisson.api.RDoubleAdder; -import org.redisson.api.RLongAdder; public class RedissonDoubleAdderTest extends BaseTest {