in src/org/apache/kandula/participant/ba/BAParticipantTransactionSentCoordinator.java [107:142]
public void canceled(ParticipantContext context) throws AbstractKandulaException {
switch (context.getStatus()) {
case (Status.BAParticipantStatus.STATUS_ACTIVE):
case (Status.BAParticipantStatus.STATUS_COMPLETING):
case (Status.BAParticipantStatus.STATUS_COMPLETED):
case (Status.BAParticipantStatus.STATUS_CLOSING):
case (Status.BAParticipantStatus.STATUS_COMPENSATING):
case (Status.BAParticipantStatus.STATUS_FAULTING):
case (Status.BAParticipantStatus.STATUS_EXITING):
log.fatal("WS_BA : " + context.getCoordinationContext().getActivityID()
+ " : canceled :" + context.getID() + " : " + " Participant is in"
+ context.getStatus() + " (invalid) state");
throw new InvalidStateException(" Participant is in" + context.getStatus()
+ " (invalid) state");
case (Status.BAParticipantStatus.STATUS_CANCELLING):
case (Status.BAParticipantStatus.STATUS_ENDED):
try {
BACoordinatorCompletionCoordinatorServiceStub coordinatorServiceStub;
coordinatorServiceStub = new BACoordinatorCompletionCoordinatorServiceStub(
MessageContext.getCurrentMessageContext().getConfigurationContext(), null);
coordinatorServiceStub._getServiceClient().getOptions().setTo(
context.getCoordinationEPR());
Canceled canceled = new Canceled();
canceled.setCanceled(new NotificationType());
coordinatorServiceStub.CanceledOperation(canceled);
context.setStatus(Status.BAParticipantStatus.STATUS_ENDED);
StorageUtils.forgetContext(context.getID());
} catch (Exception e) {
log.fatal("WS_BA : " + context.getCoordinationContext().getActivityID()
+ " : canceled :" + context.getID() + " : " + e);
throw new KandulaGeneralException(e);
}
break;
}
}