Updated Branches:
refs/heads/ode-1.3.6.x 56bb4f759 -> 96551b9ba
ODE-973: repeatEvery will wait for the duration to elapse before firing during the first iteration
Project: http://git-wip-us.apache.org/repos/asf/ode/repo
Commit: http://git-wip-us.apache.org/repos/asf/ode/commit/96551b9b
Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/96551b9b
Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/96551b9b
Branch: refs/heads/ode-1.3.6.x
Commit: 96551b9ba2ec4b9ce91a4aee3ea51669da0209b4
Parents: 56bb4f7
Author: sathwik <sathwik@apache.org>
Authored: Wed Aug 28 01:17:31 2013 +0530
Committer: sathwik <sathwik@apache.org>
Committed: Wed Aug 28 01:17:31 2013 +0530
----------------------------------------------------------------------
.../main/java/org/apache/ode/bpel/runtime/EH_ALARM.java | 10 ++++++++++
1 file changed, 10 insertions(+)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ode/blob/96551b9b/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/EH_ALARM.java
----------------------------------------------------------------------
diff --git a/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/EH_ALARM.java b/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/EH_ALARM.java
index 6bfc49d..edbf9ce 100644
--- a/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/EH_ALARM.java
+++ b/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/EH_ALARM.java
@@ -103,6 +103,16 @@ class EH_ALARM extends BpelJacobRunnable {
_psc.completed(createFault(e.getQName(),_oalarm.untilExpr), _comps);
return;
}
+ else if (_oalarm.repeatExpr != null)
+ try {
+ getBpelRuntimeContext().getExpLangRuntime().evaluateAsDuration(_oalarm.repeatExpr,
getEvaluationContext()).addTo(alarm);
+ } catch (EvaluationException e) {
+ throw new InvalidProcessException(e);
+ } catch (FaultException e) {
+ __log.error(e);
+ _psc.completed(createFault(e.getQName(),_oalarm.repeatExpr), _comps);
+ return;
+ }
// We reduce to waiting for the alarm to be triggered.
instance(new WAIT(alarm));
|