DATAES-740 - Adapt to spring-data-commons changes.

Original PR: #386
This commit is contained in:
Peter-Josef Meisch 2020-02-09 19:31:16 +01:00 committed by GitHub
parent 936de20421
commit 0c15eef858
5 changed files with 19 additions and 12 deletions

View File

@ -76,7 +76,7 @@ public class ElasticsearchConfigurationSupport {
*/
@Bean
public ElasticsearchCustomConversions elasticsearchCustomConversions() {
return new ElasticsearchCustomConversions(Collections.emptyList());
return ElasticsearchCustomConversions.of(Collections.emptyList());
}
/**

View File

@ -39,11 +39,11 @@ import org.springframework.util.NumberUtils;
public class ElasticsearchCustomConversions extends CustomConversions {
private static final StoreConversions STORE_CONVERSIONS;
private static final List<Object> STORE_CONVERTERS;
private static final List<Converter<?, ?>> STORE_CONVERTERS;
static {
List<Object> converters = new ArrayList<>(GeoConverters.getConvertersToRegister());
List<Converter<?, ?>> converters = new ArrayList<>();
converters.add(StringToUUIDConverter.INSTANCE);
converters.add(UUIDToStringConverter.INSTANCE);
converters.add(BigDecimalToDoubleConverter.INSTANCE);
@ -58,8 +58,14 @@ public class ElasticsearchCustomConversions extends CustomConversions {
*
* @param converters must not be {@literal null}.
*/
public ElasticsearchCustomConversions(Collection<?> converters) {
super(STORE_CONVERSIONS, converters);
public static ElasticsearchCustomConversions of(Collection<Converter<?, ?>> converters) {
List<Converter<?, ?>> userConverters = new ArrayList<>(GeoConverters.getConvertersToRegister());
userConverters.addAll(converters);
return new ElasticsearchCustomConversions(STORE_CONVERSIONS, userConverters);
}
private ElasticsearchCustomConversions(StoreConversions storeConversions, Collection<?> converters) {
super(storeConversions, converters);
}
/**

View File

@ -31,11 +31,12 @@ import org.springframework.util.NumberUtils;
* Set of {@link Converter converters} specific to Elasticsearch Geo types.
*
* @author Christoph Strobl
* @author Peter-Josef Meisch
* @since 3.2
*/
class GeoConverters {
static Collection<Object> getConvertersToRegister() {
static Collection<Converter<?, ?>> getConvertersToRegister() {
return Arrays.asList(PointToMapConverter.INSTANCE, MapToPointConverter.INSTANCE, GeoPointToMapConverter.INSTANCE,
MapToGeoPointConverter.INSTANCE);
@ -50,7 +51,7 @@ class GeoConverters {
INSTANCE;
@Override
public Map convert(Point source) {
public Map<String, Object> convert(Point source) {
Map<String, Object> target = new LinkedHashMap<>();
target.put("lat", source.getX());
@ -68,7 +69,7 @@ class GeoConverters {
INSTANCE;
@Override
public Map convert(GeoPoint source) {
public Map<String, Object> convert(GeoPoint source) {
Map<String, Object> target = new LinkedHashMap<>();
target.put("lat", source.getLat());
target.put("lon", source.getLon());
@ -85,7 +86,7 @@ class GeoConverters {
INSTANCE;
@Override
public Point convert(Map source) {
public Point convert(Map<String, Object> source) {
Double x = NumberUtils.convertNumberToTargetClass((Number) source.get("lat"), Double.class);
Double y = NumberUtils.convertNumberToTargetClass((Number) source.get("lon"), Double.class);
@ -102,7 +103,7 @@ class GeoConverters {
INSTANCE;
@Override
public GeoPoint convert(Map source) {
public GeoPoint convert(Map<String, Object> source) {
Double x = NumberUtils.convertNumberToTargetClass((Number) source.get("lat"), Double.class);
Double y = NumberUtils.convertNumberToTargetClass((Number) source.get("lon"), Double.class);

View File

@ -85,7 +85,7 @@ public class MappingElasticsearchConverter
private final MappingContext<? extends ElasticsearchPersistentEntity<?>, ElasticsearchPersistentProperty> mappingContext;
private final GenericConversionService conversionService;
private CustomConversions conversions = new ElasticsearchCustomConversions(Collections.emptyList());
private CustomConversions conversions = ElasticsearchCustomConversions.of(Collections.emptyList());
private EntityInstantiators instantiators = new EntityInstantiators();
private ElasticsearchTypeMapper typeMapper;

View File

@ -108,7 +108,7 @@ public class MappingElasticsearchConverterUnitTests {
mappingElasticsearchConverter = new MappingElasticsearchConverter(mappingContext, new GenericConversionService());
mappingElasticsearchConverter.setConversions(
new ElasticsearchCustomConversions(Arrays.asList(new ShotGunToMapConverter(), new MapToShotGunConverter())));
ElasticsearchCustomConversions.of(Arrays.asList(new ShotGunToMapConverter(), new MapToShotGunConverter())));
mappingElasticsearchConverter.afterPropertiesSet();
sarahConnor = new Person();