From a55c73faeb1fd29058aa3dfa17fcd182a052eb5b Mon Sep 17 00:00:00 2001 From: Christoph Strobl Date: Tue, 12 Jul 2022 07:27:00 +0200 Subject: [PATCH] Polishing. Reduce constructor visibility and add tests with user provided ObjectMapper. Original Pull Request: #2332 --- .../GenericJackson2JsonRedisSerializer.java | 7 ++-- ...cJackson2JsonRedisSerializerUnitTests.java | 38 ++++++++++++++++++- 2 files changed, 40 insertions(+), 5 deletions(-) diff --git a/src/main/java/org/springframework/data/redis/serializer/GenericJackson2JsonRedisSerializer.java b/src/main/java/org/springframework/data/redis/serializer/GenericJackson2JsonRedisSerializer.java index b053ab828..533133fbe 100644 --- a/src/main/java/org/springframework/data/redis/serializer/GenericJackson2JsonRedisSerializer.java +++ b/src/main/java/org/springframework/data/redis/serializer/GenericJackson2JsonRedisSerializer.java @@ -242,6 +242,9 @@ public class GenericJackson2JsonRedisSerializer implements RedisSerializer typeFactory; private final Supplier hintName; - public TypeResolver(Supplier typeFactory, Supplier hintName) { + TypeResolver(Supplier typeFactory, Supplier hintName) { this.typeFactory = typeFactory; this.hintName = hintName; @@ -271,7 +274,6 @@ public class GenericJackson2JsonRedisSerializer implements RedisSerializer { + return mapper.writerWithView(Views.Basic.class).writeValueAsBytes(source); + }); + + User user = new User(); + user.email = "walter@heisenberg.com"; + user.id = 42; + user.name = "Walter White"; + + byte[] serializedValue = serializer.serialize(user); + + assertThat(new String(serializedValue)).contains("id").contains("name").doesNotContain("email"); + } + @Test // GH-2322 void shouldConsiderReader() { @@ -309,10 +344,9 @@ class GenericJackson2JsonRedisSerializerUnitTests { } static class Views { + interface Basic {} interface Detailed {} - } - }