Skip to content

Commit 6eab0e1

Browse files
committed
DATAES-631 - refactoring delete queries.
1 parent 6e175e5 commit 6eab0e1

File tree

6 files changed

+27
-36
lines changed

6 files changed

+27
-36
lines changed

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

+11-10
Original file line numberDiff line numberDiff line change
@@ -418,29 +418,30 @@ default void bulkUpdate(List<UpdateQuery> queries, IndexCoordinates index) {
418418
/**
419419
* Delete the one object with provided id
420420
*
421-
* @param indexName
422-
* @param type
423421
* @param id
422+
* @param index
424423
* @return documentId of the document deleted
425424
*/
426-
String delete(String indexName, String type, String id);
425+
String delete(String id, IndexCoordinates index);
427426

428427
/**
429-
* Delete all records matching the criteria
428+
* Delete the one object with provided id
430429
*
430+
* @param id
431431
* @param clazz
432-
* @param criteriaQuery
432+
* @return documentId of the document deleted
433433
*/
434-
<T> void delete(CriteriaQuery criteriaQuery, Class<T> clazz);
434+
default String delete(String id, Class<?> clazz) {
435+
return delete(id, getIndexCoordinatesFor(clazz));
436+
}
435437

436438
/**
437-
* Delete the one object with provided id
439+
* Delete all records matching the criteria
438440
*
439441
* @param clazz
440-
* @param id
441-
* @return documentId of the document deleted
442+
* @param criteriaQuery
442443
*/
443-
<T> String delete(Class<T> clazz, String id);
444+
<T> void delete(CriteriaQuery criteriaQuery, Class<T> clazz);
444445

445446
/**
446447
* Delete all records matching the query

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

+2-8
Original file line numberDiff line numberDiff line change
@@ -675,21 +675,15 @@ public boolean deleteIndex(String indexName) {
675675
}
676676

677677
@Override
678-
public String delete(String indexName, String type, String id) {
679-
DeleteRequest request = new DeleteRequest(indexName, type, id);
678+
public String delete(String id, IndexCoordinates index) {
679+
DeleteRequest request = new DeleteRequest(index.getIndexName(), index.getTypeName(), id);
680680
try {
681681
return client.delete(request, RequestOptions.DEFAULT).getId();
682682
} catch (IOException e) {
683683
throw new ElasticsearchException("Error while deleting item request: " + request.toString(), e);
684684
}
685685
}
686686

687-
@Override
688-
public <T> String delete(Class<T> clazz, String id) {
689-
ElasticsearchPersistentEntity persistentEntity = getPersistentEntityFor(clazz);
690-
return delete(persistentEntity.getIndexName(), persistentEntity.getIndexType(), id);
691-
}
692-
693687
@Override
694688
public <T> void delete(DeleteQuery deleteQuery, Class<T> clazz) {
695689

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

+3-12
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@
4747
import org.elasticsearch.action.search.MultiSearchResponse;
4848
import org.elasticsearch.action.search.SearchRequestBuilder;
4949
import org.elasticsearch.action.search.SearchResponse;
50-
import org.elasticsearch.action.update.UpdateRequest;
5150
import org.elasticsearch.action.update.UpdateRequestBuilder;
5251
import org.elasticsearch.action.update.UpdateResponse;
5352
import org.elasticsearch.client.Client;
@@ -389,8 +388,7 @@ private <T> CloseableIterator<T> doStream(long scrollTimeInMillis, ScrolledPage<
389388
@Override
390389
public long count(Query query, @Nullable Class<?> clazz, IndexCoordinates index) {
391390
Assert.notNull(index, "index must not be null");
392-
SearchRequestBuilder searchRequestBuilder = requestFactory.searchRequestBuilderFor(client, query, clazz,
393-
index);
391+
SearchRequestBuilder searchRequestBuilder = requestFactory.searchRequestBuilderFor(client, query, clazz, index);
394392
searchRequestBuilder.setSize(0);
395393

396394
return SearchHitsUtil.getTotalCount(searchRequestBuilder.execute().actionGet().getHits());
@@ -447,7 +445,6 @@ public UpdateResponse update(UpdateQuery query, IndexCoordinates index) {
447445
return updateRequestBuilder.execute().actionGet();
448446
}
449447

450-
451448
@Override
452449
public void bulkIndex(List<IndexQuery> queries, BulkOptions bulkOptions) {
453450

@@ -544,14 +541,8 @@ public boolean deleteIndex(String indexName) {
544541
}
545542

546543
@Override
547-
public String delete(String indexName, String type, String id) {
548-
return client.prepareDelete(indexName, type, id).execute().actionGet().getId();
549-
}
550-
551-
@Override
552-
public <T> String delete(Class<T> clazz, String id) {
553-
ElasticsearchPersistentEntity persistentEntity = getPersistentEntityFor(clazz);
554-
return delete(persistentEntity.getIndexName(), persistentEntity.getIndexType(), id);
544+
public String delete(String id, IndexCoordinates index) {
545+
return client.prepareDelete(index.getIndexName(), index.getTypeName(), id).execute().actionGet().getId();
555546
}
556547

557548
@Override

src/main/java/org/springframework/data/elasticsearch/core/query/DeleteQuery.java

+5
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
*
2323
* @author Rizwan Idrees
2424
* @author Mohsin Husen
25+
* @author Peter-Josef Meisch
2526
*/
2627
public class DeleteQuery {
2728

@@ -39,18 +40,22 @@ public void setQuery(QueryBuilder query) {
3940
this.query = query;
4041
}
4142

43+
@Deprecated
4244
public String getIndex() {
4345
return index;
4446
}
4547

48+
@Deprecated
4649
public void setIndex(String index) {
4750
this.index = index;
4851
}
4952

53+
@Deprecated
5054
public String getType() {
5155
return type;
5256
}
5357

58+
@Deprecated
5459
public void setType(String type) {
5560
this.type = type;
5661
}

src/main/java/org/springframework/data/elasticsearch/repository/support/AbstractElasticsearchRepository.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -278,9 +278,9 @@ public void deleteById(ID id) {
278278

279279
Assert.notNull(id, "Cannot delete entity with id 'null'.");
280280

281-
elasticsearchOperations.delete(entityInformation.getIndexName(), entityInformation.getType(),
282-
stringIdRepresentation(id));
283-
elasticsearchOperations.refresh(entityInformation.getIndexName());
281+
IndexCoordinates indexCoordinates = getIndexCoordinates();
282+
elasticsearchOperations.delete(stringIdRepresentation(id), indexCoordinates);
283+
elasticsearchOperations.refresh(indexCoordinates.getIndexName());
284284
}
285285

286286
@Override

src/test/java/org/springframework/data/elasticsearch/core/ElasticsearchTemplateTests.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -428,7 +428,7 @@ public void shouldDeleteDocumentForGivenId() {
428428
elasticsearchTemplate.index(indexQuery);
429429

430430
// when
431-
elasticsearchTemplate.delete(INDEX_NAME_SAMPLE_ENTITY, TYPE_NAME, documentId);
431+
elasticsearchTemplate.delete(documentId, indexCoordinates);
432432
elasticsearchTemplate.refresh(SampleEntity.class);
433433

434434
// then
@@ -450,7 +450,7 @@ public void shouldDeleteEntityForGivenId() {
450450
elasticsearchTemplate.index(indexQuery);
451451

452452
// when
453-
elasticsearchTemplate.delete(SampleEntity.class, documentId);
453+
elasticsearchTemplate.delete(documentId, indexCoordinates);
454454
elasticsearchTemplate.refresh(SampleEntity.class);
455455

456456
// then
@@ -2426,7 +2426,7 @@ public void shouldDeleteDocumentForGivenIdOnly() {
24262426
elasticsearchTemplate.refresh(SampleEntity.class);
24272427

24282428
// when
2429-
elasticsearchTemplate.delete(SampleEntity.class, documentIdToDelete);
2429+
elasticsearchTemplate.delete(documentIdToDelete, indexCoordinates);
24302430
elasticsearchTemplate.refresh(SampleEntity.class);
24312431

24322432
// then

0 commit comments

Comments
 (0)