上次讲述了任务节点的扩展属性,这次讲解一下流程的扩展属性

前端

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-流程定义扩展属性相关推荐

  1. SpringBoot 集成Flowable设计器(Flowable-ui)

    一.项目场景: 提示:使用版本6.7.0 公司使用前后端项目分离,前端使用bpmn插件生成bpmn xml文件,后端解析处理数据.今天主要介绍后端集成flowable设计器的过程中遇到的问题. 如需了 ...

  2. python类属性初始化_Python类定义、属性、初始化和析构

    类的定义,属性和方法概念 方法中self的作用和意义 初始化( __init__ ) 和 析构方法( __del__ ) 类的定义 class 类名 实例 实例名 = 类名() 一个"实例& ...

  3. AE二次开发中几个功能速成归纳(符号设计器、创建要素、图形编辑、属性表编辑、缓冲区分析)...

    /** 实习课上讲进阶功能所用文档,因为赶时间从网上抄抄改改,凑合能用,记录一下以备个人后用.** -------------------------------------------------- ...

  4. idea安装activiti流程设计器_整合Activiti6.0流程设计器 | 字痕随行

    其它相关的文章索引: 最近一个多月都在尝试了解Activiti6.0,趁着放假整合编辑器这件事情终于有了些眉目,到此可以总结一下了. 第一步:下载源码 整合的时候肯定要从源码拷贝一些东西,有些问题出现 ...

  5. 写了一个在线流程设计器,效果很炫[Siverlight版本]

    组件描述 让流程配置不在繁琐死板,UI界面效果极炫,设计流程图(工作流)就像使用Office Visio,所见即所得,让您以及您的客户眼前为之一亮,要想看到在线DEMO,下载Siverlight 3以 ...

  6. web软件开发框架 WebBuilder 的流程设计器使用

    流程设计器 流程设计器用于设计工作流流程模板文件,该流程文件可以被运行以发起工作流.流程文件是以json格式组织的文件,默认存储在服务器端WebBuilder的资源目录wb/system/resour ...

  7. qt更改类名_Qt编写自定义控件属性设计器

    以前做.NET开发中,.NET直接就集成了属性设计器,VS不愧是宇宙第一IDE,你能够想到的都给你封装好了,用起来不要太爽!因为项目需要自从全面转Qt开发已经6年有余,在工业控制领域,有一些应用场景需 ...

  8. WF流程设计器升级说明

    WF流程设计器升级说明 目录 WF流程设计器升级说明    1 通用版    1 1.可打开,设计,保存所的xoml格式的工作流文件    1 2.提供了规则绑定    2 3.提供了绑定EventD ...

  9. NBS的N把“瑞士军刀”——产品解读之规则设计器

    在很多企业的 IT 业务系统中,经常会有大量的业务规则配置,而且随着企业管理者的决策变化,这些业务规则也会随之发生更改.为了适应这样的需求,我们的IT业务系统应该能快速且低成本地更新,一般的做法是将业 ...

最新文章

  1. 在Android使用XML文件控制按钮文字在各种状态下的颜色
  2. NAR:查询未培养病毒基因组的综合生态和进化框架IMG/VR v3
  3. Dalvik VM进程系统(二):分析Zygote的启动过程
  4. sqlserver 日常检查脚本
  5. ubuntu最基本的软件
  6. Lock同步锁--线程同步
  7. CSS中颜色代码和单位
  8. 深圳一 AI 公司人脸数据泄露,超 256万 用户敏感信息在“裸奔”!
  9. sap系统ftp服务器下文件,sap ftp服务器
  10. 【区块链】量子链命令行qtum-cli全命令详解
  11. acer 4741G驱动
  12. 视频倒立解决方法/USB 视频设备ID:USB\VID_13D3PID_5130MI_00\621DA5E0900000
  13. ThinkPHP5和ThinkPHP6的区别
  14. Qt之获取屏幕分辨率
  15. python idle背景设置为黑色_python IDLE颜色设置
  16. run `npm fund` for details
  17. 凯撒密码(移位加密)
  18. 使用Via浏览器+ADM下载器突破百度网盘下载限速
  19. 微信小程序隐藏分享按钮
  20. 活动图、类图、顺序图、状态图

热门文章

  1. Win10安装bash慢的解决方案
  2. gulp几个常见问题及解决方案
  3. Spark SQL中出现 CROSS JOIN 问题解决
  4. 无法捕获的ChuckNorrisException
  5. 如何检查JavaScript中的数字是否为NaN?
  6. 遍历Collection,避免在循环中删除对象时避免ConcurrentModificationException
  7. 什么是C ++中的“-gt;”运算符?
  8. sqlplus set;命令
  9. Directory File Disk Searcher
  10. 主流Java报表工具的比较