blob: 33be9b920053a86ba1d4d67b2ca3e7d90f6ab59d [file] [log] [blame]
/*
* Copyright 2004 The Apache Software Foundation.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
package org.apache.kandula.coordinator.ba;
import org.apache.axis2.AxisFault;
import org.apache.axis2.addressing.EndpointReference;
import org.apache.kandula.Status;
import org.apache.kandula.Status.BACoordinatorStatus;
import org.apache.kandula.context.AbstractContext;
import org.apache.kandula.context.impl.BAActivityContext;
import org.apache.kandula.coordinator.Registerable;
import org.apache.kandula.faults.AbstractKandulaException;
import org.apache.kandula.faults.InvalidStateException;
import org.apache.kandula.faults.KandulaGeneralException;
import org.apache.kandula.wsba.BACoordinatorCompletionParticipantServiceStub;
import org.apache.kandula.wsba.BAParticipantCompletionParticipantServiceStub;
import org.oasis_open.docs.ws_tx.wsba._2006._06.Cancel;
import org.oasis_open.docs.ws_tx.wsba._2006._06.Close;
import org.oasis_open.docs.ws_tx.wsba._2006._06.Compensate;
import org.oasis_open.docs.ws_tx.wsba._2006._06.Complete;
import org.oasis_open.docs.ws_tx.wsba._2006._06.Exited;
import org.oasis_open.docs.ws_tx.wsba._2006._06.Failed;
/**
* @author <a href="mailto:thilina@opensource.lk"> Thilina Gunarathne </a>
*/
public class BACoordinator implements Registerable
{
public BACoordinator()
{
}
//Start - Register
/*public EndpointReference register(AbstractContext context, String protocol,
EndpointReference participantEPR) throws AbstractKandulaException
{
EndpointReference registeredParticipantEPR = null;
BAActivityContext baContext = (BAActivityContext) context;
if(baContext.getCoordinationType().equals(Constants.WS_BA_ATOMIC))
{
AtomicBACoordinator atomicBACoordinator = new AtomicBACoordinator();
registeredParticipantEPR = atomicBACoordinator.registerBAAtomicParticipants(baContext,protocol,participantEPR);
}
if(baContext.getCoordinationType().equals(Constants.WS_BA_MIXED))
{
MixedBACoordinator mixedBACoordinator = new MixedBACoordinator();
registeredParticipantEPR = mixedBACoordinator.registerBAMixedParticipants(baContext,protocol,participantEPR);
}
return registeredParticipantEPR;
}*/
//End -Register
public EndpointReference register(AbstractContext context, String protocol,
EndpointReference participantEPR)throws AbstractKandulaException
{
BAActivityContext baContext = (BAActivityContext) context;
baContext.lock();
int coordinatorStatus = baContext.getStatus();
if(coordinatorStatus ==(BACoordinatorStatus.STATUS_CLOSING))
{
baContext.unlock();
throw new InvalidStateException ("Coordinator is in closing status ");
}else if(coordinatorStatus ==(BACoordinatorStatus.STATUS_COMPENSATING))
{
baContext.unlock();
throw new InvalidStateException ("Coordinator is in compensating status ");
}
else
{
EndpointReference epr = baContext.addParticipant(participantEPR,
protocol);
baContext.unlock();
return epr;
}
}
/**
* Coordinator View of BusinessAgreement with Participant Completion
*/
//*********************************************************************************
/*
* Handling Protocol Messages recieved by the Coordinator[sent by participant] </a>
*/
// 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
// }
}
}
//End - Exited
}