From 72383e69c6031bf146315ecab2c74a7f0a08b65d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20R?= Date: Thu, 30 Jul 2015 02:01:38 +0200 Subject: [PATCH 1/3] [API][SearchService] Rename $fieldFilters to $languageFilter To clearify it's use in preperations for other language related changes. --- doc/bc/changes-5.3.md | 5 + doc/bc/changes-5.4.md | 4 + eZ/Publish/API/Repository/SearchService.php | 17 +- .../Tests/SearchServiceAuthorizationTest.php | 6 +- .../Tests/SearchServiceFieldFiltersTest.php | 292 +++++++++--------- .../Core/REST/Client/ContentService.php | 12 +- eZ/Publish/Core/Repository/SearchService.php | 30 +- .../Tests/Service/Mock/SearchTest.php | 22 +- .../Common/CriterionVisitor/LogicalAnd.php | 16 +- .../Common/CriterionVisitor/LogicalNot.php | 12 +- .../Common/CriterionVisitor/LogicalOr.php | 16 +- .../Common/CriterionVisitor/MatchAll.php | 4 +- .../Common/CriterionVisitor/MatchNone.php | 8 +- .../Content/CriterionVisitor.php | 10 +- .../Content/CriterionVisitor/ContentIdIn.php | 4 +- .../CriterionVisitor/ContentTypeGroupIdIn.php | 4 +- .../CriterionVisitor/ContentTypeIdIn.php | 4 +- .../ContentTypeIdentifierIn.php | 4 +- .../Content/CriterionVisitor/CustomField.php | 6 +- .../CustomField/CustomFieldIn.php | 6 +- .../CustomField/CustomFieldRange.php | 6 +- .../DateMetadata/ModifiedIn.php | 4 +- .../DateMetadata/ModifiedRange.php | 4 +- .../DateMetadata/PublishedIn.php | 4 +- .../DateMetadata/PublishedRange.php | 4 +- .../Content/CriterionVisitor/DepthIn.php | 8 +- .../Content/CriterionVisitor/DepthRange.php | 8 +- .../CriterionVisitor/Field/FieldIn.php | 14 +- .../CriterionVisitor/Field/FieldRange.php | 12 +- .../Field/MapLocationDistanceRange.php | 14 +- .../CriterionVisitor/FieldFilterBase.php | 26 +- .../Content/CriterionVisitor/FullText.php | 14 +- .../CriterionVisitor/LanguageCodeIn.php | 8 +- .../Content/CriterionVisitor/LocationIdIn.php | 8 +- .../CriterionVisitor/LocationRemoteIdIn.php | 8 +- .../CriterionVisitor/ObjectStateIdIn.php | 4 +- .../CriterionVisitor/ParentLocationIdIn.php | 8 +- .../Content/CriterionVisitor/RemoteIdIn.php | 4 +- .../Content/CriterionVisitor/SectionIdIn.php | 4 +- .../Content/CriterionVisitor/SubtreeIn.php | 8 +- .../CriterionVisitor/UserMetadataIn.php | 4 +- .../Content/CriterionVisitor/Visibility.php | 8 +- .../Content/CriterionVisitorDispatcher.php | 6 +- .../Search/Elasticsearch/Content/Gateway.php | 4 +- .../Elasticsearch/Content/Gateway/Native.php | 8 +- .../Search/Elasticsearch/Content/Handler.php | 16 +- .../Location/CriterionVisitor/ContentIdIn.php | 4 +- .../CriterionVisitor/ContentTypeGroupIdIn.php | 4 +- .../CriterionVisitor/ContentTypeIdIn.php | 4 +- .../ContentTypeIdentifierIn.php | 4 +- .../DateMetadata/ModifiedIn.php | 4 +- .../DateMetadata/ModifiedRange.php | 4 +- .../DateMetadata/PublishedIn.php | 4 +- .../DateMetadata/PublishedRange.php | 4 +- .../CriterionVisitor/LanguageCodeIn.php | 8 +- .../CriterionVisitor/Location/DepthIn.php | 4 +- .../CriterionVisitor/Location/DepthRange.php | 4 +- .../Location/IsMainLocation.php | 4 +- .../CriterionVisitor/Location/PriorityIn.php | 4 +- .../Location/PriorityRange.php | 4 +- .../CriterionVisitor/LocationIdIn.php | 4 +- .../CriterionVisitor/LocationRemoteIdIn.php | 4 +- .../CriterionVisitor/ObjectStateIdIn.php | 4 +- .../CriterionVisitor/ParentLocationIdIn.php | 4 +- .../Location/CriterionVisitor/RemoteIdIn.php | 4 +- .../Location/CriterionVisitor/SectionIdIn.php | 4 +- .../Location/CriterionVisitor/SubtreeIn.php | 8 +- .../CriterionVisitor/UserMetadataIn.php | 4 +- .../Location/CriterionVisitor/Visibility.php | 4 +- .../Content/Location/Handler.php | 4 +- .../Common/Gateway/CriteriaConverter.php | 6 +- .../Common/Gateway/CriterionHandler.php | 4 +- .../Gateway/CriterionHandler/ContentId.php | 4 +- .../CriterionHandler/ContentTypeGroupId.php | 4 +- .../CriterionHandler/ContentTypeId.php | 4 +- .../ContentTypeIdentifier.php | 4 +- .../Gateway/CriterionHandler/DateMetadata.php | 4 +- .../Common/Gateway/CriterionHandler/Field.php | 6 +- .../Gateway/CriterionHandler/FieldBase.php | 26 +- .../CriterionHandler/FieldRelation.php | 4 +- .../Gateway/CriterionHandler/FullText.php | 4 +- .../Gateway/CriterionHandler/LanguageCode.php | 4 +- .../Gateway/CriterionHandler/LogicalAnd.php | 6 +- .../Gateway/CriterionHandler/LogicalNot.php | 6 +- .../Gateway/CriterionHandler/LogicalOr.php | 6 +- .../CriterionHandler/MapLocationDistance.php | 6 +- .../Gateway/CriterionHandler/MatchAll.php | 4 +- .../Gateway/CriterionHandler/MatchNone.php | 4 +- .../CriterionHandler/ObjectStateId.php | 4 +- .../Gateway/CriterionHandler/RemoteId.php | 4 +- .../Gateway/CriterionHandler/SectionId.php | 4 +- .../Gateway/CriterionHandler/UserMetadata.php | 4 +- .../Core/Search/Legacy/Content/Gateway.php | 4 +- .../Gateway/CriterionHandler/Depth.php | 4 +- .../Gateway/CriterionHandler/LocationId.php | 4 +- .../CriterionHandler/LocationPriority.php | 4 +- .../CriterionHandler/LocationRemoteId.php | 4 +- .../CriterionHandler/ParentLocationId.php | 4 +- .../CriterionHandler/PermissionSubtree.php | 4 +- .../Gateway/CriterionHandler/Subtree.php | 4 +- .../Gateway/CriterionHandler/Visibility.php | 4 +- .../Content/Gateway/DoctrineDatabase.php | 26 +- .../Content/Gateway/ExceptionConversion.php | 6 +- .../Core/Search/Legacy/Content/Handler.php | 16 +- .../CriterionHandler/Location/Depth.php | 4 +- .../Location/IsMainLocation.php | 4 +- .../CriterionHandler/Location/Priority.php | 4 +- .../Gateway/CriterionHandler/LocationId.php | 4 +- .../CriterionHandler/LocationRemoteId.php | 4 +- .../CriterionHandler/ParentLocationId.php | 4 +- .../Gateway/CriterionHandler/Subtree.php | 4 +- .../Gateway/CriterionHandler/Visibility.php | 4 +- .../Legacy/Content/Location/Handler.php | 2 +- eZ/Publish/Core/SignalSlot/SearchService.php | 22 +- .../SignalSlot/Tests/SearchServiceTest.php | 6 +- eZ/Publish/SPI/Search/Content/Handler.php | 12 +- .../SPI/Search/Content/Location/Handler.php | 4 +- 117 files changed, 534 insertions(+), 552 deletions(-) diff --git a/doc/bc/changes-5.3.md b/doc/bc/changes-5.3.md index 45158476711..fa799303382 100644 --- a/doc/bc/changes-5.3.md +++ b/doc/bc/changes-5.3.md @@ -160,6 +160,11 @@ Changes affecting version compatibility with former or future versions. when deleting last version of the Content. Since Content without a version does not make sense, in this case `eZ\Publish\Core\Repository\ContentService::deleteContent()` should be used instead. + +* 5.3.8: $fieldFilters argument on Search service has been renamed to $languageFilter + Reason is to better communicate what the argument is used for. No changes + to it's structure is done so this is a purly cosmetic change. + ## Deprecations * Method `eZ\Publish\API\Repository\RoleService::removePolicy` is deprecated in diff --git a/doc/bc/changes-5.4.md b/doc/bc/changes-5.4.md index 72cb44d071f..ed06cd3fc05 100644 --- a/doc/bc/changes-5.4.md +++ b/doc/bc/changes-5.4.md @@ -189,6 +189,10 @@ Changes affecting version compatibility with former or future versions. when deleting last version of the Content. Since Content without a version does not make sense, in this case `eZ\Publish\Core\Repository\ContentService::deleteContent()` should be used instead. +* 5.4.5: $fieldFilters argument on Search service has been renamed to $languageFilter + Reason is to better communicate what the argument is used for. No changes + to it's structure is done so this is a purly cosmetic change. + ## Deprecations * `imagemagick` siteaccess settings are now deprecated. It is mandatory to remove them. diff --git a/eZ/Publish/API/Repository/SearchService.php b/eZ/Publish/API/Repository/SearchService.php index 629ce1d0d58..61755bf695b 100644 --- a/eZ/Publish/API/Repository/SearchService.php +++ b/eZ/Publish/API/Repository/SearchService.php @@ -22,19 +22,18 @@ interface SearchService /** * Finds content objects for the given query. * - * @todo define structs for the field filters - * * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * Also used to define which field languages are loaded for the returned content. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult */ - public function findContent(Query $query, array $fieldFilters = array(), $filterOnUserPermissions = true); + public function findContent(Query $query, array $languageFilter = array(), $filterOnUserPermissions = true); /** * Performs a query for a single content object. @@ -43,17 +42,15 @@ public function findContent(Query $query, array $fieldFilters = array(), $filter * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if criterion is not valid * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than than one result matching the criterions * - * @todo define structs for the field filters - * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * * @return \eZ\Publish\API\Repository\Values\Content\Content */ - public function findSingle(Criterion $filter, array $fieldFilters = array(), $filterOnUserPermissions = true); + public function findSingle(Criterion $filter, array $languageFilter = array(), $filterOnUserPermissions = true); /** * Suggests a list of values for the given prefix. @@ -71,12 +68,12 @@ public function suggest($prefix, $fieldPaths = array(), $limit = 10, Criterion $ * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\LocationQuery $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult */ - public function findLocations(LocationQuery $query, array $fieldFilters = array(), $filterOnUserPermissions = true); + public function findLocations(LocationQuery $query, array $languageFilter = array(), $filterOnUserPermissions = true); } diff --git a/eZ/Publish/API/Repository/Tests/SearchServiceAuthorizationTest.php b/eZ/Publish/API/Repository/Tests/SearchServiceAuthorizationTest.php index f6c3d27c810..e3c2c79477f 100644 --- a/eZ/Publish/API/Repository/Tests/SearchServiceAuthorizationTest.php +++ b/eZ/Publish/API/Repository/Tests/SearchServiceAuthorizationTest.php @@ -117,7 +117,7 @@ public function testFindSingleThrowsNotFoundException() /** * Test for the findContent() method, verifying disabling permissions. * - * @see \eZ\Publish\API\Repository\ContentService::findContent($query, $fieldFilters, $filterOnUserPermissions) + * @see \eZ\Publish\API\Repository\ContentService::findContent($query, $languageFilter, $filterOnUserPermissions) * @depends eZ\Publish\API\Repository\Tests\SearchServiceAuthorizationTest::testFindContent */ public function testFindContentWithUserPermissionFilter() @@ -154,7 +154,7 @@ public function testFindContentWithUserPermissionFilter() /** * Test for the findSingle() method disabling permission filtering. * - * @see \eZ\Publish\API\Repository\ContentService::findSingle($query, $fieldFilters, $filterOnUserPermissions) + * @see \eZ\Publish\API\Repository\ContentService::findSingle($query, $languageFilter, $filterOnUserPermissions) * @depends eZ\Publish\API\Repository\Tests\SearchServiceAuthorizationTest::testFindContent */ public function testFindSingleWithUserPermissionFilter() @@ -184,7 +184,7 @@ public function testFindSingleWithUserPermissionFilter() /** * Test for the findSingle() method. * - * @see \eZ\Publish\API\Repository\ContentService::findSingle($query, $fieldFilters, $filterOnUserPermissions) + * @see \eZ\Publish\API\Repository\ContentService::findSingle($query, $languageFilter, $filterOnUserPermissions) * @expectedException \eZ\Publish\API\Repository\Exceptions\NotFoundException * @depends eZ\Publish\API\Repository\Tests\SearchServiceAuthorizationTest::testFindContent */ diff --git a/eZ/Publish/API/Repository/Tests/SearchServiceFieldFiltersTest.php b/eZ/Publish/API/Repository/Tests/SearchServiceFieldFiltersTest.php index 6eeb507aaf9..cf9264f8f0c 100644 --- a/eZ/Publish/API/Repository/Tests/SearchServiceFieldFiltersTest.php +++ b/eZ/Publish/API/Repository/Tests/SearchServiceFieldFiltersTest.php @@ -201,14 +201,14 @@ public function testFieldFiltersCauseNotFoundException() $searchService = $repository->getSearchService(); // The content will be found, but field filtering in the service will cause the exception. - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), 'useAlwaysAvailable' => false, ); - $searchService->findContent($query, $fieldFilters); + $searchService->findContent($query, $languageFilter); } /** @@ -241,7 +241,7 @@ public function testFullTextQueryLanguageAll($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', 'eng-US', @@ -249,7 +249,7 @@ public function testFullTextQueryLanguageAll($type = null) 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -283,14 +283,14 @@ public function testFullTextQueryLanguage($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -323,14 +323,14 @@ public function testFullTextQueryLanguageComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content2->id, $searchResult->searchHits[0]->valueObject->id); @@ -363,14 +363,14 @@ public function testFullTextQueryLanguageEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -405,13 +405,13 @@ public function testFullTextQueryLanguageAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -448,13 +448,13 @@ public function testFullTextQueryLanguageAlwaysAvailableComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -491,13 +491,13 @@ public function testFullTextQueryAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -531,13 +531,13 @@ public function testFullTextQueryAlwaysAvailableComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -570,13 +570,13 @@ public function testFullTextQueryAlwaysAvailableEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -699,7 +699,7 @@ public function testFieldQueryAll($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', 'eng-US', @@ -707,7 +707,7 @@ public function testFieldQueryAll($type = null) 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -739,14 +739,14 @@ public function testFieldQuery($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content2->id, $searchResult->searchHits[0]->valueObject->id); @@ -777,14 +777,14 @@ public function testFieldQueryComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -815,14 +815,14 @@ public function testFieldQueryEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -855,13 +855,13 @@ public function testFieldQueryLanguageAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -896,13 +896,13 @@ public function testFieldQueryLanguageAlwaysAvailableComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -937,13 +937,13 @@ public function testFieldQueryAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -975,13 +975,13 @@ public function testFieldQueryAlwaysAvailableComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1012,13 +1012,13 @@ public function testFieldQueryAlwaysAvailableEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -1051,7 +1051,7 @@ public function testFieldRangeQueryAll($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', 'eng-US', @@ -1059,7 +1059,7 @@ public function testFieldRangeQueryAll($type = null) 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1091,14 +1091,14 @@ public function testFieldRangeQuery($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content2->id, $searchResult->searchHits[0]->valueObject->id); @@ -1129,14 +1129,14 @@ public function testFieldRangeQueryComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1167,14 +1167,14 @@ public function testFieldRangeQueryEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -1207,13 +1207,13 @@ public function testFieldRangeQueryLanguageAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1248,13 +1248,13 @@ public function testFieldRangeQueryLanguageAlwaysAvailableComplement($type = nul $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1289,13 +1289,13 @@ public function testFieldRangeQueryAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1327,13 +1327,13 @@ public function testFieldRangeQueryAlwaysAvailableComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1364,13 +1364,13 @@ public function testFieldRangeQueryAlwaysAvailableEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -1591,7 +1591,7 @@ public function testModifiedFieldQueryAll($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', 'eng-US', @@ -1599,7 +1599,7 @@ public function testModifiedFieldQueryAll($type = null) 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1639,14 +1639,14 @@ public function testModifiedFieldQuery($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content2->id, $searchResult->searchHits[0]->valueObject->id); @@ -1685,14 +1685,14 @@ public function testModifiedFieldQueryComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1731,14 +1731,14 @@ public function testModifiedFieldQueryEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -1775,13 +1775,13 @@ public function testModifiedFieldQueryLanguageAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1820,13 +1820,13 @@ public function testModifiedFieldQueryLanguageAlwaysAvailableComplement($type = $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1865,13 +1865,13 @@ public function testModifiedFieldQueryAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1906,13 +1906,13 @@ public function testModifiedFieldQueryAlwaysAvailableComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -1947,13 +1947,13 @@ public function testModifiedFieldQueryAlwaysAvailableEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -1990,7 +1990,7 @@ public function testModifiedFieldRangeQueryAll($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', 'eng-US', @@ -1998,7 +1998,7 @@ public function testModifiedFieldRangeQueryAll($type = null) 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -2034,14 +2034,14 @@ public function testModifiedFieldRangeQuery($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content2->id, $searchResult->searchHits[0]->valueObject->id); @@ -2076,14 +2076,14 @@ public function testModifiedFieldRangeQueryComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -2118,14 +2118,14 @@ public function testModifiedFieldRangeQueryEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -2162,13 +2162,13 @@ public function testModifiedFieldRangeQueryLanguageAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -2207,13 +2207,13 @@ public function testModifiedFieldRangeQueryLanguageAlwaysAvailableComplement($ty $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -2252,13 +2252,13 @@ public function testModifiedFieldRangeQueryAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -2294,13 +2294,13 @@ public function testModifiedFieldRangeQueryAlwaysAvailableComplement($type = nul $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -2335,13 +2335,13 @@ public function testModifiedFieldRangeQueryAlwaysAvailableEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -2581,7 +2581,7 @@ public function testMapLocationDistanceQueryAll($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', 'eng-US', @@ -2589,7 +2589,7 @@ public function testMapLocationDistanceQueryAll($type = null) 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -2641,14 +2641,14 @@ public function testMapLocationDistanceQuery($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -2699,14 +2699,14 @@ public function testMapLocationDistanceQueryComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content2->id, $searchResult->searchHits[0]->valueObject->id); @@ -2757,14 +2757,14 @@ public function testMapLocationDistanceQueryEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -2826,13 +2826,13 @@ public function testMapLocationDistanceQueryLanguageAlwaysAvailable($type = null $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -2896,13 +2896,13 @@ public function testMapLocationDistanceQueryLanguageAlwaysAvailableComplement($t $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -2966,13 +2966,13 @@ public function testMapLocationDistanceQueryAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3026,13 +3026,13 @@ public function testMapLocationDistanceQueryAlwaysAvailableComplement($type = nu $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3085,13 +3085,13 @@ public function testMapLocationDistanceQueryAlwaysAvailableEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -3220,7 +3220,7 @@ public function testCustomFieldQueryAll($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', 'eng-US', @@ -3228,7 +3228,7 @@ public function testCustomFieldQueryAll($type = null) 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3266,14 +3266,14 @@ public function testCustomFieldQuery($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content2->id, $searchResult->searchHits[0]->valueObject->id); @@ -3310,14 +3310,14 @@ public function testCustomFieldQueryComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3354,14 +3354,14 @@ public function testCustomFieldQueryEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -3400,13 +3400,13 @@ public function testCustomFieldQueryLanguageAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3447,13 +3447,13 @@ public function testCustomFieldQueryLanguageAlwaysAvailableComplement($type = nu $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3494,13 +3494,13 @@ public function testCustomFieldQueryAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3538,13 +3538,13 @@ public function testCustomFieldQueryAlwaysAvailableComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3581,13 +3581,13 @@ public function testCustomFieldQueryAlwaysAvailableEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -3622,7 +3622,7 @@ public function testCustomFieldRangeQueryAll($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', 'eng-US', @@ -3630,7 +3630,7 @@ public function testCustomFieldRangeQueryAll($type = null) 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3664,14 +3664,14 @@ public function testCustomFieldRangeQuery($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content2->id, $searchResult->searchHits[0]->valueObject->id); @@ -3704,14 +3704,14 @@ public function testCustomFieldRangeQueryComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3744,14 +3744,14 @@ public function testCustomFieldRangeQueryEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), 'useAlwaysAvailable' => false, ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } @@ -3786,13 +3786,13 @@ public function testCustomFieldRangeQueryLanguageAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-GB', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3829,13 +3829,13 @@ public function testCustomFieldRangeQueryLanguageAlwaysAvailableComplement($type $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'eng-US', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3872,13 +3872,13 @@ public function testCustomFieldRangeQueryAlwaysAvailable($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(2, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3912,13 +3912,13 @@ public function testCustomFieldRangeQueryAlwaysAvailableComplement($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(1, $searchResult->totalCount); $this->assertEquals($content1->id, $searchResult->searchHits[0]->valueObject->id); @@ -3951,13 +3951,13 @@ public function testCustomFieldRangeQueryAlwaysAvailableEmpty($type = null) $repository = $this->getRepository(); $searchService = $repository->getSearchService(); - $fieldFilters = array( + $languageFilter = array( 'languages' => array( 'ger-DE', ), ); - $searchResult = $searchService->findContent($query, $fieldFilters); + $searchResult = $searchService->findContent($query, $languageFilter); $this->assertEquals(0, $searchResult->totalCount); } diff --git a/eZ/Publish/Core/REST/Client/ContentService.php b/eZ/Publish/Core/REST/Client/ContentService.php index 8b12c7feae1..3edcfb6d851 100644 --- a/eZ/Publish/Core/REST/Client/ContentService.php +++ b/eZ/Publish/Core/REST/Client/ContentService.php @@ -556,16 +556,14 @@ public function copyContent(ContentInfo $contentInfo, LocationCreateStruct $dest /** * Finds content objects for the given query. * - * @todo define structs for the field filters - * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * * @return \eZ\Publish\API\Repository\Values\Content\SearchResult */ - public function findContent(Query $query, array $fieldFilters, $filterOnUserPermissions = true) + public function findContent(Query $query, array $languageFilter, $filterOnUserPermissions = true) { throw new \Exception('@todo: Implement.'); } @@ -576,16 +574,14 @@ public function findContent(Query $query, array $fieldFilters, $filterOnUserPerm * @throws \eZ\Publish\API\Repository\Exceptions\NotFoundException if the object was not found by the query or due to permissions * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if the query would return more than one result * - * @todo define structs for the field filters - * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * * @return \eZ\Publish\API\Repository\Values\Content\Content */ - public function findSingle(Query $query, array $fieldFilters, $filterOnUserPermissions = true) + public function findSingle(Query $query, array $languageFilter, $filterOnUserPermissions = true) { throw new \Exception('@todo: Implement.'); } diff --git a/eZ/Publish/Core/Repository/SearchService.php b/eZ/Publish/Core/Repository/SearchService.php index 7f628efee33..202184c2842 100644 --- a/eZ/Publish/Core/Repository/SearchService.php +++ b/eZ/Publish/Core/Repository/SearchService.php @@ -93,19 +93,17 @@ public function __construct( /** * Finds content objects for the given query. * - * @todo define structs for the field filters - * * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations. * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult */ - public function findContent(Query $query, array $fieldFilters = array(), $filterOnUserPermissions = true) + public function findContent(Query $query, array $languageFilter = array(), $filterOnUserPermissions = true) { if (!is_int($query->offset)) { throw new InvalidArgumentType( @@ -135,16 +133,16 @@ public function findContent(Query $query, array $fieldFilters = array(), $filter return new SearchResult(array('time' => 0, 'totalCount' => 0)); } - $result = $this->searchHandler->findContent($query, $fieldFilters); + $result = $this->searchHandler->findContent($query, $languageFilter); $contentService = $this->repository->getContentService(); foreach ($result->searchHits as $hit) { $hit->valueObject = $contentService->internalLoadContent( $hit->valueObject->id, - (!empty($fieldFilters['languages']) ? $fieldFilters['languages'] : null), + (!empty($languageFilter['languages']) ? $languageFilter['languages'] : null), null, false, - (isset($fieldFilters['useAlwaysAvailable']) ? $fieldFilters['useAlwaysAvailable'] : true) + (isset($languageFilter['useAlwaysAvailable']) ? $languageFilter['useAlwaysAvailable'] : true) ); } @@ -237,17 +235,15 @@ protected function validateSortClauses(Query $query) * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if criterion is not valid * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than one result matching the criterions * - * @todo define structs for the field filters - * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations. * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * * @return \eZ\Publish\API\Repository\Values\Content\Content */ - public function findSingle(Criterion $filter, array $fieldFilters = array(), $filterOnUserPermissions = true) + public function findSingle(Criterion $filter, array $languageFilter = array(), $filterOnUserPermissions = true) { $this->validateContentCriteria(array($filter), '$filter'); @@ -255,14 +251,14 @@ public function findSingle(Criterion $filter, array $fieldFilters = array(), $fi throw new NotFoundException('Content', '*'); } - $contentInfo = $this->searchHandler->findSingle($filter, $fieldFilters); + $contentInfo = $this->searchHandler->findSingle($filter, $languageFilter); return $this->repository->getContentService()->internalLoadContent( $contentInfo->id, - (!empty($fieldFilters['languages']) ? $fieldFilters['languages'] : null), + (!empty($languageFilter['languages']) ? $languageFilter['languages'] : null), null, false, - (isset($fieldFilters['useAlwaysAvailable']) ? $fieldFilters['useAlwaysAvailable'] : true) + (isset($languageFilter['useAlwaysAvailable']) ? $languageFilter['useAlwaysAvailable'] : true) ); } @@ -284,14 +280,14 @@ public function suggest($prefix, $fieldPaths = array(), $limit = 10, Criterion $ * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\LocationQuery $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult */ - public function findLocations(LocationQuery $query, array $fieldFilters = array(), $filterOnUserPermissions = true) + public function findLocations(LocationQuery $query, array $languageFilter = array(), $filterOnUserPermissions = true) { if (!is_int($query->offset)) { throw new InvalidArgumentType( @@ -318,7 +314,7 @@ public function findLocations(LocationQuery $query, array $fieldFilters = array( return new SearchResult(array('time' => 0, 'totalCount' => 0)); } - $result = $this->locationSearchHandler->findLocations($query, $fieldFilters); + $result = $this->locationSearchHandler->findLocations($query, $languageFilter); foreach ($result->searchHits as $hit) { $hit->valueObject = $this->domainMapper->buildLocationDomainObject( diff --git a/eZ/Publish/Core/Repository/Tests/Service/Mock/SearchTest.php b/eZ/Publish/Core/Repository/Tests/Service/Mock/SearchTest.php index e5d1ab1f1df..e15bf2e192a 100644 --- a/eZ/Publish/Core/Repository/Tests/Service/Mock/SearchTest.php +++ b/eZ/Publish/Core/Repository/Tests/Service/Mock/SearchTest.php @@ -284,14 +284,14 @@ public function testFindContentNoPermissionsFilter() $serviceQuery = new Query(); $handlerQuery = new Query(array('filter' => new Criterion\MatchAll(), 'limit' => 10)); - $fieldFilters = array(); + $languageFilter = array(); $spiContentInfo = new SPIContentInfo(); $contentMock = $this->getMockForAbstractClass('eZ\\Publish\\API\\Repository\\Values\\Content\\Content'); /* @var \PHPUnit_Framework_MockObject_MockObject $searchHandlerMock */ $searchHandlerMock->expects($this->once()) ->method('findContent') - ->with($this->equalTo($handlerQuery), $this->equalTo($fieldFilters)) + ->with($this->equalTo($handlerQuery), $this->equalTo($languageFilter)) ->will( $this->returnValue( new SearchResult( @@ -308,7 +308,7 @@ public function testFindContentNoPermissionsFilter() ->method('internalLoadContent') ->will($this->returnValue($contentMock)); - $result = $service->findContent($serviceQuery, $fieldFilters, false); + $result = $service->findContent($serviceQuery, $languageFilter, false); $this->assertEquals( new SearchResult( @@ -363,14 +363,14 @@ public function testFindContentWithPermission() ->disableOriginalConstructor() ->getMock(); $query = new Query(array('filter' => $criterionMock, 'limit' => 10)); - $fieldFilters = array(); + $languageFilter = array(); $spiContentInfo = new SPIContentInfo(); $contentMock = $this->getMockForAbstractClass('eZ\\Publish\\API\\Repository\\Values\\Content\\Content'); /* @var \PHPUnit_Framework_MockObject_MockObject $searchHandlerMock */ $searchHandlerMock->expects($this->once()) ->method('findContent') - ->with($this->equalTo($query), $this->equalTo($fieldFilters)) + ->with($this->equalTo($query), $this->equalTo($languageFilter)) ->will( $this->returnValue( new SearchResult( @@ -395,7 +395,7 @@ public function testFindContentWithPermission() ->with($criterionMock) ->will($this->returnValue(true)); - $result = $service->findContent($query, $fieldFilters, true); + $result = $service->findContent($query, $languageFilter, true); $this->assertEquals( new SearchResult( @@ -596,7 +596,7 @@ public function testFindContentWithDefaultQueryValues() ) ); - $fieldFilters = array(); + $languageFilter = array(); $spiContentInfo = new SPIContentInfo(); $contentMock = $this->getMockForAbstractClass('eZ\\Publish\\API\\Repository\\Values\\Content\\Content'); $domainMapperMock->expects($this->never()) @@ -631,7 +631,7 @@ public function testFindContentWithDefaultQueryValues() ) ); - $result = $service->findContent(new Query(), $fieldFilters, false); + $result = $service->findContent(new Query(), $languageFilter, false); $this->assertEquals( new SearchResult( @@ -765,14 +765,14 @@ public function testFindSingle() ->with($criterionMock) ->will($this->returnValue(true)); - $fieldFilters = array(); + $languageFilter = array(); $spiContentInfo = new SPIContentInfo(); $contentMock = $this->getMockForAbstractClass('eZ\\Publish\\API\\Repository\\Values\\Content\\Content'); /* @var \PHPUnit_Framework_MockObject_MockObject $searchHandlerMock */ $searchHandlerMock->expects($this->once()) ->method('findSingle') - ->with($this->equalTo($criterionMock), $this->equalTo($fieldFilters)) + ->with($this->equalTo($criterionMock), $this->equalTo($languageFilter)) ->will($this->returnValue($spiContentInfo)); $domainMapperMock->expects($this->never()) @@ -783,7 +783,7 @@ public function testFindSingle() ->method('internalLoadContent') ->will($this->returnValue($contentMock)); - $result = $service->findSingle($criterionMock, $fieldFilters, true); + $result = $service->findSingle($criterionMock, $languageFilter, true); $this->assertEquals($contentMock, $result); } diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalAnd.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalAnd.php index 9e154fd8798..90e4bd009f1 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalAnd.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalAnd.php @@ -36,17 +36,17 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { /* @var $criterion \eZ\Publish\API\Repository\Values\Content\Query\Criterion\LogicalOperator */ return array( 'and' => array_map( - function ($value) use ($dispatcher, $fieldFilters) { - return $dispatcher->dispatch($value, Dispatcher::CONTEXT_FILTER, $fieldFilters); + function ($value) use ($dispatcher, $languageFilter) { + return $dispatcher->dispatch($value, Dispatcher::CONTEXT_FILTER, $languageFilter); }, $criterion->criteria ), @@ -58,19 +58,19 @@ function ($value) use ($dispatcher, $fieldFilters) { * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { /* @var $criterion \eZ\Publish\API\Repository\Values\Content\Query\Criterion\LogicalOperator */ return array( 'bool' => array( 'must' => array( array_map( - function ($value) use ($dispatcher, $fieldFilters) { - return $dispatcher->dispatch($value, Dispatcher::CONTEXT_QUERY, $fieldFilters); + function ($value) use ($dispatcher, $languageFilter) { + return $dispatcher->dispatch($value, Dispatcher::CONTEXT_QUERY, $languageFilter); }, $criterion->criteria ), diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalNot.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalNot.php index edd417631c8..1d385ef87b7 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalNot.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalNot.php @@ -52,17 +52,17 @@ protected function validateCriterionInput(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $this->validateCriterionInput($criterion); /* @var $criterion \eZ\Publish\API\Repository\Values\Content\Query\Criterion\LogicalOperator */ return array( - 'not' => $dispatcher->dispatch($criterion->criteria[0], Dispatcher::CONTEXT_FILTER, $fieldFilters), + 'not' => $dispatcher->dispatch($criterion->criteria[0], Dispatcher::CONTEXT_FILTER, $languageFilter), ); } @@ -71,11 +71,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $this->validateCriterionInput($criterion); @@ -85,7 +85,7 @@ public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $ 'must_not' => $dispatcher->dispatch( $criterion->criteria[0], Dispatcher::CONTEXT_FILTER, - $fieldFilters + $languageFilter ), ), ); diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalOr.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalOr.php index c442eb898d4..f5d3b49fc07 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalOr.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/LogicalOr.php @@ -36,17 +36,17 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { /* @var $criterion \eZ\Publish\API\Repository\Values\Content\Query\Criterion\LogicalOperator */ return array( 'or' => array_map( - function ($value) use ($dispatcher, $fieldFilters) { - return $dispatcher->dispatch($value, Dispatcher::CONTEXT_FILTER, $fieldFilters); + function ($value) use ($dispatcher, $languageFilter) { + return $dispatcher->dispatch($value, Dispatcher::CONTEXT_FILTER, $languageFilter); }, $criterion->criteria ), @@ -58,18 +58,18 @@ function ($value) use ($dispatcher, $fieldFilters) { * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { /* @var $criterion \eZ\Publish\API\Repository\Values\Content\Query\Criterion\LogicalOperator */ return array( 'bool' => array( 'should' => array_map( - function ($value) use ($dispatcher, $fieldFilters) { - return $dispatcher->dispatch($value, Dispatcher::CONTEXT_FILTER, $fieldFilters); + function ($value) use ($dispatcher, $languageFilter) { + return $dispatcher->dispatch($value, Dispatcher::CONTEXT_FILTER, $languageFilter); }, $criterion->criteria ), diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/MatchAll.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/MatchAll.php index c8350f6d150..8d817837f7a 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/MatchAll.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/MatchAll.php @@ -37,11 +37,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'match_all' => new ArrayObject(), diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/MatchNone.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/MatchNone.php index 6636c749d5b..f3d2da8c029 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/MatchNone.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Common/CriterionVisitor/MatchNone.php @@ -36,11 +36,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'terms' => array( @@ -54,11 +54,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'terms' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor.php index cf81b8eb44e..12266797ada 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor.php @@ -33,14 +33,14 @@ abstract public function canVisit(Criterion $criterion); * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed Hash representation of Elasticsearch filter abstract syntax tree */ abstract public function visitFilter( Criterion $criterion, CriterionVisitorDispatcher $dispatcher, - array $fieldFilters + array $languageFilter ); /** @@ -50,13 +50,13 @@ abstract public function visitFilter( * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed Hash representation of Elasticsearch query abstract syntax tree */ - public function visitQuery(Criterion $criterion, CriterionVisitorDispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, CriterionVisitorDispatcher $dispatcher, array $languageFilter) { - return $this->visitFilter($criterion, $dispatcher, $fieldFilters); + return $this->visitFilter($criterion, $dispatcher, $languageFilter); } /** diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentIdIn.php index c4fc995e760..722dc8c092a 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'ids' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeGroupIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeGroupIdIn.php index c01158b77f0..a66c140f9b7 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeGroupIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeGroupIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeIdIn.php index 57fda1ebde9..31ca8cc35a6 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeIdentifierIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeIdentifierIn.php index c967f92a3b0..1238956c4e8 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeIdentifierIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ContentTypeIdentifierIn.php @@ -60,11 +60,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $idList = array(); diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField.php index ee0ab5e2710..ca2639b0127 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField.php @@ -34,11 +34,11 @@ abstract protected function getCondition(Criterion $criterion); * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $query = array( 'bool' => array( @@ -47,7 +47,7 @@ public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $ ), ); - $fieldFilter = $this->getFieldFilter($fieldFilters); + $fieldFilter = $this->getFieldFilter($languageFilter); if ($fieldFilter === null) { $query = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField/CustomFieldIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField/CustomFieldIn.php index 761e53c8aba..b464607f285 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField/CustomFieldIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField/CustomFieldIn.php @@ -70,11 +70,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $filter = array( 'nested' => array( @@ -90,7 +90,7 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array ), ); - $fieldFilter = $this->getFieldFilter($fieldFilters); + $fieldFilter = $this->getFieldFilter($languageFilter); if ($fieldFilter !== null) { $filter['nested']['filter'] = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField/CustomFieldRange.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField/CustomFieldRange.php index bcb07ef10d1..2d8872b9324 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField/CustomFieldRange.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/CustomField/CustomFieldRange.php @@ -75,11 +75,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $filter = array( 'nested' => array( @@ -90,7 +90,7 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array ), ); - $fieldFilter = $this->getFieldFilter($fieldFilters); + $fieldFilter = $this->getFieldFilter($languageFilter); if ($fieldFilter !== null) { $filter['nested']['filter'] = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/ModifiedIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/ModifiedIn.php index db4aca15c47..605b7baded8 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/ModifiedIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/ModifiedIn.php @@ -43,11 +43,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $that = $this; diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/ModifiedRange.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/ModifiedRange.php index c361842b7c1..209805debc7 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/ModifiedRange.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/ModifiedRange.php @@ -46,11 +46,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $start = $this->getNativeTime($criterion->value[0]); $end = isset($criterion->value[1]) ? $this->getNativeTime($criterion->value[1]) : null; diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/PublishedIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/PublishedIn.php index b1b45bdba11..d1cdaa66451 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/PublishedIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/PublishedIn.php @@ -43,11 +43,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $that = $this; diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/PublishedRange.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/PublishedRange.php index d4328b1d7df..0272642a065 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/PublishedRange.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DateMetadata/PublishedRange.php @@ -46,11 +46,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $start = $this->getNativeTime($criterion->value[0]); $end = isset($criterion->value[1]) ? $this->getNativeTime($criterion->value[1]) : null; diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DepthIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DepthIn.php index 79099c75f7a..e2424bab479 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DepthIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DepthIn.php @@ -66,11 +66,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( @@ -85,11 +85,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DepthRange.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DepthRange.php index 19469657bb3..66d915d2cde 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DepthRange.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/DepthRange.php @@ -45,11 +45,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $start = $criterion->value[0]; $end = isset($criterion->value[1]) ? $criterion->value[1] : null; @@ -71,11 +71,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $start = $criterion->value[0]; $end = isset($criterion->value[1]) ? $criterion->value[1] : null; diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/FieldIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/FieldIn.php index fa0bd641d3c..42591cbb27a 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/FieldIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/FieldIn.php @@ -91,11 +91,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $filter = array( 'nested' => array( @@ -106,9 +106,9 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array ), ); - $fieldFilter = $this->getFieldFilter($fieldFilters); + $fieldFilter = $this->getFieldFilter($languageFilter); - if ($fieldFilters !== null) { + if ($languageFilter !== null) { $filter['nested']['filter'] = array( 'bool' => array( 'must' => array( @@ -129,13 +129,13 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { - $fieldFilter = $this->getFieldFilter($fieldFilters); + $fieldFilter = $this->getFieldFilter($languageFilter); if ($fieldFilter === null) { $query = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/FieldRange.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/FieldRange.php index 67971dbbbda..8b7b92d52b6 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/FieldRange.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/FieldRange.php @@ -89,11 +89,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $filter = array( 'nested' => array( @@ -104,7 +104,7 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array ), ); - $fieldFilter = $this->getFieldFilter($fieldFilters); + $fieldFilter = $this->getFieldFilter($languageFilter); if ($fieldFilter !== null) { $filter['nested']['filter'] = array( @@ -125,11 +125,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $query = array( 'bool' => array( @@ -138,7 +138,7 @@ public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $ ), ); - $fieldFilter = $this->getFieldFilter($fieldFilters); + $fieldFilter = $this->getFieldFilter($languageFilter); if ($fieldFilter === null) { $query = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/MapLocationDistanceRange.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/MapLocationDistanceRange.php index bc0cb4656da..7b69e156ded 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/MapLocationDistanceRange.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Field/MapLocationDistanceRange.php @@ -132,11 +132,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $filter = array( 'nested' => array( @@ -147,9 +147,9 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array ), ); - $fieldFilter = $this->getFieldFilter($fieldFilters); + $fieldFilter = $this->getFieldFilter($languageFilter); - if ($fieldFilters !== null) { + if ($languageFilter !== null) { $filter['nested']['filter'] = array( 'and' => array( $fieldFilter, @@ -168,11 +168,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $query = array( 'filtered' => array( @@ -182,7 +182,7 @@ public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $ ), ); - $fieldFilter = $this->getFieldFilter($fieldFilters); + $fieldFilter = $this->getFieldFilter($languageFilter); if ($fieldFilter === null) { $query = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/FieldFilterBase.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/FieldFilterBase.php index 6221a559970..e7683c8ac79 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/FieldFilterBase.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/FieldFilterBase.php @@ -19,30 +19,30 @@ abstract class FieldFilterBase extends CriterionVisitor { /** - * Returns filter condition for the given $fieldFilters. + * Returns filter condition for the given $languageFilter. * * Filter is to be used by both query and filter visiting, as it should not impact scoring. * Null will be returned if nothing is found to be filtered. * - * @param array $fieldFilters + * @param array $languageFilter * * @return array|null */ - protected function getFieldFilter(array $fieldFilters) + protected function getFieldFilter(array $languageFilter) { $filter = null; // Only 'languages' and 'useAlwaysAvailable' are available, // latter making sense only when former is set. - if (!empty($fieldFilters['languages'])) { + if (!empty($languageFilter['languages'])) { // For 'terms' filter caching is enabled by default $filter = array( 'terms' => array( - 'fields_doc.meta_language_code_s' => $fieldFilters['languages'], + 'fields_doc.meta_language_code_s' => $languageFilter['languages'], ), ); - if (!isset($fieldFilters['useAlwaysAvailable']) || $fieldFilters['useAlwaysAvailable'] === true) { + if (!isset($languageFilter['useAlwaysAvailable']) || $languageFilter['useAlwaysAvailable'] === true) { $filter = array( 'or' => array( // Enabling caching requires filters to be wrapped in 'filters' element @@ -69,23 +69,23 @@ protected function getFieldFilter(array $fieldFilters) * TODO: should really work something like this, but also * needs update to the UrlAliasService etc. * - * @param array $fieldFilters + * @param array $languageFilter * * @return array|null */ - protected function getTodoFieldFilter(array $fieldFilters) + protected function getTodoFieldFilter(array $languageFilter) { $translationFilter = null; - if (!empty($fieldFilters['languages'])) { + if (!empty($languageFilter['languages'])) { $translationFilter = array( 'terms' => array( - 'fields_doc.meta_language_code_s' => $fieldFilters['languages'], + 'fields_doc.meta_language_code_s' => $languageFilter['languages'], ), ); - if (isset($fieldFilters['defaultTranslationToMainLanguage'])) { - switch ($fieldFilters['defaultTranslationToMainLanguage']) { + if (isset($languageFilter['defaultTranslationToMainLanguage'])) { + switch ($languageFilter['defaultTranslationToMainLanguage']) { case true: $translationFilter = array( 'or' => array( @@ -125,7 +125,7 @@ protected function getTodoFieldFilter(array $fieldFilters) throw new \RuntimeException( "Invalid value for 'defaultTranslationToMainLanguage' field filter: expected one of: " . "true, 'use_always_available', false, got: " . - var_export($fieldFilters['defaultTranslationToMainLanguage'], true) + var_export($languageFilter['defaultTranslationToMainLanguage'], true) ); } } diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/FullText.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/FullText.php index aa3a7f2eb8a..ae9631efbd6 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/FullText.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/FullText.php @@ -111,11 +111,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $filter = array( 'nested' => array( @@ -126,9 +126,9 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array ), ); - $fieldFilter = $this->getFieldFilter($fieldFilters); + $fieldFilter = $this->getFieldFilter($languageFilter); - if ($fieldFilters !== null) { + if ($languageFilter !== null) { $filter['nested']['filter'] = array( 'bool' => array( 'must' => array( @@ -149,13 +149,13 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { - $fieldFilter = $this->getFieldFilter($fieldFilters); + $fieldFilter = $this->getFieldFilter($languageFilter); if ($fieldFilter === null) { $query = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LanguageCodeIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LanguageCodeIn.php index fde5cb8b4f4..424e43138e6 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LanguageCodeIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LanguageCodeIn.php @@ -66,11 +66,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $filter = $this->getCondition($criterion); @@ -96,11 +96,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $filter = $this->getCondition($criterion); diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LocationIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LocationIdIn.php index 56f5387e864..62e3bbdc393 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LocationIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LocationIdIn.php @@ -66,11 +66,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( @@ -85,11 +85,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LocationRemoteIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LocationRemoteIdIn.php index 9cdab6fcdc1..0491a04fe64 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LocationRemoteIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/LocationRemoteIdIn.php @@ -66,11 +66,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( @@ -85,11 +85,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ObjectStateIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ObjectStateIdIn.php index 998dc8f7fa8..10346eb180a 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ObjectStateIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ObjectStateIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ParentLocationIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ParentLocationIdIn.php index 196447dea12..5341d2b256e 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ParentLocationIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/ParentLocationIdIn.php @@ -66,11 +66,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( @@ -85,11 +85,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/RemoteIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/RemoteIdIn.php index 5aa891296e3..2d2a6fea63e 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/RemoteIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/RemoteIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/SectionIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/SectionIdIn.php index 4fd01ce9d9a..a846fae601b 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/SectionIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/SectionIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/SubtreeIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/SubtreeIn.php index 4d079e85626..8737d768b4c 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/SubtreeIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/SubtreeIn.php @@ -65,11 +65,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( @@ -86,11 +86,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/UserMetadataIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/UserMetadataIn.php index 7e81c65450f..df97cf1d6c3 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/UserMetadataIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/UserMetadataIn.php @@ -45,11 +45,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { switch ($criterion->target) { case Criterion\UserMetadata::MODIFIER: diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Visibility.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Visibility.php index 77b515ca6b4..618ed827c05 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Visibility.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitor/Visibility.php @@ -49,11 +49,11 @@ protected function getInternalValue(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( @@ -72,11 +72,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'nested' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitorDispatcher.php b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitorDispatcher.php index 790f840cc74..0ed35784b05 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitorDispatcher.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/CriterionVisitorDispatcher.php @@ -75,11 +75,11 @@ public function addVisitor(CriterionVisitor $visitor) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param string $context - * @param array $fieldFilters + * @param array $languageFilter * * @return string */ - public function dispatch(Criterion $criterion, $context, array $fieldFilters = array()) + public function dispatch(Criterion $criterion, $context, array $languageFilter = array()) { if (!isset($this->contextMethodMap[$context])) { throw new RuntimeException( @@ -89,7 +89,7 @@ public function dispatch(Criterion $criterion, $context, array $fieldFilters = a foreach ($this->visitors as $visitor) { if ($visitor->canVisit($criterion)) { - return $visitor->{ $this->contextMethodMap[$context] }($criterion, $this, $fieldFilters); + return $visitor->{ $this->contextMethodMap[$context] }($criterion, $this, $languageFilter); } } diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Gateway.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Gateway.php index 3b66f639c24..5f837eb596a 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Gateway.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Gateway.php @@ -37,11 +37,11 @@ abstract public function bulkIndex(array $documents); * * @param \eZ\Publish\API\Repository\Values\Content\Query $query * @param string $type - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - abstract public function find(Query $query, $type, array $fieldFilters = array()); + abstract public function find(Query $query, $type, array $languageFilter = array()); /** * Finds and returns documents of a given $type for a given $query string. diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Gateway/Native.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Gateway/Native.php index 043f94eef25..fa1b1bbe657 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Gateway/Native.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Gateway/Native.php @@ -159,11 +159,11 @@ public function bulkIndex(array $documents) * * @param \eZ\Publish\API\Repository\Values\Content\Query $query * @param string $type - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function find(Query $query, $type, array $fieldFilters = array()) + public function find(Query $query, $type, array $languageFilter = array()) { $aggregationList = array_map( array($this->facetBuilderVisitor, 'visit'), @@ -182,14 +182,14 @@ public function find(Query $query, $type, array $fieldFilters = array()) $this->criterionVisitorDispatcher->dispatch( $query->query, CriterionVisitorDispatcher::CONTEXT_QUERY, - $fieldFilters + $languageFilter ), ), 'filter' => array( $this->criterionVisitorDispatcher->dispatch( $query->filter, CriterionVisitorDispatcher::CONTEXT_FILTER, - $fieldFilters + $languageFilter ), ), ), diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Handler.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Handler.php index eac68476709..b2912199bb9 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Handler.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Handler.php @@ -60,22 +60,20 @@ public function __construct( /** * Finds content objects for the given query. * - * @todo define structs for the field filters - * * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if Query criterion is not applicable to its target * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult */ - public function findContent(Query $query, array $fieldFilters = array()) + public function findContent(Query $query, array $languageFilter = array()) { $query->filter = $query->filter ?: new Criterion\MatchAll(); $query->query = $query->query ?: new Criterion\MatchAll(); - $data = $this->gateway->find($query, $this->documentTypeName, $fieldFilters); + $data = $this->gateway->find($query, $this->documentTypeName, $languageFilter); return $this->extractor->extract($data); } @@ -87,21 +85,19 @@ public function findContent(Query $query, array $fieldFilters = array()) * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if Criterion is not applicable to its target * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than than one result matching the criterions * - * @todo define structs for the field filters - * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\SPI\Persistence\Content */ - public function findSingle(Criterion $filter, array $fieldFilters = array()) + public function findSingle(Criterion $filter, array $languageFilter = array()) { $query = new Query(); $query->filter = $filter; $query->offset = 0; $query->limit = 1; - $result = $this->findContent($query, $fieldFilters); + $result = $this->findContent($query, $languageFilter); if (!$result->totalCount) { throw new NotFoundException( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentIdIn.php index 4d04cabd087..54ff02faa73 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'terms' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeGroupIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeGroupIdIn.php index b6bfb3f67da..f95826c865c 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeGroupIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeGroupIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeIdIn.php index f1ec26a444b..d04ee83b321 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeIdentifierIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeIdentifierIn.php index c88612beb31..96a7e338da2 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeIdentifierIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ContentTypeIdentifierIn.php @@ -60,11 +60,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $idList = array(); diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/ModifiedIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/ModifiedIn.php index 7504e04f3a4..49e2a939910 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/ModifiedIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/ModifiedIn.php @@ -43,11 +43,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $that = $this; diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/ModifiedRange.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/ModifiedRange.php index 372360f1ae7..97dd684d3d2 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/ModifiedRange.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/ModifiedRange.php @@ -46,11 +46,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $start = $this->getNativeTime($criterion->value[0]); $end = isset($criterion->value[1]) ? $this->getNativeTime($criterion->value[1]) : null; diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/PublishedIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/PublishedIn.php index f9da4702ea6..a4c2a81dd05 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/PublishedIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/PublishedIn.php @@ -43,11 +43,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $that = $this; diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/PublishedRange.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/PublishedRange.php index 3a7eaa5b3ee..11724b69512 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/PublishedRange.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/DateMetadata/PublishedRange.php @@ -46,11 +46,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $start = $this->getNativeTime($criterion->value[0]); $end = isset($criterion->value[1]) ? $this->getNativeTime($criterion->value[1]) : null; diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LanguageCodeIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LanguageCodeIn.php index 35a615a856c..8fc002e2e46 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LanguageCodeIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LanguageCodeIn.php @@ -66,11 +66,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $filter = $this->getCondition($criterion); @@ -96,11 +96,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $filter = $this->getCondition($criterion); diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/DepthIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/DepthIn.php index 39789b14a07..6e19c705779 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/DepthIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/DepthIn.php @@ -44,11 +44,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'terms' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/DepthRange.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/DepthRange.php index fdea0a02bc2..dd468600ee4 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/DepthRange.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/DepthRange.php @@ -47,11 +47,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $start = $criterion->value[0]; $end = isset($criterion->value[1]) ? $criterion->value[1] : null; diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/IsMainLocation.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/IsMainLocation.php index b4026ccded0..1a1fd8685f8 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/IsMainLocation.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/IsMainLocation.php @@ -38,11 +38,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'term' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/PriorityIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/PriorityIn.php index 348b0365dc2..7e467d0c3d2 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/PriorityIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/PriorityIn.php @@ -44,11 +44,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'terms' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/PriorityRange.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/PriorityRange.php index 2231f40ee0c..711dd4fdf84 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/PriorityRange.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Location/PriorityRange.php @@ -47,11 +47,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { $start = $criterion->value[0]; $end = isset($criterion->value[1]) ? $criterion->value[1] : null; diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LocationIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LocationIdIn.php index 511009921aa..8343c64d4fb 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LocationIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LocationIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LocationRemoteIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LocationRemoteIdIn.php index 95378603a78..da59b851d70 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LocationRemoteIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/LocationRemoteIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ObjectStateIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ObjectStateIdIn.php index 7a76998905d..02338e89c30 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ObjectStateIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ObjectStateIdIn.php @@ -40,11 +40,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ParentLocationIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ParentLocationIdIn.php index 5a53b38a983..924f623088b 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ParentLocationIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/ParentLocationIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/RemoteIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/RemoteIdIn.php index d05eda00137..259f83eaed2 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/RemoteIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/RemoteIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/SectionIdIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/SectionIdIn.php index 35934d21b13..6b71dc288a1 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/SectionIdIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/SectionIdIn.php @@ -42,11 +42,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { if (count($criterion->value) > 1) { $filter = array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/SubtreeIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/SubtreeIn.php index c6ec95c321c..536484dbb13 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/SubtreeIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/SubtreeIn.php @@ -65,11 +65,11 @@ protected function getCondition(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'or' => $this->getCondition($criterion), @@ -81,11 +81,11 @@ public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitQuery(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'bool' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/UserMetadataIn.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/UserMetadataIn.php index 3951ed1402e..f3ebd61a36f 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/UserMetadataIn.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/UserMetadataIn.php @@ -45,11 +45,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { switch ($criterion->target) { case Criterion\UserMetadata::MODIFIER: diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Visibility.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Visibility.php index 205c7101222..8942df3a84d 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Visibility.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/CriterionVisitor/Visibility.php @@ -37,11 +37,11 @@ public function canVisit(Criterion $criterion) * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion * @param \eZ\Publish\Core\Search\Elasticsearch\Content\CriterionVisitorDispatcher $dispatcher - * @param array $fieldFilters + * @param array $languageFilter * * @return mixed */ - public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $fieldFilters) + public function visitFilter(Criterion $criterion, Dispatcher $dispatcher, array $languageFilter) { return array( 'term' => array( diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/Handler.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/Handler.php index 6977a37a146..08e25104fc4 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/Handler.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/Handler.php @@ -77,12 +77,12 @@ public function __construct( * Finds Locations for the given $query. * * @param \eZ\Publish\API\Repository\Values\Content\LocationQuery $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult */ - public function findLocations(LocationQuery $query, array $fieldFilters = array()) + public function findLocations(LocationQuery $query, array $languageFilter = array()) { $query->filter = $query->filter ?: new Criterion\MatchAll(); $query->query = $query->query ?: new Criterion\MatchAll(); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriteriaConverter.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriteriaConverter.php index 58d658274c0..58757c9cbb2 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriteriaConverter.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriteriaConverter.php @@ -53,18 +53,18 @@ public function addHandler(CriterionHandler $handler) * * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ public function convertCriteria( SelectQuery $query, Criterion $criterion, - array $fieldFilters = array() + array $languageFilter = array() ) { foreach ($this->handlers as $handler) { if ($handler->accept($criterion)) { - return $handler->handle($this, $query, $criterion, $fieldFilters); + return $handler->handle($this, $query, $criterion, $languageFilter); } } diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler.php index 1a96f41302d..3e748570b94 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler.php @@ -66,13 +66,13 @@ abstract public function accept(Criterion $criterion); * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter */ abstract public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ); /** diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentId.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentId.php index a8b193be166..47df965221c 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentId.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { return $query->expr->in( $this->dbHandler->quoteColumn('id', 'ezcontentobject'), diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeGroupId.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeGroupId.php index 8cc1c02f209..b4abe65716c 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeGroupId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeGroupId.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $subSelect = $query->subSelect(); $subSelect diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeId.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeId.php index 603ff47dc2c..320071fa7d1 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeId.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { return $query->expr->in( $this->dbHandler->quoteColumn('contentclass_id', 'ezcontentobject'), diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeIdentifier.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeIdentifier.php index b30b0b99c15..3f40ccbc66a 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeIdentifier.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ContentTypeIdentifier.php @@ -64,7 +64,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -72,7 +72,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $idList = array(); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/DateMetadata.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/DateMetadata.php index 65c3554316b..d72da588719 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/DateMetadata.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/DateMetadata.php @@ -41,7 +41,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -49,7 +49,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $column = $this->dbHandler->quoteColumn( $criterion->target === Criterion\DateMetadata::MODIFIED ? 'modified' : 'published', diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/Field.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/Field.php index 698222df14b..6fd805e1cd6 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/Field.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/Field.php @@ -139,7 +139,7 @@ protected function getFieldsInformation($fieldIdentifier) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -147,7 +147,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $fieldsInformation = $this->getFieldsInformation($criterion->target); @@ -193,7 +193,7 @@ public function handle( ) ); - $this->addFieldFiltersConditions($subSelect, $fieldFilters); + $this->addFieldFiltersConditions($subSelect, $languageFilter); return $query->expr->in( $this->dbHandler->quoteColumn('id', 'ezcontentobject'), diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FieldBase.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FieldBase.php index 55b26257558..7e3d9452466 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FieldBase.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FieldBase.php @@ -47,24 +47,24 @@ public function __construct( } /** - * Returns the bitmask for the list languages in given $fieldFilters. + * Returns the bitmask for the list languages in given $languageFilter. * - * The method will return null if no languages are contained in $fieldFilters. + * The method will return null if no languages are contained in $languageFilter. * Note: 'useAlwaysAvailable' filter is ignored here. * - * @param array $fieldFilters + * @param array $languageFilter * * @return null|int */ - protected function getFieldFiltersLanguageMask(array $fieldFilters) + protected function getFieldFiltersLanguageMask(array $languageFilter) { - if (empty($fieldFilters['languages'])) { + if (empty($languageFilter['languages'])) { return null; } $mask = 0; - foreach ($fieldFilters['languages'] as $languageCode) { + foreach ($languageFilter['languages'] as $languageCode) { $mask |= $this->languageHandler->loadByLanguageCode($languageCode)->id; } @@ -77,19 +77,19 @@ protected function getFieldFiltersLanguageMask(array $fieldFilters) * Conditions are combined with existing ones using logical AND operator. * * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query - * @param array $fieldFilters + * @param array $languageFilter */ - protected function addFieldFiltersConditions(SelectQuery $query, array $fieldFilters) + protected function addFieldFiltersConditions(SelectQuery $query, array $languageFilter) { - $languageMask = $this->getFieldFiltersLanguageMask($fieldFilters); + $languageMask = $this->getFieldFiltersLanguageMask($languageFilter); - // Only apply if languages are defined in $fieldFilters; + // Only apply if languages are defined in $languageFilter; // 'useAlwaysAvailable' does not make sense on its own if ($languageMask === null) { return; } - // Condition for the language part of $fieldFilters + // Condition for the language part of $languageFilter $languageMaskExpression = $query->expr->gt( $query->expr->bitAnd( $this->dbHandler->quoteColumn('language_id', 'ezcontentobject_attribute'), @@ -101,8 +101,8 @@ protected function addFieldFiltersConditions(SelectQuery $query, array $fieldFil // If 'useAlwaysAvailable' is set to true, additionally factor in condition for the // Content's main language that is marked as always available if ( - !isset($fieldFilters['useAlwaysAvailable']) - || $fieldFilters['useAlwaysAvailable'] === true + !isset($languageFilter['useAlwaysAvailable']) + || $languageFilter['useAlwaysAvailable'] === true ) { $query->where( $query->expr->lOr( diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FieldRelation.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FieldRelation.php index 3a7c1ef1f46..bdb5d47fb17 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FieldRelation.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FieldRelation.php @@ -74,7 +74,7 @@ protected function getFieldDefinitionsIds($fieldDefinitionIdentifier) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression * @@ -84,7 +84,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $column = $this->dbHandler->quoteColumn('to_contentobject_id', 'ezcontentobject_link'); $fieldDefinitionIds = $this->getFieldDefinitionsIds($criterion->target); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FullText.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FullText.php index 4272f5c6cec..b5f97f2ef0e 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FullText.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/FullText.php @@ -227,7 +227,7 @@ protected function getWordIdSubquery(SelectQuery $query, $string) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -235,7 +235,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $subSelect = $query->subSelect(); $subSelect diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LanguageCode.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LanguageCode.php index ec8a315b308..bb4b060ee92 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LanguageCode.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LanguageCode.php @@ -59,7 +59,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -67,7 +67,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $languages = array_flip($criterion->value); /* @var $criterion \eZ\Publish\API\Repository\Values\Content\Query\Criterion\LanguageCode */ diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalAnd.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalAnd.php index 465830d5b33..6f80c320e69 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalAnd.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalAnd.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,11 +48,11 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $subexpressions = array(); foreach ($criterion->criteria as $subCriterion) { - $subexpressions[] = $converter->convertCriteria($query, $subCriterion, $fieldFilters); + $subexpressions[] = $converter->convertCriteria($query, $subCriterion, $languageFilter); } return $query->expr->lAnd($subexpressions); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalNot.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalNot.php index 872f40e83a6..121527215a5 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalNot.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalNot.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,10 +48,10 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { return $query->expr->not( - $converter->convertCriteria($query, $criterion->criteria[0], $fieldFilters) + $converter->convertCriteria($query, $criterion->criteria[0], $languageFilter) ); } } diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalOr.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalOr.php index 4e87e54524e..c646c16f883 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalOr.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/LogicalOr.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,11 +48,11 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $subexpressions = array(); foreach ($criterion->criteria as $subCriterion) { - $subexpressions[] = $converter->convertCriteria($query, $subCriterion, $fieldFilters); + $subexpressions[] = $converter->convertCriteria($query, $subCriterion, $languageFilter); } return $query->expr->lOr($subexpressions); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MapLocationDistance.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MapLocationDistance.php index 7baffe01642..325b4d04a00 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MapLocationDistance.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MapLocationDistance.php @@ -100,7 +100,7 @@ protected function kilometersToDegrees($kilometers) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -108,7 +108,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $fieldDefinitionIds = $this->getFieldDefinitionIds($criterion->target); $subSelect = $query->subSelect(); @@ -235,7 +235,7 @@ public function handle( ) ); - $this->addFieldFiltersConditions($subSelect, $fieldFilters); + $this->addFieldFiltersConditions($subSelect, $languageFilter); return $query->expr->in( $this->dbHandler->quoteColumn('id', 'ezcontentobject'), diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MatchAll.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MatchAll.php index d7386ef4c9f..917d3935b22 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MatchAll.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MatchAll.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { return $query->bindValue('1'); } diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MatchNone.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MatchNone.php index 9b8104c223c..835718e1c3c 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MatchNone.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/MatchNone.php @@ -38,7 +38,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -46,7 +46,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { return $query->expr->not($query->bindValue('1')); } diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ObjectStateId.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ObjectStateId.php index cd8ab07d694..c72666fd255 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ObjectStateId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/ObjectStateId.php @@ -45,7 +45,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -53,7 +53,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $subSelect = $query->subSelect(); $subSelect diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/RemoteId.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/RemoteId.php index 36bcf99ed2b..88f5e7014de 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/RemoteId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/RemoteId.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { return $query->expr->in( $this->dbHandler->quoteColumn('remote_id', 'ezcontentobject'), diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/SectionId.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/SectionId.php index fcd4bfbbe40..2d4b823f4e3 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/SectionId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/SectionId.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { return $query->expr->in( $this->dbHandler->quoteColumn('section_id', 'ezcontentobject'), diff --git a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/UserMetadata.php b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/UserMetadata.php index 7388fa70641..8c9eba156b7 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/UserMetadata.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Common/Gateway/CriterionHandler/UserMetadata.php @@ -41,7 +41,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -49,7 +49,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { switch ($criterion->target) { case Criterion\UserMetadata::MODIFIER: diff --git a/eZ/Publish/Core/Search/Legacy/Content/Gateway.php b/eZ/Publish/Core/Search/Legacy/Content/Gateway.php index c3991d88e7e..150861fc838 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Gateway.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Gateway.php @@ -27,7 +27,7 @@ abstract class Gateway * @param int $offset * @param int $limit * @param \eZ\Publish\API\Repository\Values\Content\Query\SortClause[] $sort - * @param array $fieldFilters + * @param array $languageFilter * @param bool $doCount * * @return mixed[][] @@ -37,7 +37,7 @@ abstract public function find( $offset, $limit, array $sort = null, - array $fieldFilters = array(), + array $languageFilter = array(), $doCount = true ); } diff --git a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Depth.php b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Depth.php index e9b7bcd4843..0429e0df896 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Depth.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Depth.php @@ -41,7 +41,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -49,7 +49,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $table = $this->getUniqueTableName(); $column = $this->dbHandler->quoteColumn('depth', $table); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationId.php b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationId.php index 71fcf3b539e..827a49482a7 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationId.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $subSelect = $query->subSelect(); $subSelect diff --git a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationPriority.php b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationPriority.php index 4eb35a16820..e2f0ce85f75 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationPriority.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationPriority.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $subSelect = $query->subSelect(); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationRemoteId.php b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationRemoteId.php index 76254c5d679..1e452187260 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationRemoteId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/LocationRemoteId.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $subSelect = $query->subSelect(); $subSelect diff --git a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/ParentLocationId.php b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/ParentLocationId.php index 0598334dd92..77a10f7c9fc 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/ParentLocationId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/ParentLocationId.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $subSelect = $query->subSelect(); $subSelect diff --git a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/PermissionSubtree.php b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/PermissionSubtree.php index 0d187e16469..84e0818fd46 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/PermissionSubtree.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/PermissionSubtree.php @@ -41,7 +41,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -49,7 +49,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $table = 'permission_subtree'; diff --git a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Subtree.php b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Subtree.php index 456746614a7..704bbd70804 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Subtree.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Subtree.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $table = $this->getUniqueTableName(); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Visibility.php b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Visibility.php index 81fa045dd42..a46a8216b06 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Visibility.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Gateway/CriterionHandler/Visibility.php @@ -45,7 +45,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -53,7 +53,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $subSelect = $query->subSelect(); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Gateway/DoctrineDatabase.php b/eZ/Publish/Core/Search/Legacy/Content/Gateway/DoctrineDatabase.php index 9be5230a7b7..a755b6143ec 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Gateway/DoctrineDatabase.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Gateway/DoctrineDatabase.php @@ -71,7 +71,7 @@ public function __construct( * @param int $offset * @param int $limit * @param \eZ\Publish\API\Repository\Values\Content\Query\SortClause[] $sort - * @param array $fieldFilters + * @param array $languageFilter * @param bool $doCount * * @return mixed[][] @@ -81,10 +81,10 @@ public function find( $offset, $limit, array $sort = null, - array $fieldFilters = array(), + array $languageFilter = array(), $doCount = true ) { - $count = $doCount ? $this->getResultCount($criterion, $fieldFilters) : null; + $count = $doCount ? $this->getResultCount($criterion, $languageFilter) : null; if (!$doCount && $limit === 0) { throw new \RuntimeException('Invalid query, can not disable count and request 0 items at the same time'); @@ -94,7 +94,7 @@ public function find( return array('count' => $count, 'rows' => array()); } - $contentInfoList = $this->getContentInfoList($criterion, $sort, $offset, $limit, $fieldFilters); + $contentInfoList = $this->getContentInfoList($criterion, $sort, $offset, $limit, $languageFilter); return array( 'count' => $count, @@ -107,14 +107,14 @@ public function find( * * @param Criterion $filter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query - * @param array $fieldFilters + * @param array $languageFilter * * @return string */ - protected function getQueryCondition(Criterion $filter, SelectQuery $query, $fieldFilters) + protected function getQueryCondition(Criterion $filter, SelectQuery $query, $languageFilter) { $condition = $query->expr->lAnd( - $this->criteriaConverter->convertCriteria($query, $filter, $fieldFilters), + $this->criteriaConverter->convertCriteria($query, $filter, $languageFilter), $query->expr->eq( 'ezcontentobject.status', ContentInfo::STATUS_PUBLISHED @@ -133,11 +133,11 @@ protected function getQueryCondition(Criterion $filter, SelectQuery $query, $fie * * @param Criterion $filter * @param array $sort - * @param array $fieldFilters + * @param array $languageFilter * * @return int */ - protected function getResultCount(Criterion $filter, $fieldFilters) + protected function getResultCount(Criterion $filter, $languageFilter) { $query = $this->handler->createSelectQuery(); @@ -152,7 +152,7 @@ protected function getResultCount(Criterion $filter, $fieldFilters) ); $query->where( - $this->getQueryCondition($filter, $query, $fieldFilters) + $this->getQueryCondition($filter, $query, $languageFilter) ); $statement = $query->prepare(); @@ -168,11 +168,11 @@ protected function getResultCount(Criterion $filter, $fieldFilters) * @param array $sort * @param mixed $offset * @param mixed $limit - * @param array $fieldFilters + * @param array $languageFilter * * @return int[] */ - protected function getContentInfoList(Criterion $filter, $sort, $offset, $limit, $fieldFilters) + protected function getContentInfoList(Criterion $filter, $sort, $offset, $limit, $languageFilter) { $query = $this->handler->createSelectQuery(); $query->selectDistinct( @@ -212,7 +212,7 @@ protected function getContentInfoList(Criterion $filter, $sort, $offset, $limit, } $query->where( - $this->getQueryCondition($filter, $query, $fieldFilters) + $this->getQueryCondition($filter, $query, $languageFilter) ); if ($sort !== null) { diff --git a/eZ/Publish/Core/Search/Legacy/Content/Gateway/ExceptionConversion.php b/eZ/Publish/Core/Search/Legacy/Content/Gateway/ExceptionConversion.php index 65cc4fe65e4..da198214d24 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Gateway/ExceptionConversion.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Gateway/ExceptionConversion.php @@ -46,7 +46,7 @@ public function __construct(Gateway $innerGateway) * @param int $offset * @param int|null $limit * @param \eZ\Publish\API\Repository\Values\Content\Query\SortClause[] $sort - * @param array $fieldFilters + * @param array $languageFilter * @param bool $doCount * * @throws \RuntimeException @@ -58,11 +58,11 @@ public function find( $offset = 0, $limit = null, array $sort = null, - array $fieldFilters = array(), + array $languageFilter = array(), $doCount = true ) { try { - return $this->innerGateway->find($criterion, $offset, $limit, $sort, $fieldFilters, $doCount); + return $this->innerGateway->find($criterion, $offset, $limit, $sort, $languageFilter, $doCount); } catch (DBALException $e) { throw new RuntimeException('Database error', 0, $e); } catch (PDOException $e) { diff --git a/eZ/Publish/Core/Search/Legacy/Content/Handler.php b/eZ/Publish/Core/Search/Legacy/Content/Handler.php index d2bafa76f9b..b361a3a9d8a 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Handler.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Handler.php @@ -73,17 +73,15 @@ public function __construct(Gateway $gateway, ContentMapper $contentMapper) /** * Finds content objects for the given query. * - * @todo define structs for the field filters - * * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if Query criterion is not applicable to its target * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult */ - public function findContent(Query $query, array $fieldFilters = array()) + public function findContent(Query $query, array $languageFilter = array()) { $start = microtime(true); $query->filter = $query->filter ?: new Criterion\MatchAll(); @@ -102,7 +100,7 @@ public function findContent(Query $query, array $fieldFilters = array()) $query->offset, $query->limit, $query->sortClauses, - $fieldFilters, + $languageFilter, $query->performCount ); @@ -127,15 +125,13 @@ public function findContent(Query $query, array $fieldFilters = array()) * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if Criterion is not applicable to its target * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than than one result matching the criterions * - * @todo define structs for the field filters - * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\SPI\Persistence\Content\ContentInfo */ - public function findSingle(Criterion $filter, array $fieldFilters = array()) + public function findSingle(Criterion $filter, array $languageFilter = array()) { $searchQuery = new Query(); $searchQuery->filter = $filter; @@ -144,7 +140,7 @@ public function findSingle(Criterion $filter, array $fieldFilters = array()) $searchQuery->limit = 2;// Because we optimize away the count query below $searchQuery->performCount = true; $searchQuery->sortClauses = null; - $result = $this->findContent($searchQuery, $fieldFilters); + $result = $this->findContent($searchQuery, $languageFilter); if (empty($result->searchHits)) { throw new NotFoundException('Content', 'findSingle() found no content for given $criterion'); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/Depth.php b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/Depth.php index fe66931538f..1024589b641 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/Depth.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/Depth.php @@ -41,7 +41,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion$criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -49,7 +49,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $column = $this->dbHandler->quoteColumn('depth', 'ezcontentobject_tree'); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/IsMainLocation.php b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/IsMainLocation.php index 87c7f35ceec..2600cc54207 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/IsMainLocation.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/IsMainLocation.php @@ -41,7 +41,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion$criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -49,7 +49,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $idColumn = $this->dbHandler->quoteColumn('node_id', 'ezcontentobject_tree'); $mainIdColumn = $this->dbHandler->quoteColumn('main_node_id', 'ezcontentobject_tree'); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/Priority.php b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/Priority.php index 3f6d009cd3d..bb372a42a15 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/Priority.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Location/Priority.php @@ -41,7 +41,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion$criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -49,7 +49,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $column = $this->dbHandler->quoteColumn('priority'); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/LocationId.php b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/LocationId.php index 2adbe28682f..b39c1a3aba4 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/LocationId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/LocationId.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion$criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { return $query->expr->in( $this->dbHandler->quoteColumn('node_id', 'ezcontentobject_tree'), diff --git a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/LocationRemoteId.php b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/LocationRemoteId.php index 44e57fe738e..5e857916bad 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/LocationRemoteId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/LocationRemoteId.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { return $query->expr->in( $this->dbHandler->quoteColumn('remote_id', 'ezcontentobject_tree'), diff --git a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/ParentLocationId.php b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/ParentLocationId.php index c872126f64a..2678bf48c17 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/ParentLocationId.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/ParentLocationId.php @@ -40,7 +40,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion$criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -48,7 +48,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { return $query->expr->in( $this->dbHandler->quoteColumn('parent_node_id', 'ezcontentobject_tree'), diff --git a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Subtree.php b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Subtree.php index 87d03868685..5f852c95af9 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Subtree.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Subtree.php @@ -41,7 +41,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion$criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -49,7 +49,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $statements = array(); foreach ($criterion->value as $pattern) { diff --git a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Visibility.php b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Visibility.php index 94a3620ac98..088ff511516 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Visibility.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Location/Gateway/CriterionHandler/Visibility.php @@ -42,7 +42,7 @@ public function accept(Criterion $criterion) * @param \eZ\Publish\Core\Search\Legacy\Content\Common\Gateway\CriteriaConverter $converter * @param \eZ\Publish\Core\Persistence\Database\SelectQuery $query * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion$criterion - * @param array $fieldFilters + * @param array $languageFilter * * @return \eZ\Publish\Core\Persistence\Database\Expression */ @@ -50,7 +50,7 @@ public function handle( CriteriaConverter $converter, SelectQuery $query, Criterion $criterion, - array $fieldFilters + array $languageFilter ) { $column = $this->dbHandler->quoteColumn('is_invisible', 'ezcontentobject_tree'); diff --git a/eZ/Publish/Core/Search/Legacy/Content/Location/Handler.php b/eZ/Publish/Core/Search/Legacy/Content/Location/Handler.php index 9e9f11e0429..914704e1f94 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Location/Handler.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Location/Handler.php @@ -54,7 +54,7 @@ public function __construct(Gateway $gateway, LocationMapper $locationMapper) /** * @see \eZ\Publish\SPI\Search\Content\Location\Handler::findLocations */ - public function findLocations(LocationQuery $query, array $fieldFilters = array()) + public function findLocations(LocationQuery $query, array $languageFilter = array()) { $start = microtime(true); $query->filter = $query->filter ?: new Criterion\MatchAll(); diff --git a/eZ/Publish/Core/SignalSlot/SearchService.php b/eZ/Publish/Core/SignalSlot/SearchService.php index 4ded5d6f0a6..b0ab6689c07 100644 --- a/eZ/Publish/Core/SignalSlot/SearchService.php +++ b/eZ/Publish/Core/SignalSlot/SearchService.php @@ -52,20 +52,18 @@ public function __construct(SearchServiceInterface $service, SignalDispatcher $s /** * Finds content objects for the given query. * - * @todo define structs for the field filters - * * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult */ - public function findContent(Query $query, array $fieldFilters = array(), $filterOnUserPermissions = true) + public function findContent(Query $query, array $languageFilter = array(), $filterOnUserPermissions = true) { - return $this->service->findContent($query, $fieldFilters, $filterOnUserPermissions); + return $this->service->findContent($query, $languageFilter, $filterOnUserPermissions); } /** @@ -75,18 +73,16 @@ public function findContent(Query $query, array $fieldFilters = array(), $filter * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if criterion is not valid * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than than one result matching the criterions * - * @todo define structs for the field filters - * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * * @return \eZ\Publish\API\Repository\Values\Content\Content */ - public function findSingle(Criterion $filter, array $fieldFilters = array(), $filterOnUserPermissions = true) + public function findSingle(Criterion $filter, array $languageFilter = array(), $filterOnUserPermissions = true) { - return $this->service->findSingle($filter, $fieldFilters, $filterOnUserPermissions); + return $this->service->findSingle($filter, $languageFilter, $filterOnUserPermissions); } /** @@ -108,15 +104,15 @@ public function suggest($prefix, $fieldPaths = array(), $limit = 10, Criterion $ * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\LocationQuery $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult */ - public function findLocations(LocationQuery $query, array $fieldFilters = array(), $filterOnUserPermissions = true) + public function findLocations(LocationQuery $query, array $languageFilter = array(), $filterOnUserPermissions = true) { - return $this->service->findLocations($query, $fieldFilters, $filterOnUserPermissions); + return $this->service->findLocations($query, $languageFilter, $filterOnUserPermissions); } } diff --git a/eZ/Publish/Core/SignalSlot/Tests/SearchServiceTest.php b/eZ/Publish/Core/SignalSlot/Tests/SearchServiceTest.php index 90a72f34691..ac1d6422c44 100644 --- a/eZ/Publish/Core/SignalSlot/Tests/SearchServiceTest.php +++ b/eZ/Publish/Core/SignalSlot/Tests/SearchServiceTest.php @@ -32,7 +32,7 @@ protected function getSignalSlotService($coreService, SignalDispatcher $dispatch public function serviceProvider() { - $fieldFilters = array('languages' => array('fre-FR')); + $languageFilter = array('languages' => array('fre-FR')); $content = $this->getContent( $this->getVersionInfo( $this->getContentInfo(42, md5(__METHOD__)), @@ -46,7 +46,7 @@ public function serviceProvider() 'findContent', array( new Query(), - $fieldFilters, + $languageFilter, false, ), new SearchResult(array('totalCount' => 0)), @@ -56,7 +56,7 @@ public function serviceProvider() 'findSingle', array( $criterion, - $fieldFilters, + $languageFilter, false, ), $content, diff --git a/eZ/Publish/SPI/Search/Content/Handler.php b/eZ/Publish/SPI/Search/Content/Handler.php index 95be7ec1146..9c224c3cfbb 100644 --- a/eZ/Publish/SPI/Search/Content/Handler.php +++ b/eZ/Publish/SPI/Search/Content/Handler.php @@ -23,17 +23,15 @@ interface Handler /** * Finds content objects for the given query. * - * @todo define structs for the field filters - * * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if Query criterion is not applicable to its target * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult With ContentInfo as SearchHit->valueObject */ - public function findContent(Query $query, array $fieldFilters = array()); + public function findContent(Query $query, array $languageFilter = array()); /** * Performs a query for a single content object. @@ -42,15 +40,13 @@ public function findContent(Query $query, array $fieldFilters = array()); * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if Criterion is not applicable to its target * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than than one result matching the criterions * - * @todo define structs for the field filters - * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\SPI\Persistence\Content\ContentInfo */ - public function findSingle(Criterion $filter, array $fieldFilters = array()); + public function findSingle(Criterion $filter, array $languageFilter = array()); /** * Suggests a list of values for the given prefix. diff --git a/eZ/Publish/SPI/Search/Content/Location/Handler.php b/eZ/Publish/SPI/Search/Content/Location/Handler.php index 8b38493c13f..051aff749c5 100644 --- a/eZ/Publish/SPI/Search/Content/Location/Handler.php +++ b/eZ/Publish/SPI/Search/Content/Location/Handler.php @@ -22,12 +22,12 @@ interface Handler * Finds locations for the given $query. * * @param \eZ\Publish\API\Repository\Values\Content\LocationQuery $query - * @param array $fieldFilters - a map of filters for the returned fields. + * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult With Location as SearchHit->valueObject */ - public function findLocations(LocationQuery $query, array $fieldFilters = array()); + public function findLocations(LocationQuery $query, array $languageFilter = array()); /** * Indexes a Location in the index storage. From c8b760e08c937997ebad1aff2d50eee646f8839c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20R?= Date: Thu, 30 Jul 2015 02:15:27 +0200 Subject: [PATCH 2/3] [API][SearchService] Change $languageFilter doc to specify prioritized language handling --- doc/bc/changes-5.4.md | 9 +++++++++ eZ/Publish/API/Repository/SearchService.php | 6 +++--- eZ/Publish/Core/REST/Client/ContentService.php | 4 ++-- eZ/Publish/Core/Repository/SearchService.php | 6 +++--- eZ/Publish/Core/Search/Elasticsearch/Content/Handler.php | 4 ++-- .../Search/Elasticsearch/Content/Location/Handler.php | 2 +- eZ/Publish/Core/Search/Legacy/Content/Handler.php | 4 ++-- eZ/Publish/Core/SignalSlot/SearchService.php | 6 +++--- eZ/Publish/SPI/Search/Content/Handler.php | 4 ++-- eZ/Publish/SPI/Search/Content/Location/Handler.php | 2 +- 10 files changed, 28 insertions(+), 19 deletions(-) diff --git a/doc/bc/changes-5.4.md b/doc/bc/changes-5.4.md index ed06cd3fc05..f290bf61aac 100644 --- a/doc/bc/changes-5.4.md +++ b/doc/bc/changes-5.4.md @@ -193,6 +193,15 @@ Changes affecting version compatibility with former or future versions. Reason is to better communicate what the argument is used for. No changes to it's structure is done so this is a purly cosmetic change. +* 5.4.5: $languageFilter specification has changed to work as priority list of languages + To be able to sort on translated values in a predictable way we need to deal with + one language per content object at a time. This change only affects how the sort is + performed internally, and not which fields are returned in the case of findContent. + This furthermore better matches the behaviour of language lists for SiteAccess. + Behaviour of Search engines will be gradually changed to reflect this change, Solr first. + Note: Possibility to search across all languages remains, however Field SortClause will + for instance not work properly in this case, and we plan to start to give warnings about this. + ## Deprecations * `imagemagick` siteaccess settings are now deprecated. It is mandatory to remove them. diff --git a/eZ/Publish/API/Repository/SearchService.php b/eZ/Publish/API/Repository/SearchService.php index 61755bf695b..fbe58d1f749 100644 --- a/eZ/Publish/API/Repository/SearchService.php +++ b/eZ/Publish/API/Repository/SearchService.php @@ -25,7 +25,7 @@ interface SearchService * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Also used to define which field languages are loaded for the returned content. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations @@ -43,7 +43,7 @@ public function findContent(Query $query, array $languageFilter = array(), $filt * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than than one result matching the criterions * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. @@ -68,7 +68,7 @@ public function suggest($prefix, $fieldPaths = array(), $limit = 10, Criterion $ * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\LocationQuery $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. diff --git a/eZ/Publish/Core/REST/Client/ContentService.php b/eZ/Publish/Core/REST/Client/ContentService.php index 3edcfb6d851..b1717075822 100644 --- a/eZ/Publish/Core/REST/Client/ContentService.php +++ b/eZ/Publish/Core/REST/Client/ContentService.php @@ -557,7 +557,7 @@ public function copyContent(ContentInfo $contentInfo, LocationCreateStruct $dest * Finds content objects for the given query. * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * @@ -575,7 +575,7 @@ public function findContent(Query $query, array $languageFilter, $filterOnUserPe * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if the query would return more than one result * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * diff --git a/eZ/Publish/Core/Repository/SearchService.php b/eZ/Publish/Core/Repository/SearchService.php index 202184c2842..3762e79da45 100644 --- a/eZ/Publish/Core/Repository/SearchService.php +++ b/eZ/Publish/Core/Repository/SearchService.php @@ -96,7 +96,7 @@ public function __construct( * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations. * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. @@ -236,7 +236,7 @@ protected function validateSortClauses(Query $query) * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than one result matching the criterions * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations. * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. @@ -280,7 +280,7 @@ public function suggest($prefix, $fieldPaths = array(), $limit = 10, Criterion $ * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\LocationQuery $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Handler.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Handler.php index b2912199bb9..e39759810b9 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Handler.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Handler.php @@ -63,7 +63,7 @@ public function __construct( * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if Query criterion is not applicable to its target * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult @@ -86,7 +86,7 @@ public function findContent(Query $query, array $languageFilter = array()) * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than than one result matching the criterions * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\SPI\Persistence\Content diff --git a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/Handler.php b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/Handler.php index 08e25104fc4..4f4e810ec5a 100644 --- a/eZ/Publish/Core/Search/Elasticsearch/Content/Location/Handler.php +++ b/eZ/Publish/Core/Search/Elasticsearch/Content/Location/Handler.php @@ -77,7 +77,7 @@ public function __construct( * Finds Locations for the given $query. * * @param \eZ\Publish\API\Repository\Values\Content\LocationQuery $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult diff --git a/eZ/Publish/Core/Search/Legacy/Content/Handler.php b/eZ/Publish/Core/Search/Legacy/Content/Handler.php index b361a3a9d8a..0d3602b8fe8 100644 --- a/eZ/Publish/Core/Search/Legacy/Content/Handler.php +++ b/eZ/Publish/Core/Search/Legacy/Content/Handler.php @@ -76,7 +76,7 @@ public function __construct(Gateway $gateway, ContentMapper $contentMapper) * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if Query criterion is not applicable to its target * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult @@ -126,7 +126,7 @@ public function findContent(Query $query, array $languageFilter = array()) * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than than one result matching the criterions * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\SPI\Persistence\Content\ContentInfo diff --git a/eZ/Publish/Core/SignalSlot/SearchService.php b/eZ/Publish/Core/SignalSlot/SearchService.php index b0ab6689c07..486621a311c 100644 --- a/eZ/Publish/Core/SignalSlot/SearchService.php +++ b/eZ/Publish/Core/SignalSlot/SearchService.php @@ -55,7 +55,7 @@ public function __construct(SearchServiceInterface $service, SignalDispatcher $s * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * @@ -74,7 +74,7 @@ public function findContent(Query $query, array $languageFilter = array(), $filt * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than than one result matching the criterions * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. * @@ -104,7 +104,7 @@ public function suggest($prefix, $fieldPaths = array(), $limit = 10, Criterion $ * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid * * @param \eZ\Publish\API\Repository\Values\Content\LocationQuery $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) * useAlwaysAvailable defaults to true to avoid exceptions on missing translations * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. diff --git a/eZ/Publish/SPI/Search/Content/Handler.php b/eZ/Publish/SPI/Search/Content/Handler.php index 9c224c3cfbb..631ccda1a00 100644 --- a/eZ/Publish/SPI/Search/Content/Handler.php +++ b/eZ/Publish/SPI/Search/Content/Handler.php @@ -26,7 +26,7 @@ interface Handler * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if Query criterion is not applicable to its target * * @param \eZ\Publish\API\Repository\Values\Content\Query $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult With ContentInfo as SearchHit->valueObject @@ -41,7 +41,7 @@ public function findContent(Query $query, array $languageFilter = array()); * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if there is more than than one result matching the criterions * * @param \eZ\Publish\API\Repository\Values\Content\Query\Criterion $filter - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\SPI\Persistence\Content\ContentInfo diff --git a/eZ/Publish/SPI/Search/Content/Location/Handler.php b/eZ/Publish/SPI/Search/Content/Location/Handler.php index 051aff749c5..c14780c3a47 100644 --- a/eZ/Publish/SPI/Search/Content/Location/Handler.php +++ b/eZ/Publish/SPI/Search/Content/Location/Handler.php @@ -22,7 +22,7 @@ interface Handler * Finds locations for the given $query. * * @param \eZ\Publish\API\Repository\Values\Content\LocationQuery $query - * @param array $languageFilter - a map of language related filters specifying languages query will be performed on. + * @param array $languageFilter Configuration for specifying prioritized languages query will be performed on. * Currently supported: array("languages" => array(,..)). * * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult With Location as SearchHit->valueObject From 4cbefd8db8447ee0a9e835e8db6b32a2ad420189 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andre=CC=81=20R?= Date: Fri, 10 Jul 2015 18:35:41 +0200 Subject: [PATCH 3/3] EZP-24593: Add possibility to search for ContentInfo to avoid Content loading --- eZ/Publish/API/Repository/SearchService.php | 20 ++++ .../Repository/Tests/SearchServiceTest.php | 95 +++++++++++++++++-- eZ/Publish/Core/Repository/SearchService.php | 76 ++++++++++++--- eZ/Publish/Core/SignalSlot/SearchService.php | 21 ++++ .../SignalSlot/Tests/SearchServiceTest.php | 21 ++++ .../Core/SignalSlot/Tests/ServiceTest.php | 4 +- 6 files changed, 212 insertions(+), 25 deletions(-) diff --git a/eZ/Publish/API/Repository/SearchService.php b/eZ/Publish/API/Repository/SearchService.php index fbe58d1f749..09fbbae590d 100644 --- a/eZ/Publish/API/Repository/SearchService.php +++ b/eZ/Publish/API/Repository/SearchService.php @@ -35,6 +35,26 @@ interface SearchService */ public function findContent(Query $query, array $languageFilter = array(), $filterOnUserPermissions = true); + /** + * Finds contentInfo objects for the given query. + * + * This method works just like findContent, however does not load the full Content Objects. This means + * it can be more efficient for use cases where you don't need the full Content. Also including use cases + * where content will be loaded by separate code, like an ESI based sub requests that takes content ID as input. + * + * @since 5.4.5 + * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid + * + * @param \eZ\Publish\API\Repository\Values\Content\Query $query + * @param array $languageFilter - a map of filters for the returned fields. + * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) + * useAlwaysAvailable defaults to true to avoid exceptions on missing translations + * @param bool $filterOnUserPermissions if true (default) only the objects which is the user allowed to read are returned. + * + * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult + */ + public function findContentInfo(Query $query, array $languageFilter = array(), $filterOnUserPermissions = true); + /** * Performs a query for a single content object. * diff --git a/eZ/Publish/API/Repository/Tests/SearchServiceTest.php b/eZ/Publish/API/Repository/Tests/SearchServiceTest.php index 4d957e3c112..90af76d048f 100644 --- a/eZ/Publish/API/Repository/Tests/SearchServiceTest.php +++ b/eZ/Publish/API/Repository/Tests/SearchServiceTest.php @@ -12,9 +12,10 @@ use eZ\Publish\API\Repository\Tests\SetupFactory\LegacyElasticsearch; use eZ\Publish\API\Repository\Tests\SetupFactory\LegacySolr; -use eZ\Publish\Core\Repository\Values\Content\Content; +use eZ\Publish\API\Repository\Values\Content\Content; +use eZ\Publish\API\Repository\Values\Content\ContentInfo; use eZ\Publish\API\Repository\Values\Content\Query; -use eZ\Publish\Core\Repository\Values\Content\Location; +use eZ\Publish\API\Repository\Values\Content\Location; use eZ\Publish\API\Repository\Values\Content\LocationQuery; use eZ\Publish\API\Repository\Values\Content\Query\Criterion; use eZ\Publish\API\Repository\Values\Content\Query\SortClause; @@ -756,6 +757,18 @@ public function testFindContentFiltered($queryData, $fixture, $closure = null) $this->assertQueryFixture($query, $fixture, $closure); } + /** + * Test for the findContentInfo() method. + * + * @dataProvider getFilterContentSearches + * @see \eZ\Publish\API\Repository\SearchService::findContentInfo() + */ + public function testFindContentInfoFiltered($queryData, $fixture, $closure = null) + { + $query = new Query($queryData); + $this->assertQueryFixture($query, $fixture, $this->getContentInfoFixtureClosure($closure), true); + } + /** * Test for the findLocations() method. * @@ -803,6 +816,18 @@ public function testQueryContent($queryData, $fixture, $closure = null) $this->assertQueryFixture($query, $fixture, $closure); } + /** + * Test for the findContentInfo() method. + * + * @dataProvider getContentQuerySearches + * @see \eZ\Publish\API\Repository\SearchService::findContent() + */ + public function testQueryContentInfo($queryData, $fixture, $closure = null) + { + $query = new Query($queryData); + $this->assertQueryFixture($query, $fixture, $this->getContentInfoFixtureClosure($closure), true); + } + /** * Test for the findContent() method. * @@ -1027,7 +1052,7 @@ public function testFindLocationsNoPerformCountException() /** * Create test Content with ezcountry field having multiple countries selected. * - * @return \eZ\Publish\API\Repository\Values\Content\Content + * @return Content */ protected function createMultipleCountriesContent() { @@ -1642,7 +1667,7 @@ protected function createTestContentType() * @param int $fieldValue2 Value for non translatable field * @param string $mainLanguageCode * - * @return \eZ\Publish\API\Repository\Values\Content\Content + * @return Content */ protected function createMultilingualContent( $contentType, @@ -2212,6 +2237,18 @@ public function testFindAndSortContent($queryData, $fixture, $closure = null) $this->assertQueryFixture($query, $fixture, $closure); } + /** + * Test for the findContentInfo() method. + * + * @dataProvider getSortedContentSearches + * @see \eZ\Publish\API\Repository\SearchService::findContentInfo() + */ + public function testFindAndSortContentInfo($queryData, $fixture, $closure = null) + { + $query = new Query($queryData); + $this->assertQueryFixture($query, $fixture, $this->getContentInfoFixtureClosure($closure), true); + } + /** * Test for the findContent() method. * @@ -2502,6 +2539,17 @@ public function testFindFacettedContent(Query $query, $fixture) $this->assertQueryFixture($query, $fixture); } + /** + * Test for the findContentInfo() method. + * + * @dataProvider getFacettedSearches + * @see \eZ\Publish\API\Repository\SearchService::findContentInfo() + */ + public function testFindFacettedContentInfo(Query $query, $fixture) + { + $this->assertQueryFixture($query, $fixture, $this->getContentInfoFixtureClosure(), true); + } + /** * Test for the findContent() method. * @@ -4357,8 +4405,9 @@ public function testLanguageAnalysisSameContentNotFound() * @param Query $query * @param string $fixture * @param null|callable $closure + * @param bool $info */ - protected function assertQueryFixture(Query $query, $fixture, $closure = null, $ignoreScore = true) + protected function assertQueryFixture(Query $query, $fixture, $closure = null, $ignoreScore = true, $info = false) { $repository = $this->getRepository(); $searchService = $repository->getSearchService(); @@ -4377,7 +4426,11 @@ protected function assertQueryFixture(Query $query, $fixture, $closure = null, $ $result = $searchService->findLocations($query); } elseif ($query instanceof Query) { - $result = $searchService->findContent($query); + if ($info) { + $result = $searchService->findContentInfo($query); + } else { + $result = $searchService->findContent($query); + } } else { $this->fail('Expected instance of LocationQuery or Query, got: ' . gettype($query)); } @@ -4471,16 +4524,17 @@ protected function simplifySearchResult(SearchResult $result) foreach ($result->searchHits as $hit) { switch (true) { case $hit->valueObject instanceof Content: + case $hit->valueObject instanceof Location: $hit->valueObject = array( 'id' => $hit->valueObject->contentInfo->id, 'title' => $hit->valueObject->contentInfo->name, ); break; - case $hit->valueObject instanceof Location: + case $hit->valueObject instanceof ContentInfo: $hit->valueObject = array( - 'id' => $hit->valueObject->contentInfo->id, - 'title' => $hit->valueObject->contentInfo->name, + 'id' => $hit->valueObject->id, + 'title' => $hit->valueObject->name, ); break; @@ -4499,4 +4553,27 @@ protected function getFixtureDir() { return __DIR__ . '/_fixtures/' . getenv('fixtureDir') . '/'; } + + /** + * For findContentInfo tests, to reuse fixtures for findContent tests. + * + * @param null|callable $closure + * + * @return callable + */ + private function getContentInfoFixtureClosure($closure = null) + { + /** @var $data \eZ\Publish\API\Repository\Values\Content\Search\SearchResult */ + return function (&$data) use ($closure) { + foreach ($data->searchHits as $searchHit) { + if ($searchHit->valueObject instanceof Content) { + $searchHit->valueObject = $searchHit->valueObject->getVersionInfo()->getContentInfo(); + } + } + + if (isset($closure)) { + $closure($data); + } + }; + } } diff --git a/eZ/Publish/Core/Repository/SearchService.php b/eZ/Publish/Core/Repository/SearchService.php index 3762e79da45..fea5138c461 100644 --- a/eZ/Publish/Core/Repository/SearchService.php +++ b/eZ/Publish/Core/Repository/SearchService.php @@ -104,6 +104,67 @@ public function __construct( * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult */ public function findContent(Query $query, array $languageFilter = array(), $filterOnUserPermissions = true) + { + $contentService = $this->repository->getContentService(); + $result = $this->internalFindContentInfo($query, $languageFilter, $filterOnUserPermissions); + foreach ($result->searchHits as $hit) { + // As we get ContentInfo from SPI, we need to load full content (avoids getting stale content data) + $hit->valueObject = $contentService->internalLoadContent( + $hit->valueObject->id, + (!empty($languageFilter['languages']) ? $languageFilter['languages'] : null), + null, + false, + (isset($languageFilter['useAlwaysAvailable']) ? $languageFilter['useAlwaysAvailable'] : true) + ); + } + + return $result; + } + + /** + * Finds contentInfo objects for the given query. + * + * @see SearchServiceInterface::findContentInfo() + * + * @since 5.4.5 + * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid + * + * @param \eZ\Publish\API\Repository\Values\Content\Query $query + * @param array $languageFilter - a map of filters for the returned fields. + * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) + * useAlwaysAvailable defaults to true to avoid exceptions on missing translations. + * @param bool $filterOnUserPermissions if true (default) only the objects which is the user allowed to read are returned. + * + * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult + */ + public function findContentInfo(Query $query, array $languageFilter = array(), $filterOnUserPermissions = true) + { + $result = $this->internalFindContentInfo($query, $languageFilter, $filterOnUserPermissions); + foreach ($result->searchHits as $hit) { + $hit->valueObject = $this->domainMapper->buildContentInfoDomainObject( + $hit->valueObject + ); + } + + return $result; + } + + /** + * Finds SPI content info objects for the given query. + * + * Internal for use by {@link findContent} and {@link findContentInfo}. + * + * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid + * + * @param \eZ\Publish\API\Repository\Values\Content\Query $query + * @param array $languageFilter - a map of filters for the returned fields. + * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) + * useAlwaysAvailable defaults to true to avoid exceptions on missing translations. + * @param bool $filterOnUserPermissions if true only the objects which is the user allowed to read are returned. + * + * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult With "raw" SPI contentInfo objects in result + */ + protected function internalFindContentInfo(Query $query, array $languageFilter = array(), $filterOnUserPermissions = true) { if (!is_int($query->offset)) { throw new InvalidArgumentType( @@ -133,20 +194,7 @@ public function findContent(Query $query, array $languageFilter = array(), $filt return new SearchResult(array('time' => 0, 'totalCount' => 0)); } - $result = $this->searchHandler->findContent($query, $languageFilter); - - $contentService = $this->repository->getContentService(); - foreach ($result->searchHits as $hit) { - $hit->valueObject = $contentService->internalLoadContent( - $hit->valueObject->id, - (!empty($languageFilter['languages']) ? $languageFilter['languages'] : null), - null, - false, - (isset($languageFilter['useAlwaysAvailable']) ? $languageFilter['useAlwaysAvailable'] : true) - ); - } - - return $result; + return $this->searchHandler->findContent($query, $languageFilter); } /** diff --git a/eZ/Publish/Core/SignalSlot/SearchService.php b/eZ/Publish/Core/SignalSlot/SearchService.php index 486621a311c..26227abdb94 100644 --- a/eZ/Publish/Core/SignalSlot/SearchService.php +++ b/eZ/Publish/Core/SignalSlot/SearchService.php @@ -66,6 +66,27 @@ public function findContent(Query $query, array $languageFilter = array(), $filt return $this->service->findContent($query, $languageFilter, $filterOnUserPermissions); } + /** + * Finds contentInfo objects for the given query. + * + * @see SearchServiceInterface::findContentInfo() + * + * @since 5.4.5 + * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException if query is not valid + * + * @param \eZ\Publish\API\Repository\Values\Content\Query $query + * @param array $languageFilter - a map of filters for the returned fields. + * Currently supports: array("languages" => array(,..), "useAlwaysAvailable" => bool) + * useAlwaysAvailable defaults to true to avoid exceptions on missing translations. + * @param bool $filterOnUserPermissions if true (default) only the objects which is the user allowed to read are returned. + * + * @return \eZ\Publish\API\Repository\Values\Content\Search\SearchResult + */ + public function findContentInfo(Query $query, array $languageFilter = array(), $filterOnUserPermissions = true) + { + return $this->service->findContentInfo($query, $languageFilter, $filterOnUserPermissions); + } + /** * Performs a query for a single content object. * diff --git a/eZ/Publish/Core/SignalSlot/Tests/SearchServiceTest.php b/eZ/Publish/Core/SignalSlot/Tests/SearchServiceTest.php index ac1d6422c44..c5438536b0b 100644 --- a/eZ/Publish/Core/SignalSlot/Tests/SearchServiceTest.php +++ b/eZ/Publish/Core/SignalSlot/Tests/SearchServiceTest.php @@ -11,6 +11,7 @@ namespace eZ\Publish\Core\SignalSlot\Tests; use eZ\Publish\API\Repository\Values\Content\Query; +use eZ\Publish\API\Repository\Values\Content\LocationQuery; use eZ\Publish\API\Repository\Values\Content\Search\SearchResult; use eZ\Publish\API\Repository\Values\Content\Query\Criterion\Visibility; use eZ\Publish\Core\SignalSlot\SignalDispatcher; @@ -52,6 +53,16 @@ public function serviceProvider() new SearchResult(array('totalCount' => 0)), 0, ), + array( + 'findContentInfo', + array( + new Query(), + $languageFilter, + false, + ), + new SearchResult(array('totalCount' => 0)), + 0, + ), array( 'findSingle', array( @@ -62,6 +73,16 @@ public function serviceProvider() $content, 0, ), + array( + 'findLocations', + array( + new LocationQuery(), + $languageFilter, + false, + ), + new SearchResult(array('totalCount' => 0)), + 0, + ), array( 'suggest', array( diff --git a/eZ/Publish/Core/SignalSlot/Tests/ServiceTest.php b/eZ/Publish/Core/SignalSlot/Tests/ServiceTest.php index 48e123cb802..0ea9f209802 100644 --- a/eZ/Publish/Core/SignalSlot/Tests/ServiceTest.php +++ b/eZ/Publish/Core/SignalSlot/Tests/ServiceTest.php @@ -31,10 +31,10 @@ abstract protected function getServiceMock(); * @param mixed $innerService mock of the inner service used by the signal * slot one used to test whether the original method is called is correctly * called. - * @param eZ\Publish\Core\SignalSlot\SignalDispatcher $dispatcher mock of + * @param \eZ\Publish\Core\SignalSlot\SignalDispatcher $dispatcher mock of * the dispatcher used to test whether the emit method is correctly called * - * @return an instance of the SignalSlot service + * @return object An instance of the SignalSlot service */ abstract protected function getSignalSlotService($innerService, SignalDispatcher $dispatcher);