Skip to content

Commit 490347f

Browse files
committed
DATAES-290 - Make joda-time optional dependency.
Original PR: spring-projects#308 and spring-projects#213
1 parent d864ff1 commit 490347f

File tree

2 files changed

+11
-6
lines changed

2 files changed

+11
-6
lines changed

pom.xml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
22
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
33

4-
<modelVersion>4.0.0</modelVersion>
4+
<modelVersion>4.0.0</modelVersion>
55

66
<groupId>org.springframework.data</groupId>
77
<artifactId>spring-data-elasticsearch</artifactId>
@@ -144,6 +144,7 @@
144144
<groupId>joda-time</groupId>
145145
<artifactId>joda-time</artifactId>
146146
<version>${jodatime}</version>
147+
<optional>true</optional>
147148
</dependency>
148149

149150
<!-- Elasticsearch -->

src/main/java/org/springframework/data/elasticsearch/repository/query/ElasticsearchStringQuery.java

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import org.springframework.data.elasticsearch.core.query.StringQuery;
2525
import org.springframework.data.repository.query.ParametersParameterAccessor;
2626
import org.springframework.util.Assert;
27+
import org.springframework.util.ClassUtils;
2728
import org.springframework.util.NumberUtils;
2829

2930
/**
@@ -33,6 +34,7 @@
3334
* @author Mohsin Husen
3435
* @author Mark Paluch
3536
* @author Taylor Ono
37+
* @author Peter-Josef Meisch
3638
*/
3739
public class ElasticsearchStringQuery extends AbstractElasticsearchRepositoryQuery {
3840

@@ -45,11 +47,13 @@ public class ElasticsearchStringQuery extends AbstractElasticsearchRepositoryQue
4547
if (!conversionService.canConvert(java.util.Date.class, String.class)) {
4648
conversionService.addConverter(DateTimeConverters.JavaDateConverter.INSTANCE);
4749
}
48-
if (!conversionService.canConvert(org.joda.time.ReadableInstant.class, String.class)) {
49-
conversionService.addConverter(DateTimeConverters.JodaDateTimeConverter.INSTANCE);
50-
}
51-
if (!conversionService.canConvert(org.joda.time.LocalDateTime.class, String.class)) {
52-
conversionService.addConverter(DateTimeConverters.JodaLocalDateTimeConverter.INSTANCE);
50+
if (ClassUtils.isPresent("org.joda.time.DateTimeZone", ElasticsearchStringQuery.class.getClassLoader())) {
51+
if (!conversionService.canConvert(org.joda.time.ReadableInstant.class, String.class)) {
52+
conversionService.addConverter(DateTimeConverters.JodaDateTimeConverter.INSTANCE);
53+
}
54+
if (!conversionService.canConvert(org.joda.time.LocalDateTime.class, String.class)) {
55+
conversionService.addConverter(DateTimeConverters.JodaLocalDateTimeConverter.INSTANCE);
56+
}
5357
}
5458
}
5559

0 commit comments

Comments
 (0)