mirror of
https://github.com/spring-projects/spring-data-elasticsearch.git
synced 2025-06-17 17:42:11 +00:00
Fix NPE in RequestFactory when language in UpdateQuery is not set (4.4.x).
Original Pull Request #2288 Closes #2287
This commit is contained in:
parent
346c5cce58
commit
988736dd41
@ -613,7 +613,7 @@ class RequestFactory {
|
|||||||
Object queryObject = query.getObject();
|
Object queryObject = query.getObject();
|
||||||
|
|
||||||
if (queryObject != null) {
|
if (queryObject != null) {
|
||||||
String id = StringUtils.isEmpty(query.getId()) ? getPersistentEntityId(queryObject) : query.getId();
|
String id = StringUtils.hasText(query.getId()) ? query.getId() : getPersistentEntityId(queryObject);
|
||||||
// If we have a query id and a document id, do not ask ES to generate one.
|
// If we have a query id and a document id, do not ask ES to generate one.
|
||||||
if (id != null) {
|
if (id != null) {
|
||||||
indexRequest = new IndexRequest(indexName).id(id);
|
indexRequest = new IndexRequest(indexName).id(id);
|
||||||
@ -1027,7 +1027,14 @@ class RequestFactory {
|
|||||||
if (params == null) {
|
if (params == null) {
|
||||||
params = new HashMap<>();
|
params = new HashMap<>();
|
||||||
}
|
}
|
||||||
Script script = new Script(getScriptType(query.getScriptType()), query.getLang(), query.getScript(), params);
|
org.elasticsearch.script.ScriptType scriptType = getScriptType(query.getScriptType());
|
||||||
|
String lang = query.getLang();
|
||||||
|
|
||||||
|
if (scriptType == org.elasticsearch.script.ScriptType.INLINE && lang == null) {
|
||||||
|
lang = "painless";
|
||||||
|
}
|
||||||
|
|
||||||
|
Script script = new Script(scriptType, lang, query.getScript(), params);
|
||||||
updateRequest.script(script);
|
updateRequest.script(script);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -140,6 +140,18 @@ class RequestFactoryTests {
|
|||||||
assertThat(request.upsertRequest()).isNotNull();
|
assertThat(request.upsertRequest()).isNotNull();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test // #2287
|
||||||
|
@DisplayName("should create update query when script language is not set")
|
||||||
|
void shouldCreateUpdateQueryWhenScriptTypeIsSetToNull() {
|
||||||
|
|
||||||
|
UpdateQuery updateQuery = UpdateQuery.builder("1") //
|
||||||
|
.withScript("script").build();
|
||||||
|
|
||||||
|
UpdateRequest request = requestFactory.updateRequest(updateQuery, IndexCoordinates.of("index"));
|
||||||
|
|
||||||
|
assertThat(request).isNotNull();
|
||||||
|
}
|
||||||
|
|
||||||
@Test // DATAES-693
|
@Test // DATAES-693
|
||||||
public void shouldReturnSourceWhenRequested() {
|
public void shouldReturnSourceWhenRequested() {
|
||||||
// given
|
// given
|
||||||
|
Loading…
x
Reference in New Issue
Block a user