public function testGetClassByAliasCache()
 {
     $this->metadataFactory->expects($this->once())->method('getAllMetadata')->willReturn([new ClassMetadata('Test\\Entity1')]);
     $entityAliasProvider = $this->getMock('Oro\\Bundle\\EntityBundle\\Provider\\EntityAliasProviderInterface');
     $entityAliasProvider->expects($this->once())->method('getEntityAlias')->with('Test\\Entity1')->willReturn(new EntityAlias('entity1_alias', 'entity1_plural_alias'));
     $this->entityAliasResolver->addProvider($entityAliasProvider);
     $this->assertEquals('Test\\Entity1', $this->entityAliasResolver->getClassByAlias('entity1_alias'));
     // test that the result is cached
     $this->assertEquals('Test\\Entity1', $this->entityAliasResolver->getClassByAlias('entity1_alias'));
 }
 /**
  * Adjust query for tag-results-grid (tag search result grid)
  * after datasource has been built
  *
  * @param BuildAfter $event
  */
 public function onBuildAfter(BuildAfter $event)
 {
     $datagrid = $event->getDatagrid();
     $datasource = $datagrid->getDatasource();
     if ($datasource instanceof OrmDatasource) {
         $parameters = $datagrid->getParameters();
         $queryBuilder = $datasource->getQueryBuilder();
         $this->securityProvider->applyAcl($queryBuilder, 'tt');
         $queryBuilder->setParameter('tag', $parameters->get('tag_id', 0));
         $from = $parameters->get('from', '');
         if (strlen($from) > 0) {
             try {
                 $entityClass = $this->entityAliasResolver->getClassByAlias($from);
                 $queryBuilder->andWhere('tt.entityName = :entityClass')->setParameter('entityClass', $entityClass);
             } catch (EntityAliasNotFoundException $e) {
                 $queryBuilder->andWhere('1 = 0');
             }
         }
     }
 }
Esempio n. 3
0
 /**
  * Resolves the entity class name by entity alias
  *
  * @param string $entityAlias   The alias or plural alias of the entity
  * @param bool   $isPluralAlias Determines whether the entity name may be a singular of plural alias
  *
  * @return string The FQCN of an entity
  */
 protected function getEntityClassByAlias($entityAlias, $isPluralAlias)
 {
     return $isPluralAlias ? $this->entityAliasResolver->getClassByPluralAlias($entityAlias) : $this->entityAliasResolver->getClassByAlias($entityAlias);
 }
Esempio n. 4
0
 /**
  * {@inheritdoc}
  */
 protected function normalizeValue($value)
 {
     return $this->entityAliasResolver->getClassByAlias($value);
 }