Example #1
0
 /**
  * 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);
 }