/** * Process integration connector * * @param Integration $integration Integration object * @param ConnectorInterface $connector Connector object * @param array $parameters Connector additional parameters * * @return Status */ protected function processIntegrationConnector(Integration $integration, ConnectorInterface $connector, array $parameters = []) { try { $this->logger->info(sprintf('Start processing "%s" connector', $connector->getType())); $jobName = $connector->getImportJobName(); $processorAliases = $this->processorRegistry->getProcessorAliasesByEntity(ProcessorRegistry::TYPE_IMPORT, $connector->getImportEntityFQCN()); } catch (\Exception $exception) { // log and continue $this->logger->error($exception->getMessage(), ['exception' => $exception]); $status = $this->createConnectorStatus($connector)->setCode(Status::STATUS_FAILED)->setMessage($exception->getMessage()); $this->addConnectorStatusAndFlush($integration, $status); return $status; } $configuration = [ProcessorRegistry::TYPE_IMPORT => array_merge(['processorAlias' => reset($processorAliases), 'entityName' => $connector->getImportEntityFQCN(), 'channel' => $integration->getId(), 'channelType' => $integration->getType()], $parameters)]; return $this->processImport($connector, $jobName, $configuration, $integration); }