From 8e5d639bbec0927c4c791201a640853af5310fd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Patrick=20Ha=C3=9Fel?= Date: Mon, 24 Oct 2022 11:29:11 +0200 Subject: [PATCH] FIX: ScheduleExecutionService::executeEntry endless loop when property null --- .../schedule/ScheduleExecutionService.java | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/main/java/de/ph87/homeautomation/schedule/ScheduleExecutionService.java b/src/main/java/de/ph87/homeautomation/schedule/ScheduleExecutionService.java index 07cb278..c2c7c81 100644 --- a/src/main/java/de/ph87/homeautomation/schedule/ScheduleExecutionService.java +++ b/src/main/java/de/ph87/homeautomation/schedule/ScheduleExecutionService.java @@ -38,15 +38,17 @@ public class ScheduleExecutionService { } private void executeEntry(final Schedule schedule, final ScheduleEntry entry, final ZonedDateTime now) { - if (entry.getProperty() == null) { - log.error("Cannot execute Schedule {}: No property set!", schedule); - return; - } - entry.setLastClearTimestamp(entry.getNextClearTimestamp()); log.info("Executing Schedule \"{}\" Entry {}", schedule.getTitle(), entry); - propertyWriteService.writeToChannel(entry.getProperty(), entry.getValue()); - bulkExecutor.execute(entry.getBulk()); + entry.setLastClearTimestamp(entry.getNextClearTimestamp()); scheduleCalculationService.calculateSchedule(schedule, now); + if (entry.getProperty() != null) { + log.debug("Schedule setting property: {} = {}", entry.getProperty().getTitle(), entry.getValue()); + propertyWriteService.writeToChannel(entry.getProperty(), entry.getValue()); + } + if (entry.getBulk() != null) { + log.debug("Schedule executing Bulk: {}", entry.getBulk()); + bulkExecutor.execute(entry.getBulk()); + } } }