From c99a18c65df82f332f58ed4e5d973bc81b786955 Mon Sep 17 00:00:00 2001 From: David Pursehouse Date: Wed, 30 May 2018 13:11:24 +0900 Subject: [PATCH] ElasticIndexVersionDiscovery: Convert to Java stream API Change-Id: Icc0e99f5c0712c5a672848ec2352bf4e9abcf159 --- .../ElasticIndexVersionDiscovery.java | 24 ++++++++----------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexVersionDiscovery.java b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexVersionDiscovery.java index 61d59adbd2..85fa2c1a82 100644 --- a/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexVersionDiscovery.java +++ b/gerrit-elasticsearch/src/main/java/com/google/gerrit/elasticsearch/ElasticIndexVersionDiscovery.java @@ -14,16 +14,14 @@ package com.google.gerrit.elasticsearch; -import com.google.gson.JsonElement; -import com.google.gson.JsonObject; +import static java.util.stream.Collectors.toList; + import com.google.gson.JsonParser; import com.google.inject.Inject; import com.google.inject.Singleton; import java.io.IOException; -import java.util.ArrayList; import java.util.Collections; import java.util.List; -import java.util.Map.Entry; import org.apache.http.HttpStatus; import org.apache.http.client.methods.HttpGet; import org.elasticsearch.client.Response; @@ -42,16 +40,14 @@ class ElasticIndexVersionDiscovery { String name = prefix + indexName + "_"; Response response = client.performRequest(HttpGet.METHOD_NAME, name + "*/_aliases"); - int statusCode = response.getStatusLine().getStatusCode(); - if (statusCode == HttpStatus.SC_OK) { - String content = AbstractElasticIndex.getContent(response); - JsonObject object = new JsonParser().parse(content).getAsJsonObject(); - - List versions = new ArrayList<>(object.size()); - for (Entry entry : object.entrySet()) { - versions.add(entry.getKey().replace(name, "")); - } - return versions; + if (response.getStatusLine().getStatusCode() == HttpStatus.SC_OK) { + return new JsonParser() + .parse(AbstractElasticIndex.getContent(response)) + .getAsJsonObject() + .entrySet() + .stream() + .map(e -> e.getKey().replace(name, "")) + .collect(toList()); } return Collections.emptyList(); }