diff --git a/pom.xml b/pom.xml index 2f0228ae5..e1dc14c54 100644 --- a/pom.xml +++ b/pom.xml @@ -1,7 +1,7 @@ - 4.0.0 + 4.0.0 org.springframework.data spring-data-elasticsearch @@ -144,6 +144,7 @@ joda-time joda-time ${jodatime} + true diff --git a/src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchStringQuery.java b/src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchStringQuery.java index 686d970d7..031f63fe1 100644 --- a/src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchStringQuery.java +++ b/src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchStringQuery.java @@ -24,6 +24,7 @@ import org.springframework.data.elasticsearch.core.convert.DateTimeConverters; import org.springframework.data.elasticsearch.core.query.StringQuery; import org.springframework.data.repository.query.ParametersParameterAccessor; import org.springframework.util.Assert; +import org.springframework.util.ClassUtils; import org.springframework.util.NumberUtils; /** @@ -33,6 +34,7 @@ import org.springframework.util.NumberUtils; * @author Mohsin Husen * @author Mark Paluch * @author Taylor Ono + * @author Peter-Josef Meisch */ public class ElasticsearchStringQuery extends AbstractElasticsearchRepositoryQuery { @@ -45,11 +47,13 @@ public class ElasticsearchStringQuery extends AbstractElasticsearchRepositoryQue if (!conversionService.canConvert(java.util.Date.class, String.class)) { conversionService.addConverter(DateTimeConverters.JavaDateConverter.INSTANCE); } - if (!conversionService.canConvert(org.joda.time.ReadableInstant.class, String.class)) { - conversionService.addConverter(DateTimeConverters.JodaDateTimeConverter.INSTANCE); - } - if (!conversionService.canConvert(org.joda.time.LocalDateTime.class, String.class)) { - conversionService.addConverter(DateTimeConverters.JodaLocalDateTimeConverter.INSTANCE); + if (ClassUtils.isPresent("org.joda.time.DateTimeZone", ElasticsearchStringQuery.class.getClassLoader())) { + if (!conversionService.canConvert(org.joda.time.ReadableInstant.class, String.class)) { + conversionService.addConverter(DateTimeConverters.JodaDateTimeConverter.INSTANCE); + } + if (!conversionService.canConvert(org.joda.time.LocalDateTime.class, String.class)) { + conversionService.addConverter(DateTimeConverters.JodaLocalDateTimeConverter.INSTANCE); + } } }