|
@@ -408,16 +408,17 @@ public class CreateIndexRequest extends AcknowledgedRequest<CreateIndexRequest>
|
|
|
for (Map.Entry<String, ?> entry : source.entrySet()) {
|
|
|
String name = entry.getKey();
|
|
|
if (SETTINGS.match(name, deprecationHandler)) {
|
|
|
- if (entry.getValue() instanceof Map == false) {
|
|
|
- throw new ElasticsearchParseException("key [settings] must be an object");
|
|
|
- }
|
|
|
+ validateIsMap(SETTINGS.getPreferredName(), entry.getValue());
|
|
|
settings((Map<String, Object>) entry.getValue());
|
|
|
} else if (MAPPINGS.match(name, deprecationHandler)) {
|
|
|
+ validateIsMap(MAPPINGS.getPreferredName(), entry.getValue());
|
|
|
Map<String, Object> mappings = (Map<String, Object>) entry.getValue();
|
|
|
for (Map.Entry<String, Object> entry1 : mappings.entrySet()) {
|
|
|
+ validateIsMap(entry1.getKey(), entry1.getValue());
|
|
|
mapping(entry1.getKey(), (Map<String, Object>) entry1.getValue());
|
|
|
}
|
|
|
} else if (ALIASES.match(name, deprecationHandler)) {
|
|
|
+ validateIsMap(ALIASES.getPreferredName(), entry.getValue());
|
|
|
aliases((Map<String, Object>) entry.getValue());
|
|
|
} else {
|
|
|
throw new ElasticsearchParseException("unknown key [{}] for create index", name);
|
|
@@ -426,6 +427,12 @@ public class CreateIndexRequest extends AcknowledgedRequest<CreateIndexRequest>
|
|
|
return this;
|
|
|
}
|
|
|
|
|
|
+ static void validateIsMap(String key, Object value) {
|
|
|
+ if (value instanceof Map == false) {
|
|
|
+ throw new ElasticsearchParseException("key [{}] must be an object", key);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
public String mappings() {
|
|
|
return this.mappings;
|
|
|
}
|