flowable设计器节点属性扩展_Flowable-流程定义扩展属性
上次讲述了任务节点的扩展属性,这次讲解一下流程的扩展属性
前端
1 stencilset_bpmn.json 中增加属性
{
"name" : "process_devicetypepackage",
"properties" : [ {
"id" : "processdevicetype",
"type" : "String",
"title" : "流程显示端",
"value" : "",
"description" : "Which group, can start the process?",
"popular" : true
} ]
}
2 把此新增属性添加到 BPMNDiagram 属性中
"propertyPackages" : [ "process_idpackage", "namepackage", "documentationpackage", "process_authorpackage", "process_versionpackage", "process_namespacepackage", "process_historylevelpackage", "isexecutablepackage", "datapropertiespackage", "executionlistenerspackage", "eventlistenerspackage", "signaldefinitionspackage", "messagedefinitionspackage", "process_potentialstarteruserpackage","process_potentialstartergrouppackage", "process_iseagerexecutionfetchpackage", "process_devicetypepackage" ]
此时,前端展示为:
流程定义扩展属性.png
后端
1 BaseBpmnJsonConverter 中 convertToJson 中增加代码为:
在 此方法中这个判断里面
if (baseElement instanceof FlowElement) {
FlowElement flowElement = (FlowElement) baseElement;
if (StringUtils.isNotEmpty(flowElement.getName())) {
propertiesNode.put(PROPERTY_NAME, flowElement.getName());
}
if (StringUtils.isNotEmpty(flowElement.getDocumentation())) {
propertiesNode.put(PROPERTY_DOCUMENTATION, flowElement.getDocumentation());
}
Map> extensionElements = flowElement.getExtensionElements();
List elements = extensionElements.get(PROCESS_DEVICE_TYPE_NODE_KEY);
if (CollectionUtils.isNotEmpty(elements)){
for (ExtensionElement extensionElement:elements){
if (extensionElement.getName().equals(PROCESS_DEVICE_TYPE_NODE_KEY)){
propertiesNode.put(PROCESS_DEVICE_TYPE_NODE,extensionElement.getElementText());
}
}
}
}
2 BpmnJsonConverter 中 convertToJson 方法
if (mainProcess.getExtensionElements().containsKey(PROCESS_DEVICE_TYPE)) {
List elements = mainProcess.getExtensionElements().get(PROCESS_DEVICE_TYPE);
if (elements != null && elements.size() > 0) {
String processDeviceType = elements.get(0).getElementText();
if (StringUtils.isNotEmpty(processDeviceType)) {
propertiesNode.put(PROCESS_DEVICE_TYPE_NODE, processDeviceType);
}
}
}
3 BpmnJsonConverter 中 convertToBpmnModel 方法 在判断中增加
if (!nonEmptyPoolFound) {}
String processDeviceType = BpmnJsonConverterUtil.getPropertyValueAsString(PROCESS_DEVICE_TYPE, modelNode);
if (StringUtils.isNotEmpty(processDeviceType)) {
ExtensionElement extensionElement = new ExtensionElement();
extensionElement.setName(PROCESS_DEVICE_TYPE);
extensionElement.setNamespace("http://flowable.org/bpmn");
extensionElement.setNamespacePrefix("flowable");
extensionElement.setElementText(processDeviceType);
process.addExtensionElement(extensionElement);
}
此时,流程定义的扩展属性增加完成。
flowable设计器节点属性扩展_Flowable-流程定义扩展属性相关推荐
- SpringBoot 集成Flowable设计器(Flowable-ui)
一.项目场景: 提示:使用版本6.7.0 公司使用前后端项目分离,前端使用bpmn插件生成bpmn xml文件,后端解析处理数据.今天主要介绍后端集成flowable设计器的过程中遇到的问题. 如需了 ...
- python类属性初始化_Python类定义、属性、初始化和析构
类的定义,属性和方法概念 方法中self的作用和意义 初始化( __init__ ) 和 析构方法( __del__ ) 类的定义 class 类名 实例 实例名 = 类名() 一个"实例& ...
- AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)...
/** 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用.** -------------------------------------------------- ...
- idea安装activiti流程设计器_整合Activiti6.0流程设计器 | 字痕随行
其它相关的文章索引: 最近一个多月都在尝试了解Activiti6.0,趁着放假整合编辑器这件事情终于有了些眉目,到此可以总结一下了. 第一步:下载源码 整合的时候肯定要从源码拷贝一些东西,有些问题出现 ...
- 写了一个在线流程设计器,效果很炫[Siverlight版本]
组件描述 让流程配置不在繁琐死板,UI界面效果极炫,设计流程图(工作流)就像使用Office Visio,所见即所得,让您以及您的客户眼前为之一亮,要想看到在线DEMO,下载Siverlight 3以 ...
- web软件开发框架 WebBuilder 的流程设计器使用
流程设计器 流程设计器用于设计工作流流程模板文件,该流程文件可以被运行以发起工作流.流程文件是以json格式组织的文件,默认存储在服务器端WebBuilder的资源目录wb/system/resour ...
- qt更改类名_Qt编写自定义控件属性设计器
以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用场景需 ...
- WF流程设计器升级说明
WF流程设计器升级说明 目录 WF流程设计器升级说明 1 通用版 1 1.可打开,设计,保存所的xoml格式的工作流文件 1 2.提供了规则绑定 2 3.提供了绑定EventD ...
- NBS的N把“瑞士军刀”——产品解读之规则设计器
在很多企业的 IT 业务系统中,经常会有大量的业务规则配置,而且随着企业管理者的决策变化,这些业务规则也会随之发生更改.为了适应这样的需求,我们的IT业务系统应该能快速且低成本地更新,一般的做法是将业 ...
最新文章
- 在Android使用XML文件控制按钮文字在各种状态下的颜色
- NAR:查询未培养病毒基因组的综合生态和进化框架IMG/VR v3
- Dalvik VM进程系统(二):分析Zygote的启动过程
- sqlserver 日常检查脚本
- ubuntu最基本的软件
- Lock同步锁--线程同步
- CSS中颜色代码和单位
- 深圳一 AI 公司人脸数据泄露,超 256万 用户敏感信息在“裸奔”!
- sap系统ftp服务器下文件,sap ftp服务器
- 【区块链】量子链命令行qtum-cli全命令详解
- acer 4741G驱动
- 视频倒立解决方法/USB 视频设备ID:USB\VID_13D3PID_5130MI_00\621DA5E0900000
- ThinkPHP5和ThinkPHP6的区别
- Qt之获取屏幕分辨率
- python idle背景设置为黑色_python IDLE颜色设置
- run `npm fund` for details
- 凯撒密码(移位加密)
- 使用Via浏览器+ADM下载器突破百度网盘下载限速
- 微信小程序隐藏分享按钮
- 活动图、类图、顺序图、状态图