flowable之将editor-app集成到task中

flowable之将editor-app集成到task中

**

因为最近实验室项目开发的需要,需要将modeler模块的editor-app集成到task中。 首先我们需要将task模块的editor-app文件复制到task模块的workflow下面,然后将里面module的flowableModeler改成flowableApp。 另外有一个细节需要注意,有时候程序会找不对应的js和css文件,你需要拷贝到外层,激活一下(这点不知为何,有知道的小伙伴可以解答一下)

在这里插入图片描述
接下来我们要做的是将流程实例读入到editor-app中,通过查看代码我们发现modeler的接口,我们需要将model的接口改成流程实例的接
口:

在这里插入图片描述
更改接口主代码为:

HistoricProcessInstance processInstance = historyService.createHistoricProcessInstanceQuery().processInstanceId(processInstanceId).singleResult();
String processDefId = processInstance.getProcessDefinitionId();
ProcessDefinition processDefiniton = repositoryService.createProcessDefinitionQuery().processDefinitionId(processDefId).singleResult();
BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefId);
Date deploymentTime = repositoryService.createDeploymentQuery().deploymentId(processDefiniton.getDeploymentId()).singleResult().getDeploymentTime();

ObjectNode BpmnmodelNode = objectMapper.createObjectNode();
String modelId="22c32914-d393-11ea-950f-fae4e3d6256d";
BpmnmodelNode.put("modelId",modelId );
BpmnmodelNode.put("name",processDefiniton.getName());
BpmnmodelNode.put("key",processDefiniton.getKey());
BpmnmodelNode.putPOJO("lastUpdated",deploymentTime);
BpmnmodelNode.put("lastUpdatedBy","admin");
BpmnJsonConverter bpmnJsonConverter = new BpmnJsonConverter();
ObjectNode BpmnmodelJson = bpmnJsonConverter.convertToJson(bpmnModel);
if (BpmnmodelJson!=null) {
    try {
        ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(String.valueOf(BpmnmodelJson));
        editorJsonNode.put("modelType", "model");
        editorJsonNode.put("modelId",modelId);
        BpmnmodelNode.set("model", editorJsonNode);
    } catch (Exception e) {
        //LOGGER.error("Error reading editor json {}", processInstanceId, e);
        throw new InternalServerErrorException("Error reading editor json " + processInstanceId);
    }

} else {
    ObjectNode editorJsonNode = objectMapper.createObjectNode();
    editorJsonNode.put("id", "canvas");
    editorJsonNode.put("resourceId", "canvas");
    ObjectNode stencilSetNode = objectMapper.createObjectNode();
    stencilSetNode.put("namespace", "http://b3mn.org/stencilset/bpmn2.0#");
    editorJsonNode.put("modelType", "model");
    BpmnmodelNode.set("model", editorJsonNode);
}
System.out.println(BpmnmodelJson);
return BpmnmodelNode;

综上,便可将流程实例读到编辑器中,后续将会将在编辑器中更改过的实例进行保存,待后续更新
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值