package com.mossle.humantask.rule; import java.util.Collections; import java.util.List; import com.mossle.core.spring.ApplicationContextHelper; import com.mossle.spi.process.InternalProcessConnector; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; /** * 对应环节的负责人. * */ public class ActivityAssigneeRule implements AssigneeRule { private static Logger logger = LoggerFactory .getLogger(ActivityAssigneeRule.class); // TODO: initiator这个在这里当做processInstanceId使用的。以后改。 public List<String> process(String value, String initiator) { if (StringUtils.isBlank(value)) { logger.info("value is blank"); return Collections.emptyList(); } String[] array = value.split(":"); if (array.length < 2) { logger.info("value is invalid : {}", value); return Collections.emptyList(); } String processInstanceId = initiator; String activityId = array[1]; String userId = ApplicationContextHelper.getBean( InternalProcessConnector.class).findAssigneeByActivityId( processInstanceId, activityId); return Collections.singletonList(userId); } public String process(String initiator) { return null; } }