/** * * @param ServiceLocatorInterface $serviceLocator * @param DataTransferAgentInterface $dataTransferAgent * @param array $identifiers */ private function injectExecution(ServiceLocatorInterface $serviceLocator, DataTransferAgentInterface $dataTransferAgent, array $identifiers) { $execution = new Execution(); $em = $this->getEntityManager($serviceLocator); $processStateHandler = $this->getProcessStateHandler($serviceLocator); $process = $processStateHandler->getProcess($identifiers['mode'], $identifiers['type'], $identifiers['endpoint'], $identifiers['annee']); $process->setInterrupted(false); $execution->setProcess($process); $process->addExecution($execution); // exceptions rattrapées plus haut $em->persist($execution); $dataTransferAgent->setExecution($execution); $dataTransferAgent->setProcessIdentifiers($identifiers); $em->flush($process); }