DATAREDIS-925 - Add and register binary read/write converter for UUID.

Original pull request: #444.
This commit is contained in:
Christoph Strobl
2019-03-26 14:40:27 +01:00
committed by Mark Paluch
parent 321199c084
commit 70cb773afe
4 changed files with 60 additions and 0 deletions

View File

@@ -33,6 +33,7 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
import java.util.concurrent.TimeUnit;
import org.springframework.data.annotation.Id;
@@ -222,4 +223,10 @@ public class ConversionTestEntities {
final Instant now;
final Set<String> profiles;
}
@Data
public static class JustSomeDifferentPropertyTypes {
UUID uuid;
}
}

View File

@@ -1844,6 +1844,25 @@ public class MappingRedisConverterUnitTests {
assertThat(read(Size.class, source).height, is(equalTo(1000)));
}
@Test // DATAREDIS-925
public void readUUID() {
UUID uuid = UUID.randomUUID();
Map<String, String> source = new LinkedHashMap<>();
source.put("uuid", uuid.toString());
assertThat(read(JustSomeDifferentPropertyTypes.class, source).uuid, is(equalTo(uuid)));
}
@Test // DATAREDIS-925
public void writeUUID() {
JustSomeDifferentPropertyTypes source = new JustSomeDifferentPropertyTypes();
source.uuid = UUID.randomUUID();
assertThat(write(source).getBucket(), isBucket().containingUtf8String("uuid", source.uuid.toString()));
}
private RedisData write(Object source) {
RedisData rdo = new RedisData();