예제 #1
0
 /**
  * {@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);
     }
 }