@@ -76,27 +76,29 @@ public String getName() {
7676 }
7777
7878 static RestResponse buildRestResponse (
79- boolean aliasesExplicitlyRequested ,
8079 String [] requestedAliases ,
8180 Map <String , List <AliasMetadata >> responseAliasMap ,
8281 Map <String , List <DataStreamAlias >> dataStreamAliases ,
8382 XContentBuilder builder
8483 ) throws Exception {
8584 final Set <String > indicesToDisplay = new HashSet <>();
8685 final Set <String > returnedAliasNames = new HashSet <>();
87- for (final Map .Entry <String , List <AliasMetadata >> cursor : responseAliasMap .entrySet ()) {
88- for (final AliasMetadata aliasMetadata : cursor .getValue ()) {
89- if (aliasesExplicitlyRequested ) {
90- // only display indices that have aliases
91- indicesToDisplay .add (cursor .getKey ());
86+ final var aliasesExplicitlyRequested = requestedAliases .length > 0 ;
87+
88+ if (aliasesExplicitlyRequested ) {
89+ for (final Map .Entry <String , List <AliasMetadata >> cursor : responseAliasMap .entrySet ()) {
90+ // only display indices that have aliases
91+ indicesToDisplay .add (cursor .getKey ());
92+ for (final AliasMetadata aliasMetadata : cursor .getValue ()) {
93+ returnedAliasNames .add (aliasMetadata .alias ());
9294 }
93- returnedAliasNames .add (aliasMetadata .alias ());
9495 }
96+
97+ dataStreamAliases .entrySet ()
98+ .stream ()
99+ .flatMap (entry -> entry .getValue ().stream ())
100+ .forEach (dataStreamAlias -> returnedAliasNames .add (dataStreamAlias .getName ()));
95101 }
96- dataStreamAliases .entrySet ()
97- .stream ()
98- .flatMap (entry -> entry .getValue ().stream ())
99- .forEach (dataStreamAlias -> returnedAliasNames .add (dataStreamAlias .getName ()));
100102
101103 // compute explicitly requested aliases that have are not returned in the result
102104 final SortedSet <String > missingAliases = new TreeSet <>();
@@ -206,7 +208,6 @@ public RestChannelConsumer prepareRequest(final RestRequest request, final NodeC
206208 // We can't remove this logic yet to support mixed clusters. We should be able to remove this logic here
207209 // in when 8.0 becomes the new version in the master branch.
208210
209- final boolean namesProvided = request .hasParam ("name" );
210211 final String [] aliases = request .paramAsStringArrayOrEmptyIfAll ("name" );
211212 final var masterNodeTimeout = RestUtils .getMasterNodeTimeout (request );
212213 final GetAliasesRequest getAliasesRequest = new GetAliasesRequest (masterNodeTimeout , aliases );
@@ -234,7 +235,7 @@ public RestChannelConsumer prepareRequest(final RestRequest request, final NodeC
234235 .getAliases (getAliasesRequest , new RestBuilderListener <>(channel ) {
235236 @ Override
236237 public RestResponse buildResponse (GetAliasesResponse response , XContentBuilder builder ) throws Exception {
237- return buildRestResponse (namesProvided , aliases , response .getAliases (), response .getDataStreamAliases (), builder );
238+ return buildRestResponse (aliases , response .getAliases (), response .getDataStreamAliases (), builder );
238239 }
239240 });
240241 }
0 commit comments