saveMultiple = $saveMultiple; $this->logger = $logger; $this->stockSourceLinksValidator = $stockSourceLinksValidator; } /** * @param StockSourceLinkInterface[] $links * @throws CouldNotSaveException * @throws InputException * @throws ValidationException */ public function execute(array $links): void { if (empty($links)) { throw new InputException(__('Input data is empty')); } $validationResult = $this->stockSourceLinksValidator->validate($links); if (!$validationResult->isValid()) { throw new ValidationException(__('Validation Failed'), null, 0, $validationResult); } try { $this->saveMultiple->execute($links); } catch (Exception $e) { $this->logger->error($e->getMessage()); throw new CouldNotSaveException(__('Could not save StockSourceLinks'), $e); } } }