You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ode.apache.org by ka...@apache.org on 2009/01/09 20:56:22 UTC

svn commit: r733138 - in /ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2: BpelJacobRunnable.java REPLY.java

Author: karthick
Date: Fri Jan  9 11:56:21 2009
New Revision: 733138

URL: http://svn.apache.org/viewvc?rev=733138&view=rev
Log:
ODE-478 Observe Correlation Consistency Constraint On Initiate

Modified:
    ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/BpelJacobRunnable.java
    ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/REPLY.java

Modified: ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/BpelJacobRunnable.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/BpelJacobRunnable.java?rev=733138&r1=733137&r2=733138&view=diff
==============================================================================
--- ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/BpelJacobRunnable.java (original)
+++ ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/BpelJacobRunnable.java Fri Jan  9 11:56:21 2009
@@ -81,7 +81,7 @@
         if (getBpelRuntime().isCorrelationInitialized(cset)) {
           // if already set, we ignore
             if (__log.isDebugEnabled()) __log.debug("OCorrelation set " + cset + " is already set: ignoring");
-            return;
+            throw new FaultException(cset.declaration.getOwner().constants.qnCorrelationViolation);
         }
 
         String[] propNames = new String[cset.declaration.properties.size()];

Modified: ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/REPLY.java
URL: http://svn.apache.org/viewvc/ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/REPLY.java?rev=733138&r1=733137&r2=733138&view=diff
==============================================================================
--- ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/REPLY.java (original)
+++ ode/trunk/runtimes/src/main/java/org/apache/ode/bpel/rtrep/v2/REPLY.java Fri Jan  9 11:56:21 2009
@@ -43,11 +43,12 @@
         }
 
         FaultData fault = null;
+        Node msg = null;
         try {
             if (oreply.variable != null)
                 sendVariableReadEvent(_scopeFrame.resolve(oreply.variable));
 
-            Node msg = oreply.variable == null ? null :
+            msg = oreply.variable == null ? null :
                     fetchVariableData(_scopeFrame.resolve(oreply.variable), false);
 
             assert msg == null || msg instanceof Element; // note msg can be null for faults 
@@ -61,6 +62,12 @@
         } catch (FaultException e) {
             __log.error(e);
             fault = createFault(e.getQName(), oreply);
+            try {
+	            getBpelRuntime().reply(_scopeFrame.resolve(oreply.partnerLink), oreply.operation.getName(),
+	                    oreply.messageExchangeId, (Element)msg, e.getQName());
+            } catch (FaultException fe) {
+                fault = createFault(e.getQName(), oreply);
+            }
         }
 
         _self.parent.completed(fault, CompensationHandler.emptySet());