diff --git a/src/main/java/org/springframework/data/redis/core/convert/PathIndexResolver.java b/src/main/java/org/springframework/data/redis/core/convert/PathIndexResolver.java index 47023696a..f23873ee9 100644 --- a/src/main/java/org/springframework/data/redis/core/convert/PathIndexResolver.java +++ b/src/main/java/org/springframework/data/redis/core/convert/PathIndexResolver.java @@ -210,24 +210,14 @@ public class PathIndexResolver implements IndexResolver { } Object transformedValue = indexDefinition.valueTransformer().convert(value); + IndexedData indexedData; - IndexedData indexedData = null; if (transformedValue == null) { - - indexedData = new RemoveIndexedData(new IndexedData() { - @Override - public String getIndexName() { - return indexDefinition.getIndexName(); - } - - @Override - public String getKeyspace() { - return indexDefinition.getKeyspace(); - } - }); + indexedData = new RemoveIndexedData(indexDefinition); } else { indexedData = indexedDataFactoryProvider.getIndexedDataFactory(indexDefinition).createIndexedDataFor(value); } + data.add(indexedData); } } diff --git a/src/main/java/org/springframework/data/redis/core/convert/RemoveIndexedData.java b/src/main/java/org/springframework/data/redis/core/convert/RemoveIndexedData.java index e2fa89c2a..fde0d7d74 100644 --- a/src/main/java/org/springframework/data/redis/core/convert/RemoveIndexedData.java +++ b/src/main/java/org/springframework/data/redis/core/convert/RemoveIndexedData.java @@ -15,6 +15,8 @@ */ package org.springframework.data.redis.core.convert; +import org.springframework.data.redis.core.index.IndexDefinition; + /** * {@link RemoveIndexedData} represents a removed index entry from a secondary index for a property path in a given keyspace. * @@ -23,21 +25,20 @@ package org.springframework.data.redis.core.convert; */ public class RemoveIndexedData implements IndexedData { - private final IndexedData delegate; + private final IndexDefinition indexDefinition; - RemoveIndexedData(IndexedData delegate) { - super(); - this.delegate = delegate; + RemoveIndexedData(IndexDefinition indexDefinition) { + this.indexDefinition = indexDefinition; } @Override public String getIndexName() { - return delegate.getIndexName(); + return indexDefinition.getIndexName(); } @Override public String getKeyspace() { - return delegate.getKeyspace(); + return indexDefinition.getKeyspace(); } @Override diff --git a/src/main/java/org/springframework/data/redis/core/index/IndexDefinition.java b/src/main/java/org/springframework/data/redis/core/index/IndexDefinition.java index 55190f826..86151fc07 100644 --- a/src/main/java/org/springframework/data/redis/core/index/IndexDefinition.java +++ b/src/main/java/org/springframework/data/redis/core/index/IndexDefinition.java @@ -24,7 +24,7 @@ import org.springframework.util.ObjectUtils; /** * {@link IndexDefinition} allow to set up a blueprint for creating secondary index structures in Redis. Setting up * conditions allows to define {@link Condition} that have to be passed in order to add a value to the index. This - * allows to fine grained tune the index structure. {@link IndexValueTransformer} gets applied to the raw value for + * allows to fine-grained tune the index structure. {@link IndexValueTransformer} gets applied to the raw value for * creating the actual index entry. * * @author Christoph Strobl diff --git a/src/test/java/org/springframework/data/redis/core/RedisKeyValueAdapterTests.java b/src/test/java/org/springframework/data/redis/core/RedisKeyValueAdapterTests.java index afa842f13..1e23e01c6 100644 --- a/src/test/java/org/springframework/data/redis/core/RedisKeyValueAdapterTests.java +++ b/src/test/java/org/springframework/data/redis/core/RedisKeyValueAdapterTests.java @@ -148,7 +148,7 @@ public class RedisKeyValueAdapterTests { } @Test // GH-2882 - void indexDataShouldBeCleardIfPropertyValueIsSetToNull() { + void indexDataShouldBeClearedIfPropertyValueIsSetToNull() { Person rand = new Person(); rand.firstname = "rand";