Skip to content

Commit 9b5d6f9

Browse files
author
Christoph Büscher
committed
Correct implemented interface of ParsedReverseNested (#35455)
The ParsedReverseNested implementation should implement the ReverseNested interface and not the Nested interface. Although this is an empty marker interface it is confusing and can lead to casting errors. Also adding a test to check that both ParsedNested and ParsedReverseNested implement the correct interface. Closes #35449
1 parent 65f8ec5 commit 9b5d6f9

File tree

3 files changed

+17
-1
lines changed

3 files changed

+17
-1
lines changed

server/src/main/java/org/elasticsearch/search/aggregations/bucket/nested/ParsedReverseNested.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323

2424
import java.io.IOException;
2525

26-
public class ParsedReverseNested extends ParsedSingleBucketAggregation implements Nested {
26+
public class ParsedReverseNested extends ParsedSingleBucketAggregation implements ReverseNested {
2727

2828
@Override
2929
public String getType() {

server/src/test/java/org/elasticsearch/search/aggregations/bucket/nested/InternalNestedTests.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
import org.elasticsearch.common.io.stream.Writeable.Reader;
2323
import org.elasticsearch.search.aggregations.InternalAggregations;
2424
import org.elasticsearch.search.aggregations.InternalSingleBucketAggregationTestCase;
25+
import org.elasticsearch.search.aggregations.ParsedAggregation;
2526
import org.elasticsearch.search.aggregations.bucket.ParsedSingleBucketAggregation;
2627
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
2728

29+
import java.io.IOException;
2830
import java.util.List;
2931
import java.util.Map;
3032

@@ -49,4 +51,10 @@ protected Reader<InternalNested> instanceReader() {
4951
protected Class<? extends ParsedSingleBucketAggregation> implementationClass() {
5052
return ParsedNested.class;
5153
}
54+
55+
@Override
56+
protected void assertFromXContent(InternalNested aggregation, ParsedAggregation parsedAggregation) throws IOException {
57+
super.assertFromXContent(aggregation, parsedAggregation);
58+
assertTrue(parsedAggregation instanceof Nested);
59+
}
5260
}

server/src/test/java/org/elasticsearch/search/aggregations/bucket/nested/InternalReverseNestedTests.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,11 @@
2222
import org.elasticsearch.common.io.stream.Writeable.Reader;
2323
import org.elasticsearch.search.aggregations.InternalAggregations;
2424
import org.elasticsearch.search.aggregations.InternalSingleBucketAggregationTestCase;
25+
import org.elasticsearch.search.aggregations.ParsedAggregation;
2526
import org.elasticsearch.search.aggregations.bucket.ParsedSingleBucketAggregation;
2627
import org.elasticsearch.search.aggregations.pipeline.PipelineAggregator;
2728

29+
import java.io.IOException;
2830
import java.util.List;
2931
import java.util.Map;
3032

@@ -49,4 +51,10 @@ protected Reader<InternalReverseNested> instanceReader() {
4951
protected Class<? extends ParsedSingleBucketAggregation> implementationClass() {
5052
return ParsedReverseNested.class;
5153
}
54+
55+
@Override
56+
protected void assertFromXContent(InternalReverseNested aggregation, ParsedAggregation parsedAggregation) throws IOException {
57+
super.assertFromXContent(aggregation, parsedAggregation);
58+
assertTrue(parsedAggregation instanceof ReverseNested);
59+
}
5260
}

0 commit comments

Comments
 (0)