mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-05-31 09:12:11 +00:00
DATAES-771 - Polishing.
This commit is contained in:
parent
c73d1973bc
commit
abf886e877
@ -158,10 +158,7 @@ public abstract class AbstractElasticsearchTemplate implements ElasticsearchOper
|
||||
});
|
||||
}
|
||||
|
||||
return indexQueries.stream()
|
||||
.map(IndexQuery::getObject)
|
||||
.map(entity -> (T) entity)
|
||||
.collect(Collectors.toList());
|
||||
return indexQueries.stream().map(IndexQuery::getObject).map(entity -> (T) entity).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
@Override
|
||||
@ -433,7 +430,7 @@ public abstract class AbstractElasticsearchTemplate implements ElasticsearchOper
|
||||
|
||||
/**
|
||||
* tries to extract the version of the Elasticsearch cluster
|
||||
*
|
||||
*
|
||||
* @return the version as string if it can be retrieved
|
||||
*/
|
||||
@Nullable
|
||||
|
@ -229,8 +229,8 @@ public class ElasticsearchRestTemplate extends AbstractElasticsearchTemplate {
|
||||
private List<String> doBulkOperation(List<?> queries, BulkOptions bulkOptions, IndexCoordinates index) {
|
||||
maybeCallbackBeforeConvertWithQueries(queries);
|
||||
BulkRequest bulkRequest = requestFactory.bulkRequest(queries, bulkOptions, index);
|
||||
List<String> ids = checkForBulkOperationFailure(execute(
|
||||
client -> client.bulk(bulkRequest, RequestOptions.DEFAULT)));
|
||||
List<String> ids = checkForBulkOperationFailure(
|
||||
execute(client -> client.bulk(bulkRequest, RequestOptions.DEFAULT)));
|
||||
maybeCallbackAfterSaveWithQueries(queries);
|
||||
return ids;
|
||||
}
|
||||
|
@ -17,7 +17,6 @@ package org.springframework.data.elasticsearch.core;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.elasticsearch.Version;
|
||||
import org.elasticsearch.action.ActionFuture;
|
||||
import org.elasticsearch.action.admin.cluster.node.info.NodesInfoAction;
|
||||
import org.elasticsearch.action.admin.cluster.node.info.NodesInfoRequestBuilder;
|
||||
@ -286,13 +285,14 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate {
|
||||
}
|
||||
|
||||
@Override
|
||||
public <T> SearchScrollHits<T> searchScrollContinue(@Nullable String scrollId, long scrollTimeInMillis, Class<T> clazz) {
|
||||
public <T> SearchScrollHits<T> searchScrollContinue(@Nullable String scrollId, long scrollTimeInMillis,
|
||||
Class<T> clazz) {
|
||||
|
||||
ActionFuture<SearchResponse> action = client //
|
||||
ActionFuture<SearchResponse> action = client //
|
||||
.prepareSearchScroll(scrollId) //
|
||||
.setScroll(TimeValue.timeValueMillis(scrollTimeInMillis)) //
|
||||
.execute();
|
||||
|
||||
|
||||
SearchResponse response = getSearchResponseWithTimeout(action);
|
||||
|
||||
return elasticsearchConverter.readScroll(clazz, SearchDocumentResponse.from(response));
|
||||
@ -330,21 +330,18 @@ public class ElasticsearchTemplate extends AbstractElasticsearchTemplate {
|
||||
}
|
||||
// endregion
|
||||
|
||||
|
||||
//region helper methods
|
||||
// region helper methods
|
||||
@Override
|
||||
protected String getClusterVersion() {
|
||||
|
||||
try {
|
||||
NodesInfoResponse nodesInfoResponse = client.admin().cluster().nodesInfo(
|
||||
new NodesInfoRequestBuilder(client, NodesInfoAction.INSTANCE).request()
|
||||
).actionGet();
|
||||
NodesInfoResponse nodesInfoResponse = client.admin().cluster()
|
||||
.nodesInfo(new NodesInfoRequestBuilder(client, NodesInfoAction.INSTANCE).request()).actionGet();
|
||||
if (!nodesInfoResponse.getNodes().isEmpty()) {
|
||||
return nodesInfoResponse.getNodes().get(0).getVersion().toString();
|
||||
}
|
||||
} catch (Exception ignored) {
|
||||
}
|
||||
} catch (Exception ignored) {}
|
||||
return null;
|
||||
}
|
||||
//endregion
|
||||
// endregion
|
||||
}
|
||||
|
@ -187,8 +187,7 @@ public class ReactiveElasticsearchTemplate implements ReactiveElasticsearchOpera
|
||||
return doIndex(entity, adaptableEntity, index) //
|
||||
.map(it -> {
|
||||
return adaptableEntity.populateIdIfNecessary(it.getId());
|
||||
})
|
||||
.flatMap(this::maybeCallAfterSave);
|
||||
}).flatMap(this::maybeCallAfterSave);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
@ -29,8 +29,8 @@ import org.springframework.data.mapping.callback.EntityCallbacks;
|
||||
public interface AfterSaveCallback<T> extends EntityCallback<T> {
|
||||
|
||||
/**
|
||||
* Entity callback method invoked after a domain object is saved. Can return either the same or a modified
|
||||
* instance of the domain object.
|
||||
* Entity callback method invoked after a domain object is saved. Can return either the same or a modified instance of
|
||||
* the domain object.
|
||||
*
|
||||
* @param entity the domain object that was saved.
|
||||
* @return the domain object that was persisted.
|
||||
|
@ -30,8 +30,8 @@ import org.springframework.data.mapping.callback.ReactiveEntityCallbacks;
|
||||
public interface ReactiveAfterSaveCallback<T> extends EntityCallback<T> {
|
||||
|
||||
/**
|
||||
* Entity callback method invoked after a domain object is saved. Can return either the same or a modified
|
||||
* instance of the domain object.
|
||||
* Entity callback method invoked after a domain object is saved. Can return either the same or a modified instance of
|
||||
* the domain object.
|
||||
*
|
||||
* @param entity the domain object that was saved.
|
||||
* @return a {@link Publisher} emitting the domain object to be returned to the caller.
|
||||
|
@ -59,15 +59,11 @@ public class ElasticsearchRestTemplateCallbackTests {
|
||||
|
||||
private ElasticsearchRestTemplate template;
|
||||
|
||||
@Mock
|
||||
private RestHighLevelClient client;
|
||||
@Mock private RestHighLevelClient client;
|
||||
|
||||
@Mock
|
||||
private IndexResponse indexResponse;
|
||||
@Mock
|
||||
private BulkResponse bulkResponse;
|
||||
@Mock
|
||||
private BulkItemResponse bulkItemResponse;
|
||||
@Mock private IndexResponse indexResponse;
|
||||
@Mock private BulkResponse bulkResponse;
|
||||
@Mock private BulkItemResponse bulkItemResponse;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() throws Exception {
|
||||
@ -77,7 +73,7 @@ public class ElasticsearchRestTemplateCallbackTests {
|
||||
doReturn("response-id").when(indexResponse).getId();
|
||||
|
||||
doReturn(bulkResponse).when(client).bulk(any(BulkRequest.class), any(RequestOptions.class));
|
||||
doReturn(new BulkItemResponse[] {bulkItemResponse, bulkItemResponse}).when(bulkResponse).getItems();
|
||||
doReturn(new BulkItemResponse[] { bulkItemResponse, bulkItemResponse }).when(bulkResponse).getItems();
|
||||
doReturn("response-id").when(bulkItemResponse).getId();
|
||||
}
|
||||
|
||||
|
@ -59,23 +59,15 @@ public class ElasticsearchTransportTemplateCallbackTests {
|
||||
|
||||
private ElasticsearchTemplate template;
|
||||
|
||||
@Mock
|
||||
private Client client;
|
||||
@Mock private Client client;
|
||||
|
||||
@Mock
|
||||
private IndexRequestBuilder indexRequestBuilder;
|
||||
@Mock
|
||||
private ActionFuture<IndexResponse> indexResponseActionFuture;
|
||||
@Mock
|
||||
private IndexResponse indexResponse;
|
||||
@Mock
|
||||
private BulkRequestBuilder bulkRequestBuilder;
|
||||
@Mock
|
||||
private ActionFuture<BulkResponse> bulkResponseActionFuture;
|
||||
@Mock
|
||||
private BulkResponse bulkResponse;
|
||||
@Mock
|
||||
private BulkItemResponse bulkItemResponse;
|
||||
@Mock private IndexRequestBuilder indexRequestBuilder;
|
||||
@Mock private ActionFuture<IndexResponse> indexResponseActionFuture;
|
||||
@Mock private IndexResponse indexResponse;
|
||||
@Mock private BulkRequestBuilder bulkRequestBuilder;
|
||||
@Mock private ActionFuture<BulkResponse> bulkResponseActionFuture;
|
||||
@Mock private BulkResponse bulkResponse;
|
||||
@Mock private BulkItemResponse bulkItemResponse;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
@ -89,7 +81,7 @@ public class ElasticsearchTransportTemplateCallbackTests {
|
||||
when(client.prepareBulk()).thenReturn(bulkRequestBuilder);
|
||||
doReturn(bulkResponseActionFuture).when(bulkRequestBuilder).execute();
|
||||
when(bulkResponseActionFuture.actionGet()).thenReturn(bulkResponse);
|
||||
doReturn(new BulkItemResponse[] {bulkItemResponse, bulkItemResponse}).when(bulkResponse).getItems();
|
||||
doReturn(new BulkItemResponse[] { bulkItemResponse, bulkItemResponse }).when(bulkResponse).getItems();
|
||||
doReturn("response-id").when(bulkItemResponse).getId();
|
||||
}
|
||||
|
||||
|
@ -59,17 +59,12 @@ public class ReactiveElasticsearchTemplateCallbackTests {
|
||||
|
||||
private ReactiveElasticsearchTemplate template;
|
||||
|
||||
@Mock
|
||||
private ReactiveElasticsearchClient client;
|
||||
@Mock private ReactiveElasticsearchClient client;
|
||||
|
||||
@Mock
|
||||
private IndexResponse indexResponse;
|
||||
@Mock
|
||||
private BulkResponse bulkResponse;
|
||||
@Mock
|
||||
private BulkItemResponse bulkItemResponse;
|
||||
@Mock
|
||||
private DocWriteResponse docWriteResponse;
|
||||
@Mock private IndexResponse indexResponse;
|
||||
@Mock private BulkResponse bulkResponse;
|
||||
@Mock private BulkItemResponse bulkItemResponse;
|
||||
@Mock private DocWriteResponse docWriteResponse;
|
||||
|
||||
@BeforeEach
|
||||
public void setUp() {
|
||||
@ -79,7 +74,7 @@ public class ReactiveElasticsearchTemplateCallbackTests {
|
||||
doReturn("response-id").when(indexResponse).getId();
|
||||
|
||||
when(client.bulk(any(BulkRequest.class))).thenReturn(Mono.just(bulkResponse));
|
||||
doReturn(new BulkItemResponse[] {bulkItemResponse, bulkItemResponse}).when(bulkResponse).getItems();
|
||||
doReturn(new BulkItemResponse[] { bulkItemResponse, bulkItemResponse }).when(bulkResponse).getItems();
|
||||
doReturn(docWriteResponse).when(bulkItemResponse).getResponse();
|
||||
doReturn("response-id").when(docWriteResponse).getId();
|
||||
}
|
||||
@ -154,8 +149,8 @@ public class ReactiveElasticsearchTemplateCallbackTests {
|
||||
Person entity1 = new Person("init1", "luke1");
|
||||
Person entity2 = new Person("init2", "luke2");
|
||||
|
||||
List<Person> saved = template.saveAll(Arrays.asList(entity1, entity2), IndexCoordinates.of("index"))
|
||||
.toStream().collect(Collectors.toList());
|
||||
List<Person> saved = template.saveAll(Arrays.asList(entity1, entity2), IndexCoordinates.of("index")).toStream()
|
||||
.collect(Collectors.toList());
|
||||
|
||||
verify(afterSaveCallback, times(2)).onAfterSave(any());
|
||||
assertThat(saved.get(0).getId()).isEqualTo("after-save");
|
||||
|
Loading…
x
Reference in New Issue
Block a user