_self.parent.compensate(scope,ret);
instance(TCONDINTERCEPT.this);
}
public void completed(FaultData faultData, Set<CompensationHandler> compensations) {
sendEvent(new ActivityExecEndEvent());
if (faultData != null) {
dpe(_oactivity.sourceLinks);
_self.parent.completed(faultData, compensations);
} else {
FaultData fault = null;
for (Iterator<OLink> i = _oactivity.sourceLinks.iterator();i.hasNext();) {
OLink olink = i.next();
LinkInfo linfo = _linkFrame.resolve(olink);
try {
boolean val = evaluateTransitionCondition(olink.transitionCondition);
linfo.channel.linkStatus(val);
} catch (FaultException e) {
linfo.channel.linkStatus(false);
__log.error(e);
if (fault == null)
fault = createFault(e.getQName(),olink.transitionCondition);
}
}
_self.parent.completed(fault, compensations);
}
}
public void cancelled() {
sendEvent(new ActivityExecEndEvent());
dpe(_oactivity.outgoingLinks);
dpe(_oactivity.sourceLinks);
// Implicit scope can tell the difference between cancelled and completed.
_self.parent.cancelled();
}