From 17438db7a250b264c8cf17f56a6c07d7d42672e0 Mon Sep 17 00:00:00 2001 From: Ziver Koc Date: Sat, 28 Aug 2021 15:32:12 +0200 Subject: [PATCH] Made cron date time trigger more robust --- hal-core/src/se/hal/trigger/DateTimeTrigger.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/hal-core/src/se/hal/trigger/DateTimeTrigger.java b/hal-core/src/se/hal/trigger/DateTimeTrigger.java index 7777dd5b..128084b6 100644 --- a/hal-core/src/se/hal/trigger/DateTimeTrigger.java +++ b/hal-core/src/se/hal/trigger/DateTimeTrigger.java @@ -2,6 +2,7 @@ package se.hal.trigger; import se.hal.intf.HalTrigger; import zutil.CronTimer; +import zutil.ObjectUtil; import zutil.ui.conf.Configurator; import java.text.SimpleDateFormat; @@ -28,6 +29,13 @@ public class DateTimeTrigger implements HalTrigger,Configurator.PostConfiguratio @Override public void postConfigurationAction(Configurator configurator, Object obj) { + if (ObjectUtil.isEmpty(minute)) minute = "*"; + if (ObjectUtil.isEmpty(hour)) hour = "*"; + if (ObjectUtil.isEmpty(dayOfMonth)) dayOfMonth = "*"; + if (ObjectUtil.isEmpty(month)) month = "*"; + if (ObjectUtil.isEmpty(dayOfWeek)) dayOfWeek = "*"; + if (ObjectUtil.isEmpty(year)) year = "*"; + cronTimer = new CronTimer(minute, hour, dayOfMonth, month, dayOfWeek, year); reset(); } @@ -37,7 +45,7 @@ public class DateTimeTrigger implements HalTrigger,Configurator.PostConfiguratio if (cronTimer == null) return false; // have we passed the majority of the minute? then get next timeout - if (System.currentTimeMillis()-timeOut > 50*1000) + if (System.currentTimeMillis() - timeOut > 50*1000) reset(); return timeOut <= System.currentTimeMillis(); }