protected static void declareAggregationFields(ObjectParser<? extends ParsedAggregation, Void> objectParser) { objectParser.declareObject((parsedAgg, metadata) -> parsedAgg.metadata = Collections.unmodifiableMap(metadata), (parser, context) -> parser.map(), InternalAggregation.CommonFields.META); }
/** * Convert a string in some {@link XContent} format to a {@link Map}. Throws an {@link ElasticsearchParseException} if there is any * error. */ public static Map<String, Object> convertToMap(XContent xContent, String string, boolean ordered) throws ElasticsearchParseException { // It is safe to use EMPTY here because this never uses namedObject try (XContentParser parser = xContent.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, string)) { return ordered ? parser.mapOrdered() : parser.map(); } catch (IOException e) { throw new ElasticsearchParseException("Failed to parse content to map", e); } }
public UpdateSettingsRequest fromXContent(XContentParser parser) throws IOException { Map<String, Object> settings = new HashMap<>(); Map<String, Object> bodySettings = parser.map(); Object innerBodySettings = bodySettings.get("settings"); // clean up in case the body is wrapped with "settings" : { ... } if (innerBodySettings instanceof Map) { @SuppressWarnings("unchecked") Map<String, Object> innerBodySettingsMap = (Map<String, Object>) innerBodySettings; settings.putAll(innerBodySettingsMap); } else { settings.putAll(bodySettings); } return this.settings(settings); }
/** * Convert a string in some {@link XContent} format to a {@link Map}. Throws an {@link ElasticsearchParseException} if there is any * error. Note that unlike {@link #convertToMap(BytesReference, boolean)}, this doesn't automatically uncompress the input. */ public static Map<String, Object> convertToMap(XContent xContent, InputStream input, boolean ordered) throws ElasticsearchParseException { // It is safe to use EMPTY here because this never uses namedObject try (XContentParser parser = xContent.createParser(NamedXContentRegistry.EMPTY, DeprecationHandler.THROW_UNSUPPORTED_OPERATION, input)) { return ordered ? parser.mapOrdered() : parser.map(); } catch (IOException e) { throw new ElasticsearchParseException("Failed to parse content to map", e); } }
/** * Parses the mappings (formatted as JSON) into a map */ public static Map<String, Object> parseMapping(NamedXContentRegistry xContentRegistry, String mappingSource) throws Exception { try (XContentParser parser = XContentType.JSON.xContent() .createParser(xContentRegistry, LoggingDeprecationHandler.INSTANCE, mappingSource)) { return parser.map(); } }
public static GetMappingsResponse fromXContent(XContentParser parser) throws IOException { if (parser.currentToken() == null) { parser.nextToken(); } assert parser.currentToken() == XContentParser.Token.START_OBJECT; Map<String, Object> parts = parser.map(); ImmutableOpenMap.Builder<String, ImmutableOpenMap<String, MappingMetaData>> builder = new ImmutableOpenMap.Builder<>(); for (Map.Entry<String, Object> entry : parts.entrySet()) { final String indexName = entry.getKey(); assert entry.getValue() instanceof Map : "expected a map as type mapping, but got: " + entry.getValue().getClass(); final Map<String, Object> mapping = (Map<String, Object>) ((Map) entry.getValue()).get(MAPPINGS.getPreferredName()); ImmutableOpenMap.Builder<String, MappingMetaData> typeBuilder = new ImmutableOpenMap.Builder<>(); for (Map.Entry<String, Object> typeEntry : mapping.entrySet()) { final String typeName = typeEntry.getKey(); assert typeEntry.getValue() instanceof Map : "expected a map as inner type mapping, but got: " + typeEntry.getValue().getClass(); final Map<String, Object> fieldMappings = (Map<String, Object>) typeEntry.getValue(); MappingMetaData mmd = new MappingMetaData(typeName, fieldMappings); typeBuilder.put(typeName, mmd); } builder.put(indexName, typeBuilder.build()); } return new GetMappingsResponse(builder.build()); }
attributes.put(field, parser.booleanValue()); } else if (t == XContentParser.Token.START_OBJECT) { attributes.put(field, parser.map()); } else if (t == XContentParser.Token.START_ARRAY) { attributes.put(field, parser.list());
@Override public RestChannelConsumer prepareRequest(final RestRequest request, final NodeClient client) throws IOException { final ClusterUpdateSettingsRequest clusterUpdateSettingsRequest = Requests.clusterUpdateSettingsRequest(); clusterUpdateSettingsRequest.timeout(request.paramAsTime("timeout", clusterUpdateSettingsRequest.timeout())); clusterUpdateSettingsRequest.masterNodeTimeout( request.paramAsTime("master_timeout", clusterUpdateSettingsRequest.masterNodeTimeout())); Map<String, Object> source; try (XContentParser parser = request.contentParser()) { source = parser.map(); } if (source.containsKey(TRANSIENT)) { clusterUpdateSettingsRequest.transientSettings((Map) source.get(TRANSIENT)); } if (source.containsKey(PERSISTENT)) { clusterUpdateSettingsRequest.persistentSettings((Map) source.get(PERSISTENT)); } return channel -> client.admin().cluster().updateSettings(clusterUpdateSettingsRequest, new RestToXContentListener<>(channel)); }
aggregation.metadata = parser.map(); } else { XContentParserUtils.parseTypedKeysObject(parser, Aggregation.TYPED_KEYS_DELIMITER, Aggregation.class,
script = Script.parse(parser); } else if (BUCKETS_PATH.match(currentFieldName, parser.getDeprecationHandler())) { Map<String, Object> map = parser.map(); bucketsPathsMap = new HashMap<>(); for (Map.Entry<String, Object> entry : map.entrySet()) {
private static Object parseValue(XContentParser parser) throws IOException { Token token = parser.currentToken(); Object value = null; if (token == XContentParser.Token.VALUE_NULL) { value = null; } else if (token.isValue()) { if (token == XContentParser.Token.VALUE_STRING) { //binary values will be parsed back and returned as base64 strings when reading from json and yaml value = parser.text(); } else if (token == XContentParser.Token.VALUE_NUMBER) { value = parser.numberValue(); } else if (token == XContentParser.Token.VALUE_BOOLEAN) { value = parser.booleanValue(); } else if (token == XContentParser.Token.VALUE_EMBEDDED_OBJECT) { //binary values will be parsed back and returned as BytesArray when reading from cbor and smile value = new BytesArray(parser.binaryValue()); } } else if (token == XContentParser.Token.START_OBJECT) { value = parser.map(); } else if (token == XContentParser.Token.START_ARRAY) { value = parser.list(); } return value; }
analyzeRequest.tokenizer(parser.text()); } else if (token == XContentParser.Token.START_OBJECT) { analyzeRequest.tokenizer(parser.map()); } else { throw new IllegalArgumentException(currentFieldName + " should be tokenizer's name or setting"); analyzeRequest.addTokenFilter(parser.text()); } else if (token == XContentParser.Token.START_OBJECT) { analyzeRequest.addTokenFilter(parser.map()); } else { throw new IllegalArgumentException(currentFieldName analyzeRequest.addCharFilter(parser.text()); } else if (token == XContentParser.Token.START_OBJECT) { analyzeRequest.addCharFilter(parser.map()); } else { throw new IllegalArgumentException(currentFieldName
script = Script.parse(parser); } else if (BUCKETS_PATH.match(currentFieldName, parser.getDeprecationHandler())) { Map<String, Object> map = parser.map(); bucketsPathsMap = new HashMap<>(); for (Map.Entry<String, Object> entry : map.entrySet()) {
private static ImmutableOpenMap<String, MappingMetaData> parseMappings(XContentParser parser) throws IOException { ImmutableOpenMap.Builder<String, MappingMetaData> indexMappings = ImmutableOpenMap.builder(); // We start at START_OBJECT since parseIndexEntry ensures that while (parser.nextToken() != Token.END_OBJECT) { ensureExpectedToken(Token.FIELD_NAME, parser.currentToken(), parser::getTokenLocation); parser.nextToken(); if (parser.currentToken() == Token.START_OBJECT) { String mappingType = parser.currentName(); indexMappings.put(mappingType, new MappingMetaData(mappingType, parser.map())); } else if (parser.currentToken() == Token.START_ARRAY) { parser.skipChildren(); } } return indexMappings.build(); }
parser.declareObject(HB::options, (XContentParser p, Void c) -> { try { return p.map(); } catch (IOException e) { throw new RuntimeException("Error parsing options", e);
throw new IllegalArgumentException("distributed frequencies is not supported anymore for term vectors"); } else if (currentFieldName.equals("per_field_analyzer") || currentFieldName.equals("perFieldAnalyzer")) { termVectorsRequest.perFieldAnalyzer(readPerFieldAnalyzer(parser.map())); } else if (FILTER.match(currentFieldName, parser.getDeprecationHandler())) { termVectorsRequest.filterSettings(readFilterSettings(parser));
item.perFieldAnalyzer(TermVectorsRequest.readPerFieldAnalyzer(parser.map())); } else if (ROUTING.match(currentFieldName, parser.getDeprecationHandler())) { item.routing = parser.text();
switch (fieldName) { case "meta": metaData = parser.map(); break; case "aggregations":
} else if (token == XContentParser.Token.START_OBJECT && PARAMS_FIELD.match(currentFieldName, parser.getDeprecationHandler())) { params = parser.map(); } else { throw new ParsingException(parser.getTokenLocation(),
tmpSuggestion.collateQuery(template); } else if (PhraseSuggestionBuilder.COLLATE_QUERY_PARAMS.match(currentFieldName, parser.getDeprecationHandler())) { tmpSuggestion.collateParams(parser.map()); } else if (PhraseSuggestionBuilder.COLLATE_QUERY_PRUNE.match(currentFieldName, parser.getDeprecationHandler())) { if (parser.isBooleanValue()) {