@@ -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