package org.enhydra.shark.assignment;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import org.enhydra.shark.api.client.wfmc.wapi.WMSessionHandle;
import org.enhydra.shark.api.internal.assignment.AssignmentManager;
import org.enhydra.shark.api.internal.assignment.PerformerData;
import org.enhydra.shark.api.internal.partmappersistence.ParticipantMappingManager;
import org.enhydra.shark.api.internal.usergroup.UserGroupManager;
import org.enhydra.shark.api.internal.working.CallbackUtilities;
/**
* @author Sasa Bojanic
*/
public class XPDLStraightParticipantMappingAssignmentManager implements AssignmentManager {
private CallbackUtilities cus;
public void configure(CallbackUtilities cus) throws Exception {
this.cus = cus;
}
public List getAssignments(WMSessionHandle shandle,
String procId,
String actId,
String processRequesterId,
PerformerData xpdlParticipant,
List xpdlResponsibleParticipants) throws Exception {
List toRet = new ArrayList();
if (xpdlParticipant != null
&& xpdlParticipant.participantIdOrExpression != null
&& !xpdlParticipant.participantIdOrExpression.equals("")) {
toRet.add(xpdlParticipant.participantIdOrExpression);
return toRet;
}
if (xpdlResponsibleParticipants != null && xpdlResponsibleParticipants.size() > 0) {
Iterator it = xpdlResponsibleParticipants.iterator();
while (it.hasNext()) {
PerformerData pd = (PerformerData) it.next();
if (pd.participantIdOrExpression != null) {
toRet.add(pd.participantIdOrExpression);
}
}
if (toRet.size() > 0) {
return toRet;
}
}
toRet.add(processRequesterId);
return toRet;
}
public ParticipantMappingManager getParticipantMapPersistenceManager() {
return null;
}
public UserGroupManager getUserGroupManager() {
return null;
}
}
|