in src/org/apache/kandula/coordinator/at/ATCoordinator.java [163:198]
public void rollbackOperation(ATActivityContext atContext) throws AbstractKandulaException {
CompletionInitiatorPortTypeRawXMLStub stub;
/*
* Check for states TODO Do we need to lock the activity
*/
atContext.lock();
switch (atContext.getStatus()) {
case CoordinatorStatus.STATUS_NONE:
case CoordinatorStatus.STATUS_ABORTING:
atContext.unlock();
stub = new CompletionInitiatorPortTypeRawXMLStub(atContext
.getCompletionParticipant());
stub.abortedOperation();
break;
case CoordinatorStatus.STATUS_PREPARING_DURABLE:
case CoordinatorStatus.STATUS_PREPARING_VOLATILE:
case CoordinatorStatus.STATUS_PREPARED_SUCCESS:
// If prepared success Ignoring
atContext.unlock();
break;
case CoordinatorStatus.STATUS_COMMITTING:
atContext.unlock();
stub = new CompletionInitiatorPortTypeRawXMLStub(atContext
.getCompletionParticipant());
stub.committedOperation();
break;
case Status.CoordinatorStatus.STATUS_ACTIVE:
atContext.setStatus(Status.CoordinatorStatus.STATUS_ABORTING);
atContext.unlock();
abortActivity(atContext);
break;
default:
atContext.unlock();
break;
}
}