Я пытаюсь создать процесс с промежуточным событием Catching с условным выражением. Я вижу, что SignalEventDefinition
имеет свойство под названием signalExpression
. Но почему-то я не могу его использовать.
Вот код из BaseBpmnXMLConverter.
protected void writeSignalDefinition(Event parentEvent, SignalEventDefinition signalDefinition, XMLStreamWriter xtw) throws Exception {
xtw.writeStartElement(ELEMENT_EVENT_SIGNALDEFINITION);
writeDefaultAttribute(ATTRIBUTE_SIGNAL_REF, signalDefinition.getSignalRef(), xtw);
if (parentEvent instanceof ThrowEvent && signalDefinition.isAsync()) {
BpmnXMLUtil.writeQualifiedAttribute(ATTRIBUTE_ACTIVITY_ASYNCHRONOUS, "true", xtw);
}
boolean didWriteExtensionStartElement = BpmnXMLUtil.writeExtensionElements(signalDefinition, false, xtw);
if (didWriteExtensionStartElement) {
xtw.writeEndElement();
}
xtw.writeEndElement();
}
Я не вижу, как мы можем создать signalExpression внутри signalEventDefinition
.
Я даже вижу, что signalExpression рассматривается как в IntermediateCatchSignalEventActivityBehavior
, так и в EventValidator
. Похоже, я не знаю, как использовать signalExpression внутри события перехвата. Может кто-нибудь, пожалуйста, помогите мне найти правильный путь.
Я использую Activiti 6.0 и свой собственный пользовательский интерфейс для создания модели BPMN, которая, в свою очередь, вызывает activiti-bpmn-converter для генерации определения процесса XML.