package hudson.drools;
import static hudson.drools.Constants.RUN;
import java.util.HashMap;
import java.util.Map;
import org.drools.runtime.StatefulKnowledgeSession;
import org.drools.runtime.process.ProcessInstance;
public class StartProcessCallable implements SessionCallable<ProcessInstance> {
private final DroolsRun run;
private final String processId;
public StartProcessCallable(DroolsRun run, String processId) {
this.run = run;
this.processId = processId;
}
public ProcessInstance call(StatefulKnowledgeSession session)
throws Exception {
Map<String, Object> parameters = new HashMap<String, Object>();
parameters.put(RUN, new RunWrapper(run));
long processInstanceId = session.startProcess(processId, parameters)
.getId();
ProcessInstance instance = session
.getProcessInstance(processInstanceId);
return instance;
}
}