|
15 | 15 | */
|
16 | 16 | package org.springframework.data.redis.connection;
|
17 | 17 |
|
18 |
| -import java.util.ArrayList; |
19 |
| -import java.util.Collection; |
20 |
| -import java.util.LinkedHashMap; |
21 |
| -import java.util.LinkedList; |
22 |
| -import java.util.List; |
23 |
| -import java.util.Map; |
| 18 | +import java.util.*; |
24 | 19 | import java.util.Map.Entry;
|
25 |
| -import java.util.Properties; |
26 |
| -import java.util.Queue; |
27 |
| -import java.util.Set; |
28 | 20 |
|
29 | 21 | import org.apache.commons.logging.Log;
|
30 | 22 | import org.apache.commons.logging.LogFactory;
|
|
33 | 25 | import org.springframework.data.redis.connection.convert.ListConverter;
|
34 | 26 | import org.springframework.data.redis.connection.convert.MapConverter;
|
35 | 27 | import org.springframework.data.redis.connection.convert.SetConverter;
|
36 |
| -import org.springframework.data.redis.core.ConvertingCursor; |
37 |
| -import org.springframework.data.redis.core.Cursor; |
38 |
| -import org.springframework.data.redis.core.ScanOptions; |
| 28 | +import org.springframework.data.redis.core.*; |
39 | 29 | import org.springframework.data.redis.core.types.Expiration;
|
40 | 30 | import org.springframework.data.redis.core.types.RedisClientInfo;
|
41 | 31 | import org.springframework.data.redis.serializer.RedisSerializer;
|
@@ -280,7 +270,7 @@ public void flushDb() {
|
280 | 270 | delegate.flushDb();
|
281 | 271 | }
|
282 | 272 |
|
283 |
| - public byte[] get(byte[] key) { |
| 273 | + public byte[] get(byte[] key) { |
284 | 274 | byte[] result = delegate.get(key);
|
285 | 275 | if (isFutureConversion()) {
|
286 | 276 | addResultConverter(identityConverter);
|
@@ -2280,6 +2270,196 @@ public Long zUnionStore(String destKey, String... sets) {
|
2280 | 2270 | return result;
|
2281 | 2271 | }
|
2282 | 2272 |
|
| 2273 | + @Override |
| 2274 | + public Long geoAdd(byte[] key, double longitude, double latitude, byte[] member){ |
| 2275 | + Long result = delegate.geoAdd(key, longitude, latitude, member); |
| 2276 | + if (isFutureConversion()){ |
| 2277 | + addResultConverter(identityConverter); |
| 2278 | + } |
| 2279 | + return result; |
| 2280 | + } |
| 2281 | + |
| 2282 | + @Override |
| 2283 | + public Long geoAdd(String key, double longitude, double latitude, String member){ |
| 2284 | + Long result = delegate.geoAdd(serialize(key), longitude, latitude, serialize(member)); |
| 2285 | + if (isFutureConversion()){ |
| 2286 | + addResultConverter(identityConverter); |
| 2287 | + } |
| 2288 | + return result; |
| 2289 | + } |
| 2290 | + |
| 2291 | + @Override |
| 2292 | + public Long geoAdd(byte[] key, Map<byte[], GeoCoordinate> memberCoordinateMap) { |
| 2293 | + Long result = delegate.geoAdd(key, memberCoordinateMap); |
| 2294 | + if (isFutureConversion()){ |
| 2295 | + addResultConverter(identityConverter); |
| 2296 | + } |
| 2297 | + return result; |
| 2298 | + } |
| 2299 | + |
| 2300 | + @Override |
| 2301 | + public Long geoAdd(String key, Map<String, GeoCoordinate> memberCoordinateMap) { |
| 2302 | + Map<byte[], GeoCoordinate> byteMap = new HashMap<byte[], GeoCoordinate>(); |
| 2303 | + for (String k : memberCoordinateMap.keySet()){ |
| 2304 | + byteMap.put(serialize(k), memberCoordinateMap.get(k)); |
| 2305 | + } |
| 2306 | + Long result = delegate.geoAdd(serialize(key), byteMap); |
| 2307 | + if (isFutureConversion()){ |
| 2308 | + addResultConverter(identityConverter); |
| 2309 | + } |
| 2310 | + return result; |
| 2311 | + } |
| 2312 | + |
| 2313 | + @Override |
| 2314 | + public Double geoDist(byte[] key, byte[] member1, byte[] member2) { |
| 2315 | + Double result = delegate.geoDist(key, member1, member2); |
| 2316 | + if (isFutureConversion()){ |
| 2317 | + addResultConverter(identityConverter); |
| 2318 | + } |
| 2319 | + return result; |
| 2320 | + } |
| 2321 | + |
| 2322 | + @Override |
| 2323 | + public Double geoDist(String key, String member1, String member2) { |
| 2324 | + return geoDist(key, member1, member2, GeoUnit.Meters); |
| 2325 | + } |
| 2326 | + |
| 2327 | + @Override |
| 2328 | + public Double geoDist(byte[] key, byte[] member1, byte[] member2, GeoUnit unit) { |
| 2329 | + Double result = delegate.geoDist(key, member1, member2, unit); |
| 2330 | + if (isFutureConversion()){ |
| 2331 | + addResultConverter(identityConverter); |
| 2332 | + } |
| 2333 | + return result; |
| 2334 | + } |
| 2335 | + |
| 2336 | + @Override |
| 2337 | + public Double geoDist(String key, String member1, String member2, GeoUnit geoUnit) { |
| 2338 | + Double result = delegate.geoDist(serialize(key), serialize(member1), serialize(member2), geoUnit); |
| 2339 | + if (isFutureConversion()){ |
| 2340 | + addResultConverter(identityConverter); |
| 2341 | + } |
| 2342 | + return result; |
| 2343 | + } |
| 2344 | + |
| 2345 | + @Override |
| 2346 | + public List<byte[]> geoHash(byte[] key, byte[]... members) { |
| 2347 | + List<byte[]> result = delegate.geoHash(key, members); |
| 2348 | + if (isFutureConversion()){ |
| 2349 | + addResultConverter(identityConverter); |
| 2350 | + } |
| 2351 | + return result; |
| 2352 | + } |
| 2353 | + |
| 2354 | + @Override |
| 2355 | + public List<String> geoHash(String key, String... members) { |
| 2356 | + List<byte[]> result = delegate.geoHash(serialize(key), serializeMulti(members)); |
| 2357 | + if (isFutureConversion()){ |
| 2358 | + addResultConverter(byteListToStringList); |
| 2359 | + } |
| 2360 | + return byteListToStringList.convert(result); |
| 2361 | + } |
| 2362 | + |
| 2363 | + @Override |
| 2364 | + public List<GeoCoordinate> geoPos(byte[] key, byte[]... members) { |
| 2365 | + List<GeoCoordinate> result = delegate.geoPos(key, members); |
| 2366 | + if (isFutureConversion()){ |
| 2367 | + addResultConverter(identityConverter); |
| 2368 | + } |
| 2369 | + return result; |
| 2370 | + } |
| 2371 | + |
| 2372 | + @Override |
| 2373 | + public List<GeoCoordinate> geoPos(String key, String... members) { |
| 2374 | + List<GeoCoordinate> result = delegate.geoPos(serialize(key), serializeMulti(members)); |
| 2375 | + if (isFutureConversion()){ |
| 2376 | + addResultConverter(identityConverter); |
| 2377 | + } |
| 2378 | + return result; |
| 2379 | + } |
| 2380 | + |
| 2381 | + @Override |
| 2382 | + public List<GeoRadiusResponse> georadius(String key, double longitude, double latitude, double radius, GeoUnit unit) { |
| 2383 | + List<GeoRadiusResponse> result = delegate.georadius(serialize(key), longitude, latitude, radius, unit); |
| 2384 | + if (isFutureConversion()){ |
| 2385 | + addResultConverter(identityConverter); |
| 2386 | + } |
| 2387 | + return result; |
| 2388 | + } |
| 2389 | + |
| 2390 | + @Override |
| 2391 | + public List<GeoRadiusResponse> georadius(String key, double longitude, double latitude, double radius, GeoUnit unit, GeoRadiusParam param) { |
| 2392 | + List<GeoRadiusResponse> result = delegate.georadius(serialize(key), longitude, latitude, radius, unit, param); |
| 2393 | + if (isFutureConversion()){ |
| 2394 | + addResultConverter(identityConverter); |
| 2395 | + } |
| 2396 | + return result; |
| 2397 | + } |
| 2398 | + |
| 2399 | + @Override |
| 2400 | + public List<GeoRadiusResponse> georadiusByMember(String key, String member, double radius, GeoUnit unit) { |
| 2401 | + List<GeoRadiusResponse> result = delegate.georadiusByMember(serialize(key), serialize(member), radius, unit); |
| 2402 | + if (isFutureConversion()){ |
| 2403 | + addResultConverter(identityConverter); |
| 2404 | + } |
| 2405 | + return result; |
| 2406 | + } |
| 2407 | + |
| 2408 | + @Override |
| 2409 | + public List<GeoRadiusResponse> georadiusByMember(String key, String member, double radius, GeoUnit unit, GeoRadiusParam param) { |
| 2410 | + List<GeoRadiusResponse> result = delegate.georadiusByMember(serialize(key), serialize(member), radius, unit, param); |
| 2411 | + if (isFutureConversion()){ |
| 2412 | + addResultConverter(identityConverter); |
| 2413 | + } |
| 2414 | + return result; |
| 2415 | + } |
| 2416 | + |
| 2417 | + @Override |
| 2418 | + public List<GeoRadiusResponse> georadius(byte[] key, double longitude, double latitude, double radius, GeoUnit unit) { |
| 2419 | + List<GeoRadiusResponse> result = delegate.georadius(key, longitude, latitude, radius, unit); |
| 2420 | + if (isFutureConversion()){ |
| 2421 | + addResultConverter(identityConverter); |
| 2422 | + } |
| 2423 | + return result; |
| 2424 | + } |
| 2425 | + |
| 2426 | + @Override |
| 2427 | + public List<GeoRadiusResponse> georadius(byte[] key, double longitude, double latitude, double radius, GeoUnit unit, GeoRadiusParam param) { |
| 2428 | + List<GeoRadiusResponse> result = delegate.georadius(key, longitude, latitude, radius, unit, param); |
| 2429 | + if (isFutureConversion()){ |
| 2430 | + addResultConverter(identityConverter); |
| 2431 | + } |
| 2432 | + return result; |
| 2433 | + } |
| 2434 | + |
| 2435 | + @Override |
| 2436 | + public List<GeoRadiusResponse> georadiusByMember(byte[] key, byte[] member, double radius, GeoUnit unit) { |
| 2437 | + List<GeoRadiusResponse> result = delegate.georadiusByMember(key, member, radius, unit); |
| 2438 | + if (isFutureConversion()){ |
| 2439 | + addResultConverter(identityConverter); |
| 2440 | + } |
| 2441 | + return result; |
| 2442 | + } |
| 2443 | + |
| 2444 | + @Override |
| 2445 | + public List<GeoRadiusResponse> georadiusByMember(byte[] key, byte[] member, double radius, GeoUnit unit, GeoRadiusParam param) { |
| 2446 | + List<GeoRadiusResponse> result = delegate.georadiusByMember(key, member, radius, unit, param); |
| 2447 | + if (isFutureConversion()){ |
| 2448 | + addResultConverter(identityConverter); |
| 2449 | + } |
| 2450 | + return result; |
| 2451 | + } |
| 2452 | + |
| 2453 | + @Override |
| 2454 | + public Long geoRemove(byte[] key, byte[]... values) { |
| 2455 | + return zRem(key, values); |
| 2456 | + } |
| 2457 | + |
| 2458 | + @Override |
| 2459 | + public Long geoRemove(String key, String... members) { |
| 2460 | + return zRem(key, members); |
| 2461 | + } |
| 2462 | + |
2283 | 2463 | public List<Object> closePipeline() {
|
2284 | 2464 | try {
|
2285 | 2465 | return convertResults(delegate.closePipeline(), pipelineConverters);
|
|
0 commit comments