public function testEvent() { $entity = new Product(); $class = get_class($entity); $data = []; $entityMapping = ['alias' => 'test']; $event = new PrepareEntityMapEvent($entity, $class, $data, $entityMapping); $this->assertSame($entity, $event->getEntity()); $this->assertSame($class, $event->getClassName()); $this->assertSame($entityMapping, $event->getEntityMapping()); $this->assertSame($data, $event->getData()); $newData = []; $event->setData($newData); $this->assertSame($newData, $event->getData()); }
/** * Add organization field to the search mapping * * @param PrepareEntityMapEvent $event */ public function prepareEntityMapEvent(PrepareEntityMapEvent $event) { $data = $event->getData(); $className = $event->getClassName(); $organizationId = self::EMPTY_ORGANIZATION_ID; $ownerId = self::EMPTY_OWNER_ID; $metadata = $this->metadataProvider->getMetadata($className); if ($metadata) { $entity = $event->getEntity(); $ownerId = $this->getOwnerId($metadata, $entity); $organizationId = $this->getOrganizationId($metadata, $entity); } $data['integer'][sprintf('%s_owner', $event->getEntityMapping()['alias'])] = $ownerId; $data['integer']['organization'] = $organizationId; $event->setData($data); }