Merge remote-tracking branch 'cevou/master' into pr/245
Conflicts: Command/PopulateCommand.php Command/SearchCommand.php DependencyInjection/Configuration.php Doctrine/AbstractElasticaToModelTransformer.php Doctrine/AbstractListener.php Doctrine/MongoDB/ElasticaToModelTransformer.php Doctrine/ORM/ElasticaToModelTransformer.php Doctrine/RepositoryManager.php Finder/TransformedFinder.php Paginator/PaginatorAdapterInterface.php Paginator/RawPaginatorAdapter.php Persister/ObjectPersister.php Propel/ElasticaToModelTransformer.php Subscriber/PaginateElasticaQuerySubscriber.php Tests/DataCollector/ElasticaDataCollectorTest.php Tests/Doctrine/AbstractProviderTest.php Tests/Doctrine/RepositoryManagerTest.php Tests/Manager/RepositoryManagerTest.php Tests/RepositoryTest.php Transformer/ElasticaToModelTransformerCollection.php composer.json
This commit is contained in:
commit
440c36f537
|
@ -10,6 +10,9 @@ use FOS\ElasticaBundle\Logger\ElasticaLogger;
|
|||
*/
|
||||
class Client extends Elastica_Client
|
||||
{
|
||||
/**
|
||||
* @var ElasticaLogger
|
||||
*/
|
||||
protected $logger;
|
||||
|
||||
public function setLogger(ElasticaLogger $logger)
|
||||
|
|
|
@ -8,6 +8,10 @@ use Symfony\Component\Console\Input\InputOption;
|
|||
use Symfony\Component\Console\Input\InputInterface;
|
||||
use Symfony\Component\Console\Output\OutputInterface;
|
||||
use Symfony\Component\Console\Output\Output;
|
||||
use FOS\ElasticaBundle\IndexManager;
|
||||
use FOS\ElasticaBundle\Provider\ProviderRegistry;
|
||||
use FOS\ElasticaBundle\Resetter;
|
||||
use FOS\ElasticaBundle\Provider\ProviderInterface;
|
||||
|
||||
/**
|
||||
* Populate the search index
|
||||
|
@ -15,17 +19,17 @@ use Symfony\Component\Console\Output\Output;
|
|||
class PopulateCommand extends ContainerAwareCommand
|
||||
{
|
||||
/**
|
||||
* @var FOS\ElasticaBundle\IndexManager
|
||||
* @var IndexManager
|
||||
*/
|
||||
private $indexManager;
|
||||
|
||||
/**
|
||||
* @var FOS\ElasticaBundle\Provider\ProviderRegistry
|
||||
* @var ProviderRegistry
|
||||
*/
|
||||
private $providerRegistry;
|
||||
|
||||
/**
|
||||
* @var FOS\ElasticaBundle\Resetter
|
||||
* @var Resetter
|
||||
*/
|
||||
private $resetter;
|
||||
|
||||
|
@ -95,6 +99,7 @@ class PopulateCommand extends ContainerAwareCommand
|
|||
$this->resetter->resetIndex($index);
|
||||
}
|
||||
|
||||
/** @var $providers ProviderInterface[] */
|
||||
$providers = $this->providerRegistry->getIndexProviders($index);
|
||||
|
||||
foreach ($providers as $type => $provider) {
|
||||
|
|
|
@ -41,6 +41,7 @@ class SearchCommand extends ContainerAwareCommand
|
|||
protected function execute(InputInterface $input, OutputInterface $output)
|
||||
{
|
||||
$indexName = $input->getOption('index');
|
||||
/** @var $index \Elastica_Index */
|
||||
$index = $this->getContainer()->get('fos_elastica.index_manager')->getIndex($indexName ? $indexName : null);
|
||||
$type = $index->getType($input->getArgument('type'));
|
||||
$query = Elastica_Query::create($input->getArgument('query'));
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
namespace FOS\ElasticaBundle\DependencyInjection\Compiler;
|
||||
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
|
||||
class RegisterProvidersPass implements CompilerPassInterface
|
||||
|
|
|
@ -4,7 +4,6 @@ namespace FOS\ElasticaBundle\DependencyInjection\Compiler;
|
|||
|
||||
use Symfony\Component\DependencyInjection\ContainerBuilder;
|
||||
use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface;
|
||||
use Symfony\Component\DependencyInjection\DefinitionDecorator;
|
||||
use Symfony\Component\DependencyInjection\Reference;
|
||||
use InvalidArgumentException;
|
||||
|
||||
|
|
|
@ -17,7 +17,9 @@ class Configuration implements ConfigurationInterface
|
|||
}
|
||||
|
||||
/**
|
||||
* {@inheritDoc}
|
||||
* Generates the configuration tree.
|
||||
*
|
||||
* @return \Symfony\Component\Config\Definition\NodeInterface
|
||||
*/
|
||||
public function getConfigTreeBuilder()
|
||||
{
|
||||
|
@ -293,7 +295,7 @@ class Configuration implements ConfigurationInterface
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Symfony\Component\Config\Definition\Builder\NodeBuilder $node The node to which to attach the field config to
|
||||
* @param \Symfony\Component\Config\Definition\Builder\NodeBuilder $node The node to which to attach the field config to
|
||||
* @param array $nestings the nested mappings for the current field level
|
||||
*/
|
||||
protected function addFieldConfig($node, $nestings)
|
||||
|
@ -333,7 +335,7 @@ class Configuration implements ConfigurationInterface
|
|||
}
|
||||
|
||||
/**
|
||||
* @param Symfony\Component\Config\Definition\Builder\NodeBuilder $node The node to which to attach the nested config to
|
||||
* @param \Symfony\Component\Config\Definition\Builder\NodeBuilder $node The node to which to attach the nested config to
|
||||
* @param array $nestings The nestings for the current field level
|
||||
* @param string $property the name of the nested property ('fields' or 'properties')
|
||||
*/
|
||||
|
|
|
@ -62,8 +62,9 @@ class FOSElasticaExtension extends Extension
|
|||
/**
|
||||
* Loads the configured clients.
|
||||
*
|
||||
* @param array $config An array of clients configurations
|
||||
* @param array $clients An array of clients configurations
|
||||
* @param ContainerBuilder $container A ContainerBuilder instance
|
||||
* @return array
|
||||
*/
|
||||
protected function loadClients(array $clients, ContainerBuilder $container)
|
||||
{
|
||||
|
@ -85,8 +86,12 @@ class FOSElasticaExtension extends Extension
|
|||
/**
|
||||
* Loads the configured indexes.
|
||||
*
|
||||
* @param array $config An array of indexes configurations
|
||||
* @param array $indexes An array of indexes configurations
|
||||
* @param ContainerBuilder $container A ContainerBuilder instance
|
||||
* @param array $clientIdsByName
|
||||
* @param $defaultClientName
|
||||
* @throws \InvalidArgumentException
|
||||
* @return array
|
||||
*/
|
||||
protected function loadIndexes(array $indexes, ContainerBuilder $container, array $clientIdsByName, $defaultClientName)
|
||||
{
|
||||
|
@ -158,8 +163,11 @@ class FOSElasticaExtension extends Extension
|
|||
/**
|
||||
* Loads the configured types.
|
||||
*
|
||||
* @param array $config An array of types configurations
|
||||
* @param array $types An array of types configurations
|
||||
* @param ContainerBuilder $container A ContainerBuilder instance
|
||||
* @param $indexName
|
||||
* @param $indexId
|
||||
* @param array $typePrototypeConfig
|
||||
*/
|
||||
protected function loadTypes(array $types, ContainerBuilder $container, $indexName, $indexId, array $typePrototypeConfig)
|
||||
{
|
||||
|
@ -224,8 +232,12 @@ class FOSElasticaExtension extends Extension
|
|||
/**
|
||||
* Loads the optional provider and finder for a type
|
||||
*
|
||||
* @return null
|
||||
**/
|
||||
* @param array $typeConfig
|
||||
* @param \Symfony\Component\DependencyInjection\ContainerBuilder $container
|
||||
* @param \Symfony\Component\DependencyInjection\Definition $typeDef
|
||||
* @param $indexName
|
||||
* @param $typeName
|
||||
*/
|
||||
protected function loadTypePersistenceIntegration(array $typeConfig, ContainerBuilder $container, Definition $typeDef, $indexName, $typeName)
|
||||
{
|
||||
$this->loadDriver($container, $typeConfig['driver']);
|
||||
|
@ -407,8 +419,9 @@ class FOSElasticaExtension extends Extension
|
|||
/**
|
||||
* Loads the resetter
|
||||
*
|
||||
* @return null
|
||||
**/
|
||||
* @param array $indexConfigs
|
||||
* @param \Symfony\Component\DependencyInjection\ContainerBuilder $container
|
||||
*/
|
||||
protected function loadResetter(array $indexConfigs, ContainerBuilder $container)
|
||||
{
|
||||
$resetterDef = $container->getDefinition('fos_elastica.resetter');
|
||||
|
|
|
@ -5,7 +5,6 @@ namespace FOS\ElasticaBundle\Doctrine;
|
|||
use FOS\ElasticaBundle\HybridResult;
|
||||
use FOS\ElasticaBundle\Transformer\ElasticaToModelTransformerInterface;
|
||||
use FOS\ElasticaBundle\Transformer\HighlightableModelInterface;
|
||||
use Elastica_Document;
|
||||
use Symfony\Component\Form\Util\PropertyPath;
|
||||
|
||||
/**
|
||||
|
@ -65,7 +64,8 @@ abstract class AbstractElasticaToModelTransformer implements ElasticaToModelTran
|
|||
* Transforms an array of elastica objects into an array of
|
||||
* model objects fetched from the doctrine repository
|
||||
*
|
||||
* @param array of elastica objects
|
||||
* @param array $elasticaObjects of elastica objects
|
||||
* @throws \RuntimeException
|
||||
* @return array
|
||||
**/
|
||||
public function transform(array $elasticaObjects)
|
||||
|
|
|
@ -5,6 +5,7 @@ namespace FOS\ElasticaBundle\Doctrine;
|
|||
use Doctrine\Common\EventSubscriber;
|
||||
use Doctrine\Common\Persistence\ObjectManager;
|
||||
use FOS\ElasticaBundle\Persister\ObjectPersisterInterface;
|
||||
use FOS\ElasticaBundle\Persister\ObjectPersister;
|
||||
|
||||
abstract class AbstractListener implements EventSubscriber
|
||||
{
|
||||
|
@ -83,7 +84,7 @@ abstract class AbstractListener implements EventSubscriber
|
|||
* return a boolean.
|
||||
*
|
||||
* @param callback $callback
|
||||
* @throw RuntimeException if the callback is not callable
|
||||
* @throws \RuntimeException if the callback is not callable
|
||||
*/
|
||||
public function setIsIndexableCallback($callback)
|
||||
{
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
namespace FOS\ElasticaBundle\Doctrine\MongoDB;
|
||||
|
||||
use FOS\ElasticaBundle\Doctrine\AbstractElasticaToModelTransformer;
|
||||
use Elastica_Document;
|
||||
|
||||
/**
|
||||
* Maps Elastica documents with Doctrine objects
|
||||
|
|
|
@ -3,7 +3,6 @@
|
|||
namespace FOS\ElasticaBundle\Doctrine\ORM;
|
||||
|
||||
use FOS\ElasticaBundle\Doctrine\AbstractElasticaToModelTransformer;
|
||||
use Elastica_Document;
|
||||
use Doctrine\ORM\Query;
|
||||
|
||||
/**
|
||||
|
|
|
@ -23,7 +23,7 @@ class Provider extends AbstractProvider
|
|||
$qb = clone $queryBuilder;
|
||||
|
||||
return $qb
|
||||
->select($qb->expr()->count($queryBuilder->getRootAlias()))
|
||||
->select($qb->expr()->count($queryBuilder->getRootAliases()[0]))
|
||||
// Remove ordering for efficiency; it doesn't affect the count
|
||||
->resetDQLPart('orderBy')
|
||||
->getQuery()
|
||||
|
|
|
@ -4,7 +4,6 @@ namespace FOS\ElasticaBundle\Doctrine;
|
|||
|
||||
use Doctrine\Common\Annotations\Reader;
|
||||
use Doctrine\Common\Persistence\ManagerRegistry;
|
||||
use FOS\ElasticaBundle\Finder\FinderInterface;
|
||||
use FOS\ElasticaBundle\Manager\RepositoryManager as BaseManager;
|
||||
|
||||
/**
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
|
||||
namespace FOS\ElasticaBundle\Finder;
|
||||
|
||||
use FOS\ElasticaBundle\Finder\FinderInterface;
|
||||
use FOS\ElasticaBundle\Finder\PaginatedFinderInterface;
|
||||
use FOS\ElasticaBundle\Transformer\ElasticaToModelTransformerInterface;
|
||||
use FOS\ElasticaBundle\Paginator\TransformedPaginatorAdapter;
|
||||
|
@ -46,6 +45,11 @@ class TransformedFinder implements PaginatedFinderInterface
|
|||
return $this->transformer->hybridTransform($results);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $query
|
||||
* @param null|int $limit
|
||||
* @return array
|
||||
*/
|
||||
protected function search($query, $limit = null)
|
||||
{
|
||||
$queryObject = Elastica_Query::create($query);
|
||||
|
@ -61,6 +65,7 @@ class TransformedFinder implements PaginatedFinderInterface
|
|||
/**
|
||||
* Gets a paginator wrapping the result of a search
|
||||
*
|
||||
* @param string $query
|
||||
* @return Pagerfanta
|
||||
*/
|
||||
public function findPaginated($query)
|
||||
|
|
|
@ -10,8 +10,8 @@ class IndexManager
|
|||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param array $indexesByName
|
||||
* @param string $defaultIndexName
|
||||
* @param array $indexesByName
|
||||
* @param \Elastica_Index $defaultIndex
|
||||
*/
|
||||
public function __construct(array $indexesByName, \Elastica_Index $defaultIndex)
|
||||
{
|
||||
|
@ -33,8 +33,8 @@ class IndexManager
|
|||
* Gets an index by its name
|
||||
*
|
||||
* @param string $name Index to return, or the default index if null
|
||||
* @return Elastica_Index
|
||||
* @throws InvalidArgumentException if no index exists for the given name
|
||||
* @return \Elastica_Index
|
||||
* @throws \InvalidArgumentException if no index exists for the given name
|
||||
*/
|
||||
public function getIndex($name = null)
|
||||
{
|
||||
|
@ -52,7 +52,7 @@ class IndexManager
|
|||
/**
|
||||
* Gets the default index
|
||||
*
|
||||
* @return Elastica_Index
|
||||
* @return \Elastica_Index
|
||||
*/
|
||||
public function getDefaultIndex()
|
||||
{
|
||||
|
|
|
@ -21,7 +21,8 @@ class ElasticaLogger
|
|||
/**
|
||||
* Constructor.
|
||||
*
|
||||
* @param LoggerInterface $logger The Symfony logger
|
||||
* @param LoggerInterface|null $logger The Symfony logger
|
||||
* @param bool $debug
|
||||
*/
|
||||
public function __construct(LoggerInterface $logger = null, $debug = false)
|
||||
{
|
||||
|
|
|
@ -2,6 +2,8 @@
|
|||
|
||||
namespace FOS\ElasticaBundle\Paginator;
|
||||
|
||||
use FOS\ElasticaBundle\Paginator\PartialResultsInterface;
|
||||
|
||||
interface PaginatorAdapterInterface
|
||||
{
|
||||
/**
|
||||
|
@ -19,7 +21,7 @@ interface PaginatorAdapterInterface
|
|||
* @param integer $offset The offset.
|
||||
* @param integer $length The length.
|
||||
*
|
||||
* @return FOS\ElasticaBundle\Paginator\PartialResults
|
||||
* @return PartialResultsInterface
|
||||
*
|
||||
* @api
|
||||
*/
|
||||
|
|
|
@ -4,8 +4,10 @@ namespace FOS\ElasticaBundle\Paginator;
|
|||
|
||||
use Elastica_Searchable;
|
||||
use Elastica_Query;
|
||||
use Elastica_ResultSet;
|
||||
use FOS\ElasticaBundle\Paginator\PaginatorAdapterInterface;
|
||||
use FOS\ElasticaBundle\Paginator\RawPartialResults;
|
||||
use FOS\ElasticaBundle\Paginator\PartialResultsInterface;
|
||||
|
||||
/**
|
||||
* Allows pagination of Elastica_Query. Does not map results
|
||||
|
@ -13,7 +15,7 @@ use FOS\ElasticaBundle\Paginator\RawPartialResults;
|
|||
class RawPaginatorAdapter implements PaginatorAdapterInterface
|
||||
{
|
||||
/**
|
||||
* @var Elastica_SearchableInterface the object to search in
|
||||
* @var Elastica_Searchable the object to search in
|
||||
*/
|
||||
private $searchable = null;
|
||||
|
||||
|
@ -25,8 +27,8 @@ class RawPaginatorAdapter implements PaginatorAdapterInterface
|
|||
/**
|
||||
* @see PaginatorAdapterInterface::__construct
|
||||
*
|
||||
* @param Elastica_SearchableInterface the object to search in
|
||||
* @param Elastica_Query the query to search
|
||||
* @param Elastica_Searchable $searchable the object to search in
|
||||
* @param Elastica_Query $query the query to search
|
||||
*/
|
||||
public function __construct(Elastica_Searchable $searchable, Elastica_Query $query)
|
||||
{
|
||||
|
@ -37,6 +39,8 @@ class RawPaginatorAdapter implements PaginatorAdapterInterface
|
|||
/**
|
||||
* Returns the paginated results.
|
||||
*
|
||||
* @param $offset
|
||||
* @param $itemCountPerPage
|
||||
* @return Elastica_ResultSet
|
||||
*/
|
||||
protected function getElasticaResults($offset, $itemCountPerPage)
|
||||
|
@ -51,7 +55,9 @@ class RawPaginatorAdapter implements PaginatorAdapterInterface
|
|||
/**
|
||||
* Returns the paginated results.
|
||||
*
|
||||
* @return FOS\ElasticaBundle\Paginator\PartialResultInterface
|
||||
* @param int $offset
|
||||
* @param int $itemCountPerPage
|
||||
* @return PartialResultsInterface
|
||||
*/
|
||||
public function getResults($offset, $itemCountPerPage)
|
||||
{
|
||||
|
|
|
@ -4,6 +4,7 @@ namespace FOS\ElasticaBundle\Paginator;
|
|||
|
||||
use FOS\ElasticaBundle\Paginator\PartialResultsInterface;
|
||||
use Elastica_ResultSet;
|
||||
use Elastica_Result;
|
||||
|
||||
/**
|
||||
* Raw partial results transforms to a simple array
|
||||
|
@ -25,7 +26,7 @@ class RawPartialResults implements PartialResultsInterface
|
|||
*/
|
||||
public function toArray()
|
||||
{
|
||||
return array_map(function($result) {
|
||||
return array_map(function(Elastica_Result $result) {
|
||||
return $result->getSource();
|
||||
}, $this->resultSet->getResults());
|
||||
}
|
||||
|
|
|
@ -15,9 +15,9 @@ class TransformedPaginatorAdapter extends RawPaginatorAdapter
|
|||
private $transformer;
|
||||
|
||||
/**
|
||||
* @param Elastica_SearchableInterface the object to search in
|
||||
* @param Elastica_Query the query to search
|
||||
* @param ElasticaToModelTransformerInterface the transformer for fetching the results
|
||||
* @param Elastica_Searchable $searchable the object to search in
|
||||
* @param Elastica_Query $query the query to search
|
||||
* @param ElasticaToModelTransformerInterface $transformer the transformer for fetching the results
|
||||
*/
|
||||
public function __construct(Elastica_Searchable $searchable, Elastica_Query $query, ElasticaToModelTransformerInterface $transformer)
|
||||
{
|
||||
|
|
|
@ -2,12 +2,9 @@
|
|||
|
||||
namespace FOS\ElasticaBundle\Persister;
|
||||
|
||||
use FOS\ElasticaBundle\Provider\ProviderInterface;
|
||||
use FOS\ElasticaBundle\Transformer\ModelToElasticaTransformerInterface;
|
||||
use Symfony\Component\HttpKernel\Log\LoggerInterface;
|
||||
use Elastica_Type;
|
||||
use Elastica_Document;
|
||||
use Exception;
|
||||
|
||||
/**
|
||||
* Inserts, replaces and deletes single documents in an elastica type
|
||||
|
@ -83,7 +80,7 @@ class ObjectPersister implements ObjectPersisterInterface
|
|||
/**
|
||||
* Inserts an array of objects in the type
|
||||
*
|
||||
* @param array of domain model objects
|
||||
* @param array $objects array of domain model objects
|
||||
**/
|
||||
public function insertMany(array $objects)
|
||||
{
|
||||
|
|
|
@ -44,7 +44,7 @@ interface ObjectPersisterInterface
|
|||
/**
|
||||
* Inserts an array of objects in the type
|
||||
*
|
||||
* @param array of domain model objects
|
||||
* @param array $objects array of domain model objects
|
||||
**/
|
||||
function insertMany(array $objects);
|
||||
}
|
||||
|
|
|
@ -4,7 +4,6 @@ namespace FOS\ElasticaBundle\Propel;
|
|||
|
||||
use FOS\ElasticaBundle\HybridResult;
|
||||
use FOS\ElasticaBundle\Transformer\ElasticaToModelTransformerInterface;
|
||||
use Elastica_Document;
|
||||
use Symfony\Component\Form\Util\PropertyPath;
|
||||
|
||||
/**
|
||||
|
@ -49,12 +48,12 @@ class ElasticaToModelTransformer implements ElasticaToModelTransformerInterface
|
|||
* Transforms an array of elastica objects into an array of
|
||||
* model objects fetched from the propel repository
|
||||
*
|
||||
* @param array of elastica objects
|
||||
* @param \Elastica_Document[] $elasticaObjects array of elastica objects
|
||||
* @return array
|
||||
*/
|
||||
public function transform(array $elasticaObjects)
|
||||
{
|
||||
$ids = array_map(function($elasticaObject) {
|
||||
$ids = array_map(function(\Elastica_Document $elasticaObject) {
|
||||
return $elasticaObject->getId();
|
||||
}, $elasticaObjects);
|
||||
|
||||
|
@ -111,10 +110,8 @@ class ElasticaToModelTransformer implements ElasticaToModelTransformerInterface
|
|||
/**
|
||||
* Fetch objects for theses identifier values
|
||||
*
|
||||
* @param string $class the model class
|
||||
* @param string $identifierField like 'id'
|
||||
* @param array $identifierValues ids values
|
||||
* @param Boolean $hydrate whether or not to hydrate the objects, false returns arrays
|
||||
* @param boolean $hydrate whether or not to hydrate the objects, false returns arrays
|
||||
* @return array of objects or arrays
|
||||
*/
|
||||
protected function findByIdentifiers(array $identifierValues, $hydrate)
|
||||
|
|
|
@ -12,7 +12,8 @@ interface ProviderInterface
|
|||
/**
|
||||
* Persists all domain objects to ElasticSearch for this provider.
|
||||
*
|
||||
* @param Closure $loggerClosure
|
||||
* @param \Closure $loggerClosure
|
||||
* @return
|
||||
*/
|
||||
function populate(\Closure $loggerClosure = null);
|
||||
}
|
||||
|
|
|
@ -12,6 +12,9 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
|
|||
*/
|
||||
class ProviderRegistry implements ContainerAwareInterface
|
||||
{
|
||||
/**
|
||||
* @var ContainerInterface
|
||||
*/
|
||||
private $container;
|
||||
private $providers = array();
|
||||
|
||||
|
@ -58,7 +61,7 @@ class ProviderRegistry implements ContainerAwareInterface
|
|||
*
|
||||
* @param string $index
|
||||
* @return array of ProviderInterface instances
|
||||
* @throws InvalidArgumentException if no providers were registered for the index
|
||||
* @throws \InvalidArgumentException if no providers were registered for the index
|
||||
*/
|
||||
public function getIndexProviders($index)
|
||||
{
|
||||
|
@ -81,7 +84,7 @@ class ProviderRegistry implements ContainerAwareInterface
|
|||
* @param string $index
|
||||
* @param string $type
|
||||
* @return ProviderInterface
|
||||
* @throws InvalidArgumentException if no provider was registered for the index and type
|
||||
* @throws \InvalidArgumentException if no provider was registered for the index and type
|
||||
*/
|
||||
public function getProvider($index, $type)
|
||||
{
|
||||
|
|
16
Resetter.php
16
Resetter.php
|
@ -33,7 +33,7 @@ class Resetter
|
|||
* Deletes and recreates the named index
|
||||
*
|
||||
* @param string $indexName
|
||||
* @throws InvalidArgumentException if no index exists for the given name
|
||||
* @throws \InvalidArgumentException if no index exists for the given name
|
||||
*/
|
||||
public function resetIndex($indexName)
|
||||
{
|
||||
|
@ -46,7 +46,7 @@ class Resetter
|
|||
*
|
||||
* @param string $indexName
|
||||
* @param string $typeName
|
||||
* @throws InvalidArgumentException if no index or type mapping exists for the given names
|
||||
* @throws \InvalidArgumentException if no index or type mapping exists for the given names
|
||||
*/
|
||||
public function resetIndexType($indexName, $typeName)
|
||||
{
|
||||
|
@ -66,13 +66,13 @@ class Resetter
|
|||
* create type mapping object
|
||||
*
|
||||
* @param array $indexConfig
|
||||
* @return Elastica_Type_Mapping
|
||||
* @return \Elastica_Type_Mapping
|
||||
*/
|
||||
protected function createMapping($indexConfig)
|
||||
{
|
||||
$mapping = \Elastica_Type_Mapping::create($indexConfig['properties']);
|
||||
$mapping = \Elastica_Type_Mapping::create($indexConfig['properties']);
|
||||
|
||||
foreach($indexConfig['properties'] as $field => $type) {
|
||||
foreach($indexConfig['properties'] as $type) {
|
||||
if (!empty($type['_parent']) && $type['_parent'] !== '~') {
|
||||
$mapping->setParam('_parent', array('type' => $type['_parent']['type']));
|
||||
}
|
||||
|
@ -84,9 +84,11 @@ class Resetter
|
|||
/**
|
||||
* Gets an index config by its name
|
||||
*
|
||||
* @param string $index Index name
|
||||
* @param string $indexName Index name
|
||||
*
|
||||
* @param $indexName
|
||||
* @return array
|
||||
* @throws InvalidArgumentException if no index config exists for the given name
|
||||
* @throws \InvalidArgumentException if no index config exists for the given name
|
||||
*/
|
||||
protected function getIndexConfig($indexName)
|
||||
{
|
||||
|
|
|
@ -5,12 +5,14 @@ namespace FOS\ElasticaBundle\Subscriber;
|
|||
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
|
||||
use Knp\Component\Pager\Event\ItemsEvent;
|
||||
use FOS\ElasticaBundle\Paginator\PaginatorAdapterInterface;
|
||||
use FOS\ElasticaBundle\Paginator\PartialResultsInterface;
|
||||
|
||||
class PaginateElasticaQuerySubscriber implements EventSubscriberInterface
|
||||
{
|
||||
public function items(ItemsEvent $event)
|
||||
{
|
||||
if ($event->target instanceof PaginatorAdapterInterface) {
|
||||
/** @var $results PartialResultsInterface */
|
||||
$results = $event->target->getResults($event->getOffset(), $event->getLimit());
|
||||
|
||||
$event->count = $results->getTotalHits();
|
||||
|
|
|
@ -12,14 +12,17 @@ class ElasticaDataCollectorTest extends \PHPUnit_Framework_TestCase
|
|||
|
||||
public function testCorrectAmountOfQueries()
|
||||
{
|
||||
/** @var $requestMock \PHPUnit_Framework_MockObject_MockObject|\Symfony\Component\HttpFoundation\Request */
|
||||
$requestMock = $this->getMockBuilder('Symfony\Component\HttpFoundation\Request')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $responseMock \PHPUnit_Framework_MockObject_MockObject|\Symfony\Component\HttpFoundation\Response */
|
||||
$responseMock = $this->getMockBuilder('Symfony\Component\HttpFoundation\Response')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $loggerMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Logger\ElasticaLogger */
|
||||
$loggerMock = $this->getMockBuilder('FOS\ElasticaBundle\Logger\ElasticaLogger')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -37,14 +40,17 @@ class ElasticaDataCollectorTest extends \PHPUnit_Framework_TestCase
|
|||
|
||||
public function testCorrectQueriesReturned()
|
||||
{
|
||||
/** @var $requestMock \PHPUnit_Framework_MockObject_MockObject|\Symfony\Component\HttpFoundation\Request */
|
||||
$requestMock = $this->getMockBuilder('Symfony\Component\HttpFoundation\Request')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $responseMock \PHPUnit_Framework_MockObject_MockObject|\Symfony\Component\HttpFoundation\Response */
|
||||
$responseMock = $this->getMockBuilder('Symfony\Component\HttpFoundation\Response')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $loggerMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Logger\ElasticaLogger */
|
||||
$loggerMock = $this->getMockBuilder('FOS\ElasticaBundle\Logger\ElasticaLogger')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -62,14 +68,17 @@ class ElasticaDataCollectorTest extends \PHPUnit_Framework_TestCase
|
|||
|
||||
public function testCorrectQueriesTime()
|
||||
{
|
||||
/** @var $requestMock \PHPUnit_Framework_MockObject_MockObject|\Symfony\Component\HttpFoundation\Request */
|
||||
$requestMock = $this->getMockBuilder('Symfony\Component\HttpFoundation\Request')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $responseMock \PHPUnit_Framework_MockObject_MockObject|\Symfony\Component\HttpFoundation\Response */
|
||||
$responseMock = $this->getMockBuilder('Symfony\Component\HttpFoundation\Response')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $loggerMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Logger\ElasticaLogger */
|
||||
$loggerMock = $this->getMockBuilder('FOS\ElasticaBundle\Logger\ElasticaLogger')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
|
|
@ -32,7 +32,7 @@ class RegisterProvidersPassTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
* @expectedException \InvalidArgumentException
|
||||
*/
|
||||
public function testProcessShouldRequireProviderImplementation()
|
||||
{
|
||||
|
@ -51,7 +51,7 @@ class RegisterProvidersPassTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
* @expectedException \InvalidArgumentException
|
||||
*/
|
||||
public function testProcessShouldRequireTypeAttribute()
|
||||
{
|
||||
|
|
|
@ -150,7 +150,7 @@ abstract class AbstractListenerTest extends \PHPUnit_Framework_TestCase
|
|||
|
||||
/**
|
||||
* @dataProvider provideInvalidIsIndexableCallbacks
|
||||
* @expectedException RuntimeException
|
||||
* @expectedException \RuntimeException
|
||||
*/
|
||||
public function testInvalidIsIndexableCallbacks($isIndexableCallback)
|
||||
{
|
||||
|
|
|
@ -136,7 +136,7 @@ class AbstractProviderTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @return FOS\ElasticaBundle\Doctrine\AbstractProvider
|
||||
* @return \FOS\ElasticaBundle\Doctrine\AbstractProvider|\PHPUnit_Framework_MockObject_MockObject
|
||||
*/
|
||||
private function getMockAbstractProvider()
|
||||
{
|
||||
|
@ -149,7 +149,7 @@ class AbstractProviderTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @return Doctrine\Common\Persistence\ManagerRegistry
|
||||
* @return \Doctrine\Common\Persistence\ManagerRegistry|\PHPUnit_Framework_MockObject_MockObject
|
||||
*/
|
||||
private function getMockManagerRegistry()
|
||||
{
|
||||
|
@ -157,7 +157,7 @@ class AbstractProviderTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @return FOS\ElasticaBundle\Tests\Doctrine\ObjectManager
|
||||
* @return ObjectManager|\PHPUnit_Framework_MockObject_MockObject
|
||||
*/
|
||||
private function getMockObjectManager()
|
||||
{
|
||||
|
@ -165,7 +165,7 @@ class AbstractProviderTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @return FOS\ElasticaBundle\Persister\ObjectPersisterInterface
|
||||
* @return \FOS\ElasticaBundle\Persister\ObjectPersisterInterface|\PHPUnit_Framework_MockObject_MockObject
|
||||
*/
|
||||
private function getMockObjectPersister()
|
||||
{
|
||||
|
|
|
@ -22,14 +22,17 @@ class RepositoryManagerTest extends \PHPUnit_Framework_TestCase
|
|||
|
||||
public function testThatGetRepositoryReturnsDefaultRepository()
|
||||
{
|
||||
/** @var $finderMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $registryMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Persistence\ManagerRegistry */
|
||||
$registryMock = $this->getMockBuilder('Doctrine\Common\Persistence\ManagerRegistry')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $readerMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Annotations\Reader */
|
||||
$readerMock = $this->getMockBuilder('Doctrine\Common\Annotations\Reader')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -44,14 +47,17 @@ class RepositoryManagerTest extends \PHPUnit_Framework_TestCase
|
|||
|
||||
public function testThatGetRepositoryReturnsCustomRepository()
|
||||
{
|
||||
/** @var $finderMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $registryMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Persistence\ManagerRegistry */
|
||||
$registryMock = $this->getMockBuilder('Doctrine\Common\Persistence\ManagerRegistry')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $readerMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Annotations\Reader */
|
||||
$readerMock = $this->getMockBuilder('Doctrine\Common\Annotations\Reader')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -65,18 +71,21 @@ class RepositoryManagerTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @expectedException RuntimeException
|
||||
* @expectedException \RuntimeException
|
||||
*/
|
||||
public function testThatGetRepositoryThrowsExceptionIfEntityNotConfigured()
|
||||
{
|
||||
/** @var $finderMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $registryMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Persistence\ManagerRegistry */
|
||||
$registryMock = $this->getMockBuilder('Doctrine\Common\Persistence\ManagerRegistry')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $readerMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Annotations\Reader */
|
||||
$readerMock = $this->getMockBuilder('Doctrine\Common\Annotations\Reader')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -89,18 +98,21 @@ class RepositoryManagerTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @expectedException RuntimeException
|
||||
* @expectedException \RuntimeException
|
||||
*/
|
||||
public function testThatGetRepositoryThrowsExceptionIfCustomRepositoryNotFound()
|
||||
{
|
||||
/** @var $finderMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $registryMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Persistence\ManagerRegistry */
|
||||
$registryMock = $this->getMockBuilder('Doctrine\Common\Persistence\ManagerRegistry')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $readerMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Annotations\Reader */
|
||||
$readerMock = $this->getMockBuilder('Doctrine\Common\Annotations\Reader')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -114,14 +126,17 @@ class RepositoryManagerTest extends \PHPUnit_Framework_TestCase
|
|||
|
||||
public function testThatGetRepositoryWorksWithShortEntityName()
|
||||
{
|
||||
/** @var $finderMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $registryMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Persistence\ManagerRegistry */
|
||||
$registryMock = $this->getMockBuilder('Doctrine\Common\Persistence\ManagerRegistry')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $readerMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Annotations\Reader */
|
||||
$readerMock = $this->getMockBuilder('Doctrine\Common\Annotations\Reader')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
|
|
@ -8,6 +8,7 @@ class IndexManagerTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
private $defaultIndexName;
|
||||
private $indexesByName;
|
||||
/** @var IndexManager */
|
||||
private $indexManager;
|
||||
|
||||
public function setUp()
|
||||
|
@ -18,6 +19,7 @@ class IndexManagerTest extends \PHPUnit_Framework_TestCase
|
|||
'index2' => 'test2',
|
||||
);
|
||||
|
||||
/** @var $defaultIndex \PHPUnit_Framework_MockObject_MockObject|\Elastica_Index */
|
||||
$defaultIndex = $this->getMockBuilder('Elastica_Index')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -41,7 +43,7 @@ class IndexManagerTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
* @expectedException \InvalidArgumentException
|
||||
*/
|
||||
public function testGetIndexShouldThrowExceptionForInvalidName()
|
||||
{
|
||||
|
|
|
@ -63,6 +63,7 @@ class ElasticaLoggerTest extends \PHPUnit_Framework_TestCase
|
|||
|
||||
public function testQueryIsLogged()
|
||||
{
|
||||
/** @var $loggerMock \PHPUnit_Framework_MockObject_MockObject|\Symfony\Component\HttpKernel\Log\LoggerInterface */
|
||||
$loggerMock = $this->getMockBuilder('Symfony\Component\HttpKernel\Log\LoggerInterface')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
|
|
@ -16,10 +16,12 @@ class RepositoryManagerTest extends \PHPUnit_Framework_TestCase
|
|||
|
||||
public function testThatGetRepositoryReturnsDefaultRepository()
|
||||
{
|
||||
/** @var $finderMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $readerMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Annotations\Reader */
|
||||
$readerMock = $this->getMockBuilder('Doctrine\Common\Annotations\Reader')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -34,10 +36,12 @@ class RepositoryManagerTest extends \PHPUnit_Framework_TestCase
|
|||
|
||||
public function testThatGetRepositoryReturnsCustomRepository()
|
||||
{
|
||||
/** @var $finderMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $readerMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Annotations\Reader */
|
||||
$readerMock = $this->getMockBuilder('Doctrine\Common\Annotations\Reader')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -51,14 +55,16 @@ class RepositoryManagerTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @expectedException RuntimeException
|
||||
* @expectedException \RuntimeException
|
||||
*/
|
||||
public function testThatGetRepositoryThrowsExceptionIfEntityNotConfigured()
|
||||
{
|
||||
/** @var $finderMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $readerMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Annotations\Reader */
|
||||
$readerMock = $this->getMockBuilder('Doctrine\Common\Annotations\Reader')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -71,14 +77,16 @@ class RepositoryManagerTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @expectedException RuntimeException
|
||||
* @expectedException \RuntimeException
|
||||
*/
|
||||
public function testThatGetRepositoryThrowsExceptionIfCustomRepositoryNotFound()
|
||||
{
|
||||
/** @var $finderMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
||||
/** @var $readerMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Annotations\Reader */
|
||||
$readerMock = $this->getMockBuilder('Doctrine\Common\Annotations\Reader')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
|
|
@ -41,6 +41,7 @@ class ObjectPersisterTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$modelTransformer = new ModelToElasticaAutoTransformer();
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\Elastica_Type */
|
||||
$typeMock = $this->getMockBuilder('Elastica_Type')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -63,6 +64,7 @@ class ObjectPersisterTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$modelTransformer = new ModelToElasticaAutoTransformer();
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\Elastica_Type */
|
||||
$typeMock = $this->getMockBuilder('Elastica_Type')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -81,6 +83,7 @@ class ObjectPersisterTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$modelTransformer = new ModelToElasticaAutoTransformer();
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\Elastica_Type */
|
||||
$typeMock = $this->getMockBuilder('Elastica_Type')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -102,6 +105,7 @@ class ObjectPersisterTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$modelTransformer = new ModelToElasticaAutoTransformer();
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\Elastica_Type */
|
||||
$typeMock = $this->getMockBuilder('Elastica_Type')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -120,6 +124,7 @@ class ObjectPersisterTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$modelTransformer = new ModelToElasticaAutoTransformer();
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\Elastica_Type */
|
||||
$typeMock = $this->getMockBuilder('Elastica_Type')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -141,6 +146,7 @@ class ObjectPersisterTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$modelTransformer = new ModelToElasticaAutoTransformer();
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\Elastica_Type */
|
||||
$typeMock = $this->getMockBuilder('Elastica_Type')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -159,6 +165,7 @@ class ObjectPersisterTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$modelTransformer = new ModelToElasticaAutoTransformer();
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\Elastica_Type */
|
||||
$typeMock = $this->getMockBuilder('Elastica_Type')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -182,6 +189,7 @@ class ObjectPersisterTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$modelTransformer = new ModelToElasticaAutoTransformer();
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\Elastica_Type */
|
||||
$typeMock = $this->getMockBuilder('Elastica_Type')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
|
|
@ -7,6 +7,9 @@ use Symfony\Component\DependencyInjection\ContainerInterface;
|
|||
|
||||
class ProviderRegistryTest extends \PHPUnit_Framework_TestCase
|
||||
{
|
||||
/**
|
||||
* @var \PHPUnit_Framework_MockObject_MockObject|ContainerInterface
|
||||
*/
|
||||
private $container;
|
||||
private $registry;
|
||||
|
||||
|
|
|
@ -14,6 +14,7 @@ class RepositoryTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$testQuery = 'Test Query';
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -30,6 +31,7 @@ class RepositoryTest extends \PHPUnit_Framework_TestCase
|
|||
$testQuery = 'Test Query';
|
||||
$testLimit = 20;
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -45,6 +47,7 @@ class RepositoryTest extends \PHPUnit_Framework_TestCase
|
|||
{
|
||||
$testQuery = 'Test Query';
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
@ -61,6 +64,7 @@ class RepositoryTest extends \PHPUnit_Framework_TestCase
|
|||
$testQuery = 'Test Query';
|
||||
$testLimit = 20;
|
||||
|
||||
/** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\FOS\ElasticaBundle\Finder\TransformedFinder */
|
||||
$finderMock = $this->getMockBuilder('FOS\ElasticaBundle\Finder\TransformedFinder')
|
||||
->disableOriginalConstructor()
|
||||
->getMock();
|
||||
|
|
|
@ -71,7 +71,7 @@ class ResetterTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
* @expectedException \InvalidArgumentException
|
||||
*/
|
||||
public function testResetIndexShouldThrowExceptionForInvalidIndex()
|
||||
{
|
||||
|
@ -101,7 +101,7 @@ class ResetterTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
* @expectedException \InvalidArgumentException
|
||||
*/
|
||||
public function testResetIndexTypeShouldThrowExceptionForInvalidIndex()
|
||||
{
|
||||
|
@ -110,7 +110,7 @@ class ResetterTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @expectedException InvalidArgumentException
|
||||
* @expectedException \InvalidArgumentException
|
||||
*/
|
||||
public function testResetIndexTypeShouldThrowExceptionForInvalidType()
|
||||
{
|
||||
|
@ -141,7 +141,7 @@ class ResetterTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @return Elastica_Index
|
||||
* @return \Elastica_Index
|
||||
*/
|
||||
private function getMockElasticaIndex()
|
||||
{
|
||||
|
@ -151,7 +151,7 @@ class ResetterTest extends \PHPUnit_Framework_TestCase
|
|||
}
|
||||
|
||||
/**
|
||||
* @return Elastica_Type
|
||||
* @return \Elastica_Type
|
||||
*/
|
||||
private function getMockElasticaType()
|
||||
{
|
||||
|
|
|
@ -15,4 +15,5 @@ spl_autoload_register(function($class) {
|
|||
require_once $path;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
});
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
namespace FOS\ElasticaBundle\Transformer;
|
||||
|
||||
use FOS\ElasticaBundle\HybridResult;
|
||||
use Symfony\Component\Form\Util\PropertyPath;
|
||||
use Elastica_Document;
|
||||
|
||||
/**
|
||||
* Holds a collection of transformers for an index wide transformation.
|
||||
|
@ -12,6 +12,9 @@ use Symfony\Component\Form\Util\PropertyPath;
|
|||
*/
|
||||
class ElasticaToModelTransformerCollection implements ElasticaToModelTransformerInterface
|
||||
{
|
||||
/**
|
||||
* @var ElasticaToModelTransformerInterface[]
|
||||
*/
|
||||
protected $transformers = array();
|
||||
|
||||
public function __construct(array $transformers)
|
||||
|
@ -21,7 +24,7 @@ class ElasticaToModelTransformerCollection implements ElasticaToModelTransformer
|
|||
|
||||
public function getObjectClass()
|
||||
{
|
||||
return array_map(function ($transformer) {
|
||||
return array_map(function (ElasticaToModelTransformerInterface $transformer) {
|
||||
return $transformer->getObjectClass();
|
||||
}, $this->transformers);
|
||||
}
|
||||
|
@ -31,11 +34,15 @@ class ElasticaToModelTransformerCollection implements ElasticaToModelTransformer
|
|||
*/
|
||||
public function getIdentifierField()
|
||||
{
|
||||
return array_map(function ($transformer) {
|
||||
return array_map(function (ElasticaToModelTransformerInterface $transformer) {
|
||||
return $transformer->getIdentifierField();
|
||||
}, $this->transformers);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param Elastica_Document[] $elasticaObjects
|
||||
* @return array
|
||||
*/
|
||||
public function transform(array $elasticaObjects)
|
||||
{
|
||||
$sorted = array();
|
||||
|
@ -80,7 +87,7 @@ class ElasticaToModelTransformerCollection implements ElasticaToModelTransformer
|
|||
|
||||
protected function getTypeToClassMap()
|
||||
{
|
||||
return array_map(function ($transformer) {
|
||||
return array_map(function (ElasticaToModelTransformerInterface $transformer) {
|
||||
return $transformer->getObjectClass();
|
||||
}, $this->transformers);
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@ interface ElasticaToModelTransformerInterface
|
|||
* Transforms an array of elastica objects into an array of
|
||||
* model objects fetched from the doctrine repository
|
||||
*
|
||||
* @param array of elastica objects
|
||||
* @param array $elasticaObjects array of elastica objects
|
||||
* @return array of model objects
|
||||
**/
|
||||
function transform(array $elasticaObjects);
|
||||
|
|
|
@ -10,7 +10,7 @@ interface HighlightableModelInterface
|
|||
/**
|
||||
* Set ElasticSearch highlight data.
|
||||
*
|
||||
* @param array of highlight strings
|
||||
* @param array $highlights array of highlight strings
|
||||
*/
|
||||
public function setElasticHighlights(array $highlights);
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ class ModelToElasticaAutoTransformer implements ModelToElasticaTransformerInterf
|
|||
* @param object $object the object to convert
|
||||
* @param array $fields the keys we want to have in the returned array
|
||||
*
|
||||
* @return Elastica_Document
|
||||
* @return \Elastica_Document
|
||||
**/
|
||||
public function transform($object, array $fields)
|
||||
{
|
||||
|
@ -70,13 +70,12 @@ class ModelToElasticaAutoTransformer implements ModelToElasticaTransformerInterf
|
|||
/**
|
||||
* transform a nested document or an object property into an array of ElasticaDocument
|
||||
*
|
||||
* @param array $objects the object to convert
|
||||
* @param array $fields the keys we want to have in the returned array
|
||||
* @param Elastica_Document $parent the parent document
|
||||
* @param array|\Traversable|\ArrayAccess $objects the object to convert
|
||||
* @param array $fields the keys we want to have in the returned array
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
protected function transformNested($objects, array $fields, $parent)
|
||||
protected function transformNested($objects, array $fields)
|
||||
{
|
||||
if (is_array($objects) || $objects instanceof \Traversable || $objects instanceof \ArrayAccess) {
|
||||
$documents = array();
|
||||
|
|
|
@ -12,7 +12,7 @@ interface ModelToElasticaTransformerInterface
|
|||
*
|
||||
* @param object $object the object to convert
|
||||
* @param array $fields the keys we want to have in the returned array
|
||||
* @return Elastica_Document
|
||||
* @return \Elastica_Document
|
||||
**/
|
||||
function transform($object, array $fields);
|
||||
}
|
||||
|
|
|
@ -18,14 +18,18 @@
|
|||
"ruflin/elastica": "0.19.8"
|
||||
},
|
||||
"require-dev":{
|
||||
"doctrine/orm":">=2.2,<2.5-dev",
|
||||
"doctrine/mongodb-odm":"1.0.*@dev",
|
||||
"propel/propel1":"1.6.*"
|
||||
"doctrine/orm": ">=2.2,<2.5-dev",
|
||||
"doctrine/mongodb-odm": "1.0.*@dev",
|
||||
"propel/propel1": "1.6.*",
|
||||
"pagerfanta/pagerfanta": "1.*",
|
||||
"knplabs/knp-components": "1.2.*"
|
||||
},
|
||||
"suggest": {
|
||||
"doctrine/orm": ">=2.2,<2.5-dev",
|
||||
"doctrine/mongodb-odm": "1.0.*@dev",
|
||||
"propel/propel1": "1.6.*"
|
||||
"propel/propel1": "1.6.*",
|
||||
"pagerfanta/pagerfanta": "1.*",
|
||||
"knplabs/knp-components": "1.2.*"
|
||||
},
|
||||
"autoload": {
|
||||
"psr-0": { "FOS\\ElasticaBundle": "" }
|
||||
|
|
Loading…
Reference in a new issue