diff --git a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/TracTracEventManagementPanelPO.java b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/TracTracEventManagementPanelPO.java index 9c2937b367c..e811fd9c504 100644 --- a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/TracTracEventManagementPanelPO.java +++ b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/adminconsole/tractrac/TracTracEventManagementPanelPO.java @@ -249,7 +249,7 @@ public class TracTracEventManagementPanelPO extends PageArea { final Set racesToProcess = new HashSet<>(races); final CellTablePO table = getTrackableRacesTable(); table.selectEntries(e -> racesToProcess.remove(new TrackableRaceDescriptor(e.getColumnContent("Event"), - e.getColumnContent("Race"), e.getColumnContent("Boat Class")))); + e.getColumnContent("Race"), e.getColumnContent("Boat Class"))), racesToProcess::isEmpty); if (!racesToProcess.isEmpty()) { throw new IllegalStateException("Not all given races where selected"); } diff --git a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/gwt/CellTablePO.java b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/gwt/CellTablePO.java index b97c10a0176..f38431dddcd 100644 --- a/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/gwt/CellTablePO.java +++ b/java/com.sap.sailing.selenium.test/src/com/sap/sailing/selenium/pages/gwt/CellTablePO.java @@ -4,6 +4,7 @@ import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.Objects; +import java.util.function.BooleanSupplier; import java.util.function.Predicate; import java.util.function.Supplier; import java.util.stream.Stream; @@ -258,13 +259,16 @@ public abstract class CellTablePO extends PageArea { * *

Note: If an entry is not contained in the table it will not be selected.

*/ - public void selectEntries(Predicate toSelectPredicate) { + public void selectEntries(Predicate toSelectPredicate, BooleanSupplier canAbort) { for (T entry : getEntries()) { if(toSelectPredicate.test(entry)) { entry.appendToSelection(); } else { entry.deselect(); } + if (canAbort.getAsBoolean()) { + break; + } } } @@ -274,7 +278,7 @@ public abstract class CellTablePO extends PageArea { *

Note: If an entry is not contained in the table it will not be selected.

*/ public void selectAllEntries() { - selectEntries(e -> true); + selectEntries(e -> true, Boolean.FALSE::booleanValue); } /**