Author: mriou
Date: Mon Sep 29 16:07:47 2008
New Revision: 700303
URL: http://svn.apache.org/viewvc?rev=700303&view=rev
Log:
Closing on an external final variable changes the serialization format.
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java
Modified:
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java
URL:
http://svn.apache.org/viewvc/ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java?rev=700303&r1=700302&r2=700303&view=diff
==============================================================================
---
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java
(original)
+++
ode/branches/APACHE_ODE_1.X/bpel-runtime/src/main/java/org/apache/ode/bpel/runtime/INVOKE.java
Mon Sep 29 16:07:47 2008
@@ -89,17 +89,17 @@
if (!isTwoWay) {
FaultData faultData = null;
getBpelRuntimeContext().invoke(
- _scopeFrame.resolve(_oinvoke.partnerLink),
- _oinvoke.operation, outboundMsg, null);
+ _scopeFrame.resolve(_oinvoke.partnerLink),
+ _oinvoke.operation, outboundMsg, null);
_self.parent.completed(faultData,
CompensationHandler.emptySet());
} else /* two-way */{
final VariableInstance outputVar =
_scopeFrame.resolve(_oinvoke.outputVar);
- final InvokeResponseChannel invokeResponseChannel =
newChannel(InvokeResponseChannel.class);
+ InvokeResponseChannel invokeResponseChannel =
newChannel(InvokeResponseChannel.class);
final String mexId = getBpelRuntimeContext().invoke(
- _scopeFrame.resolve(_oinvoke.partnerLink),
_oinvoke.operation,
- outboundMsg, invokeResponseChannel);
+ _scopeFrame.resolve(_oinvoke.partnerLink),
_oinvoke.operation,
+ outboundMsg, invokeResponseChannel);
object(false, new
InvokeResponseChannelListener(invokeResponseChannel) {
private static final long serialVerstmptmpionUID =
4496880438819196765L;
@@ -118,13 +118,13 @@
}
try {
- initializeVariable(outputVar, response);
+ initializeVariable(outputVar, response);
} catch (ExternalVariableModuleException e) {
- __log.error("Exception while initializing
external variable", e);
+ __log.error("Exception while initializing external
variable", e);
_self.parent.failure(e.toString(), null);
return;
}
-
+
// Generating event
VariableModificationEvent se = new
VariableModificationEvent(outputVar.declaration.name);
se.setNewValue(response);
@@ -140,19 +140,19 @@
// Trying to initialize partner epr based on a
message-provided epr/session.
if
(!getBpelRuntimeContext().isPartnerRoleEndpointInitialized(_scopeFrame
.resolve(_oinvoke.partnerLink)) ||
!_oinvoke.partnerLink.initializePartnerRole) {
-
+
Node fromEpr =
getBpelRuntimeContext().getSourceEPR(mexId);
if (fromEpr != null) {
getBpelRuntimeContext().writeEndpointReference(
-
_scopeFrame.resolve(_oinvoke.partnerLink), (Element) fromEpr);
+
_scopeFrame.resolve(_oinvoke.partnerLink), (Element) fromEpr);
}
- }
-
+ }
+
String partnersSessionId =
getBpelRuntimeContext().getSourceSessionId(mexId);
if (partnersSessionId != null)
getBpelRuntimeContext().initializePartnersSessionId(_scopeFrame.resolve(_oinvoke.partnerLink),
- partnersSessionId);
-
+ partnersSessionId);
+
}
} catch (FaultException e) {
fault = createFault(e.getQName(), _oinvoke);
@@ -169,7 +169,7 @@
Element msg =
getBpelRuntimeContext().getPartnerResponse(mexId);
QName msgType =
getBpelRuntimeContext().getPartnerResponseType(mexId);
FaultData fault = createFault(faultName, msg,
- _oinvoke.getOwner().messageTypes.get(msgType),
_self.o);
+ _oinvoke.getOwner().messageTypes.get(msgType),
_self.o);
_self.parent.completed(fault,
CompensationHandler.emptySet());
getBpelRuntimeContext().releasePartnerMex(mexId);
}
@@ -194,23 +194,10 @@
private static final long serialVersionUID =
4219496341785922396L;
public void terminate() {
- _self.parent.completed(null,
CompensationHandler.emptySet());
- object(new
InvokeResponseChannelListener(invokeResponseChannel) {
- private static final long serialVersionUID =
688746737897792929L;
- public void onFailure() {
- __log.debug("Failure on
invoke ignored, the invoke has already been terminated: " +
_oinvoke.toString());
- }
- public void onFault() {
- __log.debug("Fault on invoke ignored, the invoke
has already been terminated: " + _oinvoke.toString());
- }
- public void onResponse() {
- __log.debug("Response on invoke ignored, the
invoke has already been terminated: " + _oinvoke.toString());
- }
-
- });
+ _self.parent.completed(null,
CompensationHandler.emptySet());
}
}));
-
+
}
} catch (FaultException fault) {
__log.error(fault);
@@ -220,7 +207,7 @@
}
private Element setupOutbound(OInvoke oinvoke,
Collection<OScope.CorrelationSet> outboundInitiations)
- throws FaultException, ExternalVariableModuleException {
+ throws FaultException, ExternalVariableModuleException {
if (outboundInitiations.size() > 0) {
for (OScope.CorrelationSet c : outboundInitiations) {
initializeCorrelation(_scopeFrame.resolve(c),
_scopeFrame.resolve(oinvoke.inputVar));
@@ -242,7 +229,7 @@
sendEvent(new ActivityFailureEvent(_failureReason));
final ActivityRecoveryChannel recoveryChannel =
newChannel(ActivityRecoveryChannel.class);
getBpelRuntimeContext().registerActivityForRecovery(recoveryChannel,
_self.aId, _failureReason, _lastFailure, _failureData,
- new String[] { "retry", "cancel", "fault" }, _invoked - 1);
+ new String[] { "retry", "cancel", "fault" }, _invoked - 1);
object(false, new ActivityRecoveryChannelListener(recoveryChannel) {
private static final long serialVersionUID = 8397883882810521685L;
public void retry() {
@@ -265,7 +252,7 @@
sendEvent(new ActivityRecoveryEvent("fault"));
getBpelRuntimeContext().unregisterActivityForRecovery(recoveryChannel);
if (faultData == null)
- faultData = createFault(OFailureHandling.FAILURE_FAULT_NAME,
_self.o, _failureReason);
+ faultData =
createFault(OFailureHandling.FAILURE_FAULT_NAME, _self.o, _failureReason);
_self.parent.completed(faultData,
CompensationHandler.emptySet());
}
}.or(new TerminationChannelListener(_self.self) {