Skip to content

Commit d66b2a6

Browse files
ptahchievodrotbohm
authored andcommitted
DATAES-283 - Get rid of Commons Lang dependency.
Replace all StringUtils and ArrayUtils usages with Springframework's StringUtils and ObjectUtils. Left the commons-lang as test-scope dependency as I believe it brings some values in the tests. Original pull request: #211.
1 parent ba3eba5 commit d66b2a6

12 files changed

+69
-64
lines changed

pom.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,7 @@
5656
<groupId>commons-lang</groupId>
5757
<artifactId>commons-lang</artifactId>
5858
<version>${commonslang}</version>
59+
<scope>test</scope>
5960
</dependency>
6061

6162
<!-- JODA Time -->

src/main/java/org/springframework/data/elasticsearch/client/NodeClientFactoryBean.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
import java.io.IOException;
1919
import java.io.InputStream;
2020
import java.util.Collection;
21-
import org.apache.commons.lang.StringUtils;
2221
import org.elasticsearch.client.Client;
2322
import org.elasticsearch.client.node.NodeClient;
2423
import org.elasticsearch.common.settings.Settings;
@@ -31,6 +30,8 @@
3130
import org.springframework.beans.factory.DisposableBean;
3231
import org.springframework.beans.factory.FactoryBean;
3332
import org.springframework.beans.factory.InitializingBean;
33+
import org.springframework.util.StringUtils;
34+
3435
import static java.util.Arrays.*;
3536

3637
/**
@@ -95,7 +96,7 @@ public void afterPropertiesSet() throws Exception {
9596
}
9697

9798
private Settings loadConfig() throws IOException {
98-
if (StringUtils.isNotBlank(pathConfiguration)) {
99+
if (!StringUtils.isEmpty(pathConfiguration)) {
99100
InputStream stream = getClass().getClassLoader().getResourceAsStream(pathConfiguration);
100101
if (stream != null) {
101102
return Settings.builder().loadFromStream(pathConfiguration, getClass().getClassLoader().getResourceAsStream(pathConfiguration), false).build();

src/main/java/org/springframework/data/elasticsearch/client/TransportClientFactoryBean.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@
1515
*/
1616
package org.springframework.data.elasticsearch.client;
1717

18-
import static org.apache.commons.lang.StringUtils.*;
19-
2018
import java.net.InetAddress;
2119
import java.util.Properties;
2220

@@ -30,6 +28,7 @@
3028
import org.springframework.beans.factory.FactoryBean;
3129
import org.springframework.beans.factory.InitializingBean;
3230
import org.springframework.util.Assert;
31+
import org.springframework.util.StringUtils;
3332

3433
/**
3534
* TransportClientFactoryBean
@@ -91,13 +90,19 @@ protected void buildClient() throws Exception {
9190

9291
client = new PreBuiltTransportClient(settings());
9392
Assert.hasText(clusterNodes, "[Assertion failed] clusterNodes settings missing.");
94-
for (String clusterNode : split(clusterNodes, COMMA)) {
95-
String hostName = substringBeforeLast(clusterNode, COLON);
96-
String port = substringAfterLast(clusterNode, COLON);
97-
Assert.hasText(hostName, "[Assertion failed] missing host name in 'clusterNodes'");
98-
Assert.hasText(port, "[Assertion failed] missing port in 'clusterNodes'");
99-
logger.info("adding transport node : " + clusterNode);
100-
client.addTransportAddress(new TransportAddress(InetAddress.getByName(hostName), Integer.valueOf(port)));
93+
String[] clusterNodesArray = StringUtils.split(clusterNodes, COMMA);
94+
if (clusterNodesArray != null) {
95+
for (String clusterNode : clusterNodesArray) {
96+
if (clusterNode != null) {
97+
int colonPosition = clusterName.lastIndexOf(COLON);
98+
String hostName = colonPosition != -1 ? clusterNode.substring(0, colonPosition) : clusterNode;
99+
String port = colonPosition != -1 ? clusterNode.substring(colonPosition, clusterNode.length()) : "";
100+
Assert.hasText(hostName, "[Assertion failed] missing host name in 'clusterNodes'");
101+
Assert.hasText(port, "[Assertion failed] missing port in 'clusterNodes'");
102+
logger.info("adding transport node : " + clusterNode);
103+
client.addTransportAddress(new TransportAddress(InetAddress.getByName(hostName), Integer.valueOf(port)));
104+
}
105+
}
101106
}
102107
client.connectedNodes();
103108
}

src/main/java/org/springframework/data/elasticsearch/core/AbstractResultMapper.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@
1515
*/
1616
package org.springframework.data.elasticsearch.core;
1717

