1.演示

2.导入方法
先验证导入文件格式是否已.bpmn20.xml结尾,再实现部署。
- 检查流程文件格式
RetBeanData retBeanData = new RetBeanData();
Map<String, Object> map = new HashMap<>();
map.put("name", file.getOriginalFilename());
boolean temp = Objects.requireNonNull(file.getOriginalFilename()).endsWith(FlowEngineConstant.SUFFIX);
map.put("success", temp);
retBeanData.setData(map);
return retBeanData;
- 上传部署流程文件
public Object managerDeployUpload(MultipartFile file, String category, String[] tenantIds) {
try {
String fileName = file.getOriginalFilename();
InputStream fileInputStream = file.getInputStream();
byte[] bytes = this.copyToByteArray(fileInputStream);
if (!StringUtil.isEmpty(tenantIds)) {
for (String tenantId : tenantIds) {
Deployment deployment = repositoryService.createDeployment().addBytes(fileName, bytes).tenantId(tenantId).deploy();
deploy(deployment, category);
}
} else {
Deployment deployment = repositoryService.createDeployment().addBytes(fileName, bytes).deploy();
deploy(deployment, category);
}
} catch (IOException e) {
e.printStackTrace();
}
return new RetBean();
}
public byte[] copyToByteArray(InputStream in) throws IOException {
if (in == null) {
return new byte[0];
} else {
ByteArrayOutputStream out = new ByteArrayOutputStream(4096);
Assert.notNull(in, "No InputStream specified");
Assert.notNull(out, "No OutputStream specified");
int var2;
try {
var2 = StreamUtils.copy(in, out);
} finally {
in.close();
out.close();
}
return out.toByteArray();
}
}
public Object deploy(Deployment deployment, String category) {
List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).list();
// 设置流程分类
for (ProcessDefinition processDefinition : list) {
if (!StringUtil.isEmpty(category)) {
repositoryService.setProcessDefinitionCategory(processDefinition.getId(), category);
}
}
if (list.size() == 0) {
return new RetBean().backError();
} else {
return new RetBean();
}
}
该代码段展示了如何验证并部署BPMN2.0流程文件。首先,检查文件名是否以'bpmn20.xml'结尾,然后读取文件并上传进行部署。如果指定了租户ID,则为每个租户部署;否则,不指定租户进行部署。同时,对部署的流程文件设置分类。
2257

被折叠的 条评论
为什么被折叠?



