Skip to content

Commit c827a4e

Browse files
nirmalcjtibshirani
authored andcommitted
has_parent builder: exception message/param fix (#31182)
has_parent builder throws exception message that it expects a `type` while parser excepts `parent_type`
1 parent 1a54bca commit c827a4e

File tree

2 files changed

+6
-6
lines changed

2 files changed

+6
-6
lines changed

modules/parent-join/src/main/java/org/elasticsearch/join/query/HasParentQueryBuilder.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public class HasParentQueryBuilder extends AbstractQueryBuilder<HasParentQueryBu
5858
public static final boolean DEFAULT_IGNORE_UNMAPPED = false;
5959

6060
private static final ParseField QUERY_FIELD = new ParseField("query");
61-
private static final ParseField TYPE_FIELD = new ParseField("parent_type");
61+
private static final ParseField PARENT_TYPE_FIELD = new ParseField("parent_type");
6262
private static final ParseField SCORE_FIELD = new ParseField("score");
6363
private static final ParseField INNER_HITS_FIELD = new ParseField("inner_hits");
6464
private static final ParseField IGNORE_UNMAPPED_FIELD = new ParseField("ignore_unmapped");
@@ -74,8 +74,8 @@ public HasParentQueryBuilder(String type, QueryBuilder query, boolean score) {
7474
}
7575

7676
private HasParentQueryBuilder(String type, QueryBuilder query, boolean score, InnerHitBuilder innerHitBuilder) {
77-
this.type = requireValue(type, "[" + NAME + "] requires 'type' field");
78-
this.query = requireValue(query, "[" + NAME + "] requires 'query' field");
77+
this.type = requireValue(type, "[" + NAME + "] requires '" + PARENT_TYPE_FIELD.getPreferredName() + "' field");
78+
this.query = requireValue(query, "[" + NAME + "] requires '" + QUERY_FIELD.getPreferredName() + "' field");
7979
this.score = score;
8080
this.innerHitBuilder = innerHitBuilder;
8181
}
@@ -201,7 +201,7 @@ protected void doXContent(XContentBuilder builder, Params params) throws IOExcep
201201
builder.startObject(NAME);
202202
builder.field(QUERY_FIELD.getPreferredName());
203203
query.toXContent(builder, params);
204-
builder.field(TYPE_FIELD.getPreferredName(), type);
204+
builder.field(PARENT_TYPE_FIELD.getPreferredName(), type);
205205
builder.field(SCORE_FIELD.getPreferredName(), score);
206206
builder.field(IGNORE_UNMAPPED_FIELD.getPreferredName(), ignoreUnmapped);
207207
printBoostAndQueryName(builder);
@@ -235,7 +235,7 @@ public static HasParentQueryBuilder fromXContent(XContentParser parser) throws I
235235
"[has_parent] query does not support [" + currentFieldName + "]");
236236
}
237237
} else if (token.isValue()) {
238-
if (TYPE_FIELD.match(currentFieldName, parser.getDeprecationHandler())) {
238+
if (PARENT_TYPE_FIELD.match(currentFieldName, parser.getDeprecationHandler())) {
239239
parentType = parser.text();
240240
} else if (SCORE_FIELD.match(currentFieldName, parser.getDeprecationHandler())) {
241241
score = parser.booleanValue();

modules/parent-join/src/test/java/org/elasticsearch/join/query/HasParentQueryBuilderTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -183,7 +183,7 @@ public void testIllegalValues() throws IOException {
183183
QueryBuilder query = new MatchAllQueryBuilder();
184184
IllegalArgumentException e = expectThrows(IllegalArgumentException.class,
185185
() -> hasParentQuery(null, query, false));
186-
assertThat(e.getMessage(), equalTo("[has_parent] requires 'type' field"));
186+
assertThat(e.getMessage(), equalTo("[has_parent] requires 'parent_type' field"));
187187

188188
e = expectThrows(IllegalArgumentException.class,
189189
() -> hasParentQuery("foo", null, false));

0 commit comments

Comments
 (0)