18-
import static org.apache.commons.lang.StringUtils.*;
19-
2018
import java.io.IOException;
2119

2220
import org.springframework.data.elasticsearch.ElasticsearchException;
2321
import org.springframework.util.Assert;
22+
import org.springframework.util.StringUtils;
2423

2524
/**
2625
* @author Artur Konczak
@@ -37,7 +36,7 @@ public AbstractResultMapper(EntityMapper entityMapper) {
3736
}
3837

3938
public <T> T mapEntity(String source, Class<T> clazz) {
40-
if (isBlank(source)) {
39+
if (StringUtils.isEmpty(source)) {
4140
return null;
4241
}
4342
try {

src/main/java/org/springframework/data/elasticsearch/core/DefaultResultMapper.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import java.util.LinkedList;
2424
import java.util.List;
2525

26-
import org.apache.commons.lang.StringUtils;
2726
import org.elasticsearch.action.get.GetResponse;
2827
import org.elasticsearch.action.get.MultiGetItemResponse;
2928
import org.elasticsearch.action.get.MultiGetResponse;
@@ -45,6 +44,7 @@
4544
import com.fasterxml.jackson.core.JsonEncoding;
4645
import com.fasterxml.jackson.core.JsonFactory;
4746
import com.fasterxml.jackson.core.JsonGenerator;
47+
import org.springframework.util.StringUtils;
4848

4949
/**
5050
* @author Artur Konczak
@@ -98,7 +98,7 @@ public <T> AggregatedPage<T> mapResults(SearchResponse response, Class<T> clazz,
9898
for (SearchHit hit : response.getHits()) {
9999
if (hit != null) {
100100
T result = null;
101-
if (StringUtils.isNotBlank(hit.getSourceAsString())) {
101+
if (!StringUtils.isEmpty(hit.getSourceAsString())) {
102102
result = mapEntity(hit.getSourceAsString(), clazz);
103103
} else {
104104
result = mapEntity(hit.getFields().values(), clazz);

src/main/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplate.java

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@
1515
*/
1616
package org.springframework.data.elasticsearch.core;
1717

18-
import static org.apache.commons.lang.StringUtils.*;
1918
import static org.elasticsearch.client.Requests.*;
2019
import static org.elasticsearch.index.VersionType.*;
2120
import static org.elasticsearch.index.query.QueryBuilders.*;
@@ -115,6 +114,7 @@
115114
import org.springframework.data.elasticsearch.core.query.UpdateQuery;
116115
import org.springframework.data.util.CloseableIterator;
117116
import org.springframework.util.Assert;
117+
import org.springframework.util.StringUtils;
118118

