/**
  * @param NewsletterSubscriber[] $items
  */
 public function write(array $items)
 {
     parent::write($items);
     // Save minimum originId received by initial sync for further filtering in case of failure
     $lastSubscriber = $items[count($items) - 1];
     $transport = $lastSubscriber->getChannel()->getTransport();
     if ($transport instanceof MagentoSoapTransport) {
         /** @var MagentoSoapTransport $transport */
         $transport = $this->databaseHelper->getEntityReference($transport);
         $syncedToId = $transport->getNewsletterSubscriberSyncedToId();
         if (!$syncedToId || $syncedToId > $lastSubscriber->getOriginId()) {
             $transport->setNewsletterSubscriberSyncedToId($lastSubscriber->getOriginId());
             $this->writer->write([$transport]);
         }
     }
 }
Esempio n. 2
0
 public function testSetStepExecutionDoesNotProvokeErrorWithRegularWriter()
 {
     $stepExecution = $this->getMockBuilder('Akeneo\\Bundle\\BatchBundle\\Entity\\StepExecution')->disableOriginalConstructor()->getMock();
     $this->writer->setStepExecution($stepExecution);
 }