/**部署流程定义(根据ui.modeler的 modelId部署)
* @param modelId 模型ID
* @from fhadmin.cn
*/
protected String deploymentProcessDefinitionFromUIModelId(String modelId) throws Exception{
Model model = modelService.getModel(modelId);
BpmnModel bpmnModel = modelService.getBpmnModel(model);
Deployment deployment = repositoryService.createDeployment()
.name(model.getName())
.addBpmnModel(model.getKey() + ".bpmn", bpmnModel).deploy();
return deployment.getId(); //部署ID
}
/**部署流程定义(从Classpath)
* @param name //部署名称
* @param xmlpath //xml文件路径
* @param pngpath //png文件路径
* @from fhadmin.cn
*/
protected String deploymentProcessDefinitionFromClasspath(String name, String xmlpath, String pngpath){
DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); //创建部署对象
deploymentBuilder.name(name); //部署名称
deploymentBuilder.addClasspathResource(xmlpath); //从文件中读取xml资源
deploymentBuilder.addClasspathResource(pngpath); //从文件中读取png资源
Deployment deployment = deploymentBuilder.deploy(); //完成部署
return deployment.getId(); //部署ID
}
/**部署流程定义(从zip压缩包)
* @param name //部署名称
* @param zippath //zip文件路径
* @from fhadmin.cn
* @throws FileNotFoundException
*/
protected String deploymentProcessDefinitionFromZip(String name, String zippath) throws Exception{
File outfile = new File(zippath);
FileInputStream inputStream = new FileInputStream(outfile);
ZipInputStream ipInputStream = new ZipInputStream(inputStream);
DeploymentBuilder deploymentBuilder = repositoryService.createDeployment(); //创建部署对象
deploymentBuilder.name(name); //部署名称
deploymentBuilder.addZipInputStream(ipInputStream);
Deployment deployment = deploymentBuilder.deploy(); //完成部署
ipInputStream.close();
inputStream.close();
return deployment.getId(); //部署ID
}