public void writeTimers(final Map<Timer, DroolsAction> timers, final StringBuilder xmlDump) { if (timers != null && !timers.isEmpty()) { xmlDump.append(" <timers>" + EOL); List<Timer> timerList = new ArrayList<Timer>(timers.keySet()); Collections.sort(timerList, new Comparator<Timer>() { public int compare(Timer o1, Timer o2) { return (int) (o2.getId() - o1.getId()); } }); for (Timer timer: timerList) { xmlDump.append(" <timer id=\"" + timer.getId() + "\" "); if (timer.getDelay() != null) { xmlDump.append("delay=\"" + timer.getDelay() + "\" "); } if (timer.getPeriod() != null) { xmlDump.append("period=\"" + timer.getPeriod() + "\" "); } xmlDump.append(">" + EOL); writeAction(timers.get(timer), xmlDump); xmlDump.append(" </timer>" + EOL); } xmlDump.append(" </timers>" + EOL); } }
private void triggerTimer(TimerInstance timerInstance) { for (Map.Entry<Timer, DroolsAction> entry: getEventBasedNode().getTimers().entrySet()) { if (entry.getKey().getId() == timerInstance.getTimerId()) { executeAction((Action) entry.getValue().getMetaData("Action")); return; } } }
protected TimerInstance createTimerInstance(Timer timer, InternalKnowledgeRuntime kruntime) { TimerInstance timerInstance = new TimerInstance(); if (kruntime != null && kruntime.getEnvironment().get("jbpm.business.calendar") != null){ BusinessCalendar businessCalendar = (BusinessCalendar) kruntime.getEnvironment().get("jbpm.business.calendar"); String delay = timer.getDelay(); timerInstance.setDelay(businessCalendar.calculateBusinessTimeAsDuration(delay)); if (timer.getPeriod() == null) { timerInstance.setPeriod(0); } else { String period = timer.getPeriod(); timerInstance.setPeriod(businessCalendar.calculateBusinessTimeAsDuration(period)); } } else { configureTimerInstance(timer, timerInstance); } timerInstance.setTimerId(timer.getId()); return timerInstance; }
protected TimerInstance createTimerInstance(InternalKnowledgeRuntime kruntime) { Timer timer = getTimerNode().getTimer(); TimerInstance timerInstance = new TimerInstance(); if (kruntime != null && kruntime.getEnvironment().get("jbpm.business.calendar") != null){ BusinessCalendar businessCalendar = (BusinessCalendar) kruntime.getEnvironment().get("jbpm.business.calendar"); String delay = resolveVariable(timer.getDelay()); timerInstance.setDelay(businessCalendar.calculateBusinessTimeAsDuration(delay)); if (timer.getPeriod() == null) { timerInstance.setPeriod(0); } else { String period = resolveVariable(timer.getPeriod()); timerInstance.setPeriod(businessCalendar.calculateBusinessTimeAsDuration(period)); } } else { configureTimerInstance(timer, timerInstance); } timerInstance.setTimerId(timer.getId()); return timerInstance; }
configureTimerInstance(timer, timerInstance); timerInstance.setTimerId(timer.getId()); return timerInstance;
public void writeTimers(final Map<Timer, DroolsAction> timers, final StringBuilder xmlDump) { if (timers != null && !timers.isEmpty()) { xmlDump.append(" <timers>" + EOL); List<Timer> timerList = new ArrayList<Timer>(timers.keySet()); Collections.sort(timerList, new Comparator<Timer>() { public int compare(Timer o1, Timer o2) { return (int) (o2.getId() - o1.getId()); } }); for (Timer timer: timerList) { xmlDump.append(" <timer id=\"" + timer.getId() + "\" "); if (timer.getDelay() != null) { xmlDump.append("delay=\"" + timer.getDelay() + "\" "); } if (timer.getPeriod() != null) { xmlDump.append("period=\"" + timer.getPeriod() + "\" "); } xmlDump.append(">" + EOL); writeAction(timers.get(timer), xmlDump); xmlDump.append(" </timer>" + EOL); } xmlDump.append(" </timers>" + EOL); } }
private void triggerTimer(TimerInstance timerInstance) { for (Map.Entry<Timer, DroolsAction> entry: getEventBasedNode().getTimers().entrySet()) { if (entry.getKey().getId() == timerInstance.getTimerId()) { executeAction((Action) entry.getValue().getMetaData("Action")); return; } } }
protected TimerInstance createTimerInstance(Timer timer, InternalKnowledgeRuntime kruntime) { TimerInstance timerInstance = new TimerInstance(); if (kruntime != null && kruntime.getEnvironment().get("jbpm.business.calendar") != null){ BusinessCalendar businessCalendar = (BusinessCalendar) kruntime.getEnvironment().get("jbpm.business.calendar"); String delay = timer.getDelay(); timerInstance.setDelay(businessCalendar.calculateBusinessTimeAsDuration(delay)); if (timer.getPeriod() == null) { timerInstance.setPeriod(0); } else { String period = timer.getPeriod(); timerInstance.setPeriod(businessCalendar.calculateBusinessTimeAsDuration(period)); } } else { configureTimerInstance(timer, timerInstance); } timerInstance.setTimerId(timer.getId()); return timerInstance; }
protected TimerInstance createTimerInstance(InternalKnowledgeRuntime kruntime) { Timer timer = getTimerNode().getTimer(); TimerInstance timerInstance = new TimerInstance(); if (kruntime != null && kruntime.getEnvironment().get("jbpm.business.calendar") != null){ BusinessCalendar businessCalendar = (BusinessCalendar) kruntime.getEnvironment().get("jbpm.business.calendar"); String delay = resolveVariable(timer.getDelay()); timerInstance.setDelay(businessCalendar.calculateBusinessTimeAsDuration(delay)); if (timer.getPeriod() == null) { timerInstance.setPeriod(0); } else { String period = resolveVariable(timer.getPeriod()); timerInstance.setPeriod(businessCalendar.calculateBusinessTimeAsDuration(period)); } } else { configureTimerInstance(timer, timerInstance); } timerInstance.setTimerId(timer.getId()); return timerInstance; }
configureTimerInstance(timer, timerInstance); timerInstance.setTimerId(timer.getId()); return timerInstance;