in src/org/apache/kandula/participant/ba/BAParticipantTransactionSentCoordinator.java [214:240]
public void fault(ParticipantContext context) throws AbstractKandulaException {
switch (context.getStatus()) {
case (Status.BAParticipantStatus.STATUS_ACTIVE):
case (Status.BAParticipantStatus.STATUS_COMPLETING):
context.setStatus(Status.BAParticipantStatus.STATUS_FAULTING_ACTIVE);
sendFaultMessage(context);
break;
case (Status.BAParticipantStatus.STATUS_CANCELLING):
case (Status.BAParticipantStatus.STATUS_COMPLETED):
case (Status.BAParticipantStatus.STATUS_CLOSING):
case (Status.BAParticipantStatus.STATUS_EXITING):
case (Status.BAParticipantStatus.STATUS_ENDED):
log.fatal("WS_BA : " + context.getCoordinationContext().getActivityID() + " : Fault :"
+ context.getID() + " : " + " Participant is in" + context.getStatus()
+ " (invalid) state");
throw new InvalidStateException(" Participant is in" + context.getStatus()
+ " (invalid) state");
case (Status.BAParticipantStatus.STATUS_COMPENSATING):
context.setStatus(Status.BAParticipantStatus.STATUS_FAULTING_COMPENSATING);
sendFaultMessage(context);
break;
case (Status.BAParticipantStatus.STATUS_FAULTING):
context.setStatus(Status.BAParticipantStatus.STATUS_FAULTING);
sendFaultMessage(context);
break;
}
}