From cbe6071969e25432800b1a722ef51eab986a5980 Mon Sep 17 00:00:00 2001 From: cevou Date: Sat, 2 Mar 2013 12:23:44 +0100 Subject: [PATCH 1/2] Code cleanup - updated deprecated calls - cleaned up PHPDoc comments --- Client.php | 3 +++ Command/PopulateCommand.php | 11 +++++--- Command/SearchCommand.php | 1 + .../Compiler/RegisterProvidersPass.php | 1 - .../Compiler/TransformerPass.php | 1 - DependencyInjection/Configuration.php | 6 ++--- DependencyInjection/FOQElasticaExtension.php | 27 ++++++++++++++----- .../AbstractElasticaToModelTransformer.php | 4 +-- Doctrine/AbstractListener.php | 3 ++- Doctrine/AbstractProvider.php | 1 + .../MongoDB/ElasticaToModelTransformer.php | 1 - Doctrine/ORM/ElasticaToModelTransformer.php | 1 - Doctrine/ORM/Provider.php | 2 +- Doctrine/RepositoryManager.php | 1 - Finder/TransformedFinder.php | 7 ++++- IndexManager.php | 10 +++---- Logger/ElasticaLogger.php | 3 ++- Paginator/PaginatorAdapterInterface.php | 4 ++- Paginator/RawPaginatorAdapter.php | 14 +++++++--- Paginator/RawPartialResults.php | 3 ++- Paginator/TransformedPaginatorAdapter.php | 6 ++--- Persister/ObjectPersister.php | 5 +--- Persister/ObjectPersisterInterface.php | 2 +- Propel/ElasticaToModelTransformer.php | 9 +++---- Propel/Provider.php | 1 + Provider/ProviderInterface.php | 3 ++- Provider/ProviderRegistry.php | 7 +++-- Resetter.php | 14 +++++----- .../PaginateElasticaQuerySubscriber.php | 2 ++ .../ElasticaDataCollectorTest.php | 9 +++++++ .../Compiler/RegisterProvidersPassTest.php | 4 +-- Tests/Doctrine/AbstractListenerTest.php | 2 +- Tests/Doctrine/AbstractProviderTest.php | 8 +++--- Tests/Doctrine/RepositoryManagerTest.php | 19 +++++++++++-- Tests/IndexManagerTest.php | 4 ++- Tests/Logger/ElasticaLoggerTest.php | 1 + Tests/Manager/RepositoryManagerTest.php | 12 +++++++-- Tests/Persister/ObjectPersisterTest.php | 8 ++++++ Tests/Provider/ProviderRegistryTest.php | 3 +++ Tests/RepositoryTest.php | 4 +++ Tests/ResetterTest.php | 10 +++---- .../ModelToElasticaAutoTransformerTest.php | 2 +- Tests/bootstrap.php | 1 + .../ElasticaToModelTransformerCollection.php | 15 ++++++++--- .../ElasticaToModelTransformerInterface.php | 2 +- Transformer/HighlightableModelInterface.php | 2 +- .../ModelToElasticaAutoTransformer.php | 27 +++++++++---------- .../ModelToElasticaTransformerInterface.php | 2 +- composer.json | 14 ++++++---- 49 files changed, 199 insertions(+), 103 deletions(-) diff --git a/Client.php b/Client.php index fe700ad..8f4e4d0 100644 --- a/Client.php +++ b/Client.php @@ -10,6 +10,9 @@ use FOQ\ElasticaBundle\Logger\ElasticaLogger; */ class Client extends Elastica_Client { + /** + * @var ElasticaLogger + */ protected $logger; public function setLogger(ElasticaLogger $logger) diff --git a/Command/PopulateCommand.php b/Command/PopulateCommand.php index 440333e..441b66a 100755 --- a/Command/PopulateCommand.php +++ b/Command/PopulateCommand.php @@ -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 FOQ\ElasticaBundle\IndexManager; +use FOQ\ElasticaBundle\Provider\ProviderRegistry; +use FOQ\ElasticaBundle\Resetter; +use FOQ\ElasticaBundle\Provider\ProviderInterface; /** * Populate the search index @@ -15,17 +19,17 @@ use Symfony\Component\Console\Output\Output; class PopulateCommand extends ContainerAwareCommand { /** - * @var FOQ\ElasticaBundle\IndexManager + * @var IndexManager */ private $indexManager; /** - * @var FOQ\ElasticaBundle\Provider\ProviderRegistry + * @var ProviderRegistry */ private $providerRegistry; /** - * @var FOQ\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) { diff --git a/Command/SearchCommand.php b/Command/SearchCommand.php index 30712ce..751a79b 100644 --- a/Command/SearchCommand.php +++ b/Command/SearchCommand.php @@ -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('foq_elastica.index_manager')->getIndex($indexName ? $indexName : null); $type = $index->getType($input->getArgument('type')); $query = Elastica_Query::create($input->getArgument('query')); diff --git a/DependencyInjection/Compiler/RegisterProvidersPass.php b/DependencyInjection/Compiler/RegisterProvidersPass.php index fc61e21..7f4b74f 100644 --- a/DependencyInjection/Compiler/RegisterProvidersPass.php +++ b/DependencyInjection/Compiler/RegisterProvidersPass.php @@ -3,7 +3,6 @@ namespace FOQ\ElasticaBundle\DependencyInjection\Compiler; use Symfony\Component\DependencyInjection\ContainerBuilder; -use Symfony\Component\DependencyInjection\Reference; use Symfony\Component\DependencyInjection\Compiler\CompilerPassInterface; class RegisterProvidersPass implements CompilerPassInterface diff --git a/DependencyInjection/Compiler/TransformerPass.php b/DependencyInjection/Compiler/TransformerPass.php index ea7bc85..89d8896 100644 --- a/DependencyInjection/Compiler/TransformerPass.php +++ b/DependencyInjection/Compiler/TransformerPass.php @@ -4,7 +4,6 @@ namespace FOQ\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; diff --git a/DependencyInjection/Configuration.php b/DependencyInjection/Configuration.php index 8bf692c..73371f9 100644 --- a/DependencyInjection/Configuration.php +++ b/DependencyInjection/Configuration.php @@ -18,7 +18,7 @@ class Configuration /** * Generates the configuration tree. * - * @return \Symfony\Component\DependencyInjection\Configuration\NodeInterface + * @return \Symfony\Component\Config\Definition\NodeInterface */ public function getConfigTree() { @@ -284,7 +284,7 @@ class Configuration } /** - * @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) @@ -319,7 +319,7 @@ class Configuration } /** - * @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') */ diff --git a/DependencyInjection/FOQElasticaExtension.php b/DependencyInjection/FOQElasticaExtension.php index 43fa704..00e4c57 100644 --- a/DependencyInjection/FOQElasticaExtension.php +++ b/DependencyInjection/FOQElasticaExtension.php @@ -64,8 +64,9 @@ class FOQElasticaExtension 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) { @@ -87,8 +88,12 @@ class FOQElasticaExtension 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) { @@ -160,8 +165,11 @@ class FOQElasticaExtension 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) { @@ -226,8 +234,12 @@ class FOQElasticaExtension 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']); @@ -409,8 +421,9 @@ class FOQElasticaExtension 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('foq_elastica.resetter'); diff --git a/Doctrine/AbstractElasticaToModelTransformer.php b/Doctrine/AbstractElasticaToModelTransformer.php index 9a74cfa..e7e9801 100755 --- a/Doctrine/AbstractElasticaToModelTransformer.php +++ b/Doctrine/AbstractElasticaToModelTransformer.php @@ -5,7 +5,6 @@ namespace FOQ\ElasticaBundle\Doctrine; use FOQ\ElasticaBundle\HybridResult; use FOQ\ElasticaBundle\Transformer\ElasticaToModelTransformerInterface; use FOQ\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) diff --git a/Doctrine/AbstractListener.php b/Doctrine/AbstractListener.php index 796cf19..f24a1bd 100644 --- a/Doctrine/AbstractListener.php +++ b/Doctrine/AbstractListener.php @@ -5,6 +5,7 @@ namespace FOQ\ElasticaBundle\Doctrine; use Doctrine\Common\EventSubscriber; use Doctrine\Common\Persistence\ObjectManager; use FOQ\ElasticaBundle\Persister\ObjectPersisterInterface; +use FOQ\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) { diff --git a/Doctrine/AbstractProvider.php b/Doctrine/AbstractProvider.php index 6a3e008..20c11a5 100644 --- a/Doctrine/AbstractProvider.php +++ b/Doctrine/AbstractProvider.php @@ -35,6 +35,7 @@ abstract class AbstractProvider extends BaseAbstractProvider { $queryBuilder = $this->createQueryBuilder(); $nbObjects = $this->countObjects($queryBuilder); + $stepStartTime = 0; for ($offset = 0; $offset < $nbObjects; $offset += $this->options['batch_size']) { if ($loggerClosure) { diff --git a/Doctrine/MongoDB/ElasticaToModelTransformer.php b/Doctrine/MongoDB/ElasticaToModelTransformer.php index a2f8813..c09c2e5 100644 --- a/Doctrine/MongoDB/ElasticaToModelTransformer.php +++ b/Doctrine/MongoDB/ElasticaToModelTransformer.php @@ -3,7 +3,6 @@ namespace FOQ\ElasticaBundle\Doctrine\MongoDB; use FOQ\ElasticaBundle\Doctrine\AbstractElasticaToModelTransformer; -use Elastica_Document; /** * Maps Elastica documents with Doctrine objects diff --git a/Doctrine/ORM/ElasticaToModelTransformer.php b/Doctrine/ORM/ElasticaToModelTransformer.php index 5ddf733..ff3ad17 100644 --- a/Doctrine/ORM/ElasticaToModelTransformer.php +++ b/Doctrine/ORM/ElasticaToModelTransformer.php @@ -3,7 +3,6 @@ namespace FOQ\ElasticaBundle\Doctrine\ORM; use FOQ\ElasticaBundle\Doctrine\AbstractElasticaToModelTransformer; -use Elastica_Document; use Doctrine\ORM\Query; /** diff --git a/Doctrine/ORM/Provider.php b/Doctrine/ORM/Provider.php index 8947536..9f219ca 100644 --- a/Doctrine/ORM/Provider.php +++ b/Doctrine/ORM/Provider.php @@ -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() diff --git a/Doctrine/RepositoryManager.php b/Doctrine/RepositoryManager.php index 482759b..088a721 100644 --- a/Doctrine/RepositoryManager.php +++ b/Doctrine/RepositoryManager.php @@ -4,7 +4,6 @@ namespace FOQ\ElasticaBundle\Doctrine; use Doctrine\Common\Annotations\Reader; use Doctrine\Common\Persistence\ManagerRegistry; -use FOQ\ElasticaBundle\Finder\FinderInterface; use FOQ\ElasticaBundle\Manager\RepositoryManager as BaseManager; /** diff --git a/Finder/TransformedFinder.php b/Finder/TransformedFinder.php index 3bec909..b805bf9 100644 --- a/Finder/TransformedFinder.php +++ b/Finder/TransformedFinder.php @@ -2,7 +2,6 @@ namespace FOQ\ElasticaBundle\Finder; -use FOQ\ElasticaBundle\Finder\FinderInterface; use FOQ\ElasticaBundle\Finder\PaginatedFinderInterface; use FOQ\ElasticaBundle\Transformer\ElasticaToModelTransformerInterface; use FOQ\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) diff --git a/IndexManager.php b/IndexManager.php index 5fc30f9..805ef87 100644 --- a/IndexManager.php +++ b/IndexManager.php @@ -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() { diff --git a/Logger/ElasticaLogger.php b/Logger/ElasticaLogger.php index 415e53b..a4b19d8 100644 --- a/Logger/ElasticaLogger.php +++ b/Logger/ElasticaLogger.php @@ -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) { diff --git a/Paginator/PaginatorAdapterInterface.php b/Paginator/PaginatorAdapterInterface.php index 363fcd3..42e2bb1 100644 --- a/Paginator/PaginatorAdapterInterface.php +++ b/Paginator/PaginatorAdapterInterface.php @@ -2,6 +2,8 @@ namespace FOQ\ElasticaBundle\Paginator; +use FOQ\ElasticaBundle\Paginator\PartialResultsInterface; + interface PaginatorAdapterInterface { /** @@ -19,7 +21,7 @@ interface PaginatorAdapterInterface * @param integer $offset The offset. * @param integer $length The length. * - * @return FOQ\ElasticaBundle\Paginator\PartialResults + * @return PartialResultsInterface * * @api */ diff --git a/Paginator/RawPaginatorAdapter.php b/Paginator/RawPaginatorAdapter.php index 77d0527..95e7840 100644 --- a/Paginator/RawPaginatorAdapter.php +++ b/Paginator/RawPaginatorAdapter.php @@ -4,8 +4,10 @@ namespace FOQ\ElasticaBundle\Paginator; use Elastica_Searchable; use Elastica_Query; +use Elastica_ResultSet; use FOQ\ElasticaBundle\Paginator\PaginatorAdapterInterface; use FOQ\ElasticaBundle\Paginator\RawPartialResults; +use FOQ\ElasticaBundle\Paginator\PartialResultsInterface; /** * Allows pagination of Elastica_Query. Does not map results @@ -13,7 +15,7 @@ use FOQ\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 FOQ\ElasticaBundle\Paginator\PartialResultInterface + * @param int $offset + * @param int $itemCountPerPage + * @return PartialResultsInterface */ public function getResults($offset, $itemCountPerPage) { diff --git a/Paginator/RawPartialResults.php b/Paginator/RawPartialResults.php index b1136b9..5e9c4e5 100644 --- a/Paginator/RawPartialResults.php +++ b/Paginator/RawPartialResults.php @@ -4,6 +4,7 @@ namespace FOQ\ElasticaBundle\Paginator; use FOQ\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()); } diff --git a/Paginator/TransformedPaginatorAdapter.php b/Paginator/TransformedPaginatorAdapter.php index 2c424be..ae89846 100644 --- a/Paginator/TransformedPaginatorAdapter.php +++ b/Paginator/TransformedPaginatorAdapter.php @@ -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) { diff --git a/Persister/ObjectPersister.php b/Persister/ObjectPersister.php index b962945..06f2918 100644 --- a/Persister/ObjectPersister.php +++ b/Persister/ObjectPersister.php @@ -2,12 +2,9 @@ namespace FOQ\ElasticaBundle\Persister; -use FOQ\ElasticaBundle\Provider\ProviderInterface; use FOQ\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) { diff --git a/Persister/ObjectPersisterInterface.php b/Persister/ObjectPersisterInterface.php index 962a88c..bda16b3 100644 --- a/Persister/ObjectPersisterInterface.php +++ b/Persister/ObjectPersisterInterface.php @@ -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); } diff --git a/Propel/ElasticaToModelTransformer.php b/Propel/ElasticaToModelTransformer.php index 824b523..1878bb0 100644 --- a/Propel/ElasticaToModelTransformer.php +++ b/Propel/ElasticaToModelTransformer.php @@ -4,7 +4,6 @@ namespace FOQ\ElasticaBundle\Propel; use FOQ\ElasticaBundle\HybridResult; use FOQ\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) diff --git a/Propel/Provider.php b/Propel/Provider.php index 141a558..1d7e7eb 100644 --- a/Propel/Provider.php +++ b/Propel/Provider.php @@ -18,6 +18,7 @@ class Provider extends AbstractProvider { $queryClass = $this->objectClass . 'Query'; $nbObjects = $queryClass::create()->count(); + $stepStartTime = 0; for ($offset = 0; $offset < $nbObjects; $offset += $this->options['batch_size']) { if ($loggerClosure) { diff --git a/Provider/ProviderInterface.php b/Provider/ProviderInterface.php index 5e81cd6..c2f2631 100644 --- a/Provider/ProviderInterface.php +++ b/Provider/ProviderInterface.php @@ -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); } diff --git a/Provider/ProviderRegistry.php b/Provider/ProviderRegistry.php index e9abe9f..367cce2 100644 --- a/Provider/ProviderRegistry.php +++ b/Provider/ProviderRegistry.php @@ -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) { diff --git a/Resetter.php b/Resetter.php index 2773140..8438d3d 100644 --- a/Resetter.php +++ b/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']); - 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) { diff --git a/Subscriber/PaginateElasticaQuerySubscriber.php b/Subscriber/PaginateElasticaQuerySubscriber.php index 2f043ef..cdfa8fb 100644 --- a/Subscriber/PaginateElasticaQuerySubscriber.php +++ b/Subscriber/PaginateElasticaQuerySubscriber.php @@ -5,12 +5,14 @@ namespace FOQ\ElasticaBundle\Subscriber; use Symfony\Component\EventDispatcher\EventSubscriberInterface; use Knp\Component\Pager\Event\ItemsEvent; use FOQ\ElasticaBundle\Paginator\PaginatorAdapterInterface; +use FOQ\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(); diff --git a/Tests/DataCollector/ElasticaDataCollectorTest.php b/Tests/DataCollector/ElasticaDataCollectorTest.php index 7ec9800..df84a23 100644 --- a/Tests/DataCollector/ElasticaDataCollectorTest.php +++ b/Tests/DataCollector/ElasticaDataCollectorTest.php @@ -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|\FOQ\ElasticaBundle\Logger\ElasticaLogger */ $loggerMock = $this->getMockBuilder('FOQ\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|\FOQ\ElasticaBundle\Logger\ElasticaLogger */ $loggerMock = $this->getMockBuilder('FOQ\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|\FOQ\ElasticaBundle\Logger\ElasticaLogger */ $loggerMock = $this->getMockBuilder('FOQ\ElasticaBundle\Logger\ElasticaLogger') ->disableOriginalConstructor() ->getMock(); diff --git a/Tests/DependencyInjection/Compiler/RegisterProvidersPassTest.php b/Tests/DependencyInjection/Compiler/RegisterProvidersPassTest.php index dbbfcb0..99c1a74 100644 --- a/Tests/DependencyInjection/Compiler/RegisterProvidersPassTest.php +++ b/Tests/DependencyInjection/Compiler/RegisterProvidersPassTest.php @@ -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() { diff --git a/Tests/Doctrine/AbstractListenerTest.php b/Tests/Doctrine/AbstractListenerTest.php index 16845e9..2506af8 100644 --- a/Tests/Doctrine/AbstractListenerTest.php +++ b/Tests/Doctrine/AbstractListenerTest.php @@ -150,7 +150,7 @@ abstract class AbstractListenerTest extends \PHPUnit_Framework_TestCase /** * @dataProvider provideInvalidIsIndexableCallbacks - * @expectedException RuntimeException + * @expectedException \RuntimeException */ public function testInvalidIsIndexableCallbacks($isIndexableCallback) { diff --git a/Tests/Doctrine/AbstractProviderTest.php b/Tests/Doctrine/AbstractProviderTest.php index 9cc7bd5..5a452b8 100644 --- a/Tests/Doctrine/AbstractProviderTest.php +++ b/Tests/Doctrine/AbstractProviderTest.php @@ -136,7 +136,7 @@ class AbstractProviderTest extends \PHPUnit_Framework_TestCase } /** - * @return FOQ\ElasticaBundle\Doctrine\AbstractProvider + * @return \FOQ\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 FOQ\ElasticaBundle\Tests\Doctrine\ObjectManager + * @return ObjectManager|\PHPUnit_Framework_MockObject_MockObject */ private function getMockObjectManager() { @@ -165,7 +165,7 @@ class AbstractProviderTest extends \PHPUnit_Framework_TestCase } /** - * @return FOQ\ElasticaBundle\Persister\ObjectPersisterInterface + * @return \FOQ\ElasticaBundle\Persister\ObjectPersisterInterface|\PHPUnit_Framework_MockObject_MockObject */ private function getMockObjectPersister() { diff --git a/Tests/Doctrine/RepositoryManagerTest.php b/Tests/Doctrine/RepositoryManagerTest.php index d518b0c..2e712bf 100644 --- a/Tests/Doctrine/RepositoryManagerTest.php +++ b/Tests/Doctrine/RepositoryManagerTest.php @@ -22,14 +22,17 @@ class RepositoryManagerTest extends \PHPUnit_Framework_TestCase public function testThatGetRepositoryReturnsDefaultRepository() { + /** @var $finderMock \PHPUnit_Framework_MockObject_MockObject|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\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|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\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|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\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|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\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|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\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(); diff --git a/Tests/IndexManagerTest.php b/Tests/IndexManagerTest.php index 63e6ded..006732a 100644 --- a/Tests/IndexManagerTest.php +++ b/Tests/IndexManagerTest.php @@ -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() { diff --git a/Tests/Logger/ElasticaLoggerTest.php b/Tests/Logger/ElasticaLoggerTest.php index 566757c..eeda293 100644 --- a/Tests/Logger/ElasticaLoggerTest.php +++ b/Tests/Logger/ElasticaLoggerTest.php @@ -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(); diff --git a/Tests/Manager/RepositoryManagerTest.php b/Tests/Manager/RepositoryManagerTest.php index 484bf12..1648e0b 100644 --- a/Tests/Manager/RepositoryManagerTest.php +++ b/Tests/Manager/RepositoryManagerTest.php @@ -16,10 +16,12 @@ class RepositoryManagerTest extends \PHPUnit_Framework_TestCase public function testThatGetRepositoryReturnsDefaultRepository() { + /** @var $finderMock \PHPUnit_Framework_MockObject_MockObject|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\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|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\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|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\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|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\ElasticaBundle\Finder\TransformedFinder') ->disableOriginalConstructor() ->getMock(); + /** @var $readerMock \PHPUnit_Framework_MockObject_MockObject|\Doctrine\Common\Annotations\Reader */ $readerMock = $this->getMockBuilder('Doctrine\Common\Annotations\Reader') ->disableOriginalConstructor() ->getMock(); diff --git a/Tests/Persister/ObjectPersisterTest.php b/Tests/Persister/ObjectPersisterTest.php index 335ac4e..7a84aa2 100644 --- a/Tests/Persister/ObjectPersisterTest.php +++ b/Tests/Persister/ObjectPersisterTest.php @@ -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(); diff --git a/Tests/Provider/ProviderRegistryTest.php b/Tests/Provider/ProviderRegistryTest.php index 8582aab..29cadd4 100644 --- a/Tests/Provider/ProviderRegistryTest.php +++ b/Tests/Provider/ProviderRegistryTest.php @@ -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; diff --git a/Tests/RepositoryTest.php b/Tests/RepositoryTest.php index 6d51f29..34e051c 100644 --- a/Tests/RepositoryTest.php +++ b/Tests/RepositoryTest.php @@ -14,6 +14,7 @@ class RepositoryTest extends \PHPUnit_Framework_TestCase { $testQuery = 'Test Query'; + /** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\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|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\ElasticaBundle\Finder\TransformedFinder') ->disableOriginalConstructor() ->getMock(); @@ -45,6 +47,7 @@ class RepositoryTest extends \PHPUnit_Framework_TestCase { $testQuery = 'Test Query'; + /** @var $typeMock \PHPUnit_Framework_MockObject_MockObject|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\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|\FOQ\ElasticaBundle\Finder\TransformedFinder */ $finderMock = $this->getMockBuilder('FOQ\ElasticaBundle\Finder\TransformedFinder') ->disableOriginalConstructor() ->getMock(); diff --git a/Tests/ResetterTest.php b/Tests/ResetterTest.php index 754310c..9b677ab 100644 --- a/Tests/ResetterTest.php +++ b/Tests/ResetterTest.php @@ -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() { diff --git a/Tests/Transformer/ModelToElasticaAutoTransformerTest.php b/Tests/Transformer/ModelToElasticaAutoTransformerTest.php index 6f2aaea..70d8049 100644 --- a/Tests/Transformer/ModelToElasticaAutoTransformerTest.php +++ b/Tests/Transformer/ModelToElasticaAutoTransformerTest.php @@ -201,7 +201,7 @@ class ModelToElasticaAutoTransformerTest extends \PHPUnit_Framework_TestCase } /** - * @expectedException \Symfony\Component\Form\Exception\PropertyAccessDeniedException + * @expectedException \Symfony\Component\PropertyAccess\Exception\PropertyAccessDeniedException */ public function testThatCannotTransformObjectWhenGetterDoesNotExistForPrivateMethod() { diff --git a/Tests/bootstrap.php b/Tests/bootstrap.php index bb67271..757920e 100644 --- a/Tests/bootstrap.php +++ b/Tests/bootstrap.php @@ -15,4 +15,5 @@ spl_autoload_register(function($class) { require_once $path; return true; } + return false; }); diff --git a/Transformer/ElasticaToModelTransformerCollection.php b/Transformer/ElasticaToModelTransformerCollection.php index 539f03d..271d2f7 100644 --- a/Transformer/ElasticaToModelTransformerCollection.php +++ b/Transformer/ElasticaToModelTransformerCollection.php @@ -3,7 +3,7 @@ namespace FOQ\ElasticaBundle\Transformer; use FOQ\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); } diff --git a/Transformer/ElasticaToModelTransformerInterface.php b/Transformer/ElasticaToModelTransformerInterface.php index 971bdfe..d7300cb 100644 --- a/Transformer/ElasticaToModelTransformerInterface.php +++ b/Transformer/ElasticaToModelTransformerInterface.php @@ -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); diff --git a/Transformer/HighlightableModelInterface.php b/Transformer/HighlightableModelInterface.php index fb7c1fd..2e0bcc9 100644 --- a/Transformer/HighlightableModelInterface.php +++ b/Transformer/HighlightableModelInterface.php @@ -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); } diff --git a/Transformer/ModelToElasticaAutoTransformer.php b/Transformer/ModelToElasticaAutoTransformer.php index e65d59d..b05ee8b 100644 --- a/Transformer/ModelToElasticaAutoTransformer.php +++ b/Transformer/ModelToElasticaAutoTransformer.php @@ -2,7 +2,7 @@ namespace FOQ\ElasticaBundle\Transformer; -use Symfony\Component\Form\Util\PropertyPath; +use Symfony\Component\PropertyAccess\PropertyAccess; /** * Maps Elastica documents with Doctrine objects @@ -36,32 +36,30 @@ 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) { - $identifierProperty = new PropertyPath($this->options['identifier']); - $identifier = $identifierProperty->getValue($object); + $accessor = PropertyAccess::getPropertyAccessor(); + $identifier = $accessor->getValue($object, $this->options['identifier']); $document = new \Elastica_Document($identifier); foreach ($fields as $key => $mapping) { - $property = new PropertyPath($key); if (!empty($mapping['_parent']) && $mapping['_parent'] !== '~') { - $parent = $property->getValue($object); - $identifierProperty = new PropertyPath($mapping['_parent']['identifier']); - $document->setParent($identifierProperty->getValue($parent)); + $parent = $accessor->getValue($object, $key); + $document->setParent($accessor->getValue($parent, $mapping['_parent']['identifier'])); } else if (isset($mapping['type']) && in_array($mapping['type'], array('nested', 'object'))) { $submapping = $mapping['properties']; - $subcollection = $property->getValue($object); + $subcollection = $accessor->getValue($object, $key); $document->add($key, $this->transformNested($subcollection, $submapping, $document)); } else if (isset($mapping['type']) && $mapping['type'] == 'attachment') { - $attachment = $property->getValue($object); + $attachment = $accessor->getValue($object, $key); if ($attachment instanceof \SplFileInfo) { $document->addFile($key, $attachment->getPathName()); } else { $document->addFileContent($key, $attachment); } } else { - $document->add($key, $this->normalizeValue($property->getValue($object))); + $document->add($key, $this->normalizeValue($accessor->getValue($object, $key))); } } return $document; @@ -70,13 +68,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(); diff --git a/Transformer/ModelToElasticaTransformerInterface.php b/Transformer/ModelToElasticaTransformerInterface.php index 449078c..84db120 100644 --- a/Transformer/ModelToElasticaTransformerInterface.php +++ b/Transformer/ModelToElasticaTransformerInterface.php @@ -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); } diff --git a/composer.json b/composer.json index 77106c9..9eaa9aa 100644 --- a/composer.json +++ b/composer.json @@ -12,20 +12,24 @@ ], "require": { "php": ">=5.3.2", - "symfony/framework-bundle": ">=2.1.0,<2.3-dev", - "symfony/console": ">=2.1.0,<2.3-dev", - "symfony/form": ">=2.1.0,<2.3-dev", + "symfony/framework-bundle": ">=2.2.0,<2.3-dev", + "symfony/console": ">=2.2.0,<2.3-dev", + "symfony/form": ">=2.2.0,<2.3-dev", "ruflin/elastica": "0.19.8" }, "require-dev":{ "doctrine/orm":">=2.2,<2.5-dev", "doctrine/mongodb-odm":"dev-master", - "propel/propel1":"1.6.*" + "propel/propel1":"1.6.*", + "pagerfanta/pagerfanta":"1.x", + "knplabs/knp-components":"1.2.x" }, "suggest": { "doctrine/orm": ">=2.2,<2.5-dev", "doctrine/mongodb-odm": ">=3.0.0-beta2,<3.1-dev", - "propel/propel1": "1.6.*" + "propel/propel1": "1.6.*", + "pagerfanta/pagerfanta":"1.x", + "knplabs/knp-components":"1.2.x" }, "autoload": { "psr-0": { "FOQ\\ElasticaBundle": "" } From b03ee7cc768397aa4307fe5a3bd43a7242cde41e Mon Sep 17 00:00:00 2001 From: cevou Date: Mon, 4 Mar 2013 21:20:55 +0100 Subject: [PATCH 2/2] Removed property path changes again --- Doctrine/AbstractProvider.php | 1 - Propel/Provider.php | 1 - Resetter.php | 2 +- .../ModelToElasticaAutoTransformerTest.php | 2 +- .../ModelToElasticaAutoTransformer.php | 18 +++++++++-------- composer.json | 20 +++++++++---------- 6 files changed, 22 insertions(+), 22 deletions(-) diff --git a/Doctrine/AbstractProvider.php b/Doctrine/AbstractProvider.php index 20c11a5..6a3e008 100644 --- a/Doctrine/AbstractProvider.php +++ b/Doctrine/AbstractProvider.php @@ -35,7 +35,6 @@ abstract class AbstractProvider extends BaseAbstractProvider { $queryBuilder = $this->createQueryBuilder(); $nbObjects = $this->countObjects($queryBuilder); - $stepStartTime = 0; for ($offset = 0; $offset < $nbObjects; $offset += $this->options['batch_size']) { if ($loggerClosure) { diff --git a/Propel/Provider.php b/Propel/Provider.php index 1d7e7eb..141a558 100644 --- a/Propel/Provider.php +++ b/Propel/Provider.php @@ -18,7 +18,6 @@ class Provider extends AbstractProvider { $queryClass = $this->objectClass . 'Query'; $nbObjects = $queryClass::create()->count(); - $stepStartTime = 0; for ($offset = 0; $offset < $nbObjects; $offset += $this->options['batch_size']) { if ($loggerClosure) { diff --git a/Resetter.php b/Resetter.php index 8438d3d..8aa86e0 100644 --- a/Resetter.php +++ b/Resetter.php @@ -70,7 +70,7 @@ class Resetter */ protected function createMapping($indexConfig) { - $mapping = \Elastica_Type_Mapping::create($indexConfig['properties']); + $mapping = \Elastica_Type_Mapping::create($indexConfig['properties']); foreach($indexConfig['properties'] as $type) { if (!empty($type['_parent']) && $type['_parent'] !== '~') { diff --git a/Tests/Transformer/ModelToElasticaAutoTransformerTest.php b/Tests/Transformer/ModelToElasticaAutoTransformerTest.php index 70d8049..6f2aaea 100644 --- a/Tests/Transformer/ModelToElasticaAutoTransformerTest.php +++ b/Tests/Transformer/ModelToElasticaAutoTransformerTest.php @@ -201,7 +201,7 @@ class ModelToElasticaAutoTransformerTest extends \PHPUnit_Framework_TestCase } /** - * @expectedException \Symfony\Component\PropertyAccess\Exception\PropertyAccessDeniedException + * @expectedException \Symfony\Component\Form\Exception\PropertyAccessDeniedException */ public function testThatCannotTransformObjectWhenGetterDoesNotExistForPrivateMethod() { diff --git a/Transformer/ModelToElasticaAutoTransformer.php b/Transformer/ModelToElasticaAutoTransformer.php index b05ee8b..462083c 100644 --- a/Transformer/ModelToElasticaAutoTransformer.php +++ b/Transformer/ModelToElasticaAutoTransformer.php @@ -2,7 +2,7 @@ namespace FOQ\ElasticaBundle\Transformer; -use Symfony\Component\PropertyAccess\PropertyAccess; +use Symfony\Component\Form\Util\PropertyPath; /** * Maps Elastica documents with Doctrine objects @@ -40,26 +40,28 @@ class ModelToElasticaAutoTransformer implements ModelToElasticaTransformerInterf **/ public function transform($object, array $fields) { - $accessor = PropertyAccess::getPropertyAccessor(); - $identifier = $accessor->getValue($object, $this->options['identifier']); + $identifierProperty = new PropertyPath($this->options['identifier']); + $identifier = $identifierProperty->getValue($object); $document = new \Elastica_Document($identifier); foreach ($fields as $key => $mapping) { + $property = new PropertyPath($key); if (!empty($mapping['_parent']) && $mapping['_parent'] !== '~') { - $parent = $accessor->getValue($object, $key); - $document->setParent($accessor->getValue($parent, $mapping['_parent']['identifier'])); + $parent = $property->getValue($object); + $identifierProperty = new PropertyPath($mapping['_parent']['identifier']); + $document->setParent($identifierProperty->getValue($parent)); } else if (isset($mapping['type']) && in_array($mapping['type'], array('nested', 'object'))) { $submapping = $mapping['properties']; - $subcollection = $accessor->getValue($object, $key); + $subcollection = $property->getValue($object); $document->add($key, $this->transformNested($subcollection, $submapping, $document)); } else if (isset($mapping['type']) && $mapping['type'] == 'attachment') { - $attachment = $accessor->getValue($object, $key); + $attachment = $property->getValue($object); if ($attachment instanceof \SplFileInfo) { $document->addFile($key, $attachment->getPathName()); } else { $document->addFileContent($key, $attachment); } } else { - $document->add($key, $this->normalizeValue($accessor->getValue($object, $key))); + $document->add($key, $this->normalizeValue($property->getValue($object))); } } return $document; diff --git a/composer.json b/composer.json index 9eaa9aa..1415842 100644 --- a/composer.json +++ b/composer.json @@ -12,24 +12,24 @@ ], "require": { "php": ">=5.3.2", - "symfony/framework-bundle": ">=2.2.0,<2.3-dev", - "symfony/console": ">=2.2.0,<2.3-dev", - "symfony/form": ">=2.2.0,<2.3-dev", + "symfony/framework-bundle": ">=2.1.0,<2.3-dev", + "symfony/console": ">=2.1.0,<2.3-dev", + "symfony/form": ">=2.1.0,<2.3-dev", "ruflin/elastica": "0.19.8" }, "require-dev":{ - "doctrine/orm":">=2.2,<2.5-dev", - "doctrine/mongodb-odm":"dev-master", - "propel/propel1":"1.6.*", - "pagerfanta/pagerfanta":"1.x", - "knplabs/knp-components":"1.2.x" + "doctrine/orm": ">=2.2,<2.5-dev", + "doctrine/mongodb-odm": "dev-master", + "propel/propel1": "1.6.*", + "pagerfanta/pagerfanta": "1.*", + "knplabs/knp-components": "1.2.*" }, "suggest": { "doctrine/orm": ">=2.2,<2.5-dev", "doctrine/mongodb-odm": ">=3.0.0-beta2,<3.1-dev", "propel/propel1": "1.6.*", - "pagerfanta/pagerfanta":"1.x", - "knplabs/knp-components":"1.2.x" + "pagerfanta/pagerfanta": "1.*", + "knplabs/knp-components": "1.2.*" }, "autoload": { "psr-0": { "FOQ\\ElasticaBundle": "" }