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