DATAES-771 - Polishing.

This commit is contained in:
Peter-Josef Meisch 2020-03-29 19:54:00 +02:00
parent c73d1973bc
commit abf886e877
9 changed files with 40 additions and 64 deletions

View File

@ -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

View File

@ -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;
}

View File

@ -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
}

View File

@ -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

View File

@ -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.

View File

@ -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.

View File

@ -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();
}

View File

@ -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();
}

View File

@ -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");