Skip to content

Commit 9377763

Browse files
committed
Refactor StartEventTrait to conditionally set data in data storage based on data mapping presence
1 parent bb6884f commit 9377763

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/ProcessMaker/Nayra/Bpmn/StartEventTrait.php

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,14 @@
22

33
namespace ProcessMaker\Nayra\Bpmn;
44

5+
use ProcessMaker\Nayra\Contracts\Bpmn\CatchEventInterface;
56
use ProcessMaker\Nayra\Contracts\Bpmn\CollectionInterface;
7+
use ProcessMaker\Nayra\Contracts\Bpmn\EndEventInterface;
68
use ProcessMaker\Nayra\Contracts\Bpmn\EventDefinitionInterface;
79
use ProcessMaker\Nayra\Contracts\Bpmn\EventInterface;
810
use ProcessMaker\Nayra\Contracts\Bpmn\FlowInterface;
11+
use ProcessMaker\Nayra\Contracts\Bpmn\MessageEventDefinitionInterface;
12+
use ProcessMaker\Nayra\Contracts\Bpmn\ThrowEventInterface;
913
use ProcessMaker\Nayra\Contracts\Bpmn\TokenInterface;
1014
use ProcessMaker\Nayra\Contracts\Bpmn\TransitionInterface;
1115
use ProcessMaker\Nayra\Contracts\Engine\EngineInterface;
@@ -116,7 +120,11 @@ public function execute(EventDefinitionInterface $eventDef, ExecutionInstanceInt
116120
$process = $this->getOwnerProcess();
117121
$data = $eventDefinition->getPayloadData($token, $this);
118122
$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+
}
120128
$instance = $process->getEngine()->createExecutionInstance($process, $dataStorage);
121129
}
122130
$this->triggerPlace[$index]->addNewToken($instance);

0 commit comments

Comments
 (0)