package org.camunda.bpm.needle.example; import java.io.Serializable; import java.util.Map; import javax.inject.Inject; import javax.inject.Named; import org.apache.commons.lang3.StringUtils; import org.camunda.bpm.engine.RuntimeService; import org.camunda.bpm.engine.runtime.ProcessInstance; import com.google.common.base.Preconditions; import com.google.common.collect.Maps; /** * @author Jan Galinski, Holisticon AG */ @Named public class TestProcessStarterBean implements Serializable, TestProcessStarter { public static Map<String, Object> variablesStartedByUser(String startedByUser) { Preconditions.checkArgument(StringUtils.isNotBlank(startedByUser)); final Map<String, Object> variables = Maps.newHashMap(); variables.put(VARIABLE_STARTED_BY, startedByUser); return variables; } public static final String PROCESS_KEY = "test-process"; @Inject private RuntimeService runtimeService; @Override public ProcessInstance startProcessWithUser(String startedByUser, String businessKey) { return runtimeService.startProcessInstanceByKey(PROCESS_KEY, businessKey, variablesStartedByUser(startedByUser)); } }