diff --git a/src/main/java/redis/clients/jedis/BuilderFactory.java b/src/main/java/redis/clients/jedis/BuilderFactory.java index 237d2f39c4..de02d71b4d 100644 --- a/src/main/java/redis/clients/jedis/BuilderFactory.java +++ b/src/main/java/redis/clients/jedis/BuilderFactory.java @@ -46,7 +46,7 @@ public String toString() { public static final Builder BYTE_ARRAY = new Builder() { @Override public byte[] build(Object data) { - return ((byte[]) data); // deleted == 1 + return (byte[]) data; } @Override @@ -65,8 +65,24 @@ public Long build(Object data) { public String toString() { return "long"; } + }; + public static final Builder> LONG_LIST = new Builder>() { + @Override + @SuppressWarnings("unchecked") + public List build(Object data) { + if (null == data) { + return null; + } + return (List) data; + } + + @Override + public String toString() { + return "List"; + } }; + public static final Builder STRING = new Builder() { @Override public String build(Object data) { @@ -102,52 +118,34 @@ public List build(Object data) { public String toString() { return "List"; } - }; - public static final Builder> STRING_MAP = new Builder>() { - @Override - @SuppressWarnings("unchecked") - public Map build(Object data) { - final List flatHash = (List) data; - final Map hash = new HashMap<>(flatHash.size()/2, 1); - final Iterator iterator = flatHash.iterator(); - while (iterator.hasNext()) { - hash.put(SafeEncoder.encode(iterator.next()), SafeEncoder.encode(iterator.next())); - } - - return hash; - } - @Override - public String toString() { - return "Map"; - } - - }; - - public static final Builder> PUBSUB_NUMSUB_MAP = new Builder>() { + public static final Builder> STRING_SET = new Builder>() { @Override @SuppressWarnings("unchecked") - public Map build(Object data) { - final List flatHash = (List) data; - final Map hash = new HashMap<>(flatHash.size()/2, 1); - final Iterator iterator = flatHash.iterator(); - while (iterator.hasNext()) { - hash.put(SafeEncoder.encode((byte[]) iterator.next()), - String.valueOf((Long) iterator.next())); + public Set build(Object data) { + if (null == data) { + return null; } - - return hash; + List l = (List) data; + final Set result = new HashSet(l.size(), 1); + for (final byte[] barray : l) { + if (barray == null) { + result.add(null); + } else { + result.add(SafeEncoder.encode(barray)); + } + } + return result; } @Override public String toString() { - return "PUBSUB_NUMSUB_MAP"; + return "Set"; } - }; - public static final Builder> STRING_SET = new Builder>() { + public static final Builder> STRING_ZSET = new Builder>() { @Override @SuppressWarnings("unchecked") public Set build(Object data) { @@ -155,7 +153,7 @@ public Set build(Object data) { return null; } List l = (List) data; - final Set result = new HashSet<>(l.size(), 1); + final Set result = new LinkedHashSet(l.size(), 1); for (final byte[] barray : l) { if (barray == null) { result.add(null); @@ -168,9 +166,28 @@ public Set build(Object data) { @Override public String toString() { - return "Set"; + return "ZSet"; + } + }; + + public static final Builder> STRING_MAP = new Builder>() { + @Override + @SuppressWarnings("unchecked") + public Map build(Object data) { + final List flatHash = (List) data; + final Map hash = new HashMap(flatHash.size()/2, 1); + final Iterator iterator = flatHash.iterator(); + while (iterator.hasNext()) { + hash.put(SafeEncoder.encode(iterator.next()), SafeEncoder.encode(iterator.next())); + } + + return hash; } + @Override + public String toString() { + return "Map"; + } }; public static final Builder> BYTE_ARRAY_LIST = new Builder>() { @@ -236,30 +253,23 @@ public String toString() { }; - public static final Builder> STRING_ZSET = new Builder>() { + public static final Builder TUPLE = new Builder() { @Override @SuppressWarnings("unchecked") - public Set build(Object data) { - if (null == data) { + public Tuple build(Object data) { + if (null == data) { // *Never* null. Still it doesn't hurt to be safe for future. return null; } List l = (List) data; - final Set result = new LinkedHashSet<>(l.size(), 1); - for (final byte[] barray : l) { - if (barray == null) { - result.add(null); - } else { - result.add(SafeEncoder.encode(barray)); - } - } - return result; + Iterator i = l.iterator(); + if (i.hasNext()) return new Tuple(i.next(), DOUBLE.build(i.next())); + return null; } @Override public String toString() { - return "ZSet"; + return "Tuple"; } - }; public static final Builder> TUPLE_ZSET = new Builder>() { @@ -282,27 +292,29 @@ public Set build(Object data) { public String toString() { return "ZSet"; } - }; - public static final Builder TUPLE = new Builder() { + public static final Builder> PUBSUB_NUMSUB_MAP = new Builder>() { @Override @SuppressWarnings("unchecked") - public Tuple build(Object data) { - List l = (List) data; // never null - if (l.isEmpty()) { - return null; + public Map build(Object data) { + final List flatHash = (List) data; + final Map hash = new HashMap(flatHash.size()/2, 1); + final Iterator iterator = flatHash.iterator(); + while (iterator.hasNext()) { + hash.put(SafeEncoder.encode((byte[]) iterator.next()), + String.valueOf((Long) iterator.next())); } - return new Tuple(l.get(0), DOUBLE.build(l.get(1))); + + return hash; } @Override public String toString() { - return "Tuple"; + return "PUBSUB_NUMSUB_MAP"; } - }; - + public static final Builder EVAL_RESULT = new Builder() { @Override @@ -367,16 +379,8 @@ public List build(Object data) { if (null == data) { return null; } - return interpretGeoposResult((List) data); - } - - @Override - public String toString() { - return "List"; - } - - private List interpretGeoposResult(List responses) { - List responseCoordinate = new ArrayList<>(responses.size()); + List responses = (List) data; + List responseCoordinate = new ArrayList(responses.size()); for (Object response : responses) { if (response == null) { responseCoordinate.add(null); @@ -389,6 +393,11 @@ private List interpretGeoposResult(List responses) { } return responseCoordinate; } + + @Override + public String toString() { + return "List"; + } }; public static final Builder> GEORADIUS_WITH_PARAMS_RESULT = new Builder>() { @@ -442,7 +451,7 @@ public List build(Object data) { @Override public String toString() { - return "GeoRadiusWithParamsResult"; + return "List"; } }; @@ -475,23 +484,6 @@ public String toString() { } }; - public static final Builder> LONG_LIST = new Builder>() { - @Override - @SuppressWarnings("unchecked") - public List build(Object data) { - if (null == data) { - return null; - } - return (List) data; - } - - @Override - public String toString() { - return "List"; - } - - }; - public static final Builder STREAM_ENTRY_ID = new Builder() { @Override @SuppressWarnings("unchecked") 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 77c2bc3691..abb00d5b8e 100644 --- a/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java +++ b/src/test/java/redis/clients/jedis/tests/commands/SortedSetCommandsTest.java @@ -682,13 +682,13 @@ public void zpopmin() { jedis.zadd(bfoo, 0.1d, bc); jedis.zadd(bfoo, 2d, ba); - Set brange = jedis.zpopmin(bfoo, 2); + range = jedis.zpopmin(bfoo, 2); - Set bexpected = new LinkedHashSet(); - bexpected.add(new Tuple(bc, 0.1d)); - bexpected.add(new Tuple(ba, 2d)); + expected = new LinkedHashSet(); + expected.add(new Tuple(bc, 0.1d)); + expected.add(new Tuple(ba, 2d)); - assertEquals(bexpected, brange); + assertEquals(expected, range); tuple = jedis.zpopmin(bfoo); assertEquals(new Tuple(bb, 10d), tuple);