public void cancelOperation()

in src/org/apache/kandula/coordinator/ba/BACoordinator.java [267:312]


	public void cancelOperation(BAActivityContext baContext,
			BAParticipantInformation cancelingParticipant) throws AbstractKandulaException {
		baContext.lock();
		switch (baContext.getStatus()) {
		case BACoordinatorStatus.STATUS_COMPLETED:
		case BACoordinatorStatus.STATUS_CLOSING:
		case BACoordinatorStatus.STATUS_COMPENSATING:
		case BACoordinatorStatus.STATUS_FAULTING:
		case BACoordinatorStatus.STATUS_EXITING:
		case BACoordinatorStatus.STATUS_ENDED:
			baContext.unlock();
			log.fatal("WS_BA : " + baContext.getCoordinationContext().getActivityID()
					+ " : cancelOperation : Coordinator is in" + baContext.getStatus()
					+ " (invalid) state");
			throw new InvalidStateException("Coordinator is in" + baContext.getStatus() + "state");
		case BACoordinatorStatus.STATUS_ACTIVE:
		case BACoordinatorStatus.STATUS_CANCELLING:
			baContext.unlock();
			cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_CANCELLING_ACTIVE);
			try {
				sendCancelMessage(cancelingParticipant);
			} catch (Exception e) {
				log.fatal("WS_BA : " + baContext.getCoordinationContext().getActivityID()
						+ " : cancelOperation :" + cancelingParticipant + " : " + e);
				throw new KandulaGeneralException(e);
			}
			break;
		case BACoordinatorStatus.STATUS_COMPLETING:
			baContext.unlock();
			cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_CANCELLING_COMPLETING);
			try {
				sendCancelMessage(cancelingParticipant);
			} catch (Exception e) {
				log.fatal("WS_BA : " + baContext.getCoordinationContext().getActivityID()
						+ " : cancelOperation :" + cancelingParticipant + " : " + e);
				throw new KandulaGeneralException(e);
			}
			break;
		default:
			log.fatal("WS_BA : " + baContext.getCoordinationContext().getActivityID()
					+ " : cancelOperation : Coordinator is in" + baContext.getStatus()
					+ " (invalid) state, Defaulting");
			throw new InvalidStateException("Coordinator is in" + baContext.getStatus() + "state");
		}

	}