blob: c2772a929972dbe82e6681eeb6901404d2a551e1 [file] [log] [blame]
package org.apache.kandula.integration.ba;
import org.apache.kandula.Status;
import org.apache.kandula.ba.BusinessActivityCallBack;
import org.apache.kandula.ba.MixedBusinessActivity;
import org.apache.kandula.coordinator.ba.BAParticipantInformation;
public class DemoServiceActivityCallBack extends BusinessActivityCallBack {
public DemoServiceActivityCallBack() {
super();
}
public void onComplete() {
try {
MixedBusinessActivity mixedBusinessActivity = (MixedBusinessActivity)businessActivity;
//choose just one airline
BAParticipantInformation emirates = mixedBusinessActivity.getParticipant("EmiratesAirlineBooking");
BAParticipantInformation srilankan = mixedBusinessActivity.getParticipant("SriLankanAirlineBooking");
BAParticipantInformation singapore = mixedBusinessActivity.getParticipant("SingaporeAirlineBooking");
if (srilankan!=null && (srilankan.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
mixedBusinessActivity.addParticipantToCloseList(srilankan);
mixedBusinessActivity.addParticipantToCompensateList(emirates);
mixedBusinessActivity.addParticipantToCompensateList(singapore);
}else if (emirates!=null && (emirates.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
mixedBusinessActivity.addParticipantToCloseList(emirates);
mixedBusinessActivity.addParticipantToCompensateList(srilankan);
mixedBusinessActivity.addParticipantToCompensateList(singapore);
}else if (singapore!=null && (singapore.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
mixedBusinessActivity.addParticipantToCloseList(singapore);
mixedBusinessActivity.addParticipantToCompensateList(emirates);
mixedBusinessActivity.addParticipantToCompensateList(srilankan);
}
BAParticipantInformation taj = mixedBusinessActivity.getParticipant("TajHotelBooking");
BAParticipantInformation hilton = mixedBusinessActivity.getParticipant("HiltonHotelBooking");
if (taj!=null && (taj.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
mixedBusinessActivity.addParticipantToCloseList(taj);
mixedBusinessActivity.addParticipantToCompensateList(hilton);
}else if (hilton!=null && (hilton.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
mixedBusinessActivity.addParticipantToCloseList(hilton);
mixedBusinessActivity.addParticipantToCompensateList(taj);
}
BAParticipantInformation hertz = mixedBusinessActivity.getParticipant("HertzCarBooking");
BAParticipantInformation malkey = mixedBusinessActivity.getParticipant("MalkeyCarBooking");
if (hertz!=null && (hertz.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
mixedBusinessActivity.addParticipantToCloseList(hertz);
mixedBusinessActivity.addParticipantToCompensateList(malkey);
}else if (malkey!=null && (malkey.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
mixedBusinessActivity.addParticipantToCloseList(malkey);
mixedBusinessActivity.addParticipantToCompensateList(hertz);
}
BAParticipantInformation map = mixedBusinessActivity.getParticipant("MapOrder");
if (map!=null && (map.getStatus()==Status.BACoordinatorStatus.STATUS_COMPLETED)){
mixedBusinessActivity.addParticipantToCloseList(map);
}else
{
mixedBusinessActivity.addParticipantToCompensateList(map);
}
mixedBusinessActivity.finalizeActivity();
} catch (Exception e) {
e.printStackTrace();
}
}
/* public void onComplete() {
try {
((AtomicBusinessActivity)businessActivity).closeActivity();
} catch (Exception e) {
e.printStackTrace();
}
}*/
}