Skip to content

Commit 2f1ecb3

Browse files
committed
Fix builder
1 parent 8a1975b commit 2f1ecb3

File tree

1 file changed

+26
-37
lines changed

1 file changed

+26
-37
lines changed

src/main/java/redis/clients/jedis/BuilderFactory.java

Lines changed: 26 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -1408,31 +1408,26 @@ public List<StreamEntry> build(Object data) {
14081408
String entryIdString = SafeEncoder.encode((byte[]) res.get(0));
14091409
StreamEntryID entryID = new StreamEntryID(entryIdString);
14101410
List<byte[]> hash = (List<byte[]>) res.get(1);
1411-
if (hash == null) {
1412-
responses.add(new StreamEntry(entryID, null));
1413-
continue;
1414-
}
14151411

1416-
Iterator<byte[]> hashIterator = hash.iterator();
1417-
Map<String, String> map = new HashMap<>(hash.size() / 2, 1f);
1412+
Map<String, String> fieldsMap = null;
14181413

1419-
while (hashIterator.hasNext()) {
1420-
map.put(SafeEncoder.encode(hashIterator.next()), SafeEncoder.encode(hashIterator.next()));
1421-
}
1414+
if (hash != null) {
1415+
Iterator<byte[]> hashIterator = hash.iterator();
1416+
fieldsMap = new HashMap<>(hash.size() / 2, 1f);
14221417

1423-
Long millisElapsedFromDelivery = null;
1424-
Long deliveredCount = null;
1418+
while (hashIterator.hasNext()) {
1419+
fieldsMap.put(SafeEncoder.encode(hashIterator.next()), SafeEncoder.encode(hashIterator.next()));
1420+
}
1421+
}
14251422

14261423
if (res.size() >= 4) {
1427-
Object idleObj = res.get(2);
1428-
Object timesObj = res.get(3);
1429-
millisElapsedFromDelivery = LONG.build(idleObj);
1430-
deliveredCount = LONG.build(timesObj);
1424+
Long millisElapsedFromDelivery = LONG.build(res.get(2));
1425+
Long deliveredCount = LONG.build(res.get(3));
1426+
responses.add(new StreamEntry(entryID, fieldsMap, millisElapsedFromDelivery, deliveredCount));
1427+
continue;
14311428
}
14321429

1433-
if (Objects.nonNull(millisElapsedFromDelivery) && Objects.nonNull(deliveredCount)) {
1434-
responses.add(new StreamEntry(entryID, map, millisElapsedFromDelivery, deliveredCount));
1435-
}
1430+
responses.add(new StreamEntry(entryID, fieldsMap));
14361431
}
14371432

14381433
return responses;
@@ -1973,32 +1968,26 @@ public List<StreamEntryBinary> build(Object data) {
19731968
String entryIdString = SafeEncoder.encode((byte[]) res.get(0));
19741969
StreamEntryID entryID = new StreamEntryID(entryIdString);
19751970
List<byte[]> hash = (List<byte[]>) res.get(1);
1976-
if (hash == null) {
1977-
responses.add(new StreamEntryBinary(entryID, null));
1978-
continue;
1979-
}
19801971

1981-
Iterator<byte[]> hashIterator = hash.iterator();
1982-
Map<byte[], byte[]> map = new JedisByteHashMap();
1972+
Map<byte[], byte[]> map = null;
19831973

1984-
while (hashIterator.hasNext()) {
1985-
map.put(BINARY.build(hashIterator.next()), BINARY.build(hashIterator.next()));
1986-
}
1974+
if (hash != null) {
1975+
Iterator<byte[]> hashIterator = hash.iterator();
1976+
map = new JedisByteHashMap();
19871977

1988-
Long millisElapsedFromDelivery = null;
1989-
Long deliveredCount = null;
1978+
while (hashIterator.hasNext()) {
1979+
map.put(BINARY.build(hashIterator.next()), BINARY.build(hashIterator.next()));
1980+
}
1981+
}
19901982

19911983
if (res.size() >= 4) {
1992-
Object idleObj = res.get(2);
1993-
Object timesObj = res.get(3);
1994-
millisElapsedFromDelivery = LONG.build(idleObj);
1995-
deliveredCount = LONG.build(timesObj);
1984+
Long millisElapsedFromDelivery = LONG.build(res.get(2));
1985+
Long deliveredCount = LONG.build(res.get(3));
1986+
responses.add(new StreamEntryBinary(entryID, map, millisElapsedFromDelivery, deliveredCount));
1987+
continue;
19961988
}
19971989

1998-
if (Objects.nonNull(millisElapsedFromDelivery) && Objects.nonNull(deliveredCount)) {
1999-
responses.add(
2000-
new StreamEntryBinary(entryID, map, millisElapsedFromDelivery, deliveredCount));
2001-
}
1990+
responses.add(new StreamEntryBinary(entryID, map));
20021991
}
20031992

20041993
return responses;

0 commit comments

Comments
 (0)