From 090d7602a6f72df3e0ea15c1cb45c75f4c3feeef Mon Sep 17 00:00:00 2001 From: Robert von Burg Date: Mon, 27 Feb 2023 10:50:54 +0100 Subject: [PATCH] [Fix] ReservationExecution uses Controllers for jobCountSemaphoreSatisfied() --- .../strolch/execution/policy/ReservationExecution.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/service/src/main/java/li/strolch/execution/policy/ReservationExecution.java b/service/src/main/java/li/strolch/execution/policy/ReservationExecution.java index 3537d3a3e..2baf80bee 100644 --- a/service/src/main/java/li/strolch/execution/policy/ReservationExecution.java +++ b/service/src/main/java/li/strolch/execution/policy/ReservationExecution.java @@ -2,8 +2,10 @@ package li.strolch.execution.policy; import static li.strolch.model.StrolchModelConstants.BAG_PARAMETERS; import static li.strolch.model.StrolchModelConstants.PolicyConstants.*; +import static li.strolch.utils.ObjectHelper.isIn; import li.strolch.exception.StrolchModelException; +import li.strolch.execution.Controller; import li.strolch.model.Resource; import li.strolch.model.StrolchModelConstants; import li.strolch.model.activity.Action; @@ -105,8 +107,11 @@ public class ReservationExecution extends DurationExecution { new String[] { action.getRootElement().getType() } : jobCountSemaphoreTypesP.getValue().toArray(String[]::new); - long nrOfActivitiesInExecution = tx().streamActivities(types) - .filter(Activity::inExecutionPlanningPhase) + long nrOfActivitiesInExecution = getExecutionHandler().getControllers(tx().getRealmName()) + .stream() + .map(Controller::getActivity) + .filter(a -> isIn(a.getType(), types, false)) + .filter(Activity::inExecutionPhase) .count(); IntegerParameter jobCountSemaphoreP = action.findObjectivesParam(PARAM_JOB_COUNT_SEMAPHORE, true);