|
2 | 2 |
|
3 | 3 | namespace ProcessMaker\Nayra\Bpmn; |
4 | 4 |
|
| 5 | +use ProcessMaker\Nayra\Contracts\Bpmn\CatchEventInterface; |
5 | 6 | use ProcessMaker\Nayra\Contracts\Bpmn\CollectionInterface; |
| 7 | +use ProcessMaker\Nayra\Contracts\Bpmn\EndEventInterface; |
6 | 8 | use ProcessMaker\Nayra\Contracts\Bpmn\EventDefinitionInterface; |
7 | 9 | use ProcessMaker\Nayra\Contracts\Bpmn\EventInterface; |
8 | 10 | use ProcessMaker\Nayra\Contracts\Bpmn\FlowInterface; |
| 11 | +use ProcessMaker\Nayra\Contracts\Bpmn\MessageEventDefinitionInterface; |
| 12 | +use ProcessMaker\Nayra\Contracts\Bpmn\ThrowEventInterface; |
9 | 13 | use ProcessMaker\Nayra\Contracts\Bpmn\TokenInterface; |
10 | 14 | use ProcessMaker\Nayra\Contracts\Bpmn\TransitionInterface; |
11 | 15 | use ProcessMaker\Nayra\Contracts\Engine\EngineInterface; |
@@ -116,7 +120,11 @@ public function execute(EventDefinitionInterface $eventDef, ExecutionInstanceInt |
116 | 120 | $process = $this->getOwnerProcess(); |
117 | 121 | $data = $eventDefinition->getPayloadData($token, $this); |
118 | 122 | $dataStorage = $process->getRepository()->createDataStore(); |
119 | | - $dataStorage->setData($data); |
| 123 | + $sourceHasDataMapping = $token?->getOwnerElement()?->getDataInputs()?->count(); |
| 124 | + $targetHasDataMapping = $this->getDataOutputAssociations()?->count(); |
| 125 | + if (!$sourceHasDataMapping && !$targetHasDataMapping) { |
| 126 | + $dataStorage->setData($data); |
| 127 | + } |
120 | 128 | $instance = $process->getEngine()->createExecutionInstance($process, $dataStorage); |
121 | 129 | } |
122 | 130 | $this->triggerPlace[$index]->addNewToken($instance); |
|
0 commit comments