package com.opentravelsoft.action.manage; import java.util.List; import org.activiti.engine.ProcessEngine; import org.activiti.engine.repository.DeploymentBuilder; import org.activiti.engine.repository.ProcessDefinition; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.annotation.Autowired; import com.opentravelsoft.BaseAction; /** * 发布工作流 * * @author <a herf="mailto:zhangsitao@gmail.com">Steven Zhang</a> */ public class DeployAction extends BaseAction { private static final long serialVersionUID = -6773542712338723141L; protected static final Log logger = LogFactory.getLog(DeployAction.class); private List<ProcessDefinition> definitions; private String srcClasspath; @Autowired private ProcessEngine processEngine; @Override public String execute() { definitions = processEngine.getRepositoryService() .createProcessDefinitionQuery().list(); return SUCCESS; } public String submit() { DeploymentBuilder builder = processEngine.getRepositoryService() .createDeployment(); String deploymentId = builder.addClasspathResource(srcClasspath).deploy() .getId(); logger.debug("Deployment ID:" + deploymentId); addActionMessage("Deloy process success."); return SUCCESS; } public List<ProcessDefinition> getDefinitions() { return definitions; } public String getSrcClasspath() { return srcClasspath; } public void setSrcClasspath(String srcClasspath) { this.srcClasspath = srcClasspath; } }