/** * {@inheritdoc} */ public function __construct(MigrationInterface $migration, MigrateMessageInterface $message, array $options = []) { parent::__construct($migration, $message); if (isset($options['limit'])) { $this->itemLimit = $options['limit']; } if (isset($options['feedback'])) { $this->feedback = $options['feedback']; } if (isset($options['idlist'])) { $this->idlist = explode(',', $options['idlist']); } $this->listeners[MigrateEvents::MAP_SAVE] = array($this, 'onMapSave'); $this->listeners[MigrateEvents::MAP_DELETE] = array($this, 'onMapDelete'); $this->listeners[MigrateEvents::POST_IMPORT] = array($this, 'onPostImport'); $this->listeners[MigrateEvents::PRE_ROW_SAVE] = array($this, 'onPreRowSave'); $this->listeners[MigrateEvents::POST_ROW_SAVE] = array($this, 'onPostRowSave'); $this->listeners[MigratePlusEvents::PREPARE_ROW] = array($this, 'onPrepareRow'); foreach ($this->listeners as $event => $listener) { \Drupal::service('event_dispatcher')->addListener($event, $listener); } }