From 52ac566dd3856eb19a8286d3eb4306da825880ef Mon Sep 17 00:00:00 2001 From: Markus Heiden Date: Sat, 23 Aug 2014 18:14:50 +0200 Subject: [PATCH 1/3] Changed weights from ints to doubles --- src/main/java/redis/clients/jedis/ZParams.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/redis/clients/jedis/ZParams.java b/src/main/java/redis/clients/jedis/ZParams.java index 7b585f3..ff2ef60 100644 --- a/src/main/java/redis/clients/jedis/ZParams.java +++ b/src/main/java/redis/clients/jedis/ZParams.java @@ -23,9 +23,9 @@ public class ZParams { private List params = new ArrayList(); - public ZParams weights(final int... weights) { + public ZParams weights(final double... weights) { params.add(WEIGHTS.raw); - for (final int weight : weights) { + for (final double weight : weights) { params.add(Protocol.toByteArray(weight)); } From ae73a99a17628d6e12ade3550b9a15967342696f Mon Sep 17 00:00:00 2001 From: Markus Heiden Date: Sat, 23 Aug 2014 19:39:19 +0200 Subject: [PATCH 2/3] Adopted test to use decimal weight values --- .../tests/commands/SortedSetCommandsTest.java | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java index f055500..467fc7b 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java @@ -783,15 +783,15 @@ public class SortedSetCommandsTest extends JedisCommandTestBase { jedis.zadd("bar", 2, "b"); ZParams params = new ZParams(); - params.weights(2, 2); + params.weights(2, 2.5); params.aggregate(ZParams.Aggregate.SUM); long result = jedis.zunionstore("dst", params, "foo", "bar"); assertEquals(2, result); Set expected = new LinkedHashSet(); - expected.add(new Tuple("b", new Double(8))); - expected.add(new Tuple("a", new Double(6))); + expected.add(new Tuple("b", new Double(9))); + expected.add(new Tuple("a", new Double(7))); assertEquals(expected, jedis.zrangeWithScores("dst", 0, 100)); @@ -802,7 +802,7 @@ public class SortedSetCommandsTest extends JedisCommandTestBase { jedis.zadd(bbar, 2, bb); ZParams bparams = new ZParams(); - bparams.weights(2, 2); + bparams.weights(2, 2.5); bparams.aggregate(ZParams.Aggregate.SUM); long bresult = jedis.zunionstore(SafeEncoder.encode("dst"), bparams, bfoo, bbar); @@ -810,8 +810,8 @@ public class SortedSetCommandsTest extends JedisCommandTestBase { assertEquals(2, bresult); Set bexpected = new LinkedHashSet(); - bexpected.add(new Tuple(bb, new Double(8))); - bexpected.add(new Tuple(ba, new Double(6))); + bexpected.add(new Tuple(bb, new Double(9))); + bexpected.add(new Tuple(ba, new Double(7))); assertEquals(bexpected, jedis.zrangeWithScores(SafeEncoder.encode("dst"), 0, 100)); @@ -855,14 +855,14 @@ public class SortedSetCommandsTest extends JedisCommandTestBase { jedis.zadd("bar", 2, "a"); ZParams params = new ZParams(); - params.weights(2, 2); + params.weights(2, 2.5); params.aggregate(ZParams.Aggregate.SUM); long result = jedis.zinterstore("dst", params, "foo", "bar"); assertEquals(1, result); Set expected = new LinkedHashSet(); - expected.add(new Tuple("a", new Double(6))); + expected.add(new Tuple("a", new Double(7))); assertEquals(expected, jedis.zrangeWithScores("dst", 0, 100)); @@ -872,7 +872,7 @@ public class SortedSetCommandsTest extends JedisCommandTestBase { jedis.zadd(bbar, 2, ba); ZParams bparams = new ZParams(); - bparams.weights(2, 2); + bparams.weights(2, 2.5); bparams.aggregate(ZParams.Aggregate.SUM); long bresult = jedis.zinterstore(SafeEncoder.encode("dst"), bparams, bfoo, bbar); @@ -880,7 +880,7 @@ public class SortedSetCommandsTest extends JedisCommandTestBase { assertEquals(1, bresult); Set bexpected = new LinkedHashSet(); - bexpected.add(new Tuple(ba, new Double(6))); + bexpected.add(new Tuple(ba, new Double(7))); assertEquals(bexpected, jedis.zrangeWithScores(SafeEncoder.encode("dst"), 0, 100)); From ad5412d8cfc24ab56f9da3d3159035630fd00d36 Mon Sep 17 00:00:00 2001 From: Markus Heiden Date: Wed, 27 Aug 2014 21:12:28 +0200 Subject: [PATCH 3/3] Restored old method for int weights for backwards compatibility --- .../java/redis/clients/jedis/ZParams.java | 25 ++++++++++++++++++- .../tests/commands/SortedSetCommandsTest.java | 8 +++--- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/src/main/java/redis/clients/jedis/ZParams.java b/src/main/java/redis/clients/jedis/ZParams.java index ff2ef60..ac1d1bd 100644 --- a/src/main/java/redis/clients/jedis/ZParams.java +++ b/src/main/java/redis/clients/jedis/ZParams.java @@ -23,7 +23,30 @@ public class ZParams { private List params = new ArrayList(); - public ZParams weights(final double... weights) { + /** + * Set weights. + * + * @param weights + * weights. + * @deprecated Use {@link #weightsByDouble(double...)} instead + */ + @Deprecated + public ZParams weights(final int... weights) { + params.add(WEIGHTS.raw); + for (final int weight : weights) { + params.add(Protocol.toByteArray(weight)); + } + + return this; + } + + /** + * Set weights. + * + * @param weights + * weights. + */ + public ZParams weightsByDouble(final double... weights) { params.add(WEIGHTS.raw); for (final double weight : weights) { params.add(Protocol.toByteArray(weight)); diff --git a/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java b/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java index 467fc7b..f510ae3 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java @@ -783,7 +783,7 @@ public class SortedSetCommandsTest extends JedisCommandTestBase { jedis.zadd("bar", 2, "b"); ZParams params = new ZParams(); - params.weights(2, 2.5); + params.weightsByDouble(2, 2.5); params.aggregate(ZParams.Aggregate.SUM); long result = jedis.zunionstore("dst", params, "foo", "bar"); @@ -802,7 +802,7 @@ public class SortedSetCommandsTest extends JedisCommandTestBase { jedis.zadd(bbar, 2, bb); ZParams bparams = new ZParams(); - bparams.weights(2, 2.5); + bparams.weightsByDouble(2, 2.5); bparams.aggregate(ZParams.Aggregate.SUM); long bresult = jedis.zunionstore(SafeEncoder.encode("dst"), bparams, bfoo, bbar); @@ -855,7 +855,7 @@ public class SortedSetCommandsTest extends JedisCommandTestBase { jedis.zadd("bar", 2, "a"); ZParams params = new ZParams(); - params.weights(2, 2.5); + params.weightsByDouble(2, 2.5); params.aggregate(ZParams.Aggregate.SUM); long result = jedis.zinterstore("dst", params, "foo", "bar"); @@ -872,7 +872,7 @@ public class SortedSetCommandsTest extends JedisCommandTestBase { jedis.zadd(bbar, 2, ba); ZParams bparams = new ZParams(); - bparams.weights(2, 2.5); + bparams.weightsByDouble(2, 2.5); bparams.aggregate(ZParams.Aggregate.SUM); long bresult = jedis.zinterstore(SafeEncoder.encode("dst"), bparams, bfoo, bbar);