commenting out the BACorrdinator to avoid the build break
diff --git a/src/org/apache/kandula/coordinator/ba/BACoordinator.java b/src/org/apache/kandula/coordinator/ba/BACoordinator.java
index eed4524..33be9b9 100644
--- a/src/org/apache/kandula/coordinator/ba/BACoordinator.java
+++ b/src/org/apache/kandula/coordinator/ba/BACoordinator.java
@@ -99,1709 +99,1709 @@
// 1. Start Exit
// If a exit is recieved the the coordinator removes that participant from the list
- public void PCExitOperation(AbstractContext context, String enlishmentID)
- throws AbstractKandulaException
- {
- BAActivityContext baContext = (BAActivityContext) context;
- baContext.lock();
- BAParticipantInformation baParticipantInfo = baContext.getParticipant(enlishmentID);
- switch(baContext.getStatus())
- {
-
- case BACoordinatorStatus.STATUS_ACTIVE:
- try{
- baContext.removeParticipant(enlishmentID);
- int existingCount = baContext.getParticipantCount();
- baContext.setParticipantCount(existingCount--);
- baParticipantInfo.setStatus(Status.BACoordinatorStatus.STATUS_EXITING);
- baContext.setStatus(BACoordinatorStatus.STATUS_EXITING);
- baContext.unlock();
- this.PCExitedOperation(baContext,enlishmentID);
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- try{
- baContext.removeParticipant(enlishmentID);
- int existingCount = baContext.getParticipantCount();
- baContext.setParticipantCount(existingCount--);
- // Take an iterator
- baParticipantInfo.setStatus(Status.BACoordinatorStatus.STATUS_EXITING);
- baContext.setStatus(BACoordinatorStatus.STATUS_EXITING);
- baContext.unlock();
- this.PCExitedOperation(baContext,enlishmentID);
-
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_ENDED:
- try{
- baContext.unlock();
- this.PCExitedOperation(baContext,enlishmentID);
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting compensatingstate");
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting active state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- }
- }
- //End Exit
-
- //2. start Completed
- public void PCCompletedOperation(BAActivityContext baContext, String enlishmentID)
- throws AbstractKandulaException
- {
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting active state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting active state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- }
- }
- //EndCompleted
-
- // 3. Start - Fault
- public void PCFaultOperation(AbstractContext context, String enlishmentID)
- throws AbstractKandulaException
- {
- BAActivityContext baContext = (BAActivityContext) context;
- baContext.lock();
- BAParticipantInformation baParticipantInformation= baContext.getParticipant(enlishmentID);
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- try{
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baContext.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baContext.unlock();
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- try{
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baContext.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baContext.unlock();
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- try{
-
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_COMPENSATING);
- baContext.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_COMPENSATING);
- baContext.unlock();
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
- this.PCFaultedOperation(baContext,enlishmentID);
-
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
- this.PCFaultedOperation(baContext,enlishmentID);
-
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- this.PCFaultedOperation(baContext,enlishmentID);
-
- }
- }
- //End - Fault
-
- //4. Canceled
- public void PCCanceledOperation(BAActivityContext baContext,String enlishmentID)
- throws AbstractKandulaException
- {
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in Active state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in cLOSING state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting Compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting active state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- }
- }
- //End Canceled
-
- //5.Start -Closed
- public void PCClosedOperation(BAActivityContext baContext,String enlishmentID)
- throws AbstractKandulaException
- {
- BAParticipantInformation baPaticipantInformation = baContext.getParticipant(enlishmentID);
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in Active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in canceling state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baContext.unlock();
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting Compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting active state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- }
- }
- //End Closed
-
- // Start - Compensated
- public void PCCompensatedOperation(BAActivityContext baContext,String enlishmentID)
- throws AbstractKandulaException
- {
- BAParticipantInformation baPaticipantInformation = baContext.getParticipant(enlishmentID);
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in Active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in canceling state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baContext.unlock();
-
- case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting Compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting active state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- }
- }
- //End -Compensated
-
-/**
- * Handling Protocol Messages sent by the Coordinator[recieved by participant] </a>
- */
-
-//start - Cancel
-public void PCCancelOperation(AbstractContext context,String enlishmentID)
-throws AbstractKandulaException
-{
- BAActivityContext baContext = (BAActivityContext) context;
- baContext.lock();
- BAParticipantInformation cancelingParticipant = baContext.getParticipant(enlishmentID);
- BAParticipantCompletionParticipantServiceStub pcpsStub;
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- try{
- pcpsStub = new BAParticipantCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
- Cancel cancelParam = new Cancel();
- pcpsStub.CancelOperation(cancelParam);
- baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING_ACTIVE);
- cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_CANCELLING_ACTIVE);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- try{
-
- pcpsStub = new BAParticipantCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
- Cancel cancelParam = new Cancel();
- pcpsStub.CancelOperation(cancelParam);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensated state");
-
- case BACoordinatorStatus.STATUS_FAULTING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in ended state");
- }
-}//End Cancel
-
-//Start Colse
-public void PCCloseOperation(BAActivityContext baContext, String enlishmentID)
-throws AbstractKandulaException
-{
- BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
- baContext.lock();
- BAParticipantCompletionParticipantServiceStub pcpsStub;
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in cancelling state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- try{
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
- Close closeParam = new Close();
- pcpsStub.CloseOperation(closeParam);
- baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_CLOSING);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_CLOSING:
- try{
-
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
- Close closeParam = new Close();
- pcpsStub.CloseOperation(closeParam);
- baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_CLOSING);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
- }
-}//End - Close
-
-//Start - Compensate
-public void PCCompensateOperation(BAActivityContext baContext, String enlishmentID)
-throws AbstractKandulaException
-{
- BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
- baContext.lock();
- BAParticipantCompletionParticipantServiceStub pcpsStub;
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in cancelling state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- try{
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
- Compensate compensateParam = new Compensate();
- pcpsStub.CompensateOperation(compensateParam);
- baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_COMPENSATING);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in cancelling state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- try{
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
- Compensate compensateParam = new Compensate();
- pcpsStub.CompensateOperation(compensateParam);
- baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_COMPENSATING);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_FAULTING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
- }
-}//End - Compensate
-
-//Start Faulted
-public void PCFaultedOperation(BAActivityContext baContext, String enlishmentID)
-throws AbstractKandulaException
-{
- baContext.lock();
- BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
- BAParticipantCompletionParticipantServiceStub pcpsStub;
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in cancelling state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING:
- try{
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
- Failed failedParam = new Failed();
- pcpsStub.FailedOperation(failedParam);
- baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- try{
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
- Failed failedParam = new Failed();
- pcpsStub.FailedOperation(failedParam);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
- }
-}
-//End Faulted
-
-//Start - Exited
-public void PCExitedOperation(AbstractContext context, String enlishmentID)
-throws AbstractKandulaException
-{
- BAParticipantCompletionParticipantServiceStub pcpsStub;
- BAActivityContext baContext = (BAActivityContext) context;
- baContext.lock();
- BAParticipantInformation exitingParticipant = baContext.getParticipant(enlishmentID);
-
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in canceling state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- try{
- pcpsStub = new BAParticipantCompletionParticipantServiceStub(((exitingParticipant.getEpr()).toString()));
- Exited exitedParam = new Exited();
- pcpsStub.ExitedOperation(exitedParam);
- exitingParticipant.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
- baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
- case BACoordinatorStatus.STATUS_ENDED:
- try{
- pcpsStub = new BAParticipantCompletionParticipantServiceStub(((exitingParticipant.getEpr()).toString()));
- Exited exitedParam = new Exited();
- pcpsStub.ExitedOperation(exitedParam);
- baContext.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
- }
-}
-//End Exited
-
-//***********************************************************************************
-/**
- * Coordinator View of BusinessAgreement with Coordinator Completion
- */
-
-/**
- * Handling Protocol Messages recieved by the Coordinator[sent by participant] </a>
- */
-//1. Start CCExit
-public void CCExitOperation(AbstractContext context, String enlishmentID)
-throws AbstractKandulaException
-{
- BAActivityContext baContext = (BAActivityContext) context;
- baContext.lock();
- BAParticipantInformation baParticipantInfo = baContext.getParticipant(enlishmentID);
- switch(baContext.getStatus())
- {
-
- case BACoordinatorStatus.STATUS_ACTIVE:
- try{
- baContext.removeParticipant(enlishmentID);
- int existingCount = baContext.getParticipantCount();
- baContext.setParticipantCount(existingCount--);
- baParticipantInfo.setStatus(Status.BACoordinatorStatus.STATUS_EXITING);
- baContext.setStatus(BACoordinatorStatus.STATUS_EXITING);
- baContext.unlock();
- this.CCExitedOperation(baContext,enlishmentID);
-
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- try{
- baContext.removeParticipant(enlishmentID);
- int existingCount = baContext.getParticipantCount();
- baContext.setParticipantCount(existingCount--);
- baParticipantInfo.setStatus(Status.BACoordinatorStatus.STATUS_EXITING);
- baContext.setStatus(BACoordinatorStatus.STATUS_EXITING);
- baContext.unlock();
- this.CCExitedOperation(baContext,enlishmentID);
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_CANCELING_COMPLETING:
- try{
- baContext.removeParticipant(enlishmentID);
- int existingCount = baContext.getParticipantCount();
- baContext.setParticipantCount(existingCount--);
- baParticipantInfo.setStatus(Status.BACoordinatorStatus.STATUS_EXITING);
- baContext.setStatus(BACoordinatorStatus.STATUS_EXITING);
- baContext.unlock();
- this.CCExitedOperation(baContext,enlishmentID);
-
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting compensatingstate");
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting active state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
-
- case BACoordinatorStatus.STATUS_ENDED:
- try{
- baContext.unlock();
- this.CCExitedOperation(baContext,enlishmentID);
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
- }
- }
-//End CCExit
-
-//2. start CCCompleted
-public void CCCompletedOperation(BAActivityContext baContext, String enlishmentID)
-throws AbstractKandulaException
-{
- BAParticipantInformation baParticipantInformation= baContext.getParticipant(enlishmentID);
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING_ACTIVE:
- baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_CANCELLING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in canceling active state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- CCCloseOperation(baContext,enlishmentID);
- throw new InvalidStateException(
- "Coordinator is in faulting active state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting compensating state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- }
-}
-//End - CCCompleted
-
-// 3. Start - Fault
-public void CCFaultOperation(AbstractContext context, String enlishmentID)
-throws AbstractKandulaException
-{
- BAActivityContext baContext = (BAActivityContext) context;
- baContext.lock();
- BAParticipantInformation baParticipantInformation= baContext.getParticipant(enlishmentID);
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- try{
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baContext.unlock();
- this.CCFaultedOperation(baContext,enlishmentID);
-
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_CANCELLING_ACTIVE:
- try{
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baContext.unlock();
- this.CCFaultedOperation(baContext,enlishmentID);
-
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_CANCELING_COMPLETING:
- try{
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baContext.unlock();
- this.CCFaultedOperation(baContext,enlishmentID);
-
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_COMPLETING:
- try{
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
- baContext.unlock();
- this.CCFaultedOperation(baContext,enlishmentID);
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- try{
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING_COMPENSATING);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_COMPENSATING);
- this.CCFaultedOperation(baContext,enlishmentID);
- baContext.unlock();
- }
- catch(Exception e)
- {
- throw new KandulaGeneralException(e);
- }
-
- case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
- this.PCFaultedOperation(baContext,enlishmentID);
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- }
-}
-//End - Fault
-
-//4. Canceled
-public void CCCanceledOperation(BAActivityContext baContext,String enlishmentID)
-throws AbstractKandulaException
-{
- BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in Active state");
-
- case BACoordinatorStatus.STATUS_COMPLETING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completing state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting Compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting active state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- }
- }
-//End Canceled
-
-//5.Start -Closed
-public void CCClosedOperation(BAActivityContext baContext,String enlishmentID)
-throws AbstractKandulaException
-{
- BAParticipantInformation baPaticipantInformation = baContext.getParticipant(enlishmentID);
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in Active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING_ACTIVE:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
- baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in canceling active state");
-
- case BACoordinatorStatus.STATUS_CANCELING_COMPLETING:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
- baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in canceling completing state");
-
- case BACoordinatorStatus.STATUS_COMPLETING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completing state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baContext.unlock();
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting Compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting active state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- }
- }
-//End Closed
-
-// Start - Compensated
-public void CCCompensatedOperation(BAActivityContext baContext,String enlishmentID)
-throws AbstractKandulaException
-{
- BAParticipantInformation baPaticipantInformation = baContext.getParticipant(enlishmentID);
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in Active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING_ACTIVE:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
- baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in canceling active state");
-
- case BACoordinatorStatus.STATUS_CANCELING_COMPLETING:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
- baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in canceling completing state");
-
- case BACoordinatorStatus.STATUS_COMPLETING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completing state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baContext.unlock();
-
- case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting Compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
- baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting active state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- }
- }
-//End -Compensated
-
-/**
- * Handling Protocol Messages sent by the Coordinator[sent by participant] </a>
- */
-
-public void CCCancelOperation(AbstractContext context,String enlishmentID)
-throws AbstractKandulaException
-{
- BAActivityContext baContext = (BAActivityContext) context;
- baContext.lock();
- BAParticipantInformation cancelingParticipant = baContext.getParticipant(enlishmentID);
- BACoordinatorCompletionParticipantServiceStub ccpsStub;
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- try{
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
- Cancel cancelParam = new Cancel();
- ccpsStub.CancelOperation(cancelParam);
- baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING_ACTIVE);
- cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_CANCELLING_ACTIVE);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
- case BACoordinatorStatus.STATUS_CANCELLING:
- try{
-
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
- Cancel cancelParam = new Cancel();
- ccpsStub.CancelOperation(cancelParam);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
-
- case BACoordinatorStatus.STATUS_COMPLETING:
- try{
-
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
- Cancel cancelParam = new Cancel();
- ccpsStub.CancelOperation(cancelParam);
- baContext.setStatus(BACoordinatorStatus.STATUS_CANCELING_COMPLETING);
- cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_CANCELING_COMPLETING);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensated state");
-
- case BACoordinatorStatus.STATUS_FAULTING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in ended state");
- }
-}//End Cancel
-
-//Start - Complete
-public void CCCompleteOperation(AbstractContext context,String enlishmentID)
-throws AbstractKandulaException
-{
- BAActivityContext baContext = (BAActivityContext) context;
- baContext.lock();
- BAParticipantInformation cancelingParticipant = baContext.getParticipant(enlishmentID);
- BACoordinatorCompletionParticipantServiceStub ccpsStub;
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- try{
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
- Complete completeParam = new Complete();
- ccpsStub.CompleteOperation(completeParam);
- baContext.setStatus(BACoordinatorStatus.STATUS_COMPLETING);
- cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_COMPLETING);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
- case BACoordinatorStatus.STATUS_CANCELLING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in cancelling state");
-
- case BACoordinatorStatus.STATUS_COMPLETING:
- try{
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
- Complete completeParam = new Complete();
- ccpsStub.CompleteOperation(completeParam);
- baContext.setStatus(BACoordinatorStatus.STATUS_COMPLETING);
- cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_COMPLETING);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in ended state");
- }
-}
-//End - Complete
-
-//Start - Close
-public void CCCloseOperation(BAActivityContext baContext,String enlishmentID)
-throws AbstractKandulaException
-{
- BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
- baContext.lock();
- BACoordinatorCompletionParticipantServiceStub ccpsStub;
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in cancelling state");
-
- case BACoordinatorStatus.STATUS_COMPLETING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completing state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- try{
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
- Close closeParam = new Close();
- ccpsStub.CloseOperation(closeParam);
- baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_CLOSING);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_CLOSING:
- try{
-
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
- Close closeParam = new Close();
- ccpsStub.CloseOperation(closeParam);
- baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_CLOSING);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
- }
-}
-//End - Close
-
-//Start - Compensate
-public void CCCompensateOperation(BAActivityContext baContext,String enlishmentID)
-throws AbstractKandulaException
-{
- BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
- baContext.lock();
- BACoordinatorCompletionParticipantServiceStub ccpsStub;
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in cancelling state");
-
- case BACoordinatorStatus.STATUS_COMPLETING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completing state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- try{
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
- Compensate compensateParam = new Compensate();
- ccpsStub.CompensateOperation(compensateParam);
- baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_COMPENSATING);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in cancelling state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- try{
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
- Compensate compensateParam = new Compensate();
- ccpsStub.CompensateOperation(compensateParam);
- baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_COMPENSATING);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_FAULTING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
- }
-}
-//End - compensate
-//Start -Failed
-public void CCFaultedOperation(BAActivityContext baContext, String enlishmentID)
-throws AbstractKandulaException
-{
- baContext.lock();
- BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
- BACoordinatorCompletionParticipantServiceStub ccpsStub;
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in cancelling state");
-
- case BACoordinatorStatus.STATUS_COMPLETING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completing state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING:
- try{
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
- Failed failedParam = new Failed();
- ccpsStub.FailedOperation(failedParam);
- baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
-
- case BACoordinatorStatus.STATUS_EXITING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in exiting state");
-
- case BACoordinatorStatus.STATUS_ENDED:
- try{
- String participantEndpointReference = baParticipantInformation.getEpr().toString();
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
- Failed failedParam = new Failed();
- ccpsStub.FailedOperation(failedParam);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
- }
-
-}
-//End - Failed
-//Start - Exited
-public void CCExitedOperation(AbstractContext context,String enlishmentID)
-throws AbstractKandulaException
-{
- BACoordinatorCompletionParticipantServiceStub ccpsStub;
- BAActivityContext baContext = (BAActivityContext) context;
- baContext.lock();
- BAParticipantInformation exitingParticipant = baContext.getParticipant(enlishmentID);
-
- switch(baContext.getStatus())
- {
- case BACoordinatorStatus.STATUS_ACTIVE:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in active state");
-
- case BACoordinatorStatus.STATUS_CANCELLING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in canceling state");
-
- case BACoordinatorStatus.STATUS_COMPLETING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in canceling state");
-
- case BACoordinatorStatus.STATUS_COMPLETED:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in completed state");
-
- case BACoordinatorStatus.STATUS_CLOSING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in closing state");
-
- case BACoordinatorStatus.STATUS_COMPENSATING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in compensating state");
-
- case BACoordinatorStatus.STATUS_FAULTING:
- baContext.unlock();
- throw new InvalidStateException(
- "Coordinator is in faulting state");
-
- case BACoordinatorStatus.STATUS_EXITING:
- try{
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((exitingParticipant.getEpr()).toString()));
- Exited exitedParam = new Exited();
- ccpsStub.ExitedOperation(exitedParam);
- exitingParticipant.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
- baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
- case BACoordinatorStatus.STATUS_ENDED:
- try{
- ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((exitingParticipant.getEpr()).toString()));
- Exited exitedParam = new Exited();
- ccpsStub.ExitedOperation(exitedParam);
- baContext.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
- baContext.unlock();
- }
- catch(AxisFault e)
- {
- throw new KandulaGeneralException(e);
- }
- catch(Exception e)
- {
- //TODO
- }
+// public void PCExitOperation(AbstractContext context, String enlishmentID)
+// throws AbstractKandulaException
+// {
+// BAActivityContext baContext = (BAActivityContext) context;
+// baContext.lock();
+// BAParticipantInformation baParticipantInfo = baContext.getParticipant(enlishmentID);
+// switch(baContext.getStatus())
+// {
+//
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// try{
+// baContext.removeParticipant(enlishmentID);
+// int existingCount = baContext.getParticipantCount();
+// baContext.setParticipantCount(existingCount--);
+// baParticipantInfo.setStatus(Status.BACoordinatorStatus.STATUS_EXITING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_EXITING);
+// baContext.unlock();
+// this.PCExitedOperation(baContext,enlishmentID);
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// try{
+// baContext.removeParticipant(enlishmentID);
+// int existingCount = baContext.getParticipantCount();
+// baContext.setParticipantCount(existingCount--);
+// // Take an iterator
+// baParticipantInfo.setStatus(Status.BACoordinatorStatus.STATUS_EXITING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_EXITING);
+// baContext.unlock();
+// this.PCExitedOperation(baContext,enlishmentID);
+//
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// try{
+// baContext.unlock();
+// this.PCExitedOperation(baContext,enlishmentID);
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting compensatingstate");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting active state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// }
+// }
+// //End Exit
+//
+// //2. start Completed
+// public void PCCompletedOperation(BAActivityContext baContext, String enlishmentID)
+// throws AbstractKandulaException
+// {
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting active state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting active state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// }
+// }
+// //EndCompleted
+//
+// // 3. Start - Fault
+// public void PCFaultOperation(AbstractContext context, String enlishmentID)
+// throws AbstractKandulaException
+// {
+// BAActivityContext baContext = (BAActivityContext) context;
+// baContext.lock();
+// BAParticipantInformation baParticipantInformation= baContext.getParticipant(enlishmentID);
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// try{
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baContext.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baContext.unlock();
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// try{
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baContext.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baContext.unlock();
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// try{
+//
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_COMPENSATING);
+// baContext.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_COMPENSATING);
+// baContext.unlock();
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+// this.PCFaultedOperation(baContext,enlishmentID);
+//
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+// this.PCFaultedOperation(baContext,enlishmentID);
+//
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// this.PCFaultedOperation(baContext,enlishmentID);
+//
+// }
+// }
+// //End - Fault
+//
+// //4. Canceled
+// public void PCCanceledOperation(BAActivityContext baContext,String enlishmentID)
+// throws AbstractKandulaException
+// {
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in Active state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in cLOSING state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting Compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting active state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// }
+// }
+// //End Canceled
+//
+// //5.Start -Closed
+// public void PCClosedOperation(BAActivityContext baContext,String enlishmentID)
+// throws AbstractKandulaException
+// {
+// BAParticipantInformation baPaticipantInformation = baContext.getParticipant(enlishmentID);
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in Active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in canceling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baContext.unlock();
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting Compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting active state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// }
+// }
+// //End Closed
+//
+// // Start - Compensated
+// public void PCCompensatedOperation(BAActivityContext baContext,String enlishmentID)
+// throws AbstractKandulaException
+// {
+// BAParticipantInformation baPaticipantInformation = baContext.getParticipant(enlishmentID);
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in Active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in canceling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baContext.unlock();
+//
+// case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting Compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting active state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// }
+// }
+// //End -Compensated
+//
+///**
+// * Handling Protocol Messages sent by the Coordinator[recieved by participant] </a>
+// */
+//
+////start - Cancel
+//public void PCCancelOperation(AbstractContext context,String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAActivityContext baContext = (BAActivityContext) context;
+// baContext.lock();
+// BAParticipantInformation cancelingParticipant = baContext.getParticipant(enlishmentID);
+// BAParticipantCompletionParticipantServiceStub pcpsStub;
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// try{
+// pcpsStub = new BAParticipantCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
+// Cancel cancelParam = new Cancel();
+// pcpsStub.CancelOperation(cancelParam);
+// baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING_ACTIVE);
+// cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_CANCELLING_ACTIVE);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// try{
+//
+// pcpsStub = new BAParticipantCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
+// Cancel cancelParam = new Cancel();
+// pcpsStub.CancelOperation(cancelParam);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensated state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in ended state");
+// }
+//}//End Cancel
+//
+////Start Colse
+//public void PCCloseOperation(BAActivityContext baContext, String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
+// baContext.lock();
+// BAParticipantCompletionParticipantServiceStub pcpsStub;
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in cancelling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// try{
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
+// Close closeParam = new Close();
+// pcpsStub.CloseOperation(closeParam);
+// baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_CLOSING);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// try{
+//
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
+// Close closeParam = new Close();
+// pcpsStub.CloseOperation(closeParam);
+// baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_CLOSING);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+// }
+//}//End - Close
+//
+////Start - Compensate
+//public void PCCompensateOperation(BAActivityContext baContext, String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
+// baContext.lock();
+// BAParticipantCompletionParticipantServiceStub pcpsStub;
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in cancelling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// try{
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
+// Compensate compensateParam = new Compensate();
+// pcpsStub.CompensateOperation(compensateParam);
+// baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_COMPENSATING);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in cancelling state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// try{
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
+// Compensate compensateParam = new Compensate();
+// pcpsStub.CompensateOperation(compensateParam);
+// baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_COMPENSATING);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_FAULTING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+// }
+//}//End - Compensate
+//
+////Start Faulted
+//public void PCFaultedOperation(BAActivityContext baContext, String enlishmentID)
+//throws AbstractKandulaException
+//{
+// baContext.lock();
+// BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
+// BAParticipantCompletionParticipantServiceStub pcpsStub;
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in cancelling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING:
+// try{
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
+// Failed failedParam = new Failed();
+// pcpsStub.FailedOperation(failedParam);
+// baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// try{
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// pcpsStub = new BAParticipantCompletionParticipantServiceStub(participantEndpointReference);
+// Failed failedParam = new Failed();
+// pcpsStub.FailedOperation(failedParam);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+// }
+//}
+////End Faulted
+//
+////Start - Exited
+//public void PCExitedOperation(AbstractContext context, String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAParticipantCompletionParticipantServiceStub pcpsStub;
+// BAActivityContext baContext = (BAActivityContext) context;
+// baContext.lock();
+// BAParticipantInformation exitingParticipant = baContext.getParticipant(enlishmentID);
+//
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in canceling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// try{
+// pcpsStub = new BAParticipantCompletionParticipantServiceStub(((exitingParticipant.getEpr()).toString()));
+// Exited exitedParam = new Exited();
+// pcpsStub.ExitedOperation(exitedParam);
+// exitingParticipant.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
+// baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+// case BACoordinatorStatus.STATUS_ENDED:
+// try{
+// pcpsStub = new BAParticipantCompletionParticipantServiceStub(((exitingParticipant.getEpr()).toString()));
+// Exited exitedParam = new Exited();
+// pcpsStub.ExitedOperation(exitedParam);
+// baContext.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+// }
+//}
+////End Exited
+//
+////***********************************************************************************
+///**
+// * Coordinator View of BusinessAgreement with Coordinator Completion
+// */
+//
+///**
+// * Handling Protocol Messages recieved by the Coordinator[sent by participant] </a>
+// */
+////1. Start CCExit
+//public void CCExitOperation(AbstractContext context, String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAActivityContext baContext = (BAActivityContext) context;
+// baContext.lock();
+// BAParticipantInformation baParticipantInfo = baContext.getParticipant(enlishmentID);
+// switch(baContext.getStatus())
+// {
+//
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// try{
+// baContext.removeParticipant(enlishmentID);
+// int existingCount = baContext.getParticipantCount();
+// baContext.setParticipantCount(existingCount--);
+// baParticipantInfo.setStatus(Status.BACoordinatorStatus.STATUS_EXITING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_EXITING);
+// baContext.unlock();
+// this.CCExitedOperation(baContext,enlishmentID);
+//
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// try{
+// baContext.removeParticipant(enlishmentID);
+// int existingCount = baContext.getParticipantCount();
+// baContext.setParticipantCount(existingCount--);
+// baParticipantInfo.setStatus(Status.BACoordinatorStatus.STATUS_EXITING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_EXITING);
+// baContext.unlock();
+// this.CCExitedOperation(baContext,enlishmentID);
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_CANCELING_COMPLETING:
+// try{
+// baContext.removeParticipant(enlishmentID);
+// int existingCount = baContext.getParticipantCount();
+// baContext.setParticipantCount(existingCount--);
+// baParticipantInfo.setStatus(Status.BACoordinatorStatus.STATUS_EXITING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_EXITING);
+// baContext.unlock();
+// this.CCExitedOperation(baContext,enlishmentID);
+//
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting compensatingstate");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting active state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// try{
+// baContext.unlock();
+// this.CCExitedOperation(baContext,enlishmentID);
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// }
+// }
+////End CCExit
+//
+////2. start CCCompleted
+//public void CCCompletedOperation(BAActivityContext baContext, String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAParticipantInformation baParticipantInformation= baContext.getParticipant(enlishmentID);
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING_ACTIVE:
+// baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_CANCELLING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in canceling active state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// CCCloseOperation(baContext,enlishmentID);
+// throw new InvalidStateException(
+// "Coordinator is in faulting active state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting compensating state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// }
+//}
+////End - CCCompleted
+//
+//// 3. Start - Fault
+//public void CCFaultOperation(AbstractContext context, String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAActivityContext baContext = (BAActivityContext) context;
+// baContext.lock();
+// BAParticipantInformation baParticipantInformation= baContext.getParticipant(enlishmentID);
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// try{
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baContext.unlock();
+// this.CCFaultedOperation(baContext,enlishmentID);
+//
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_CANCELLING_ACTIVE:
+// try{
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baContext.unlock();
+// this.CCFaultedOperation(baContext,enlishmentID);
+//
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_CANCELING_COMPLETING:
+// try{
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baContext.unlock();
+// this.CCFaultedOperation(baContext,enlishmentID);
+//
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_COMPLETING:
+// try{
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_ACTIVE);
+// baContext.unlock();
+// this.CCFaultedOperation(baContext,enlishmentID);
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// try{
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING_COMPENSATING);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING_COMPENSATING);
+// this.CCFaultedOperation(baContext,enlishmentID);
+// baContext.unlock();
+// }
+// catch(Exception e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+//
+// case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+// this.PCFaultedOperation(baContext,enlishmentID);
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// }
+//}
+////End - Fault
+//
+////4. Canceled
+//public void CCCanceledOperation(BAActivityContext baContext,String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in Active state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completing state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting Compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting active state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// }
+// }
+////End Canceled
+//
+////5.Start -Closed
+//public void CCClosedOperation(BAActivityContext baContext,String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAParticipantInformation baPaticipantInformation = baContext.getParticipant(enlishmentID);
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in Active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING_ACTIVE:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in canceling active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELING_COMPLETING:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in canceling completing state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completing state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baContext.unlock();
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting Compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting active state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// }
+// }
+////End Closed
+//
+//// Start - Compensated
+//public void CCCompensatedOperation(BAActivityContext baContext,String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAParticipantInformation baPaticipantInformation = baContext.getParticipant(enlishmentID);
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in Active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING_ACTIVE:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in canceling active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELING_COMPLETING:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in canceling completing state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completing state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baContext.unlock();
+//
+// case BACoordinatorStatus.STATUS_FAULTING_COMPENSATING:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting Compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING_ACTIVE:
+// baPaticipantInformation.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baContext.setStatus(BACoordinatorStatus.STATUS_FAULTING);
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting active state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// }
+// }
+////End -Compensated
+//
+///**
+// * Handling Protocol Messages sent by the Coordinator[sent by participant] </a>
+// */
+//
+//public void CCCancelOperation(AbstractContext context,String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAActivityContext baContext = (BAActivityContext) context;
+// baContext.lock();
+// BAParticipantInformation cancelingParticipant = baContext.getParticipant(enlishmentID);
+// BACoordinatorCompletionParticipantServiceStub ccpsStub;
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// try{
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
+// Cancel cancelParam = new Cancel();
+// ccpsStub.CancelOperation(cancelParam);
+// baContext.setStatus(BACoordinatorStatus.STATUS_CANCELLING_ACTIVE);
+// cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_CANCELLING_ACTIVE);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// try{
+//
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
+// Cancel cancelParam = new Cancel();
+// ccpsStub.CancelOperation(cancelParam);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+//
+// case BACoordinatorStatus.STATUS_COMPLETING:
+// try{
+//
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
+// Cancel cancelParam = new Cancel();
+// ccpsStub.CancelOperation(cancelParam);
+// baContext.setStatus(BACoordinatorStatus.STATUS_CANCELING_COMPLETING);
+// cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_CANCELING_COMPLETING);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensated state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in ended state");
+// }
+//}//End Cancel
+//
+////Start - Complete
+//public void CCCompleteOperation(AbstractContext context,String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAActivityContext baContext = (BAActivityContext) context;
+// baContext.lock();
+// BAParticipantInformation cancelingParticipant = baContext.getParticipant(enlishmentID);
+// BACoordinatorCompletionParticipantServiceStub ccpsStub;
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// try{
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
+// Complete completeParam = new Complete();
+// ccpsStub.CompleteOperation(completeParam);
+// baContext.setStatus(BACoordinatorStatus.STATUS_COMPLETING);
+// cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_COMPLETING);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in cancelling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETING:
+// try{
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((cancelingParticipant.getEpr()).toString()));
+// Complete completeParam = new Complete();
+// ccpsStub.CompleteOperation(completeParam);
+// baContext.setStatus(BACoordinatorStatus.STATUS_COMPLETING);
+// cancelingParticipant.setStatus(BACoordinatorStatus.STATUS_COMPLETING);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in ended state");
+// }
+//}
+////End - Complete
+//
+////Start - Close
+//public void CCCloseOperation(BAActivityContext baContext,String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
+// baContext.lock();
+// BACoordinatorCompletionParticipantServiceStub ccpsStub;
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in cancelling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completing state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// try{
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
+// Close closeParam = new Close();
+// ccpsStub.CloseOperation(closeParam);
+// baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_CLOSING);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// try{
+//
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
+// Close closeParam = new Close();
+// ccpsStub.CloseOperation(closeParam);
+// baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_CLOSING);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+// }
+//}
+////End - Close
+//
+////Start - Compensate
+//public void CCCompensateOperation(BAActivityContext baContext,String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
+// baContext.lock();
+// BACoordinatorCompletionParticipantServiceStub ccpsStub;
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in cancelling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completing state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// try{
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
+// Compensate compensateParam = new Compensate();
+// ccpsStub.CompensateOperation(compensateParam);
+// baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_COMPENSATING);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in cancelling state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// try{
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
+// Compensate compensateParam = new Compensate();
+// ccpsStub.CompensateOperation(compensateParam);
+// baParticipantInformation.setStatus(BACoordinatorStatus.STATUS_COMPENSATING);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_FAULTING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+// }
+//}
+////End - compensate
+////Start -Failed
+//public void CCFaultedOperation(BAActivityContext baContext, String enlishmentID)
+//throws AbstractKandulaException
+//{
+// baContext.lock();
+// BAParticipantInformation baParticipantInformation = baContext.getParticipant(enlishmentID);
+// BACoordinatorCompletionParticipantServiceStub ccpsStub;
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in cancelling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completing state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING:
+// try{
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
+// Failed failedParam = new Failed();
+// ccpsStub.FailedOperation(failedParam);
+// baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baParticipantInformation.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in exiting state");
+//
+// case BACoordinatorStatus.STATUS_ENDED:
+// try{
+// String participantEndpointReference = baParticipantInformation.getEpr().toString();
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(participantEndpointReference);
+// Failed failedParam = new Failed();
+// ccpsStub.FailedOperation(failedParam);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+// }
+//
+//}
+////End - Failed
+////Start - Exited
+//public void CCExitedOperation(AbstractContext context,String enlishmentID)
+//throws AbstractKandulaException
+//{
+// BACoordinatorCompletionParticipantServiceStub ccpsStub;
+// BAActivityContext baContext = (BAActivityContext) context;
+// baContext.lock();
+// BAParticipantInformation exitingParticipant = baContext.getParticipant(enlishmentID);
+//
+// switch(baContext.getStatus())
+// {
+// case BACoordinatorStatus.STATUS_ACTIVE:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in active state");
+//
+// case BACoordinatorStatus.STATUS_CANCELLING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in canceling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in canceling state");
+//
+// case BACoordinatorStatus.STATUS_COMPLETED:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in completed state");
+//
+// case BACoordinatorStatus.STATUS_CLOSING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in closing state");
+//
+// case BACoordinatorStatus.STATUS_COMPENSATING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in compensating state");
+//
+// case BACoordinatorStatus.STATUS_FAULTING:
+// baContext.unlock();
+// throw new InvalidStateException(
+// "Coordinator is in faulting state");
+//
+// case BACoordinatorStatus.STATUS_EXITING:
+// try{
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((exitingParticipant.getEpr()).toString()));
+// Exited exitedParam = new Exited();
+// ccpsStub.ExitedOperation(exitedParam);
+// exitingParticipant.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
+// baContext.setStatus(BACoordinatorStatus.STATUS_ENDED);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
+// case BACoordinatorStatus.STATUS_ENDED:
+// try{
+// ccpsStub = new BACoordinatorCompletionParticipantServiceStub(((exitingParticipant.getEpr()).toString()));
+// Exited exitedParam = new Exited();
+// ccpsStub.ExitedOperation(exitedParam);
+// baContext.setStatus(Status.BACoordinatorStatus.STATUS_ENDED);
+// baContext.unlock();
+// }
+// catch(AxisFault e)
+// {
+// throw new KandulaGeneralException(e);
+// }
+// catch(Exception e)
+// {
+// //TODO
+// }
}
}