package org.activiti.crystalball.simulator.impl.cmd; import org.activiti.crystalball.simulator.impl.context.SimulationContext; import org.activiti.crystalball.simulator.impl.interceptor.Command; import org.activiti.crystalball.simulator.impl.interceptor.CommandContext; import org.activiti.crystalball.simulator.impl.persistence.entity.ResultEntity; import java.util.Map; public class SaveResultCmd implements Command<ResultEntity> { protected String type = null; protected Map<String, Object> variables; public SaveResultCmd(String type, Map<String, Object> variables) { this.type = type; this.variables = variables; } @Override public ResultEntity execute(CommandContext commandContext) { ResultEntity resultEntity = new ResultEntity(); resultEntity.setId(null); if (SimulationContext.getSimulationRun() != null) resultEntity.setRunId(SimulationContext.getSimulationRun().getId()); resultEntity.setType(type); commandContext.getResultEntityManager().insert( resultEntity); if (variables != null) { resultEntity.setVariables(variables); } return resultEntity; } }