package com.mossle.humantask.listener; import javax.annotation.Resource; import com.mossle.api.humantask.HumanTaskConstants; import com.mossle.humantask.persistence.domain.TaskInfo; import com.mossle.humantask.persistence.manager.TaskParticipantManager; import com.mossle.spi.humantask.TaskDefinitionConnector; import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class TaskConfUserHumanTaskListener implements HumanTaskListener { private static Logger logger = LoggerFactory .getLogger(TaskConfUserHumanTaskListener.class); private TaskDefinitionConnector taskDefinitionConnector; private TaskParticipantManager taskParticipantManager; @Override public void onCreate(TaskInfo taskInfo) throws Exception { if (HumanTaskConstants.CATALOG_COPY.equals(taskInfo.getCatalog())) { return; } String taskDefinitionKey = taskInfo.getCode(); String businessKey = taskInfo.getBusinessKey(); String assignee = taskDefinitionConnector.findTaskConfUser( taskDefinitionKey, businessKey); if (assignee != null) { taskInfo.setAssignee(assignee); } } @Override public void onComplete(TaskInfo taskInfo) throws Exception { } @Resource public void setTaskDefinitionConnector( TaskDefinitionConnector taskDefinitionConnector) { this.taskDefinitionConnector = taskDefinitionConnector; } @Resource public void setTaskParticipantManager( TaskParticipantManager taskParticipantManager) { this.taskParticipantManager = taskParticipantManager; } }