flowable自定义节点属性
1、模板定义xml中增加如下内容(节点标签下extensionElements增加自定义属性(标签)):
2、自定义任务解析器CustomUserTaskJsonConverter extends UserTaskJsonConverter
重写convertElementToJson方法,增加以下内容
重写convertJsonToElement方法
@Override
protected FlowElement convertJsonToElement(JsonNode elementNode, JsonNode modelNode,
Map<String, JsonNode> shapeMap) {
UserTask flowElement = (UserTask) super.convertJsonToElement(elementNode, modelNode, shapeMap);
LOGGER.info("进入自定义属性解析");
if(flowElement instanceof UserTask){
String customSetting = getPropertyValueAsString("customSetting",elementNode);
if(StringUtils.isNotBlank(customSetting)){
LOGGER.info("新增自定义属性[customSetting]="+customSetting);
ExtensionAttribute ea1 = generateExtensionAttribute("customSetting",customSetting);
flowElement.addAttribute(ea1);
}
// addExtensionElement("customSetting", customSetting, flowElement);
}
return flowElement;
}
public static ExtensionAttribute generateExtensionAttribute(String key, String val){
ExtensionAttribute ea = new ExtensionAttribute();
ea.setNamespace("http://flowable.org/bpmn");
ea.setName(key);
ea.setNamespacePrefix("custom");
ea.setValue(val);
return ea;
}
3、自定义CustomBpmnJsonConverter 继承BpmnJsonConverter
public class CustomBpmnJsonConverter extends BpmnJsonConverter {
static {
convertersToBpmnMap.put(STENCIL_TASK_USER,CustomUserTaskJsonConverter.class);
}
}
还没有评论,来说两句吧...