in src/org/apache/kandula/participant/ba/BAParticipantTransactionCoordinator.java [103:141]
public void cancel(ParticipantContext context) throws AbstractKandulaException {
BAParticipantTransactionSentCoordinator coordinator;
switch (context.getStatus()) {
case (Status.BAParticipantStatus.STATUS_CANCELLING):
case (Status.BAParticipantStatus.STATUS_CLOSING):
case (Status.BAParticipantStatus.STATUS_COMPENSATING):
case (Status.BAParticipantStatus.STATUS_FAULTING_COMPENSATING):
break;
case (Status.BAParticipantStatus.STATUS_ACTIVE):
case (Status.BAParticipantStatus.STATUS_COMPLETING):
case (Status.BAParticipantStatus.STATUS_WORK_DONE):
KandulaBusinessActivityResource resource = (KandulaBusinessActivityResource) context
.getResource();
context.setStatus(Status.BAParticipantStatus.STATUS_CANCELLING);
resource.cancel();
BAParticipantTransactionSentCoordinator sentCoordinator = new BAParticipantTransactionSentCoordinator();
sentCoordinator.canceled(context);
break;
case (Status.BAParticipantStatus.STATUS_COMPLETED):
coordinator = new BAParticipantTransactionSentCoordinator();
coordinator.completed(context);
break;
case (Status.BAParticipantStatus.STATUS_FAULTING_ACTIVE):
case (Status.BAParticipantStatus.STATUS_FAULTING_COMPLETED):
// resend fault
break;
case (Status.BAParticipantStatus.STATUS_EXITING):
coordinator = new BAParticipantTransactionSentCoordinator();
coordinator.exit(context);
break;
case (Status.BAParticipantStatus.STATUS_ENDED):
coordinator = new BAParticipantTransactionSentCoordinator();
coordinator.canceled(context);
break;
}
}