@SuppressWarnings("unchecked") public static Suggestion<? extends Entry<? extends Option>> fromXContent(XContentParser parser) throws IOException { ensureExpectedToken(XContentParser.Token.START_ARRAY, parser.currentToken(), parser::getTokenLocation); SetOnce<Suggestion> suggestion = new SetOnce<>(); XContentParserUtils.parseTypedKeysObject(parser, Aggregation.TYPED_KEYS_DELIMITER, Suggestion.class, suggestion::set); return suggestion.get(); }
private static Map<String, SearchHits> parseInnerHits(XContentParser parser) throws IOException { Map<String, SearchHits> innerHits = new HashMap<>(); while ((parser.nextToken()) != XContentParser.Token.END_OBJECT) { ensureExpectedToken(XContentParser.Token.FIELD_NAME, parser.currentToken(), parser::getTokenLocation); String name = parser.currentName(); ensureExpectedToken(Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation); ensureFieldName(parser, parser.nextToken(), SearchHits.Fields.HITS); innerHits.put(name, SearchHits.fromXContent(parser)); ensureExpectedToken(XContentParser.Token.END_OBJECT, parser.nextToken(), parser::getTokenLocation); } return innerHits; }
public static BulkResponse fromXContent(XContentParser parser) throws IOException { XContentParser.Token token = parser.nextToken(); ensureExpectedToken(XContentParser.Token.START_OBJECT, token, parser::getTokenLocation); ingestTook = parser.longValue(); } else if (ERRORS.equals(currentFieldName) == false) { throwUnknownField(currentFieldName, parser.getTokenLocation()); throwUnknownField(currentFieldName, parser.getTokenLocation()); throwUnknownToken(token, parser.getTokenLocation());
public static DocumentField fromXContent(XContentParser parser) throws IOException { ensureExpectedToken(XContentParser.Token.FIELD_NAME, parser.currentToken(), parser::getTokenLocation); String fieldName = parser.currentName(); XContentParser.Token token = parser.nextToken(); ensureExpectedToken(XContentParser.Token.START_ARRAY, token, parser::getTokenLocation); List<Object> values = new ArrayList<>(); while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) { values.add(parseFieldsValue(parser)); } return new DocumentField(fieldName, values); }
public static ClusterShardHealth fromXContent(XContentParser parser) throws IOException { ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation); XContentParser.Token token = parser.nextToken(); ensureExpectedToken(XContentParser.Token.FIELD_NAME, token, parser::getTokenLocation); String shardIdStr = parser.currentName(); ClusterShardHealth parsed = innerFromXContent(parser, Integer.valueOf(shardIdStr)); ensureExpectedToken(XContentParser.Token.END_OBJECT, parser.nextToken(), parser::getTokenLocation); return parsed; }
ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.currentToken(), parser::getTokenLocation); ensureExpectedToken(XContentParser.Token.FIELD_NAME, token, parser::getTokenLocation); ensureExpectedToken(XContentParser.Token.START_OBJECT, token, parser::getTokenLocation); itemParser = (deleteParser) -> DeleteResponse.parseXContentFields(deleteParser, deleteResponseBuilder); } else { throwUnknownField(currentFieldName, parser.getTokenLocation()); ensureExpectedToken(XContentParser.Token.END_OBJECT, token, parser::getTokenLocation); token = parser.nextToken(); ensureExpectedToken(XContentParser.Token.END_OBJECT, token, parser::getTokenLocation);
public static Aggregations fromXContent(XContentParser parser) throws IOException { final List<Aggregation> aggregations = new ArrayList<>(); XContentParser.Token token; while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) { if (token == XContentParser.Token.START_OBJECT) { SetOnce<Aggregation> typedAgg = new SetOnce<>(); String currentField = parser.currentName(); parseTypedKeysObject(parser, Aggregation.TYPED_KEYS_DELIMITER, Aggregation.class, typedAgg::set); if (typedAgg.get() != null) { aggregations.add(typedAgg.get()); } else { throw new ParsingException(parser.getTokenLocation(), String.format(Locale.ROOT, "Could not parse aggregation keyed as [%s]", currentField)); } } } return new Aggregations(aggregations); } }
to = parser.doubleValue(); } else { XContentParserUtils.throwUnknownField(currentFieldName, parser.getTokenLocation()); toAsStr = parser.text(); } else { XContentParserUtils.throwUnknownField(currentFieldName, parser.getTokenLocation()); XContentParserUtils.throwUnknownField(currentFieldName, parser.getTokenLocation()); XContentParserUtils.throwUnknownToken(token, parser.getTokenLocation());
throws IOException { if (parser.currentToken() != Token.START_OBJECT && parser.currentToken() != Token.START_ARRAY) { throwUnknownToken(parser.currentToken(), parser.getTokenLocation());
/** * we need to declare parse fields for each metadata field, except for _ID, _INDEX and _TYPE which are * handled individually. All other fields are parsed to an entry in the fields map */ private static void declareMetaDataFields(ObjectParser<Map<String, Object>, Void> parser) { for (String metadatafield : MapperService.getAllMetaFields()) { if (metadatafield.equals(Fields._ID) == false && metadatafield.equals(Fields._INDEX) == false && metadatafield.equals(Fields._TYPE) == false) { if (metadatafield.equals(IgnoredFieldMapper.NAME)) { parser.declareObjectArray((map, list) -> { @SuppressWarnings("unchecked") Map<String, DocumentField> fieldMap = (Map<String, DocumentField>) map.computeIfAbsent(Fields.FIELDS, v -> new HashMap<String, DocumentField>()); DocumentField field = new DocumentField(metadatafield, list); fieldMap.put(field.getName(), field); }, (p, c) -> parseFieldsValue(p), new ParseField(metadatafield)); } else { parser.declareField((map, field) -> { @SuppressWarnings("unchecked") Map<String, DocumentField> fieldMap = (Map<String, DocumentField>) map.computeIfAbsent(Fields.FIELDS, v -> new HashMap<String, DocumentField>()); fieldMap.put(field.getName(), field); }, (p, c) -> new DocumentField(metadatafield, Collections.singletonList(parseFieldsValue(p))), new ParseField(metadatafield), ValueType.VALUE); } } } }
public static ClusterIndexHealth fromXContent(XContentParser parser) throws IOException { ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation); XContentParser.Token token = parser.nextToken(); ensureExpectedToken(XContentParser.Token.FIELD_NAME, token, parser::getTokenLocation); String index = parser.currentName(); ClusterIndexHealth parsed = innerFromXContent(parser, index); ensureExpectedToken(XContentParser.Token.END_OBJECT, parser.nextToken(), parser::getTokenLocation); return parsed; }
public static ShardInfo fromXContent(XContentParser parser) throws IOException { XContentParser.Token token = parser.currentToken(); ensureExpectedToken(XContentParser.Token.START_OBJECT, token, parser::getTokenLocation); successful = parser.intValue(); } else if (FAILED.equals(currentFieldName) == false) { throwUnknownField(currentFieldName, parser.getTokenLocation()); throwUnknownField(currentFieldName, parser.getTokenLocation());
XContentParserUtils.parseTypedKeysObject(parser, Aggregation.TYPED_KEYS_DELIMITER, Aggregation.class, aggregations::add);
to = parser.doubleValue(); } else { XContentParserUtils.throwUnknownField(currentFieldName, parser.getTokenLocation()); key = parser.text(); } else { XContentParserUtils.throwUnknownField(currentFieldName, parser.getTokenLocation()); XContentParserUtils.throwUnknownField(currentFieldName, parser.getTokenLocation()); XContentParserUtils.throwUnknownToken(token, parser.getTokenLocation());
public static DocumentField fromXContent(XContentParser parser) throws IOException { ensureExpectedToken(XContentParser.Token.FIELD_NAME, parser.currentToken(), parser::getTokenLocation); String fieldName = parser.currentName(); XContentParser.Token token = parser.nextToken(); ensureExpectedToken(XContentParser.Token.START_ARRAY, token, parser::getTokenLocation); List<Object> values = new ArrayList<>(); while ((token = parser.nextToken()) != XContentParser.Token.END_ARRAY) { values.add(parseFieldsValue(parser)); } return new DocumentField(fieldName, values); }
builder.put(key, parser.booleanValue()); } else { XContentParserUtils.throwUnknownToken(parser.currentToken(), parser.getTokenLocation());
/** * we need to declare parse fields for each metadata field, except for _ID, _INDEX and _TYPE which are * handled individually. All other fields are parsed to an entry in the fields map */ private static void declareMetaDataFields(ObjectParser<Map<String, Object>, Void> parser) { for (String metadatafield : MapperService.getAllMetaFields()) { if (metadatafield.equals(Fields._ID) == false && metadatafield.equals(Fields._INDEX) == false && metadatafield.equals(Fields._TYPE) == false) { if (metadatafield.equals(IgnoredFieldMapper.NAME)) { parser.declareObjectArray((map, list) -> { @SuppressWarnings("unchecked") Map<String, DocumentField> fieldMap = (Map<String, DocumentField>) map.computeIfAbsent(Fields.FIELDS, v -> new HashMap<String, DocumentField>()); DocumentField field = new DocumentField(metadatafield, list); fieldMap.put(field.getName(), field); }, (p, c) -> parseFieldsValue(p), new ParseField(metadatafield)); } else { parser.declareField((map, field) -> { @SuppressWarnings("unchecked") Map<String, DocumentField> fieldMap = (Map<String, DocumentField>) map.computeIfAbsent(Fields.FIELDS, v -> new HashMap<String, DocumentField>()); fieldMap.put(field.getName(), field); }, (p, c) -> new DocumentField(metadatafield, Collections.singletonList(parseFieldsValue(p))), new ParseField(metadatafield), ValueType.VALUE); } } } }
static ParsedBucket fromXContent(XContentParser parser, boolean keyed) throws IOException { final ParsedBucket bucket = new ParsedBucket(); bucket.setKeyed(keyed); XContentParser.Token token = parser.currentToken(); String currentFieldName = parser.currentName(); if (keyed) { ensureExpectedToken(XContentParser.Token.FIELD_NAME, token, parser::getTokenLocation); bucket.key = currentFieldName; ensureExpectedToken(XContentParser.Token.START_OBJECT, parser.nextToken(), parser::getTokenLocation); } List<Aggregation> aggregations = new ArrayList<>(); while ((token = parser.nextToken()) != XContentParser.Token.END_OBJECT) { if (token == XContentParser.Token.FIELD_NAME) { currentFieldName = parser.currentName(); } else if (token.isValue()) { if (CommonFields.DOC_COUNT.getPreferredName().equals(currentFieldName)) { bucket.setDocCount(parser.longValue()); } } else if (token == XContentParser.Token.START_OBJECT) { XContentParserUtils.parseTypedKeysObject(parser, Aggregation.TYPED_KEYS_DELIMITER, Aggregation.class, aggregations::add); } } bucket.setAggregations(new Aggregations(aggregations)); return bucket; } }
public static BulkResponse fromXContent(XContentParser parser) throws IOException { XContentParser.Token token = parser.nextToken(); ensureExpectedToken(XContentParser.Token.START_OBJECT, token, parser::getTokenLocation); ingestTook = parser.longValue(); } else if (ERRORS.equals(currentFieldName) == false) { throwUnknownField(currentFieldName, parser.getTokenLocation()); throwUnknownField(currentFieldName, parser.getTokenLocation()); throwUnknownToken(token, parser.getTokenLocation());
/** * Parses the output of {@link #generateFailureXContent(XContentBuilder, Params, Exception, boolean)} */ public static ElasticsearchException failureFromXContent(XContentParser parser) throws IOException { XContentParser.Token token = parser.currentToken(); ensureFieldName(parser, token, ERROR); token = parser.nextToken(); if (token.isValue()) { return new ElasticsearchException(buildMessage("exception", parser.text(), null)); } ensureExpectedToken(XContentParser.Token.START_OBJECT, token, parser::getTokenLocation); token = parser.nextToken(); // Root causes are parsed in the innerFromXContent() and are added as suppressed exceptions. return innerFromXContent(parser, true); }