Skip to content

Commit a87e78c

Browse files
DATAREDIS-1000 - Polishing.
Deprecate raw() and introduce dedicated methods for byteArray and byteBuffer. Original Pull Request: spring-projects#459
1 parent 1491b93 commit a87e78c

File tree

7 files changed

+73
-20
lines changed

7 files changed

+73
-20
lines changed

src/main/java/org/springframework/data/redis/serializer/RawRedisSerializer.java renamed to src/main/java/org/springframework/data/redis/serializer/ByteArrayRedisSerializer.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,9 @@
2121
* Raw {@link RedisSerializer} using {@code byte[]}.
2222
*
2323
* @author Mark Paluch
24+
* @since 2.2
2425
*/
25-
enum RawRedisSerializer implements RedisSerializer<byte[]> {
26+
enum ByteArrayRedisSerializer implements RedisSerializer<byte[]> {
2627

2728
INSTANCE;
2829

src/main/java/org/springframework/data/redis/serializer/RedisSerializationContext.java

Lines changed: 42 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,25 +79,38 @@ static <K, V> RedisSerializationContextBuilder<K, V> newSerializationContext(Ser
7979
}
8080

8181
/**
82-
* Creates a new {@link RedisSerializationContext} using a {@link SerializationPair#raw() ByteBuffer} serialization
82+
* Creates a new {@link RedisSerializationContext} using a {@link RedisSerializer#byteArray() byte[]} serialization
8383
* pair.
8484
*
85-
* @return
85+
* @return new instance of {@link RedisSerializationContext}.
86+
* @deprecated since 2.2. Please use {@link #byteArray()} instead.
8687
*/
87-
static RedisSerializationContext<ByteBuffer, ByteBuffer> raw() {
88-
return just(RedisSerializerToSerializationPairAdapter.raw());
88+
@Deprecated
89+
static RedisSerializationContext<byte[], byte[]> raw() {
90+
return byteArray();
8991
}
9092

9193
/**
92-
* Creates a new {@link RedisSerializationContext} using a {@link RedisSerializer#raw() byte[]} serialization.
94+
* Creates a new {@link RedisSerializationContext} using a {@link RedisSerializer#byteArray() byte[]} serialization.
9395
*
94-
* @return
96+
* @return new instance of {@link RedisSerializationContext}.
9597
* @since 2.2
9698
*/
9799
static RedisSerializationContext<byte[], byte[]> byteArray() {
98100
return just(RedisSerializerToSerializationPairAdapter.byteArray());
99101
}
100102

103+
/**
104+
* Creates a new {@link RedisSerializationContext} using a {@link SerializationPair#byteBuffer() ByteBuffer}
105+
* serialization.
106+
*
107+
* @return new instance of {@link RedisSerializationContext}.
108+
* @since 2.2
109+
*/
110+
static RedisSerializationContext<ByteBuffer, ByteBuffer> byteBuffer() {
111+
return just(RedisSerializerToSerializationPairAdapter.byteBuffer());
112+
}
113+
101114
/**
102115
* Creates a new {@link RedisSerializationContext} using a {@link JdkSerializationRedisSerializer}.
103116
*
@@ -217,11 +230,33 @@ static <T> SerializationPair<T> just(RedisElementReader<? extends T> reader,
217230
* Creates a pass through {@link SerializationPair} to pass-thru {@link ByteBuffer} objects.
218231
*
219232
* @return a pass through {@link SerializationPair}.
233+
* @deprecated since 2.2. Please use either {@link #byteArray()} or {@link #byteBuffer()}.
220234
*/
221-
static SerializationPair<ByteBuffer> raw() {
235+
@Deprecated
236+
static <T> SerializationPair<T> raw() {
222237
return RedisSerializerToSerializationPairAdapter.raw();
223238
}
224239

240+
/**
241+
* Creates a pass through {@link SerializationPair} to pass-thru {@link byte} objects.
242+
*
243+
* @return a pass through {@link SerializationPair}.
244+
* @since 2.2
245+
*/
246+
static SerializationPair<byte[]> byteArray() {
247+
return RedisSerializerToSerializationPairAdapter.byteArray();
248+
}
249+
250+
/**
251+
* Creates a pass through {@link SerializationPair} to pass-thru {@link ByteBuffer} objects.
252+
*
253+
* @return a pass through {@link SerializationPair}.
254+
* @since 2.2
255+
*/
256+
static SerializationPair<ByteBuffer> byteBuffer() {
257+
return RedisSerializerToSerializationPairAdapter.byteBuffer();
258+
}
259+
225260
/**
226261
* @return the {@link RedisElementReader}.
227262
*/

src/main/java/org/springframework/data/redis/serializer/RedisSerializer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,13 @@ static RedisSerializer<String> string() {
9393
}
9494

9595
/**
96-
* Obtain a raw {@link RedisSerializer} that passes thru {@code byte[]}.
96+
* Obtain a {@link RedisSerializer} that passes thru {@code byte[]}.
9797
*
9898
* @return never {@literal null}.
9999
* @since 2.2
100100
*/
101-
static RedisSerializer<byte[]> raw() {
102-
return RawRedisSerializer.INSTANCE;
101+
static RedisSerializer<byte[]> byteArray() {
102+
return ByteArrayRedisSerializer.INSTANCE;
103103
}
104104

105105
default boolean canSerialize(Class<?> type) {

src/main/java/org/springframework/data/redis/serializer/RedisSerializerToSerializationPairAdapter.java

Lines changed: 21 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,11 +30,11 @@
3030
*/
3131
class RedisSerializerToSerializationPairAdapter<T> implements SerializationPair<T> {
3232

33-
private final static RedisSerializerToSerializationPairAdapter<?> RAW = new RedisSerializerToSerializationPairAdapter<>(
33+
private final static RedisSerializerToSerializationPairAdapter<?> BYTE_BUFFER = new RedisSerializerToSerializationPairAdapter<>(
3434
null);
3535

3636
private final static RedisSerializerToSerializationPairAdapter<byte[]> BYTE_ARRAY = new RedisSerializerToSerializationPairAdapter<>(
37-
RedisSerializer.raw());
37+
RedisSerializer.byteArray());
3838

3939
private final DefaultSerializationPair pair;
4040

@@ -43,15 +43,32 @@ class RedisSerializerToSerializationPairAdapter<T> implements SerializationPair<
4343
new DefaultRedisElementWriter<>(serializer));
4444
}
4545

46+
/**
47+
* @return the {@link RedisSerializerToSerializationPairAdapter} for {@link ByteBuffer}.
48+
* @deprecated since 2.2. Please use {@link #byteBuffer()} instead.
49+
*/
4650
@SuppressWarnings("unchecked")
47-
static SerializationPair<ByteBuffer> raw() {
48-
return (SerializationPair) RAW;
51+
@Deprecated
52+
static <T> SerializationPair<T> raw() {
53+
return (SerializationPair) byteBuffer();
4954
}
5055

56+
/**
57+
* @return the {@link RedisSerializerToSerializationPairAdapter} for {@link byte[]}.
58+
* @since 2.2
59+
*/
5160
static SerializationPair<byte[]> byteArray() {
5261
return BYTE_ARRAY;
5362
}
5463

64+
/**
65+
* @return the {@link RedisSerializerToSerializationPairAdapter} for {@link ByteBuffer}.
66+
* @since 2.2
67+
*/
68+
static SerializationPair<ByteBuffer> byteBuffer() {
69+
return (SerializationPair) BYTE_BUFFER;
70+
}
71+
5572
/**
5673
* Create a {@link SerializationPair} from given {@link RedisSerializer}.
5774
*

src/main/java/org/springframework/data/redis/stream/StreamMessageListenerContainer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -710,7 +710,7 @@ public <HK, HV> StreamMessageListenerContainerOptionsBuilder<K, MapRecord<K, HK,
710710
/**
711711
* Configure a hash target type. Changes the emitted {@link Record} type to {@link ObjectRecord}.
712712
*
713-
* @param pair must not be {@literal null}.
713+
* @param targetType must not be {@literal null}.
714714
* @return {@code this} {@link StreamMessageListenerContainerOptionsBuilder}.
715715
*/
716716
@SuppressWarnings("unchecked")
@@ -722,8 +722,8 @@ public <NV> StreamMessageListenerContainerOptionsBuilder<K, ObjectRecord<K, NV>>
722722

723723
if (this.hashMapper == null) {
724724

725-
hashKeySerializer(RedisSerializer.raw());
726-
hashValueSerializer(RedisSerializer.raw());
725+
hashKeySerializer(RedisSerializer.byteArray());
726+
hashValueSerializer(RedisSerializer.byteArray());
727727
return (StreamMessageListenerContainerOptionsBuilder) objectMapper(new ObjectHashMapper());
728728
}
729729

src/test/java/org/springframework/data/redis/core/ReactiveOperationsTestParams.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,7 @@ RedisSerializationContext.<String, Double> newSerializationContext(jdkSerializat
120120
.key(stringRedisSerializer).value(doubleToStringSerializer).build());
121121

122122
ReactiveRedisTemplate<ByteBuffer, ByteBuffer> rawTemplate = new ReactiveRedisTemplate<>(lettuceConnectionFactory,
123-
RedisSerializationContext.raw());
123+
RedisSerializationContext.byteBuffer());
124124

125125
ReactiveRedisTemplate<String, Person> personTemplate = new ReactiveRedisTemplate(lettuceConnectionFactory,
126126
RedisSerializationContext.fromSerializer(jdkSerializationRedisSerializer));

src/test/java/org/springframework/data/redis/serializer/RedisSerializationContextUnitTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ public void shouldEncodeAndDecodeValue() {
115115
public void shouldEncodeAndDecodeRawByteBufferValue() {
116116

117117
RedisSerializationContext<ByteBuffer, ByteBuffer> serializationContext = RedisSerializationContext
118-
.raw();
118+
.byteBuffer();
119119

120120
ByteBuffer deserialized = serializationContext.getValueSerializationPair()
121121
.read(serializationContext.getValueSerializationPair()

0 commit comments

Comments
 (0)