diff options
3 files changed, 8 insertions, 19 deletions
diff --git a/container-search/src/main/java/com/yahoo/search/result/Hit.java b/container-search/src/main/java/com/yahoo/search/result/Hit.java index 13f0dc1c007..10fa7d24d1a 100644 --- a/container-search/src/main/java/com/yahoo/search/result/Hit.java +++ b/container-search/src/main/java/com/yahoo/search/result/Hit.java @@ -625,6 +625,7 @@ public class Hit extends ListenableFreezableClass implements Data, Comparable<Hi } /** Compares this hit to another hit */ + @SuppressWarnings("deprecation") @Override public int compareTo(Hit other) { // higher relevance is before diff --git a/container-search/src/main/java/com/yahoo/search/result/HitGroup.java b/container-search/src/main/java/com/yahoo/search/result/HitGroup.java index 056976724bb..9ecd6513a94 100644 --- a/container-search/src/main/java/com/yahoo/search/result/HitGroup.java +++ b/container-search/src/main/java/com/yahoo/search/result/HitGroup.java @@ -500,17 +500,10 @@ public class HitGroup extends Hit implements DataList<Hit>, Cloneable, Iterable< if (hit.isAuxiliary()) continue; currentIndex++; - if (currentIndex < offset || currentIndex >= highBound) + if (currentIndex < offset || currentIndex >= highBound) { + i.remove(); handleRemovedHit(hit); - } - if ((offset > 0) || (hits.size() > highBound)) { - ListenableArrayList<Hit> newHits = new ListenableArrayList<>(numHits); - for (int index = offset; index < Math.min(highBound, hits.size()); index++) - newHits.add(hits.get(index)); - for (Runnable listener : hits.listeners()) - newHits.addListener(listener); - hits = newHits; - unmodifiableHits = Collections.unmodifiableList(hits); + } } } @@ -842,7 +835,7 @@ public class HitGroup extends Hit implements DataList<Hit>, Cloneable, Iterable< Hit hitClone = i.next().clone(); hitGroupClone.hits.add(hitClone); } - if (this.errorHit != null) { // Find the cloned error and assign it + if (this.errorHit!=null) { // Find the cloned error and assign it for (Hit hit : hitGroupClone.asList()) { if (hit instanceof DefaultErrorHit) hitGroupClone.errorHit=(DefaultErrorHit)hit; @@ -874,7 +867,7 @@ public class HitGroup extends Hit implements DataList<Hit>, Cloneable, Iterable< /* This is an optimisation to avoid creating many temporary hash sets in the happy path. The simple naive implementation is - Set<String> filled = null; + Set<String> filled = null; for (Hit hit : hits) { if (hit.getFilled() == null) continue; if (filled == null) @@ -883,7 +876,7 @@ public class HitGroup extends Hit implements DataList<Hit>, Cloneable, Iterable< filled.retainAll(hit.getFilled()); } return filled; - */ + */ Iterator<Hit> iterator = hits.iterator(); Set<String> firstSummaryNames = getSummaryNamesNextFilledHit(iterator); if (firstSummaryNames == null || firstSummaryNames.isEmpty()) diff --git a/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java b/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java index 44569471049..e3f73212170 100644 --- a/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java +++ b/vespajlib/src/main/java/com/yahoo/collections/ListenableArrayList.java @@ -3,13 +3,13 @@ package com.yahoo.collections; import java.util.ArrayList; import java.util.Collection; -import java.util.Collections; import java.util.List; /** * An array list which notifies listeners after one or more items are added * * @author bratseth + * @since 5.1.17 */ @SuppressWarnings("serial") public class ListenableArrayList<ITEM> extends ArrayList<ITEM> { @@ -56,11 +56,6 @@ public class ListenableArrayList<ITEM> extends ArrayList<ITEM> { return result; } - public List<Runnable> listeners() { - if (listeners == null) return Collections.emptyList(); - return Collections.unmodifiableList(listeners); - } - /** * Adds a listener which is invoked whenever elements are added to this. * This may not be invoked once for each added element. |