diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2024-02-14 09:29:37 +0100 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2024-02-14 09:29:37 +0100 |
commit | f64b704e92deb10f889d38c9f5454e8f1b9e4369 (patch) | |
tree | 99c9d336a4d3bfae5daf4eb202049b20bad70a5b /container-search | |
parent | a2f05742236b0873bb6991b0134d6991d0b5d4b2 (diff) |
Minor refactoring while reading federation code
Diffstat (limited to 'container-search')
6 files changed, 7 insertions, 23 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java b/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java index e5393fe9b85..e92fd692cac 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java +++ b/container-search/src/main/java/com/yahoo/search/federation/FederationSearcher.java @@ -277,7 +277,7 @@ public class FederationSearcher extends ForkingSearcher { return descriptions; } - private Set<String> getMessagesSet(List<UnresolvedSearchChainException> unresolvedSearchChainExceptions) { + private static Set<String> getMessagesSet(List<UnresolvedSearchChainException> unresolvedSearchChainExceptions) { Set<String> messages = new LinkedHashSet<>(); for (UnresolvedSearchChainException exception : unresolvedSearchChainExceptions) { messages.add(exception.getMessage()); @@ -578,11 +578,7 @@ public class FederationSearcher extends ForkingSearcher { /** Returns a result to fill for a query and chain, by creating it if necessary */ public Result get(Chain<Searcher> chain, Query query) { - Map<Query,Result> resultsToFillForAChain = resultsToFill.get(chain); - if (resultsToFillForAChain == null) { - resultsToFillForAChain = new IdentityHashMap<>(); - resultsToFill.put(chain,resultsToFillForAChain); - } + Map<Query, Result> resultsToFillForAChain = resultsToFill.computeIfAbsent(chain, k -> new IdentityHashMap<>()); Result resultsToFillForAChainAndQuery = resultsToFillForAChain.get(query); if (resultsToFillForAChainAndQuery == null) { @@ -686,27 +682,18 @@ public class FederationSearcher extends ForkingSearcher { } - private static class Window { - - private final int hits; - private final int offset; - - public Window(int hits, int offset) { - this.hits = hits; - this.offset = offset; - } + private record Window(int hits, int offset) { public Integer get(CompoundName parameterName) { if (parameterName.equals(Query.HITS)) return hits; if (parameterName.equals(Query.OFFSET)) return offset; return null; } - + public static Window from(Query query) { return new Window(query.getHits(), query.getOffset()); } - public static Window from(Collection<Target> targets, Query query) { if (targets.size() == 1) // preserve requested top-level offsets return Window.from(query); diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainResolver.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainResolver.java index bfb5bf1a9ab..a2bc12ddbd0 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainResolver.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SearchChainResolver.java @@ -57,11 +57,11 @@ public class SearchChainResolver { }; public Builder addSearchChain(ComponentId searchChainId) { - return addSearchChain(searchChainId, Collections.<String>emptyList()); + return addSearchChain(searchChainId, List.of()); } public Builder addSearchChain(ComponentId searchChainId, FederationOptions federationOptions) { - return addSearchChain(searchChainId, federationOptions, Collections.<String>emptyList()); + return addSearchChain(searchChainId, federationOptions, List.of()); } public Builder addSearchChain(ComponentId searchChainId, List<String> documentTypes) { diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourceRefResolver.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourceRefResolver.java index 7345868cae7..f096ed0de86 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourceRefResolver.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourceRefResolver.java @@ -26,7 +26,7 @@ public class SourceRefResolver { Properties sourceToProviderMap, IndexFacts indexFacts) throws UnresolvedSearchChainException { try { - return new LinkedHashSet<>(List.of(searchChainResolver.resolve(sourceRef, sourceToProviderMap))); + return Set.of(searchChainResolver.resolve(sourceRef, sourceToProviderMap)); } catch (UnresolvedSourceRefException e) { return resolveClustersWithDocument(sourceRef, sourceToProviderMap, indexFacts); } diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourcesTarget.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourcesTarget.java index 54b022e0b97..b6d99758c7b 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourcesTarget.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/SourcesTarget.java @@ -1,7 +1,6 @@ // Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. package com.yahoo.search.federation.sourceref; - import com.google.common.base.Joiner; import com.yahoo.component.ComponentId; import com.yahoo.component.ComponentSpecification; diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSearchChainException.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSearchChainException.java index 3cf2776259c..0c8562e6032 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSearchChainException.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSearchChainException.java @@ -5,7 +5,6 @@ package com.yahoo.search.federation.sourceref; * Thrown if a search chain can not be resolved from one or more ids. * @author Tony Vaagenes */ -@SuppressWarnings("serial") public class UnresolvedSearchChainException extends Exception { public UnresolvedSearchChainException(String msg) { super(msg); diff --git a/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSourceRefException.java b/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSourceRefException.java index a7da7a7ee04..fa2c1da13f0 100644 --- a/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSourceRefException.java +++ b/container-search/src/main/java/com/yahoo/search/federation/sourceref/UnresolvedSourceRefException.java @@ -6,7 +6,6 @@ import com.yahoo.component.ComponentSpecification; /** * @author Tony Vaagenes */ -@SuppressWarnings("serial") class UnresolvedSourceRefException extends UnresolvedSearchChainException { UnresolvedSourceRefException(String msg) { super(msg); |