Skip to content

Commit 24d7ae5

Browse files
author
Isabel Drost-Fromm
committed
Completely move doXContent to super class.
Moves the doXContent method to the super class per suggestion from Christoph. Also fixes the validation unit test to check both, TermQueryBuilder and SpanTermQueryBuilder.
1 parent 1001bac commit 24d7ae5

File tree

6 files changed

+18
-28
lines changed

6 files changed

+18
-28
lines changed

src/main/java/org/elasticsearch/index/query/BaseTermQueryBuilder.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ public float boost() {
143143

144144
@Override
145145
protected void doXContent(XContentBuilder builder, Params params) throws IOException {
146+
builder.startObject(parserName());
146147
Object valueToWrite = value;
147148
if (value instanceof BytesRef) {
148149
valueToWrite = ((BytesRef) value).utf8ToString();

src/main/java/org/elasticsearch/index/query/SpanTermQueryBuilder.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -24,11 +24,8 @@
2424
import org.apache.lucene.search.spans.SpanTermQuery;
2525
import org.apache.lucene.util.BytesRef;
2626
import org.elasticsearch.common.lucene.BytesRefs;
27-
import org.elasticsearch.common.xcontent.XContentBuilder;
2827
import org.elasticsearch.index.mapper.MapperService;
2928

30-
import java.io.IOException;
31-
3229
/**
3330
* A Span Query that matches documents containing a term.
3431
* @see SpanTermQuery
@@ -77,13 +74,6 @@ public SpanTermQueryBuilder queryName(String queryName) {
7774
return this;
7875
}
7976

80-
/** {@inheritDoc} */
81-
@Override
82-
public void doXContent(XContentBuilder builder, Params params) throws IOException {
83-
builder.startObject(SpanTermQueryParser.NAME);
84-
super.doXContent(builder, params);
85-
}
86-
8777
@Override
8878
protected String parserName() {
8979
return SpanTermQueryParser.NAME;

src/main/java/org/elasticsearch/index/query/TermQueryBuilder.java

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -23,11 +23,8 @@
2323
import org.apache.lucene.search.Query;
2424
import org.apache.lucene.search.TermQuery;
2525
import org.elasticsearch.common.lucene.BytesRefs;
26-
import org.elasticsearch.common.xcontent.XContentBuilder;
2726
import org.elasticsearch.index.mapper.MapperService;
2827

29-
import java.io.IOException;
30-
3128
/**
3229
* A Query that matches documents containing a term.
3330
*/
@@ -90,13 +87,6 @@ public TermQueryBuilder queryName(String queryName) {
9087
return this;
9188
}
9289

93-
94-
@Override
95-
public void doXContent(XContentBuilder builder, Params params) throws IOException {
96-
builder.startObject(TermQueryParser.NAME);
97-
super.doXContent(builder, params);
98-
}
99-
10090
@Override
10191
public Query toQuery(QueryParseContext parseContext) {
10292
Query query = null;

src/test/java/org/elasticsearch/index/query/BaseTermQueryTest.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,7 @@
1919

2020
package org.elasticsearch.index.query;
2121

22-
import org.apache.lucene.search.Query;
23-
import org.apache.lucene.search.spans.SpanTermQuery;
2422
import org.elasticsearch.common.io.stream.Streamable;
25-
import org.elasticsearch.common.lucene.BytesRefs;
2623
import org.junit.Ignore;
2724
import org.junit.Test;
2825

@@ -57,20 +54,23 @@ public Object createRandomValueObject() {
5754
return value;
5855
}
5956

57+
protected abstract BaseTermQueryBuilder getBuilderInstance(String fieldName, Object value);
58+
6059
@Test
6160
public void testValidate() throws QueryParsingException, IOException {
62-
TermQueryBuilder queryBuilder = new TermQueryBuilder("all", "good");
61+
62+
BaseTermQueryBuilder queryBuilder = getBuilderInstance("all", "good");
6363
assertNull(queryBuilder.validate());
6464

65-
queryBuilder = new TermQueryBuilder(null, "Term");
65+
queryBuilder = getBuilderInstance(null, "Term");
6666
assertNotNull(queryBuilder.validate());
6767
assertThat(queryBuilder.validate().validationErrors().size(), is(1));
6868

69-
queryBuilder = new TermQueryBuilder("", "Term");
69+
queryBuilder = getBuilderInstance("", "Term");
7070
assertNotNull(queryBuilder.validate());
7171
assertThat(queryBuilder.validate().validationErrors().size(), is(1));
7272

73-
queryBuilder = new TermQueryBuilder("", null);
73+
queryBuilder = getBuilderInstance("", null);
7474
assertNotNull(queryBuilder.validate());
7575
assertThat(queryBuilder.validate().validationErrors().size(), is(2));
7676
}

src/test/java/org/elasticsearch/index/query/SpanTermQueryBuilderTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ public class SpanTermQueryBuilderTest extends BaseTermQueryTest<SpanTermQueryBui
3636
protected SpanTermQueryBuilder createEmptyQueryBuilder() {
3737
return new SpanTermQueryBuilder();
3838
}
39+
40+
@Override
41+
protected BaseTermQueryBuilder getBuilderInstance(String fieldName, Object value) {
42+
return new SpanTermQueryBuilder(fieldName, value);
43+
}
3944

4045
/** Returns a {@link SpanTermQueryBuilder} with random field name and value, optional random boost and queryname */
4146
protected SpanTermQueryBuilder createTestQueryBuilder() {

src/test/java/org/elasticsearch/index/query/TermQueryBuilderTest.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,11 @@ protected TermQueryBuilder createEmptyQueryBuilder() {
3737
return new TermQueryBuilder();
3838
}
3939

40+
@Override
41+
protected BaseTermQueryBuilder getBuilderInstance(String fieldName, Object value) {
42+
return new TermQueryBuilder(fieldName, value);
43+
}
44+
4045
/** Returns a TermQuery with random field name and value, optional random boost and queryname. */
4146
protected TermQueryBuilder createTestQueryBuilder() {
4247
Object value = createRandomValueObject();
@@ -69,5 +74,4 @@ protected void assertLuceneQuery(TermQueryBuilder queryBuilder, Query query, Que
6974
}
7075
}
7176
}
72-
7377
}

0 commit comments

Comments
 (0)