src/org/apache/kandula/ba/MixedBusinessActivity.java (43 lines of code) (raw):

package org.apache.kandula.ba; import java.util.ArrayList; import org.apache.kandula.Constants; import org.apache.kandula.context.impl.BAActivityContext; import org.apache.kandula.coordinator.Coordinator; import org.apache.kandula.coordinator.ba.BACoordinator; import org.apache.kandula.coordinator.ba.BAParticipantInformation; import org.apache.kandula.faults.AbstractKandulaException; public class MixedBusinessActivity extends BusinessActivity { private ArrayList closeParticipantsList; private ArrayList compensateParticipantsList; public MixedBusinessActivity(long expires ) throws AbstractKandulaException { closeParticipantsList = new ArrayList(); compensateParticipantsList = new ArrayList(); Coordinator coordinator = new Coordinator(); context = (BAActivityContext)coordinator.createCoordinationContext(Constants.WS_BA_ATOMIC, expires); } public void addParticipantToCloseList(BAParticipantInformation participantInformation) { closeParticipantsList.add(participantInformation); } public void addParticipantToCompensateList(BAParticipantInformation participantInformation) { if (participantInformation!=null) compensateParticipantsList.add(participantInformation); } public void addParticipantToCloseList(String participantID) { BAParticipantInformation participantInformation = context.getParticipant(participantID); closeParticipantsList.add(participantInformation); } public void addParticipantToCompensateList(String participantID) { BAParticipantInformation participantInformation = context.getParticipant(participantID); compensateParticipantsList.add(participantInformation); } public void finalizeActivity() throws AbstractKandulaException { BACoordinator coordinator = new BACoordinator(); coordinator.finalizeMixedOutcomeActivity(context,closeParticipantsList,compensateParticipantsList); } }