aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/search/federation/FederationResult.java
diff options
context:
space:
mode:
authorHarald Musum <musum@verizonmedia.com>2022-12-02 23:09:25 +0100
committerGitHub <noreply@github.com>2022-12-02 23:09:25 +0100
commitafcf1bb71cb7b87a03149d197f724cfc7603ef92 (patch)
treefff1df3e68101edc3d3d3b98b5eb51b7758c209c /container-search/src/main/java/com/yahoo/search/federation/FederationResult.java
parent7f870bf3cb8dd0a3d015a448608ba7291a783932 (diff)
parentfcf664e1a6bb9890bd54ff4f8b78497236152bf2 (diff)
Merge pull request #25096 from vespa-engine/revert-25091-revert-25088-balder/immutablelist-2-listv8.94.46
Revert "Revert "Let list handling catch up with Java 17""
Diffstat (limited to 'container-search/src/main/java/com/yahoo/search/federation/FederationResult.java')
-rw-r--r--container-search/src/main/java/com/yahoo/search/federation/FederationResult.java11
1 files changed, 5 insertions, 6 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/federation/FederationResult.java b/container-search/src/main/java/com/yahoo/search/federation/FederationResult.java
index f6cbb49f7d5..89c45fde6ae 100644
--- a/container-search/src/main/java/com/yahoo/search/federation/FederationResult.java
+++ b/container-search/src/main/java/com/yahoo/search/federation/FederationResult.java
@@ -1,7 +1,6 @@
// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.search.federation;
-import com.google.common.collect.ImmutableList;
import com.yahoo.search.Result;
import com.yahoo.search.searchchain.FutureResult;
@@ -27,9 +26,9 @@ class FederationResult {
* The remaining targets to wait for.
* Other targets are either complete, or should only be included if they are available when we complete
*/
- private List<TargetResult> targetsToWaitFor;
+ private final List<TargetResult> targetsToWaitFor;
- private FederationResult(ImmutableList<TargetResult> targetResults) {
+ private FederationResult(List<TargetResult> targetResults) {
this.targetResults = targetResults;
if (targetResults.stream().anyMatch(TargetResult::isMandatory))
@@ -94,7 +93,7 @@ class FederationResult {
public Optional<Result> getIfAvailable(long timeout) {
if (availableResult.isPresent()) return availableResult;
availableResult = futureResult.getIfAvailable(timeout, TimeUnit.MILLISECONDS);
- availableResult.ifPresent(result -> target.modifyTargetResult(result));
+ availableResult.ifPresent(target::modifyTargetResult);
return availableResult;
}
@@ -121,14 +120,14 @@ class FederationResult {
public static class Builder {
- private final ImmutableList.Builder<TargetResult> results = new ImmutableList.Builder();
+ private final List<TargetResult> results = new ArrayList<>();
public void add(FederationSearcher.Target target, FutureResult futureResult) {
results.add(new TargetResult(target, futureResult));
}
public FederationResult build() {
- return new FederationResult(results.build());
+ return new FederationResult(List.copyOf(results));
}
}