119119
/**
120120
* ElasticsearchTemplate
@@ -202,9 +202,9 @@ public boolean createIndex(String indexName) {
202202
public <T> boolean putMapping(Class<T> clazz) {
203203
if (clazz.isAnnotationPresent(Mapping.class)) {
204204
String mappingPath = clazz.getAnnotation(Mapping.class).mappingPath();
205-
if (isNotBlank(mappingPath)) {
205+
if (!StringUtils.isEmpty(mappingPath)) {
206206
String mappings = readFileFromClasspath(mappingPath);
207-
if (isNotBlank(mappings)) {
207+
if (!StringUtils.isEmpty(mappings)) {
208208
return putMapping(clazz, mappings);
209209
}
210210
} else {
@@ -588,9 +588,9 @@ public UpdateResponse update(UpdateQuery query) {
588588
}
589589

590590
private UpdateRequestBuilder prepareUpdate(UpdateQuery query) {
591-
String indexName = isNotBlank(query.getIndexName()) ? query.getIndexName()
591+
String indexName = !StringUtils.isEmpty(query.getIndexName()) ? query.getIndexName()
592592
: getPersistentEntityFor(query.getClazz()).getIndexName();
593-
String type = isNotBlank(query.getType()) ? query.getType()
593+
String type = !StringUtils.isEmpty(query.getType()) ? query.getType()
594594
: getPersistentEntityFor(query.getClazz()).getIndexType();
595595
Assert.notNull(indexName, "No index defined for Query");
596596
Assert.notNull(type, "No type define for Query");
@@ -690,9 +690,9 @@ public <T> String delete(Class<T> clazz, String id) {
690690
@Override
691691
public <T> void delete(DeleteQuery deleteQuery, Class<T> clazz) {
692692

693-
String indexName = isNotBlank(deleteQuery.getIndex()) ? deleteQuery.getIndex()
693+
String indexName = !StringUtils.isEmpty(deleteQuery.getIndex()) ? deleteQuery.getIndex()
694694
: getPersistentEntityFor(clazz).getIndexName();
695-
String typeName = isNotBlank(deleteQuery.getType()) ? deleteQuery.getType()
695+
String typeName = !StringUtils.isEmpty(deleteQuery.getType()) ? deleteQuery.getType()
696696
: getPersistentEntityFor(clazz).getIndexType();
697697
Integer pageSize = deleteQuery.getPageSize() != null ? deleteQuery.getPageSize() : 1000;
698698
Long scrollTimeInMillis = deleteQuery.getScrollTimeInMillis() != null ? deleteQuery.getScrollTimeInMillis()
@@ -849,8 +849,8 @@ public void clearScroll(String scrollId) {
849849
public <T> Page<T> moreLikeThis(MoreLikeThisQuery query, Class<T> clazz) {
850850

851851
ElasticsearchPersistentEntity persistentEntity = getPersistentEntityFor(clazz);
852-
String indexName = isNotBlank(query.getIndexName()) ? query.getIndexName() : persistentEntity.getIndexName();
853-
String type = isNotBlank(query.getType()) ? query.getType() : persistentEntity.getIndexType();
852+
String indexName = !StringUtils.isEmpty(query.getIndexName()) ? query.getIndexName() : persistentEntity.getIndexName();
853+
String type = !StringUtils.isEmpty(query.getType()) ? query.getType() : persistentEntity.getIndexType();
854854

855855
Assert.notNull(indexName, "No 'indexName' defined for MoreLikeThisQuery");
856856
Assert.notNull(type, "No 'type' defined for MoreLikeThisQuery");
@@ -945,9 +945,9 @@ private <T> boolean createIndexIfNotCreated(Class<T> clazz) {
945945
private <T> boolean createIndexWithSettings(Class<T> clazz) {
946946
if (clazz.isAnnotationPresent(Setting.class)) {
947947
String settingPath = clazz.getAnnotation(Setting.class).settingPath();
948-
if (isNotBlank(settingPath)) {
948+
if (!StringUtils.isEmpty(settingPath)) {
949949
String settings = readFileFromClasspath(settingPath);
950-
if (isNotBlank(settings)) {
950+
if (!StringUtils.isEmpty(settings)) {
951951
return createIndex(getPersistentEntityFor(clazz).getIndexName(), settings);
952952
}
953953
} else {
@@ -1068,16 +1068,16 @@ private SearchRequestBuilder prepareSearch(Query query) {
10681068

10691069
private IndexRequestBuilder prepareIndex(IndexQuery query) {
10701070
try {
1071-
String indexName = isBlank(query.getIndexName())
1071+
String indexName = StringUtils.isEmpty(query.getIndexName())
10721072
? retrieveIndexNameFromPersistentEntity(query.getObject().getClass())[0]
10731073
: query.getIndexName();
1074-
String type = isBlank(query.getType()) ? retrieveTypeFromPersistentEntity(query.getObject().getClass())[0]
1074+
String type = StringUtils.isEmpty(query.getType()) ? retrieveTypeFromPersistentEntity(query.getObject().getClass())[0]
10751075
: query.getType();
10761076

10771077
IndexRequestBuilder indexRequestBuilder = null;
10781078

10791079
if (query.getObject() != null) {
1080-
String id = isBlank(query.getId()) ? getPersistentEntityId(query.getObject()) : query.getId();
1080+
String id = StringUtils.isEmpty(query.getId()) ? getPersistentEntityId(query.getObject()) : query.getId();
10811081
// If we have a query id and a document id, do not ask ES to generate one.
10821082
if (id != null) {
10831083
indexRequestBuilder = client.prepareIndex(indexName, type, id);
@@ -1130,11 +1130,11 @@ public Boolean addAlias(AliasQuery query) {
11301130
aliasAction.filter(query.getFilterBuilder());
11311131
} else if (query.getFilter() != null) {
11321132
aliasAction.filter(query.getFilter());
1133-
} else if (isNotBlank(query.getRouting())) {
1133+
} else if (!StringUtils.isEmpty(query.getRouting())) {
11341134
aliasAction.routing(query.getRouting());
1135-
} else if (isNotBlank(query.getSearchRouting())) {
1135+
} else if (!StringUtils.isEmpty(query.getSearchRouting())) {
11361136
aliasAction.searchRouting(query.getSearchRouting());
1137-
} else if (isNotBlank(query.getIndexRouting())) {
1137+
} else if (!StringUtils.isEmpty(query.getIndexRouting())) {
11381138
aliasAction.indexRouting(query.getIndexRouting());
11391139
}
11401140
return client.admin().indices().prepareAliases().addAliasAction(aliasAction).execute().actionGet().isAcknowledged();

src/main/java/org/springframework/data/elasticsearch/core/MappingBuilder.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@
3737
import org.springframework.data.mapping.model.SimpleTypeHolder;
3838
import org.springframework.data.util.ClassTypeInformation;
3939
import org.springframework.data.util.TypeInformation;
40-
import static org.apache.commons.lang.StringUtils.*;
40+
import org.springframework.util.StringUtils;
41+
4142
import static org.elasticsearch.common.xcontent.XContentFactory.*;
4243
import static org.springframework.util.StringUtils.*;
4344

@@ -88,7 +89,7 @@ static XContentBuilder buildMapping(Class clazz, String indexType, String idFiel
8889
// Properties
8990
XContentBuilder xContentBuilder = mapping.startObject(FIELD_PROPERTIES);
9091

91-
mapEntity(xContentBuilder, clazz, true, idFieldName, EMPTY, false, FieldType.Auto, null);
92+
mapEntity(xContentBuilder, clazz, true, idFieldName, "", false, FieldType.Auto, null);
9293

9394
return xContentBuilder.endObject().endObject().endObject();
9495
}
@@ -119,7 +120,7 @@ private static void mapEntity(XContentBuilder xContentBuilder, Class clazz, bool
119120

120121
if (field.isAnnotationPresent(Mapping.class)) {
121122
String mappingPath = field.getAnnotation(Mapping.class).mappingPath();
122-
if (isNotBlank(mappingPath)) {
123+
if (!StringUtils.isEmpty(mappingPath)) {
123124
ClassPathResource mappings = new ClassPathResource(mappingPath);
124125
if (mappings.exists()) {
125126
xContentBuilder.rawField(field.getName(), mappings.getInputStream());
@@ -137,7 +138,7 @@ private static void mapEntity(XContentBuilder xContentBuilder, Class clazz, bool
137138
continue;
138139
}
139140
boolean nestedOrObject = isNestedOrObjectField(field);
140-
mapEntity(xContentBuilder, getFieldType(field), false, EMPTY, field.getName(), nestedOrObject, singleField.type(), field.getAnnotation(Field.class));
141+
mapEntity(xContentBuilder, getFieldType(field), false, "", field.getName(), nestedOrObject, singleField.type(), field.getAnnotation(Field.class));
141142
if (nestedOrObject) {
142143
continue;
143144
}
@@ -203,10 +204,10 @@ private static void applyCompletionFieldMapping(XContentBuilder xContentBuilder,
203204
xContentBuilder.field(COMPLETION_MAX_INPUT_LENGTH, annotation.maxInputLength());
204205
xContentBuilder.field(COMPLETION_PRESERVE_POSITION_INCREMENTS, annotation.preservePositionIncrements());
205206
xContentBuilder.field(COMPLETION_PRESERVE_SEPARATORS, annotation.preserveSeparators());
206-
if (isNotBlank(annotation.searchAnalyzer())) {
207+
if (!StringUtils.isEmpty(annotation.searchAnalyzer())) {
207208
xContentBuilder.field(FIELD_SEARCH_ANALYZER, annotation.searchAnalyzer());
208209
}
209-
if (isNotBlank(annotation.analyzer())) {
210+
if (!StringUtils.isEmpty(annotation.analyzer())) {
210211
xContentBuilder.field(FIELD_INDEX_ANALYZER, annotation.analyzer());
211212
}
212213
}
@@ -311,10 +312,10 @@ private static void addFieldMappingParameters(XContentBuilder builder, Object an
311312
if (!index) {
312313
builder.field(FIELD_INDEX, index);
313314
}
314-
if (isNotBlank(analyzer)) {
315+
if (!StringUtils.isEmpty(analyzer)) {
315316
builder.field(FIELD_INDEX_ANALYZER, analyzer);
316317
}
317-
if (isNotBlank(searchAnalyzer)) {
318+
if (!StringUtils.isEmpty(searchAnalyzer)) {
318319
builder.field(FIELD_SEARCH_ANALYZER, searchAnalyzer);
319320
}
320321
}

src/main/java/org/springframework/data/elasticsearch/core/facet/request/HistogramFacetRequest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,13 @@
1616

1717
package org.springframework.data.elasticsearch.core.facet.request;
1818

19-
import org.apache.commons.lang.StringUtils;
2019
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
2120
import org.elasticsearch.search.aggregations.AggregationBuilders;
2221
import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramAggregationBuilder;
2322
import org.elasticsearch.search.aggregations.bucket.histogram.DateHistogramInterval;
2423
import org.springframework.data.elasticsearch.core.facet.AbstractFacetRequest;
2524
import org.springframework.util.Assert;
26-
25+
import org.springframework.util.StringUtils;
2726

2827
/**
2928
* @author Artur Konczak
@@ -54,7 +53,7 @@ public void setTimeUnit(DateHistogramInterval timeUnit) {
5453

5554
public AbstractAggregationBuilder getFacet() {
5655
Assert.notNull(getName(), "Facet name can't be a null !!!");
57-
Assert.isTrue(StringUtils.isNotBlank(field), "Please select field on which to build the facet !!!");
56+
Assert.isTrue(!StringUtils.isEmpty(field), "Please select field on which to build the facet !!!");
5857
Assert.isTrue(interval > 0, "Please provide interval as positive value greater them zero !!!");
5958

6059
DateHistogramAggregationBuilder dateHistogramBuilder = AggregationBuilders.dateHistogram(getName());

src/main/java/org/springframework/data/elasticsearch/core/facet/request/RangeFacetRequest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,12 @@
1919
import java.util.ArrayList;
2020
import java.util.List;
2121

22-
import org.apache.commons.lang.StringUtils;
2322
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
2423
import org.elasticsearch.search.aggregations.AggregationBuilders;
2524
import org.elasticsearch.search.aggregations.bucket.range.RangeAggregationBuilder;
2625
import org.springframework.data.elasticsearch.core.facet.AbstractFacetRequest;
2726
import org.springframework.util.Assert;
28-
27+
import org.springframework.util.StringUtils;
2928

3029
/**
3130
* Range facet for numeric fields
@@ -77,7 +76,7 @@ public AbstractAggregationBuilder getFacet() {
7776
Assert.notNull(getName(), "Facet name can't be a null !!!");
7877

7978
RangeAggregationBuilder rangeBuilder = AggregationBuilders.range(getName());
80-
final String field = StringUtils.isNotBlank(keyField) ? keyField : this.field;
79+
final String field = !StringUtils.isEmpty(keyField) ? keyField : this.field;
8180
rangeBuilder.field(field);
8281

8382
for (Entry entry : entries) {
@@ -86,7 +85,7 @@ public AbstractAggregationBuilder getFacet() {
8685
}
8786

8887
rangeBuilder.subAggregation(AggregationBuilders.extendedStats(INTERNAL_STATS).field(field));
89-
if(StringUtils.isNotBlank(valueField)){
88+
if(!StringUtils.isEmpty(valueField)){
9089
rangeBuilder.subAggregation(AggregationBuilders.sum(RANGE_INTERNAL_SUM).field(valueField));
9190
}
9291

src/main/java/org/springframework/data/elasticsearch/core/facet/request/StatisticalFacetRequest.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,11 @@
1616

1717
package org.springframework.data.elasticsearch.core.facet.request;
1818

19-
import org.apache.commons.lang.StringUtils;
2019
import org.elasticsearch.search.aggregations.AbstractAggregationBuilder;
2120
import org.elasticsearch.search.aggregations.AggregationBuilders;
2221
import org.springframework.data.elasticsearch.core.facet.AbstractFacetRequest;
2322
import org.springframework.util.Assert;
24-
23+
import org.springframework.util.StringUtils;
2524

2625
/**
2726
* @author Petar Tahchiev
@@ -47,7 +46,7 @@ public void setFields(String... fields) {
4746

4847
public AbstractAggregationBuilder getFacet() {
4948
Assert.notNull(getName(), "Facet name can't be a null !!!");
50-
Assert.isTrue(StringUtils.isNotBlank(field) && fields == null, "Please select field or fields on which to build the facets !!!");
49+
Assert.isTrue(!StringUtils.isEmpty(field) && fields == null, "Please select field or fields on which to build the facets !!!");
5150
return AggregationBuilders.extendedStats(getName()).field(field);
5251
}
5352
}

0 commit comments

Comments
 (0)