25
25
import org .apache .commons .logging .LogFactory ;
26
26
27
27
import org .springframework .core .convert .converter .Converter ;
28
+ import org .springframework .data .domain .Range ;
28
29
import org .springframework .data .geo .Circle ;
29
30
import org .springframework .data .geo .Distance ;
30
31
import org .springframework .data .geo .GeoResults ;
@@ -990,7 +991,7 @@ public Long zCount(byte[] key, double min, double max) {
990
991
}
991
992
992
993
@ Override
993
- public Long zCount (byte [] key , Range range ) {
994
+ public Long zCount (byte [] key , org . springframework . data . domain . Range < Number > range ) {
994
995
return convertAndReturn (delegate .zCount (key , range ), Converters .identityConverter ());
995
996
}
996
997
@@ -1100,17 +1101,18 @@ public Set<byte[]> zRangeByScore(byte[] key, double min, double max, long offset
1100
1101
}
1101
1102
1102
1103
@ Override
1103
- public Set <byte []> zRangeByScore (byte [] key , Range range ) {
1104
+ public Set <byte []> zRangeByScore (byte [] key , org . springframework . data . domain . Range < Number > range ) {
1104
1105
return convertAndReturn (delegate .zRangeByScore (key , range ), Converters .identityConverter ());
1105
1106
}
1106
1107
1107
1108
@ Override
1108
- public Set <byte []> zRangeByScore (byte [] key , Range range , org .springframework .data .redis .connection .Limit limit ) {
1109
+ public Set <byte []> zRangeByScore (byte [] key , org .springframework .data .domain .Range <Number > range ,
1110
+ org .springframework .data .redis .connection .Limit limit ) {
1109
1111
return convertAndReturn (delegate .zRangeByScore (key , range , limit ), Converters .identityConverter ());
1110
1112
}
1111
1113
1112
1114
@ Override
1113
- public Set <Tuple > zRangeByScoreWithScores (byte [] key , Range range ) {
1115
+ public Set <Tuple > zRangeByScoreWithScores (byte [] key , org . springframework . data . domain . Range < Number > range ) {
1114
1116
return convertAndReturn (delegate .zRangeByScoreWithScores (key , range ), Converters .identityConverter ());
1115
1117
}
1116
1118
@@ -1126,7 +1128,7 @@ public Set<Tuple> zRangeByScoreWithScores(byte[] key, double min, double max, lo
1126
1128
}
1127
1129
1128
1130
@ Override
1129
- public Set <Tuple > zRangeByScoreWithScores (byte [] key , Range range ,
1131
+ public Set <Tuple > zRangeByScoreWithScores (byte [] key , org . springframework . data . domain . Range < Number > range ,
1130
1132
org .springframework .data .redis .connection .Limit limit ) {
1131
1133
return convertAndReturn (delegate .zRangeByScoreWithScores (key , range , limit ), Converters .identityConverter ());
1132
1134
}
@@ -1147,7 +1149,7 @@ public Set<byte[]> zRevRangeByScore(byte[] key, double min, double max, long off
1147
1149
}
1148
1150
1149
1151
@ Override
1150
- public Set <byte []> zRevRangeByScore (byte [] key , Range range ) {
1152
+ public Set <byte []> zRevRangeByScore (byte [] key , org . springframework . data . domain . Range < Number > range ) {
1151
1153
return convertAndReturn (delegate .zRevRangeByScore (key , range ), Converters .identityConverter ());
1152
1154
}
1153
1155
@@ -1157,7 +1159,8 @@ public Set<byte[]> zRevRangeByScore(byte[] key, double min, double max) {
1157
1159
}
1158
1160
1159
1161
@ Override
1160
- public Set <byte []> zRevRangeByScore (byte [] key , Range range , org .springframework .data .redis .connection .Limit limit ) {
1162
+ public Set <byte []> zRevRangeByScore (byte [] key , org .springframework .data .domain .Range <Number > range ,
1163
+ org .springframework .data .redis .connection .Limit limit ) {
1161
1164
return convertAndReturn (delegate .zRevRangeByScore (key , range , limit ), Converters .identityConverter ());
1162
1165
}
1163
1166
@@ -1168,12 +1171,12 @@ public Set<Tuple> zRevRangeByScoreWithScores(byte[] key, double min, double max,
1168
1171
}
1169
1172
1170
1173
@ Override
1171
- public Set <Tuple > zRevRangeByScoreWithScores (byte [] key , Range range ) {
1174
+ public Set <Tuple > zRevRangeByScoreWithScores (byte [] key , org . springframework . data . domain . Range < Number > range ) {
1172
1175
return convertAndReturn (delegate .zRevRangeByScoreWithScores (key , range ), Converters .identityConverter ());
1173
1176
}
1174
1177
1175
1178
@ Override
1176
- public Set <Tuple > zRevRangeByScoreWithScores (byte [] key , Range range ,
1179
+ public Set <Tuple > zRevRangeByScoreWithScores (byte [] key , org . springframework . data . domain . Range < Number > range ,
1177
1180
org .springframework .data .redis .connection .Limit limit ) {
1178
1181
return convertAndReturn (delegate .zRevRangeByScoreWithScores (key , range , limit ), Converters .identityConverter ());
1179
1182
}
@@ -1199,7 +1202,7 @@ public Long zRemRange(byte[] key, long start, long end) {
1199
1202
}
1200
1203
1201
1204
@ Override
1202
- public Long zRemRangeByLex (byte [] key , Range range ) {
1205
+ public Long zRemRangeByLex (byte [] key , org . springframework . data . domain . Range < byte []> range ) {
1203
1206
return convertAndReturn (delegate .zRemRangeByLex (key , range ), Converters .identityConverter ());
1204
1207
}
1205
1208
@@ -1209,7 +1212,7 @@ public Long zRemRangeByScore(byte[] key, double min, double max) {
1209
1212
}
1210
1213
1211
1214
@ Override
1212
- public Long zRemRangeByScore (byte [] key , Range range ) {
1215
+ public Long zRemRangeByScore (byte [] key , org . springframework . data . domain . Range < Number > range ) {
1213
1216
return convertAndReturn (delegate .zRemRangeByScore (key , range ), Converters .identityConverter ());
1214
1217
}
1215
1218
@@ -1291,8 +1294,8 @@ public Long zUnionStore(byte[] destKey, byte[]... sets) {
1291
1294
}
1292
1295
1293
1296
@ Override
1294
- public Long zLexCount (String key , Range range ) {
1295
- return delegate .zLexCount (serialize (key ), range );
1297
+ public Long zLexCount (String key , org . springframework . data . domain . Range < String > range ) {
1298
+ return delegate .zLexCount (serialize (key ), serialize ( range ) );
1296
1299
}
1297
1300
1298
1301
@ Override
@@ -1370,6 +1373,26 @@ private byte[] serialize(String data) {
1370
1373
return serializer .serialize (data );
1371
1374
}
1372
1375
1376
+ private org .springframework .data .domain .Range <byte []> serialize (org .springframework .data .domain .Range <String > range ) {
1377
+
1378
+ if (!range .getLowerBound ().isBounded () && !range .getUpperBound ().isBounded ()) {
1379
+ return org .springframework .data .domain .Range .unbounded ();
1380
+ }
1381
+
1382
+ org .springframework .data .domain .Range .Bound <byte []> lower = rawBound (range .getLowerBound ());
1383
+ org .springframework .data .domain .Range .Bound <byte []> upper = rawBound (range .getUpperBound ());
1384
+
1385
+ return org .springframework .data .domain .Range .of (lower , upper );
1386
+ }
1387
+
1388
+ private org .springframework .data .domain .Range .Bound <byte []> rawBound (
1389
+ org .springframework .data .domain .Range .Bound <String > source ) {
1390
+ return source .getValue ().map (this ::serialize )
1391
+ .map (it -> source .isInclusive () ? org .springframework .data .domain .Range .Bound .inclusive (it )
1392
+ : org .springframework .data .domain .Range .Bound .exclusive (it ))
1393
+ .orElseGet (org .springframework .data .domain .Range .Bound ::unbounded );
1394
+ }
1395
+
1373
1396
@ SuppressWarnings ("unchecked" )
1374
1397
private GeoReference <byte []> serialize (GeoReference <String > data ) {
1375
1398
return data instanceof GeoReference .GeoMemberReference
@@ -1987,7 +2010,7 @@ public Long zCount(String key, double min, double max) {
1987
2010
}
1988
2011
1989
2012
@ Override
1990
- public Long zLexCount (byte [] key , Range range ) {
2013
+ public Long zLexCount (byte [] key , org . springframework . data . domain . Range < byte []> range ) {
1991
2014
return delegate .zLexCount (key , range );
1992
2015
}
1993
2016
@@ -2165,8 +2188,8 @@ public Long zRemRange(String key, long start, long end) {
2165
2188
}
2166
2189
2167
2190
@ Override
2168
- public Long zRemRangeByLex (String key , Range range ) {
2169
- return zRemRangeByLex (serialize (key ), range );
2191
+ public Long zRemRangeByLex (String key , org . springframework . data . domain . Range < String > range ) {
2192
+ return zRemRangeByLex (serialize (key ), serialize ( range ) );
2170
2193
}
2171
2194
2172
2195
@ Override
@@ -2655,38 +2678,42 @@ public Set<byte[]> zRangeByLex(byte[] key) {
2655
2678
}
2656
2679
2657
2680
@ Override
2658
- public Set <byte []> zRangeByLex (byte [] key , Range range ) {
2681
+ public Set <byte []> zRangeByLex (byte [] key , org . springframework . data . domain . Range < byte []> range ) {
2659
2682
return convertAndReturn (delegate .zRangeByLex (key , range ), Converters .identityConverter ());
2660
2683
}
2661
2684
2662
2685
@ Override
2663
- public Set <byte []> zRangeByLex (byte [] key , Range range , org .springframework .data .redis .connection .Limit limit ) {
2686
+ public Set <byte []> zRangeByLex (byte [] key , org .springframework .data .domain .Range <byte []> range ,
2687
+ org .springframework .data .redis .connection .Limit limit ) {
2664
2688
return convertAndReturn (delegate .zRangeByLex (key , range , limit ), Converters .identityConverter ());
2665
2689
}
2666
2690
2667
2691
@ Override
2668
2692
public Set <String > zRangeByLex (String key ) {
2669
- return zRangeByLex (key , Range .unbounded ());
2693
+ return zRangeByLex (key , org . springframework . data . domain . Range .unbounded ());
2670
2694
}
2671
2695
2672
2696
@ Override
2673
- public Set <String > zRangeByLex (String key , Range range ) {
2697
+ public Set <String > zRangeByLex (String key , org . springframework . data . domain . Range < String > range ) {
2674
2698
return zRangeByLex (key , range , org .springframework .data .redis .connection .Limit .unlimited ());
2675
2699
}
2676
2700
2677
2701
@ Override
2678
- public Set <String > zRangeByLex (String key , Range range , org .springframework .data .redis .connection .Limit limit ) {
2679
- return convertAndReturn (delegate .zRangeByLex (serialize (key ), range , limit ), byteSetToStringSet );
2702
+ public Set <String > zRangeByLex (String key , org .springframework .data .domain .Range <String > range ,
2703
+ org .springframework .data .redis .connection .Limit limit ) {
2704
+ return convertAndReturn (delegate .zRangeByLex (serialize (key ), serialize (range ), limit ), byteSetToStringSet );
2680
2705
}
2681
2706
2682
2707
@ Override
2683
- public Set <byte []> zRevRangeByLex (byte [] key , Range range , org .springframework .data .redis .connection .Limit limit ) {
2708
+ public Set <byte []> zRevRangeByLex (byte [] key , org .springframework .data .domain .Range <byte []> range ,
2709
+ org .springframework .data .redis .connection .Limit limit ) {
2684
2710
return convertAndReturn (delegate .zRevRangeByLex (key , range , limit ), Converters .identityConverter ());
2685
2711
}
2686
2712
2687
2713
@ Override
2688
- public Set <String > zRevRangeByLex (String key , Range range , org .springframework .data .redis .connection .Limit limit ) {
2689
- return convertAndReturn (delegate .zRevRangeByLex (serialize (key ), range , limit ), byteSetToStringSet );
2714
+ public Set <String > zRevRangeByLex (String key , org .springframework .data .domain .Range <String > range ,
2715
+ org .springframework .data .redis .connection .Limit limit ) {
2716
+ return convertAndReturn (delegate .zRevRangeByLex (serialize (key ), serialize (range ), limit ), byteSetToStringSet );
2690
2717
}
2691
2718
2692
2719
@ Override
0 commit comments