1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java 文字添加触发_如何使用自定义触发器向camunda属性面板添加动态值到字段注入列表?...

java 文字添加触发_如何使用自定义触发器向camunda属性面板添加动态值到字段注入列表?...

时间:2019-02-13 13:35:09

相关推荐

java 文字添加触发_如何使用自定义触发器向camunda属性面板添加动态值到字段注入列表?...

对于对答案感兴趣的任何人,我能够通过更改Java Class选择输入的set函数来实现上述目标,如下所示

进口很少

var extensionElementsHelper = require('../../../../helper/ExtensionElementsHelper'),

elementHelper = require('../../../../helper/ElementHelper')

var CAMUNDA_FIELD_EXTENSION_ELEMENT = 'camunda:Field';

function getExtensionFields(bo) {

return bo && extensionElementsHelper.getExtensionElements(bo, CAMUNDA_FIELD_EXTENSION_ELEMENT) || [];

}

然后更改set函数以创建扩展元素并将字段值推送为:

set: function(element, values, node) {

var bo = getBusinessObject(element);

var type = getImplementationType(element);

var attr = getAttribute(type);

var prop = {}

var commands = [];

prop[attr] = values.delegate || '';

var extensionElements = getExtensionFields(bo);

//remove any extension elements existing before

extensionElements.forEach(function(ele){

commands.push(extensionElementsHelper.removeEntry(getBusinessObject(element), element, ele));

});

if(prop[attr] !== ""){

var extensionElements = elementHelper.createElement('bpmn:ExtensionElements', { values: [] }, bo, bpmnFactory);

commands.push(cmdHelper.updateBusinessObject(element, bo, { extensionElements: extensionElements }));

var arrProperties = ["private org.camunda.bpm.engine.delegate.Expression com.cfe.extensions.SampleJavaDelegate.varOne","private org.camunda.bpm.engine.delegate.Expression com.cfe.extensions.SampleJavaDelegate.varTwo"]

var newFieldElem = "";

arrProperties.forEach(function(prop){

var eachProp = {

name:"",

string:"",

expression:""

}

var type = prop.split(" ")[1].split(".").reverse()[0];

var val = prop.split(" ")[2].split(".").reverse()[0];

eachProp.name = val;

if( type == "String"){

eachProp.string = "${" + val +" }"

}else if( type == "Expression"){

eachProp.expression = "${" + val +" }"

}

newFieldElem = elementHelper.createElement(CAMUNDA_FIELD_EXTENSION_ELEMENT, eachProp, extensionElements, bpmnFactory);

commands.push(cmdHelper.addElementsTolist(element, extensionElements, 'values', [ newFieldElem ]));

});

}

commands.push(cmdHelper.updateBusinessObject(element, bo, prop));

return commands;

}

干杯!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。