Skip to content

Commit 251adc1

Browse files
authored
DATAES-754 - Completion field deserialization is failing due to class cast error.
Original PR: spring-projects#399
1 parent bf51de3 commit 251adc1

File tree

2 files changed

+15
-1
lines changed

2 files changed

+15
-1
lines changed

src/main/java/org/springframework/data/elasticsearch/core/completion/Completion.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.List;
44
import java.util.Map;
55

6+
import org.springframework.data.annotation.PersistenceConstructor;
67
import org.springframework.lang.Nullable;
78

89
/**
@@ -23,6 +24,11 @@ public Completion(String[] input) {
2324
this.input = input;
2425
}
2526

27+
@PersistenceConstructor
28+
public Completion(List<String> input) {
29+
this.input = input.toArray(new String[0]);
30+
}
31+
2632
public String[] getInput() {
2733
return input;
2834
}

src/test/java/org/springframework/data/elasticsearch/core/completion/ElasticsearchTemplateCompletionTests.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,8 @@ private void loadCompletionObjectEntities() {
8787
indexQueries.add(new CompletionEntityBuilder("4").name("Artur Konczak").suggest(new String[] { "Artur", "Konczak" })
8888
.buildIndex());
8989

90-
operations.bulkIndex(indexQueries, IndexCoordinates.of("test-index-core-completion").withTypes("completion-type"));
90+
IndexCoordinates index = IndexCoordinates.of("test-index-core-completion");
91+
operations.bulkIndex(indexQueries, index);
9192
operations.indexOps(CompletionEntity.class).refresh();
9293
}
9394

@@ -151,6 +152,13 @@ public void shouldFindSuggestionsForGivenCriteriaQueryUsingCompletionEntity() {
151152
assertThat(options.get(1).getText().string()).isIn("Marchand", "Mohsin");
152153
}
153154

155+
@Test // DATAES-754
156+
void shouldRetrieveEntityWithCompletion() {
157+
loadCompletionObjectEntities();
158+
IndexCoordinates index = IndexCoordinates.of("test-index-core-completion");
159+
operations.get("1", CompletionEntity.class, index);
160+
}
161+
154162
@Test
155163
public void shouldFindSuggestionsForGivenCriteriaQueryUsingAnnotatedCompletionEntity() {
156164

0 commit comments

Comments
 (0)