Updated Branches:
  refs/heads/master a252b6d4e -> 08ab8a5ec

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/08ab8a5e
Tree: http://git-wip-us.apache.org/repos/asf/ode/tree/08ab8a5e
Diff: http://git-wip-us.apache.org/repos/asf/ode/diff/08ab8a5e

Branch: refs/heads/master
Commit: 08ab8a5ec7ba1d7871638de9816647a69e8e969d
Parents: a252b6d
Author: sathwik <[email protected]>
Authored: Wed Aug 28 01:17:31 2013 +0530
Committer: sathwik <[email protected]>
Committed: Wed Aug 28 01:18:54 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/08ab8a5e/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 32bffc3..1f67132 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
@@ -101,6 +101,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));

Reply via email to