From e1c926e1341435fbf751880f80a9c32782d18f5c Mon Sep 17 00:00:00 2001 From: Peter-Josef Meisch Date: Fri, 15 Apr 2022 08:42:26 +0200 Subject: [PATCH] Use Range class from spring-data-commons. Original Pull Request #2137 Closes #2098 --- .../springframework/data/elasticsearch/core/Range.java | 8 +++++--- .../core/convert/AbstractRangePropertyValueConverter.java | 8 +++++--- .../mapping/SimpleElasticsearchPersistentProperty.java | 2 +- .../data/elasticsearch/core/RangeUnitTests.java | 1 + .../convert/MappingElasticsearchConverterUnitTests.java | 2 +- .../elasticsearch/core/index/MappingBuilderUnitTests.java | 4 ++-- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/springframework/data/elasticsearch/core/Range.java b/src/main/java/org/springframework/data/elasticsearch/core/Range.java index cdd6d0697..0c336627c 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/Range.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/Range.java @@ -25,7 +25,9 @@ import org.springframework.util.ObjectUtils; * * @author Sascha Woo * @since 4.3 + * @deprecated use {org.springframework.data.domain.Range} instead. */ +@Deprecated(since = "5.0", forRemoval = true) public class Range { private final static Range UNBOUNDED = Range.of(Bound.unbounded(), Bound.UNBOUNDED); @@ -58,7 +60,7 @@ public class Range { * @param * @param value must not be {@literal null}. * @return - * @see Range#closed(Object, Object) + * @see Range#closed(Object, Object) */ public static Range just(T value) { return Range.closed(value, value); @@ -231,8 +233,8 @@ public class Range { } /** - * Value object representing a boundary. A boundary can either be {@link #unbounded() unbounded}, {@link #inclusive(Object)} - * including its value} or {@link #exclusive(Object)} its value}. + * Value object representing a boundary. A boundary can either be {@link #unbounded() unbounded}, + * {@link #inclusive(Object)} including its value} or {@link #exclusive(Object)} its value}. */ public static final class Bound { diff --git a/src/main/java/org/springframework/data/elasticsearch/core/convert/AbstractRangePropertyValueConverter.java b/src/main/java/org/springframework/data/elasticsearch/core/convert/AbstractRangePropertyValueConverter.java index 6c07b4bc6..1bce2a99d 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/convert/AbstractRangePropertyValueConverter.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/convert/AbstractRangePropertyValueConverter.java @@ -18,7 +18,7 @@ package org.springframework.data.elasticsearch.core.convert; import java.util.LinkedHashMap; import java.util.Map; -import org.springframework.data.elasticsearch.core.Range; +import org.springframework.data.domain.Range; import org.springframework.data.mapping.PersistentProperty; import org.springframework.util.Assert; @@ -44,6 +44,7 @@ public abstract class AbstractRangePropertyValueConverter extends AbstractPro Assert.isInstanceOf(Map.class, value, "value must be instance of Map."); try { + // noinspection unchecked Map source = (Map) value; Range.Bound lowerBound; Range.Bound upperBound; @@ -82,12 +83,13 @@ public abstract class AbstractRangePropertyValueConverter extends AbstractPro } try { + // noinspection unchecked Range range = (Range) value; Range.Bound lowerBound = range.getLowerBound(); Range.Bound upperBound = range.getUpperBound(); Map target = new LinkedHashMap<>(); - if (lowerBound.isBounded()) { + if (lowerBound.getValue().isPresent()) { String lowerBoundValue = format(lowerBound.getValue().get()); if (lowerBound.isInclusive()) { target.put(GTE_FIELD, lowerBoundValue); @@ -96,7 +98,7 @@ public abstract class AbstractRangePropertyValueConverter extends AbstractPro } } - if (upperBound.isBounded()) { + if (upperBound.getValue().isPresent()) { String upperBoundValue = format(upperBound.getValue().get()); if (upperBound.isInclusive()) { target.put(LTE_FIELD, upperBoundValue); diff --git a/src/main/java/org/springframework/data/elasticsearch/core/mapping/SimpleElasticsearchPersistentProperty.java b/src/main/java/org/springframework/data/elasticsearch/core/mapping/SimpleElasticsearchPersistentProperty.java index 6c6d695f0..02fea106f 100644 --- a/src/main/java/org/springframework/data/elasticsearch/core/mapping/SimpleElasticsearchPersistentProperty.java +++ b/src/main/java/org/springframework/data/elasticsearch/core/mapping/SimpleElasticsearchPersistentProperty.java @@ -24,6 +24,7 @@ import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.BeanUtils; +import org.springframework.data.domain.Range; import org.springframework.data.elasticsearch.annotations.DateFormat; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; @@ -31,7 +32,6 @@ import org.springframework.data.elasticsearch.annotations.GeoPointField; import org.springframework.data.elasticsearch.annotations.GeoShapeField; import org.springframework.data.elasticsearch.annotations.MultiField; import org.springframework.data.elasticsearch.annotations.ValueConverter; -import org.springframework.data.elasticsearch.core.Range; import org.springframework.data.elasticsearch.core.convert.DatePropertyValueConverter; import org.springframework.data.elasticsearch.core.convert.DateRangePropertyValueConverter; import org.springframework.data.elasticsearch.core.convert.ElasticsearchDateConverter; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/RangeUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/core/RangeUnitTests.java index e95be4121..1b69f7d07 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/RangeUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/RangeUnitTests.java @@ -26,6 +26,7 @@ import org.junit.jupiter.api.Test; * @author Sascha Woo * @since 4.3 */ +@Deprecated(since = "5.0", forRemoval = true) public class RangeUnitTests { @Test diff --git a/src/test/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverterUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverterUnitTests.java index d669d6443..60590cc6b 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverterUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/convert/MappingElasticsearchConverterUnitTests.java @@ -48,12 +48,12 @@ import org.springframework.data.annotation.Transient; import org.springframework.data.annotation.TypeAlias; import org.springframework.data.convert.ReadingConverter; import org.springframework.data.convert.WritingConverter; +import org.springframework.data.domain.Range; import org.springframework.data.elasticsearch.annotations.DateFormat; import org.springframework.data.elasticsearch.annotations.Field; import org.springframework.data.elasticsearch.annotations.FieldType; import org.springframework.data.elasticsearch.annotations.GeoPointField; import org.springframework.data.elasticsearch.annotations.ValueConverter; -import org.springframework.data.elasticsearch.core.Range; import org.springframework.data.elasticsearch.core.document.Document; import org.springframework.data.elasticsearch.core.geo.GeoJsonEntity; import org.springframework.data.elasticsearch.core.geo.GeoJsonGeometryCollection; diff --git a/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderUnitTests.java b/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderUnitTests.java index 63aed56c5..4d2773070 100644 --- a/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderUnitTests.java +++ b/src/test/java/org/springframework/data/elasticsearch/core/index/MappingBuilderUnitTests.java @@ -40,9 +40,9 @@ import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.springframework.data.annotation.Id; import org.springframework.data.annotation.Transient; +import org.springframework.data.domain.Range; import org.springframework.data.elasticsearch.annotations.*; import org.springframework.data.elasticsearch.core.MappingContextBaseTests; -import org.springframework.data.elasticsearch.core.Range; import org.springframework.data.elasticsearch.core.geo.GeoPoint; import org.springframework.data.elasticsearch.core.mapping.SimpleElasticsearchMappingContext; import org.springframework.data.elasticsearch.core.query.SeqNoPrimaryTerm; @@ -167,7 +167,7 @@ public class MappingBuilderUnitTests extends MappingContextBaseTests { " \"coerce\": true\n" + // " }\n" + // " }\n" + // - "}\n}"; // + "}\n"; // // when String mapping;