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);