Impl date time trigger and updated Zutil

This commit is contained in:
Ziver Koc 2017-03-01 17:53:09 +01:00
parent 90c1dd7e37
commit 1338f20624
2 changed files with 26 additions and 12 deletions

View file

@ -94,7 +94,7 @@
<target name="build-dependencies"> <target name="build-dependencies">
<mkdir dir="${buildDir}" /> <mkdir dir="${buildDir}" />
<get src="http://ci.koc.se/jenkins/job/Zutil/142/artifact/build/release/Zutil.jar" <get src="http://ci.koc.se/jenkins/job/Zutil/146/artifact/build/release/Zutil.jar"
dest="${libDir}" verbose="true" usetimestamp="true"/> dest="${libDir}" verbose="true" usetimestamp="true"/>
</target> </target>

View file

@ -1,34 +1,48 @@
package se.hal.trigger; package se.hal.trigger;
import se.hal.intf.HalTrigger; import se.hal.intf.HalTrigger;
import zutil.CronTimer;
import zutil.ui.Configurator; import zutil.ui.Configurator;
import zutil.ui.Configurator.PreConfigurationActionListener;
/** /**
* *
*/ */
public class DateTimeTrigger implements HalTrigger { public class DateTimeTrigger implements HalTrigger,PreConfigurationActionListener {
@Configurator.Configurable("Minute (Cron format)") @Configurator.Configurable("Minute (Cron format)")
private String minute = ""; private String minute = "00";
@Configurator.Configurable("Hour (Cron format)") @Configurator.Configurable("Hour (Cron format)")
private String hour = ""; private String hour = "12";
@Configurator.Configurable("Day of the Month (Cron format)") @Configurator.Configurable("Day of the Month (Cron format)")
private String dayOfMonth = ""; private String dayOfMonth = "*";
@Configurator.Configurable("Month of the Year (Cron format)") @Configurator.Configurable("Month (1-12 or Cron format)")
private String monthOfYear = ""; private String month = "*";
@Configurator.Configurable("Day of the Week (Cron format)") @Configurator.Configurable("Day of the Week (1-7 or Cron format)")
private String dayOfWeek = ""; private String dayOfWeek = "*";
@Configurator.Configurable("Year (Cron format)") @Configurator.Configurable("Year (Cron format)")
private String year = ""; private String year = "*";
private transient CronTimer cronTimer;
private transient long timeOut = -1;
@Override
public void preConfigurationAction(Configurator configurator, Object obj) {
cronTimer = new CronTimer(minute, hour, dayOfMonth, month, dayOfWeek, year);
}
@Override @Override
public boolean evaluate() { public boolean evaluate() {
return false; if (cronTimer == null)
return false;
if (timeOut < 0)
reset();
return timeOut < System.currentTimeMillis();
} }
@Override @Override
public void reset() { public void reset() {
timeOut = cronTimer.next();
} }
} }