AbstractElasticIndex: Open XContentBuilder in try-with-resource

Change-Id: I6f1de6573bf0c1e8932f96c4c4c1a819a955fbb1
This commit is contained in:
David Pursehouse
2018-04-17 12:07:34 +02:00
parent aaa40aa1b8
commit ebf9f4ef24

View File

@@ -161,13 +161,15 @@ abstract class AbstractElasticIndex<K, V> implements Index<K, V> {
} }
private String toDoc(V v) throws IOException { private String toDoc(V v) throws IOException {
XContentBuilder builder = jsonBuilder().startObject(); try (XContentBuilder builder = jsonBuilder().startObject()) {
for (Values<V> values : schema.buildFields(v, fillArgs)) { for (Values<V> values : schema.buildFields(v, fillArgs)) {
String name = values.getField().getName(); String name = values.getField().getName();
if (values.getField().isRepeatable()) { if (values.getField().isRepeatable()) {
builder.field( builder.field(
name, name,
Streams.stream(values.getValues()).filter(e -> shouldAddElement(e)).collect(toList())); Streams.stream(values.getValues())
.filter(e -> shouldAddElement(e))
.collect(toList()));
} else { } else {
Object element = Iterables.getOnlyElement(values.getValues(), ""); Object element = Iterables.getOnlyElement(values.getValues(), "");
if (shouldAddElement(element)) { if (shouldAddElement(element)) {
@@ -177,4 +179,5 @@ abstract class AbstractElasticIndex<K, V> implements Index<K, V> {
} }
return builder.endObject().string(); return builder.endObject().string();
} }
}
} }