You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ms...@apache.org on 2007/10/01 21:05:52 UTC
svn commit: r581037 -
/ode/branches/APACHE_ODE_1.1/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SWITCH.java
Author: mszefler
Date: Mon Oct 1 12:05:46 2007
New Revision: 581037
URL: http://svn.apache.org/viewvc?rev=581037&view=rev
Log:
sub-language execution failure fault thrown when switch/if condition blows up.
Modified:
ode/branches/APACHE_ODE_1.1/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SWITCH.java
Modified: ode/branches/APACHE_ODE_1.1/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SWITCH.java
URL: http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.1/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SWITCH.java?rev=581037&r1=581036&r2=581037&view=diff
==============================================================================
--- ode/branches/APACHE_ODE_1.1/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SWITCH.java (original)
+++ ode/branches/APACHE_ODE_1.1/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/SWITCH.java Mon Oct 1 12:05:46 2007
@@ -50,15 +50,15 @@
for (Iterator i = oswitch.getCases().iterator(); i.hasNext();) {
OSwitch.OCase ocase = (OSwitch.OCase) i.next();
try{
- if(getBpelRuntimeContext().getExpLangRuntime().evaluateAsBoolean(ocase.expression, evalCtx)){
- matchedOCase = ocase;
- break;
- }
- } catch (EvaluationException e) {
- String msg = "Unexpected evaluation exception.";
- __log.error(msg,e);
- // TODO: Better location information.
- throw new InvalidProcessException(msg,e);
+ try {
+ if(getBpelRuntimeContext().getExpLangRuntime().evaluateAsBoolean(ocase.expression, evalCtx)){
+ matchedOCase = ocase;
+ break;
+ }
+ } catch (EvaluationException e) {
+ __log.error("Sub-Language execution failure evaluating " + ocase.expression, e);
+ throw new FaultException(oswitch.getOwner().constants.qnSubLanguageExecutionFault, e.getMessage());
+ }
}catch(FaultException e){
__log.error(e.getMessage(),e);
faultData = createFault(e.getQName(), ocase);