Пример #1
0
 /**
  * @param mixed $sourceObject
  * @param mixed $destinationObject
  */
 private function update($sourceObject, $destinationObject)
 {
     if ($this->destination instanceof UpdateableObjectProviderInterface) {
         $destinationObject = $this->destination->prepareUpdate($destinationObject);
     }
     $mapResult = $this->mapper->map($sourceObject, $destinationObject);
     if ($mapResult->getObjectHasChanged() === true) {
         $this->destination->updated($mapResult->getObject());
         $this->logger->info('Updated object with id {id}.', array('id' => $this->mapper->idOf($sourceObject)));
     } else {
         $this->logger->info('Kept object with id {id}.', array('id' => $this->mapper->idOf($sourceObject)));
     }
     $this->destinationQueue->next();
     $this->sourceQueue->next();
 }