From bca8b1618489f96cff26437b92e315324882522a Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Tue, 10 Aug 2021 16:51:13 +0200 Subject: [PATCH] [New] Added Activity.streamActionsDeep() and use for findActionsDeep() --- .../main/java/li/strolch/model/activity/Activity.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java b/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java index a41fa82c4..d2e143e84 100644 --- a/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java +++ b/li.strolch.model/src/main/java/li/strolch/model/activity/Activity.java @@ -410,7 +410,7 @@ public class Activity extends AbstractStrolchRootElement } public List findActionsDeep(Predicate predicate) { - return getActionsAsFlatList().stream().filter(predicate).collect(toList()); + return streamActionsDeep().filter(predicate).collect(toList()); } public List getElementsByType(String type) { @@ -437,6 +437,14 @@ public class Activity extends AbstractStrolchRootElement return this.elements.values().stream(); } + public Stream streamActionsDeep() { + return streamElements().flatMap(e -> { + if (e.isAction()) + return Stream.of(e); + return e.asActivity().streamActionsDeep(); + }).map(IActivityElement::asAction); + } + /** * Returns all the actions as a flat list *