Skip to content

Commit b8b3a9d

Browse files
committed
Remove doParse() method
1 parent a734ea8 commit b8b3a9d

File tree

7 files changed

+6
-38
lines changed

7 files changed

+6
-38
lines changed

modules/mapper-extras/src/main/java/org/elasticsearch/index/mapper/RankFeatureMetaFieldMapper.java

-5
Original file line numberDiff line numberDiff line change
@@ -65,11 +65,6 @@ private RankFeatureMetaFieldMapper() {
6565
super(RankFeatureMetaFieldType.INSTANCE);
6666
}
6767

68-
@Override
69-
protected void parseCreateField(ParseContext context) {
70-
throw new AssertionError("Should never be called");
71-
}
72-
7368
@Override
7469
protected String contentType() {
7570
return CONTENT_TYPE;

server/src/main/java/org/elasticsearch/index/mapper/MetadataFieldMapper.java

+1-18
Original file line numberDiff line numberDiff line change
@@ -153,29 +153,12 @@ public final XContentBuilder toXContent(XContentBuilder builder, Params params)
153153
return builder.endObject();
154154
}
155155

156-
/*
157-
* By default metadata fields cannot be set through the document source and parse() method
158-
* throws an exception. To enable a metadata field to parse the document source, this
159-
* method must be overridden and doParse() should be called.
160-
*/
161156
@Override
162-
public void parse(ParseContext context) throws IOException {
157+
protected void parseCreateField(ParseContext context) throws IOException {
163158
throw new MapperParsingException("Field [" + name() + "] is a metadata field and cannot be added inside"
164159
+ " a document. Use the index API request parameters.");
165160
}
166161

167-
/**
168-
* Do the actual parsing of the field by calling {@link FieldMapper#parse(ParseContext)}
169-
*/
170-
protected void doParse(ParseContext context) throws IOException {
171-
super.parse(context);
172-
}
173-
174-
@Override
175-
protected void parseCreateField(ParseContext context) throws IOException {
176-
// do nothing
177-
}
178-
179162
/**
180163
* Called before {@link FieldMapper#parse(ParseContext)} on the {@link RootObjectMapper}.
181164
*/

server/src/test/java/org/elasticsearch/index/mapper/DocumentParserTests.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -939,8 +939,8 @@ public void testDocumentContainsMetadataField() throws Exception {
939939
DocumentMapper mapper = createDocumentMapper(mapping(b -> {}));
940940
MapperParsingException e = expectThrows(MapperParsingException.class, () ->
941941
mapper.parse(source(b -> b.field("_field_names", 0))));
942-
assertTrue(e.getMessage(),
943-
e.getMessage().contains("Field [_field_names] is a metadata field and cannot be added inside a document."));
942+
assertTrue(e.getCause().getMessage(),
943+
e.getCause().getMessage().contains("Field [_field_names] is a metadata field and cannot be added inside a document."));
944944

945945
mapper.parse(source(b -> b.field("foo._field_names", 0))); // parses without error
946946
}

server/src/test/java/org/elasticsearch/index/mapper/IdFieldMapperTests.java

+2-1
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,8 @@ public void testIncludeInObjectNotAllowed() throws Exception {
5959
.startObject().field("_id", "1").endObject()), XContentType.JSON));
6060
fail("Expected failure to parse metadata field");
6161
} catch (MapperParsingException e) {
62-
assertTrue(e.getMessage(), e.getMessage().contains("Field [_id] is a metadata field and cannot be added inside a document"));
62+
assertTrue(e.getCause().getMessage(),
63+
e.getCause().getMessage().contains("Field [_id] is a metadata field and cannot be added inside a document"));
6364
}
6465
}
6566

server/src/test/java/org/elasticsearch/index/mapper/MockMetadataMapperPlugin.java

-5
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,6 @@ protected MockMetadataMapper() {
4949
super(new KeywordFieldMapper.KeywordFieldType(FIELD_NAME));
5050
}
5151

52-
@Override
53-
public void parse(ParseContext context) throws IOException {
54-
doParse(context);
55-
}
56-
5752
@Override
5853
protected void parseCreateField(ParseContext context) throws IOException {
5954
if (context.parser().currentToken() == XContentParser.Token.VALUE_STRING) {

server/src/test/java/org/elasticsearch/index/mapper/RoutingFieldMapperTests.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public void testIncludeInObjectNotAllowed() throws Exception {
5858
.startObject().field("_routing", "foo").endObject()),XContentType.JSON));
5959
fail("Expected failure to parse metadata field");
6060
} catch (MapperParsingException e) {
61-
assertThat(e.getMessage(), e.getMessage(),
61+
assertThat(e.getCause().getMessage(), e.getCause().getMessage(),
6262
containsString("Field [_routing] is a metadata field and cannot be added inside a document"));
6363
}
6464
}

x-pack/plugin/data-streams/src/main/java/org/elasticsearch/xpack/datastreams/mapper/DataStreamTimestampFieldMapper.java

-6
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,6 @@ public void doValidate(MappingLookup lookup) {
171171
}
172172
}
173173

174-
@Override
175-
protected void parseCreateField(ParseContext context) throws IOException {
176-
// Meta field doesn't create any fields, so this shouldn't happen.
177-
throw new IllegalStateException(NAME + " field mapper cannot create fields");
178-
}
179-
180174
@Override
181175
public void postParse(ParseContext context) throws IOException {
182176
if (enabled == false) {

0 commit comments

Comments
 (0)