diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon index 734c359e..abb9b4e0 100644 --- a/phpstan-baseline.neon +++ b/phpstan-baseline.neon @@ -588,18 +588,6 @@ parameters: count: 1 path: src/lib/Gateway/EndpointResolver/NativeEndpointResolver.php - - - message: '#^Method Ibexa\\Solr\\Gateway\\HttpClient\\Stream\:\:getResponseMessage\(\) has parameter \$method with no type specified\.$#' - identifier: missingType.parameter - count: 1 - path: src/lib/Gateway/HttpClient/Stream.php - - - - message: '#^Method Ibexa\\Solr\\Gateway\\HttpClient\\Stream\:\:getResponseMessage\(\) has parameter \$path with no type specified\.$#' - identifier: missingType.parameter - count: 1 - path: src/lib/Gateway/HttpClient/Stream.php - - message: '#^Method Ibexa\\Solr\\Gateway\\Message\:\:__construct\(\) has parameter \$headers with no value type specified in iterable type array\.$#' identifier: missingType.iterableValue @@ -1014,36 +1002,6 @@ parameters: count: 1 path: src/lib/Query/Common/CriterionVisitor/LanguageCodeIn.php - - - message: '#^Cannot call method visit\(\) on Ibexa\\Contracts\\Solr\\Query\\CriterionVisitor\|null\.$#' - identifier: method.nonObject - count: 1 - path: src/lib/Query/Common/CriterionVisitor/LogicalAnd.php - - - - message: '#^Method Ibexa\\Solr\\Query\\Common\\CriterionVisitor\\LogicalAnd\:\:visit\(\) should return string but returns false\.$#' - identifier: return.type - count: 1 - path: src/lib/Query/Common/CriterionVisitor/LogicalAnd.php - - - - message: '#^Cannot call method visit\(\) on Ibexa\\Contracts\\Solr\\Query\\CriterionVisitor\|null\.$#' - identifier: method.nonObject - count: 1 - path: src/lib/Query/Common/CriterionVisitor/LogicalNot.php - - - - message: '#^Cannot call method visit\(\) on Ibexa\\Contracts\\Solr\\Query\\CriterionVisitor\|null\.$#' - identifier: method.nonObject - count: 1 - path: src/lib/Query/Common/CriterionVisitor/LogicalOr.php - - - - message: '#^Method Ibexa\\Solr\\Query\\Common\\CriterionVisitor\\LogicalOr\:\:visit\(\) should return string but returns false\.$#' - identifier: return.type - count: 1 - path: src/lib/Query/Common/CriterionVisitor/LogicalOr.php - - message: '#^Method Ibexa\\Solr\\Query\\Common\\CriterionVisitor\\MapLocation\:\:getSearchFields\(\) return type has no value type specified in iterable type array\.$#' identifier: missingType.iterableValue diff --git a/src/contracts/Query/CriterionVisitor.php b/src/contracts/Query/CriterionVisitor.php index 13341e50..1a414d6b 100644 --- a/src/contracts/Query/CriterionVisitor.php +++ b/src/contracts/Query/CriterionVisitor.php @@ -22,13 +22,9 @@ abstract class CriterionVisitor abstract public function canVisit(Criterion $criterion); /** - * Map field value to a proper Solr representation. - * - * @param CriterionVisitor $subVisitor - * * @return string */ - abstract public function visit(Criterion $criterion, self $subVisitor = null); + abstract public function visit(Criterion $criterion, ?self $subVisitor = null); /** * Get Solr range. diff --git a/src/lib/Gateway/HttpClient.php b/src/lib/Gateway/HttpClient.php index fe4e9568..3280690d 100644 --- a/src/lib/Gateway/HttpClient.php +++ b/src/lib/Gateway/HttpClient.php @@ -11,19 +11,7 @@ */ interface HttpClient { - /** - * Execute a HTTP request to the remote server. - * - * Returns the result from the remote server. - * - * @param string $method - * @param \Ibexa\Solr\Gateway\Endpoint $endpoint - * @param string $path - * @param \Ibexa\Solr\Gateway\Message $message - * - * @return \Ibexa\Solr\Gateway\Message - */ - public function request($method, Endpoint $endpoint, $path, Message $message = null); + public function request(string $method, Endpoint $endpoint, string $path, ?Message $message = null): Message; } class_alias(HttpClient::class, 'EzSystems\EzPlatformSolrSearchEngine\Gateway\HttpClient'); diff --git a/src/lib/Gateway/HttpClient/Stream.php b/src/lib/Gateway/HttpClient/Stream.php index 11b5e0a1..c4373a91 100644 --- a/src/lib/Gateway/HttpClient/Stream.php +++ b/src/lib/Gateway/HttpClient/Stream.php @@ -40,17 +40,7 @@ public function __construct(HttpClientInterface $client, int $timeout = 10) $this->setLogger(new NullLogger()); } - /** - * Execute an HTTP request to the remote server. - * - * Returns the result from the remote server. - * - * @param string $method - * @param string $path - * - * @return \Ibexa\Solr\Gateway\Message - */ - public function request($method, Endpoint $endpoint, $path, Message $message = null): Message + public function request(string $method, Endpoint $endpoint, string $path, ?Message $message = null): Message { $message = $message ?? new Message(); @@ -73,9 +63,9 @@ public function request($method, Endpoint $endpoint, $path, Message $message = n * @throws \Symfony\Contracts\HttpClient\Exception\TransportExceptionInterface */ private function getResponseMessage( - $method, + string $method, Endpoint $endpoint, - $path, + string $path, Message $message ): Message { if ($endpoint->user !== null) { diff --git a/src/lib/Handler.php b/src/lib/Handler.php index e61a4746..ba7edbb3 100644 --- a/src/lib/Handler.php +++ b/src/lib/Handler.php @@ -232,14 +232,11 @@ public function findLocations(LocationQuery $query, array $languageFilter = []) } /** - * Suggests a list of values for the given prefix. - * * @param string $prefix * @param string[] $fieldPaths * @param int $limit - * @param \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion $filter */ - public function suggest($prefix, $fieldPaths = [], $limit = 10, Criterion $filter = null) + public function suggest($prefix, $fieldPaths = [], $limit = 10, ?Criterion $filter = null) { throw new \Exception('@todo: Not implemented yet.'); } diff --git a/src/lib/Query/Common/CriterionVisitor/Aggregate.php b/src/lib/Query/Common/CriterionVisitor/Aggregate.php index 10c53d2b..8e34ab36 100644 --- a/src/lib/Query/Common/CriterionVisitor/Aggregate.php +++ b/src/lib/Query/Common/CriterionVisitor/Aggregate.php @@ -53,15 +53,9 @@ public function canVisit(Criterion $criterion) } /** - * Map field value to a proper Solr representation. - * * @throws \Ibexa\Contracts\Core\Repository\Exceptions\NotImplementedException - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { foreach ($this->visitors as $visitor) { if ($visitor->canVisit($criterion)) { diff --git a/src/lib/Query/Common/CriterionVisitor/BaseIsContainer.php b/src/lib/Query/Common/CriterionVisitor/BaseIsContainer.php index 210033c9..66880498 100644 --- a/src/lib/Query/Common/CriterionVisitor/BaseIsContainer.php +++ b/src/lib/Query/Common/CriterionVisitor/BaseIsContainer.php @@ -24,7 +24,7 @@ public function canVisit(Criterion $criterion): bool return $criterion instanceof Criterion\IsContainer && $criterion->operator === Operator::EQ; } - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $value = $criterion->value; diff --git a/src/lib/Query/Common/CriterionVisitor/ContentIdIn.php b/src/lib/Query/Common/CriterionVisitor/ContentIdIn.php index 9daf4f0f..3d616adb 100644 --- a/src/lib/Query/Common/CriterionVisitor/ContentIdIn.php +++ b/src/lib/Query/Common/CriterionVisitor/ContentIdIn.php @@ -30,14 +30,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Common/CriterionVisitor/ContentTypeGroupIdIn.php b/src/lib/Query/Common/CriterionVisitor/ContentTypeGroupIdIn.php index f4e08297..d67cf6cb 100644 --- a/src/lib/Query/Common/CriterionVisitor/ContentTypeGroupIdIn.php +++ b/src/lib/Query/Common/CriterionVisitor/ContentTypeGroupIdIn.php @@ -30,14 +30,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Common/CriterionVisitor/ContentTypeIdIn.php b/src/lib/Query/Common/CriterionVisitor/ContentTypeIdIn.php index 9cda5bfc..db9969b7 100644 --- a/src/lib/Query/Common/CriterionVisitor/ContentTypeIdIn.php +++ b/src/lib/Query/Common/CriterionVisitor/ContentTypeIdIn.php @@ -30,14 +30,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Common/CriterionVisitor/ContentTypeIdentifierIn.php b/src/lib/Query/Common/CriterionVisitor/ContentTypeIdentifierIn.php index ccf4b805..aa57f73c 100644 --- a/src/lib/Query/Common/CriterionVisitor/ContentTypeIdentifierIn.php +++ b/src/lib/Query/Common/CriterionVisitor/ContentTypeIdentifierIn.php @@ -34,7 +34,7 @@ class ContentTypeIdentifierIn extends CriterionVisitor /** * Create from content type handler and field registry. */ - public function __construct(Handler $contentTypeHandler, LoggerInterface $logger = null) + public function __construct(Handler $contentTypeHandler, ?LoggerInterface $logger = null) { $this->contentTypeHandler = $contentTypeHandler; $this->logger = $logger ?? new NullLogger(); @@ -55,14 +55,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $validIds = []; $invalidIdentifiers = []; diff --git a/src/lib/Query/Common/CriterionVisitor/CustomField/CustomFieldIn.php b/src/lib/Query/Common/CriterionVisitor/CustomField/CustomFieldIn.php index e74b8338..6f1da53a 100644 --- a/src/lib/Query/Common/CriterionVisitor/CustomField/CustomFieldIn.php +++ b/src/lib/Query/Common/CriterionVisitor/CustomField/CustomFieldIn.php @@ -31,14 +31,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $queries = []; $values = (array)$criterion->value; diff --git a/src/lib/Query/Common/CriterionVisitor/CustomField/CustomFieldRange.php b/src/lib/Query/Common/CriterionVisitor/CustomField/CustomFieldRange.php index b695b8a1..f0647def 100644 --- a/src/lib/Query/Common/CriterionVisitor/CustomField/CustomFieldRange.php +++ b/src/lib/Query/Common/CriterionVisitor/CustomField/CustomFieldRange.php @@ -33,14 +33,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $values = (array)$criterion->value; $start = $values[0]; diff --git a/src/lib/Query/Common/CriterionVisitor/DateMetadata/ModifiedBetween.php b/src/lib/Query/Common/CriterionVisitor/DateMetadata/ModifiedBetween.php index 07153fa2..2681bc8e 100644 --- a/src/lib/Query/Common/CriterionVisitor/DateMetadata/ModifiedBetween.php +++ b/src/lib/Query/Common/CriterionVisitor/DateMetadata/ModifiedBetween.php @@ -33,14 +33,7 @@ public function canVisit(Criterion $criterion) $criterion->operator === Operator::BETWEEN); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $start = $this->getSolrTime($criterion->value[0]); $end = isset($criterion->value[1]) ? $this->getSolrTime($criterion->value[1]) : null; diff --git a/src/lib/Query/Common/CriterionVisitor/DateMetadata/ModifiedIn.php b/src/lib/Query/Common/CriterionVisitor/DateMetadata/ModifiedIn.php index fae6af92..0639bcb5 100644 --- a/src/lib/Query/Common/CriterionVisitor/DateMetadata/ModifiedIn.php +++ b/src/lib/Query/Common/CriterionVisitor/DateMetadata/ModifiedIn.php @@ -32,14 +32,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $values = []; foreach ($criterion->value as $value) { diff --git a/src/lib/Query/Common/CriterionVisitor/DateMetadata/PublishedBetween.php b/src/lib/Query/Common/CriterionVisitor/DateMetadata/PublishedBetween.php index 5965982b..6aea5abc 100644 --- a/src/lib/Query/Common/CriterionVisitor/DateMetadata/PublishedBetween.php +++ b/src/lib/Query/Common/CriterionVisitor/DateMetadata/PublishedBetween.php @@ -40,14 +40,7 @@ public function canVisit(Criterion $criterion) ], true); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $start = $this->getSolrTime($criterion->value[0]); $end = isset($criterion->value[1]) ? $this->getSolrTime($criterion->value[1]) : null; diff --git a/src/lib/Query/Common/CriterionVisitor/DateMetadata/PublishedIn.php b/src/lib/Query/Common/CriterionVisitor/DateMetadata/PublishedIn.php index 20952610..ef1681d9 100644 --- a/src/lib/Query/Common/CriterionVisitor/DateMetadata/PublishedIn.php +++ b/src/lib/Query/Common/CriterionVisitor/DateMetadata/PublishedIn.php @@ -36,14 +36,7 @@ public function canVisit(Criterion $criterion) return in_array($operator, [Operator::IN, Operator::EQ], true); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return implode( ' OR ', diff --git a/src/lib/Query/Common/CriterionVisitor/Field.php b/src/lib/Query/Common/CriterionVisitor/Field.php index ae2f6e6c..c8b24614 100644 --- a/src/lib/Query/Common/CriterionVisitor/Field.php +++ b/src/lib/Query/Common/CriterionVisitor/Field.php @@ -52,14 +52,11 @@ protected function getSearchFields(Criterion $criterion) } /** - * Map search field value to solr value using FieldValueMapper. - * * @param mixed $value - * @param \Ibexa\Contracts\Core\Search\FieldType $searchFieldType * * @return mixed */ - protected function mapSearchFieldValue($value, FieldType $searchFieldType = null) + protected function mapSearchFieldValue($value, ?FieldType $searchFieldType = null) { if (null === $searchFieldType) { return $value; diff --git a/src/lib/Query/Common/CriterionVisitor/Field/FieldEmpty.php b/src/lib/Query/Common/CriterionVisitor/Field/FieldEmpty.php index d8ee6032..9f0ec95c 100644 --- a/src/lib/Query/Common/CriterionVisitor/Field/FieldEmpty.php +++ b/src/lib/Query/Common/CriterionVisitor/Field/FieldEmpty.php @@ -47,13 +47,9 @@ public function canVisit(Criterion $criterion): bool } /** - * Map field value to a proper Solr representation. - * * @throws \Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException If no searchable fields are found for the given criterion target. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $searchFields = $this->getSearchFields($criterion); diff --git a/src/lib/Query/Common/CriterionVisitor/Field/FieldIn.php b/src/lib/Query/Common/CriterionVisitor/Field/FieldIn.php index 8cdd9846..3c62ad4e 100644 --- a/src/lib/Query/Common/CriterionVisitor/Field/FieldIn.php +++ b/src/lib/Query/Common/CriterionVisitor/Field/FieldIn.php @@ -34,16 +34,9 @@ public function canVisit(Criterion $criterion) } /** - * Map field value to a proper Solr representation. - * * @throws \Ibexa\Core\Base\Exceptions\InvalidArgumentException If no searchable fields are found for the given criterion target. - * - * @param \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion $criterion - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $searchFields = $this->getSearchFields($criterion); diff --git a/src/lib/Query/Common/CriterionVisitor/Field/FieldLike.php b/src/lib/Query/Common/CriterionVisitor/Field/FieldLike.php index 2003c56c..9a4526c1 100644 --- a/src/lib/Query/Common/CriterionVisitor/Field/FieldLike.php +++ b/src/lib/Query/Common/CriterionVisitor/Field/FieldLike.php @@ -30,16 +30,9 @@ public function canVisit(Criterion $criterion) } /** - * Map field value to a proper Solr representation. - * * @throws \Ibexa\Core\Base\Exceptions\InvalidArgumentException If no searchable fields are found for the given criterion target. - * - * @param \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion $criterion - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $searchFields = $this->getSearchFields($criterion); diff --git a/src/lib/Query/Common/CriterionVisitor/Field/FieldRange.php b/src/lib/Query/Common/CriterionVisitor/Field/FieldRange.php index f939b682..e5e4afde 100644 --- a/src/lib/Query/Common/CriterionVisitor/Field/FieldRange.php +++ b/src/lib/Query/Common/CriterionVisitor/Field/FieldRange.php @@ -36,16 +36,9 @@ public function canVisit(Criterion $criterion) } /** - * Map field value to a proper Solr representation. - * * @throws \Ibexa\Core\Base\Exceptions\InvalidArgumentException If no searchable fields are found for the given criterion target. - * - * @param \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion $criterion - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $searchFields = $this->getSearchFields($criterion); diff --git a/src/lib/Query/Common/CriterionVisitor/Field/FieldRelation.php b/src/lib/Query/Common/CriterionVisitor/Field/FieldRelation.php index a3d33efe..e45a55c6 100644 --- a/src/lib/Query/Common/CriterionVisitor/Field/FieldRelation.php +++ b/src/lib/Query/Common/CriterionVisitor/Field/FieldRelation.php @@ -33,16 +33,9 @@ public function canVisit(Criterion $criterion) } /** - * Map field value to a proper Solr representation. - * * @throws \Ibexa\Core\Base\Exceptions\InvalidArgumentException If no searchable fields are found for the given criterion target. - * - * @param \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion $criterion - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $searchFields = $this->getSearchFields($criterion, $criterion->target); diff --git a/src/lib/Query/Common/CriterionVisitor/IsUserEnabled.php b/src/lib/Query/Common/CriterionVisitor/IsUserEnabled.php index 43b6819e..c6d906b8 100644 --- a/src/lib/Query/Common/CriterionVisitor/IsUserEnabled.php +++ b/src/lib/Query/Common/CriterionVisitor/IsUserEnabled.php @@ -20,7 +20,7 @@ public function canVisit(Criterion $criterion): bool return $criterion instanceof Criterion\IsUserEnabled; } - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $value = $criterion->value; if (!is_array($value) || !is_bool($value[0])) { diff --git a/src/lib/Query/Common/CriterionVisitor/LanguageCodeIn.php b/src/lib/Query/Common/CriterionVisitor/LanguageCodeIn.php index cd0253d0..09a2215f 100644 --- a/src/lib/Query/Common/CriterionVisitor/LanguageCodeIn.php +++ b/src/lib/Query/Common/CriterionVisitor/LanguageCodeIn.php @@ -28,14 +28,7 @@ public function canVisit(Criterion $criterion) $criterion->operator === Operator::EQ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $languageCodeExpressions = array_map( static function ($value) { diff --git a/src/lib/Query/Common/CriterionVisitor/LogicalAnd.php b/src/lib/Query/Common/CriterionVisitor/LogicalAnd.php index aec44179..a4e37cca 100644 --- a/src/lib/Query/Common/CriterionVisitor/LogicalAnd.php +++ b/src/lib/Query/Common/CriterionVisitor/LogicalAnd.php @@ -25,20 +25,17 @@ public function canVisit(Criterion $criterion) return $criterion instanceof Criterion\LogicalAnd; } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { /** @var \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\LogicalAnd $criterion */ if (!isset($criterion->criteria[0])) { throw new RuntimeException('Invalid aggregation in LogicalAnd criterion.'); } + if (null === $subVisitor) { + throw new RuntimeException('Sub visitor is required for LogicalAnd criterion.'); + } + $subCriteria = array_map( static function ($value) use ($subVisitor) { return $subVisitor->visit($value); diff --git a/src/lib/Query/Common/CriterionVisitor/LogicalNot.php b/src/lib/Query/Common/CriterionVisitor/LogicalNot.php index 237eb5e8..8b9f8474 100644 --- a/src/lib/Query/Common/CriterionVisitor/LogicalNot.php +++ b/src/lib/Query/Common/CriterionVisitor/LogicalNot.php @@ -8,6 +8,7 @@ use Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion; use Ibexa\Contracts\Solr\Query\CriterionVisitor; +use RuntimeException; /** * Visits the LogicalNot criterion. @@ -24,18 +25,15 @@ public function canVisit(Criterion $criterion) return $criterion instanceof Criterion\LogicalNot; } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { if (!isset($criterion->criteria[0]) || (\count($criterion->criteria) > 1)) { - throw new \RuntimeException('Invalid aggregation in LogicalNot criterion.'); + throw new RuntimeException('Invalid aggregation in LogicalNot criterion.'); + } + + if (null === $subVisitor) { + throw new RuntimeException('Sub visitor is required for LogicalNot criterion.'); } return '(*:* NOT ' . $subVisitor->visit($criterion->criteria[0]) . ')'; diff --git a/src/lib/Query/Common/CriterionVisitor/LogicalOr.php b/src/lib/Query/Common/CriterionVisitor/LogicalOr.php index 27a8b35a..23fbdbbf 100644 --- a/src/lib/Query/Common/CriterionVisitor/LogicalOr.php +++ b/src/lib/Query/Common/CriterionVisitor/LogicalOr.php @@ -25,20 +25,17 @@ public function canVisit(Criterion $criterion) return $criterion instanceof Criterion\LogicalOr; } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { /** @var \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\LogicalAnd $criterion */ if (!isset($criterion->criteria[0])) { throw new RuntimeException('Invalid aggregation in LogicalOr criterion.'); } + if (null === $subVisitor) { + throw new RuntimeException('Sub visitor is required for LogicalOr criterion.'); + } + $subCriteria = array_map( static function ($value) use ($subVisitor) { return $subVisitor->visit($value); diff --git a/src/lib/Query/Common/CriterionVisitor/MapLocation/MapLocationDistanceIn.php b/src/lib/Query/Common/CriterionVisitor/MapLocation/MapLocationDistanceIn.php index 437b6ba0..4a6046e3 100644 --- a/src/lib/Query/Common/CriterionVisitor/MapLocation/MapLocationDistanceIn.php +++ b/src/lib/Query/Common/CriterionVisitor/MapLocation/MapLocationDistanceIn.php @@ -33,16 +33,9 @@ public function canVisit(Criterion $criterion) } /** - * Map field value to a proper Solr representation. - * * @throws \Ibexa\Core\Base\Exceptions\InvalidArgumentException If no searchable fields are found for the given criterion target. - * - * @param \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion $criterion - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { /** @var \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\Value\MapLocationValue $location */ $location = $criterion->valueData; diff --git a/src/lib/Query/Common/CriterionVisitor/MapLocation/MapLocationDistanceRange.php b/src/lib/Query/Common/CriterionVisitor/MapLocation/MapLocationDistanceRange.php index d7e808e2..eee9ff34 100644 --- a/src/lib/Query/Common/CriterionVisitor/MapLocation/MapLocationDistanceRange.php +++ b/src/lib/Query/Common/CriterionVisitor/MapLocation/MapLocationDistanceRange.php @@ -52,16 +52,9 @@ public function canVisit(Criterion $criterion) } /** - * Map field value to a proper Solr representation. - * * @throws \Ibexa\Contracts\Core\Repository\Exceptions\InvalidArgumentException If no searchable fields are found for the given criterion target. - * - * @param \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion $criterion - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { if (!$this->isSolrInMaxVersion('9.3.0')) { return $this->visitForSolr9($criterion); diff --git a/src/lib/Query/Common/CriterionVisitor/MatchAll.php b/src/lib/Query/Common/CriterionVisitor/MatchAll.php index befeb508..23777533 100644 --- a/src/lib/Query/Common/CriterionVisitor/MatchAll.php +++ b/src/lib/Query/Common/CriterionVisitor/MatchAll.php @@ -24,14 +24,7 @@ public function canVisit(Criterion $criterion) return $criterion instanceof Criterion\MatchAll; } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '*:*'; } diff --git a/src/lib/Query/Common/CriterionVisitor/MatchNone.php b/src/lib/Query/Common/CriterionVisitor/MatchNone.php index 3fa38863..a2be11ec 100644 --- a/src/lib/Query/Common/CriterionVisitor/MatchNone.php +++ b/src/lib/Query/Common/CriterionVisitor/MatchNone.php @@ -24,14 +24,7 @@ public function canVisit(Criterion $criterion) return $criterion instanceof Criterion\MatchNone; } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(NOT *:*)'; } diff --git a/src/lib/Query/Common/CriterionVisitor/ObjectStateIdIn.php b/src/lib/Query/Common/CriterionVisitor/ObjectStateIdIn.php index 02c7e708..c6e293bf 100644 --- a/src/lib/Query/Common/CriterionVisitor/ObjectStateIdIn.php +++ b/src/lib/Query/Common/CriterionVisitor/ObjectStateIdIn.php @@ -30,14 +30,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Common/CriterionVisitor/ObjectStateIdentifierIn.php b/src/lib/Query/Common/CriterionVisitor/ObjectStateIdentifierIn.php index d836f82c..eaa241c3 100644 --- a/src/lib/Query/Common/CriterionVisitor/ObjectStateIdentifierIn.php +++ b/src/lib/Query/Common/CriterionVisitor/ObjectStateIdentifierIn.php @@ -24,7 +24,7 @@ public function canVisit(Criterion $criterion): bool ); } - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $target = $criterion->target ?? '*'; diff --git a/src/lib/Query/Common/CriterionVisitor/RemoteIdIn.php b/src/lib/Query/Common/CriterionVisitor/RemoteIdIn.php index a30f84d3..6632e4fa 100644 --- a/src/lib/Query/Common/CriterionVisitor/RemoteIdIn.php +++ b/src/lib/Query/Common/CriterionVisitor/RemoteIdIn.php @@ -30,14 +30,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Common/CriterionVisitor/SectionIdentifierIn.php b/src/lib/Query/Common/CriterionVisitor/SectionIdentifierIn.php index 1ab2ff00..fcbfeda8 100644 --- a/src/lib/Query/Common/CriterionVisitor/SectionIdentifierIn.php +++ b/src/lib/Query/Common/CriterionVisitor/SectionIdentifierIn.php @@ -24,7 +24,7 @@ public function canVisit(Criterion $criterion): bool ); } - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return sprintf( '(%s)', diff --git a/src/lib/Query/Common/CriterionVisitor/SectionIn.php b/src/lib/Query/Common/CriterionVisitor/SectionIn.php index c65dae72..5764e05a 100644 --- a/src/lib/Query/Common/CriterionVisitor/SectionIn.php +++ b/src/lib/Query/Common/CriterionVisitor/SectionIn.php @@ -30,14 +30,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Common/CriterionVisitor/UserEmailIn.php b/src/lib/Query/Common/CriterionVisitor/UserEmailIn.php index 7cc226c2..3cbe2557 100644 --- a/src/lib/Query/Common/CriterionVisitor/UserEmailIn.php +++ b/src/lib/Query/Common/CriterionVisitor/UserEmailIn.php @@ -24,7 +24,7 @@ public function canVisit(Criterion $criterion): bool return in_array($criterion->operator ?? Operator::IN, [Operator::IN, Operator::EQ], true); } - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return sprintf( '(%s)', diff --git a/src/lib/Query/Common/CriterionVisitor/UserIdIn.php b/src/lib/Query/Common/CriterionVisitor/UserIdIn.php index 34365833..2de80cb6 100644 --- a/src/lib/Query/Common/CriterionVisitor/UserIdIn.php +++ b/src/lib/Query/Common/CriterionVisitor/UserIdIn.php @@ -23,7 +23,7 @@ public function canVisit(Criterion $criterion): bool return in_array($criterion->operator ?? Operator::IN, [Operator::IN, Operator::EQ], true); } - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return sprintf( '(%s)', diff --git a/src/lib/Query/Common/CriterionVisitor/UserLoginIn.php b/src/lib/Query/Common/CriterionVisitor/UserLoginIn.php index 36065a95..4aeaeb12 100644 --- a/src/lib/Query/Common/CriterionVisitor/UserLoginIn.php +++ b/src/lib/Query/Common/CriterionVisitor/UserLoginIn.php @@ -24,7 +24,7 @@ public function canVisit(Criterion $criterion): bool return in_array($criterion->operator ?? Operator::IN, [Operator::IN, Operator::EQ], true); } - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return sprintf( '(%s)', diff --git a/src/lib/Query/Common/CriterionVisitor/UserMetadataIn.php b/src/lib/Query/Common/CriterionVisitor/UserMetadataIn.php index c8d615db..8239aaeb 100644 --- a/src/lib/Query/Common/CriterionVisitor/UserMetadataIn.php +++ b/src/lib/Query/Common/CriterionVisitor/UserMetadataIn.php @@ -30,15 +30,9 @@ public function canVisit(Criterion $criterion) } /** - * Map field value to a proper Solr representation. - * * @throws \Ibexa\Contracts\Core\Repository\Exceptions\NotImplementedException - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { switch ($criterion->target) { case Criterion\UserMetadata::MODIFIER: diff --git a/src/lib/Query/Common/FacetBuilderVisitor/Aggregate.php b/src/lib/Query/Common/FacetBuilderVisitor/Aggregate.php index 4c3f848a..0a70eaf9 100644 --- a/src/lib/Query/Common/FacetBuilderVisitor/Aggregate.php +++ b/src/lib/Query/Common/FacetBuilderVisitor/Aggregate.php @@ -50,7 +50,7 @@ public function addVisitor(FacetBuilderVisitor $visitor) * @deprecated Internal support for nullable $facetBuilder will be removed in 2.0, here now to support facetBuilders * that has not adapted yet. */ - public function mapField($field, array $data, FacetBuilder $facetBuilder = null) + public function mapField($field, array $data, ?FacetBuilder $facetBuilder = null) { foreach ($this->visitors as $visitor) { if ($facetBuilder && $visitor instanceof FacetFieldVisitor && $visitor->canVisit($facetBuilder)) { diff --git a/src/lib/Query/Common/QueryTranslator/Generator/WordVisitor.php b/src/lib/Query/Common/QueryTranslator/Generator/WordVisitor.php index c80cb8b6..8850ead3 100644 --- a/src/lib/Query/Common/QueryTranslator/Generator/WordVisitor.php +++ b/src/lib/Query/Common/QueryTranslator/Generator/WordVisitor.php @@ -15,7 +15,7 @@ */ class WordVisitor extends WordBase { - public function visit(Node $node, Visitor $subVisitor = null, $options = null) + public function visit(Node $node, ?Visitor $subVisitor = null, $options = null) { $word = parent::visit($node, $subVisitor, $options); diff --git a/src/lib/Query/Content/CriterionVisitor/Ancestor.php b/src/lib/Query/Content/CriterionVisitor/Ancestor.php index 09442036..359930dd 100644 --- a/src/lib/Query/Content/CriterionVisitor/Ancestor.php +++ b/src/lib/Query/Content/CriterionVisitor/Ancestor.php @@ -25,14 +25,7 @@ public function canVisit(Criterion $criterion) return $criterion instanceof AncestorCriterion; } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $idSet = []; foreach ($criterion->value as $value) { diff --git a/src/lib/Query/Content/CriterionVisitor/ContentName.php b/src/lib/Query/Content/CriterionVisitor/ContentName.php index 71a94208..0e69a2c0 100644 --- a/src/lib/Query/Content/CriterionVisitor/ContentName.php +++ b/src/lib/Query/Content/CriterionVisitor/ContentName.php @@ -22,7 +22,7 @@ public function canVisit(Criterion $criterion): bool && $criterion->operator === Criterion\Operator::LIKE; } - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { /** @var string $value */ $value = $criterion->value; diff --git a/src/lib/Query/Content/CriterionVisitor/FullText.php b/src/lib/Query/Content/CriterionVisitor/FullText.php index 8a7d4c48..e924ddae 100644 --- a/src/lib/Query/Content/CriterionVisitor/FullText.php +++ b/src/lib/Query/Content/CriterionVisitor/FullText.php @@ -87,14 +87,7 @@ public function canVisit(Criterion $criterion) return $criterion instanceof FullTextCriterion; } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { /** @var \Ibexa\Contracts\Core\Repository\Values\Content\Query\Criterion\FullText $criterion */ $tokenSequence = $this->tokenizer->tokenize($criterion->value); diff --git a/src/lib/Query/Content/CriterionVisitor/LocationIdIn.php b/src/lib/Query/Content/CriterionVisitor/LocationIdIn.php index 0ac9db71..af15e779 100644 --- a/src/lib/Query/Content/CriterionVisitor/LocationIdIn.php +++ b/src/lib/Query/Content/CriterionVisitor/LocationIdIn.php @@ -28,14 +28,7 @@ public function canVisit(Criterion $criterion) $criterion->operator === Operator::EQ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Content/CriterionVisitor/LocationRemoteIdIn.php b/src/lib/Query/Content/CriterionVisitor/LocationRemoteIdIn.php index f5032d31..f5e6ec48 100644 --- a/src/lib/Query/Content/CriterionVisitor/LocationRemoteIdIn.php +++ b/src/lib/Query/Content/CriterionVisitor/LocationRemoteIdIn.php @@ -28,14 +28,7 @@ public function canVisit(Criterion $criterion) $criterion->operator === Operator::EQ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Content/CriterionVisitor/ParentLocationIdIn.php b/src/lib/Query/Content/CriterionVisitor/ParentLocationIdIn.php index bd5ab8a8..c425a9f2 100644 --- a/src/lib/Query/Content/CriterionVisitor/ParentLocationIdIn.php +++ b/src/lib/Query/Content/CriterionVisitor/ParentLocationIdIn.php @@ -28,14 +28,7 @@ public function canVisit(Criterion $criterion) $criterion->operator === Operator::EQ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Content/CriterionVisitor/SubtreeIn.php b/src/lib/Query/Content/CriterionVisitor/SubtreeIn.php index 4e5d8655..11df47c1 100644 --- a/src/lib/Query/Content/CriterionVisitor/SubtreeIn.php +++ b/src/lib/Query/Content/CriterionVisitor/SubtreeIn.php @@ -29,14 +29,7 @@ public function canVisit(Criterion $criterion) $criterion->operator === Operator::EQ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Content/CriterionVisitor/Visibility.php b/src/lib/Query/Content/CriterionVisitor/Visibility.php index de462826..eb1c56c0 100644 --- a/src/lib/Query/Content/CriterionVisitor/Visibility.php +++ b/src/lib/Query/Content/CriterionVisitor/Visibility.php @@ -25,14 +25,7 @@ public function canVisit(Criterion $criterion) return $criterion instanceof Criterion\Visibility && $criterion->operator === Operator::EQ; } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return 'location_visible_b:' . ($criterion->value[0] === Criterion\Visibility::VISIBLE ? 'true' : 'false'); } diff --git a/src/lib/Query/Image/CriterionVisitor/AbstractImageRangeVisitor.php b/src/lib/Query/Image/CriterionVisitor/AbstractImageRangeVisitor.php index 46dca9c3..8405a2e6 100644 --- a/src/lib/Query/Image/CriterionVisitor/AbstractImageRangeVisitor.php +++ b/src/lib/Query/Image/CriterionVisitor/AbstractImageRangeVisitor.php @@ -13,7 +13,7 @@ abstract class AbstractImageRangeVisitor extends AbstractImageVisitor { - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { /** @var array{0: int, 1?: int|null} $criterionValue */ $criterionValue = $criterion->value; diff --git a/src/lib/Query/Image/CriterionVisitor/AbstractImageTermsVisitor.php b/src/lib/Query/Image/CriterionVisitor/AbstractImageTermsVisitor.php index 51167542..26e90b04 100644 --- a/src/lib/Query/Image/CriterionVisitor/AbstractImageTermsVisitor.php +++ b/src/lib/Query/Image/CriterionVisitor/AbstractImageTermsVisitor.php @@ -13,7 +13,7 @@ abstract class AbstractImageTermsVisitor extends AbstractImageVisitor { - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $queries = []; /** @var array|string $criterionValue */ diff --git a/src/lib/Query/Location/CriterionVisitor/Ancestor.php b/src/lib/Query/Location/CriterionVisitor/Ancestor.php index 86f1be4e..52d4dc5f 100644 --- a/src/lib/Query/Location/CriterionVisitor/Ancestor.php +++ b/src/lib/Query/Location/CriterionVisitor/Ancestor.php @@ -25,14 +25,7 @@ public function canVisit(Criterion $criterion) return $criterion instanceof AncestorCriterion; } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $idSet = []; foreach ($criterion->value as $value) { diff --git a/src/lib/Query/Location/CriterionVisitor/FullText.php b/src/lib/Query/Location/CriterionVisitor/FullText.php index db17c2fd..54e238a8 100644 --- a/src/lib/Query/Location/CriterionVisitor/FullText.php +++ b/src/lib/Query/Location/CriterionVisitor/FullText.php @@ -15,14 +15,7 @@ */ class FullText extends ContentFullText { - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $condition = $this->escapeQuote(parent::visit($criterion, $subVisitor)); diff --git a/src/lib/Query/Location/CriterionVisitor/Location/DepthBetween.php b/src/lib/Query/Location/CriterionVisitor/Location/DepthBetween.php index 319ded1e..c2bdf782 100644 --- a/src/lib/Query/Location/CriterionVisitor/Location/DepthBetween.php +++ b/src/lib/Query/Location/CriterionVisitor/Location/DepthBetween.php @@ -33,14 +33,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $start = $criterion->value[0]; $end = isset($criterion->value[1]) ? $criterion->value[1] : null; diff --git a/src/lib/Query/Location/CriterionVisitor/Location/DepthIn.php b/src/lib/Query/Location/CriterionVisitor/Location/DepthIn.php index 0c66c0aa..600b7e1d 100644 --- a/src/lib/Query/Location/CriterionVisitor/Location/DepthIn.php +++ b/src/lib/Query/Location/CriterionVisitor/Location/DepthIn.php @@ -30,14 +30,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $values = []; foreach ($criterion->value as $value) { diff --git a/src/lib/Query/Location/CriterionVisitor/Location/IsBookmarked.php b/src/lib/Query/Location/CriterionVisitor/Location/IsBookmarked.php index fc6b36f8..74484637 100644 --- a/src/lib/Query/Location/CriterionVisitor/Location/IsBookmarked.php +++ b/src/lib/Query/Location/CriterionVisitor/Location/IsBookmarked.php @@ -32,7 +32,7 @@ public function canVisit(Criterion $criterion): bool public function visit( Criterion $criterion, - CriterionVisitor $subVisitor = null + ?CriterionVisitor $subVisitor = null ): string { if (!is_array($criterion->value)) { throw new LogicException(sprintf( diff --git a/src/lib/Query/Location/CriterionVisitor/Location/IsMainLocation.php b/src/lib/Query/Location/CriterionVisitor/Location/IsMainLocation.php index 1dbfa80d..fde69405 100644 --- a/src/lib/Query/Location/CriterionVisitor/Location/IsMainLocation.php +++ b/src/lib/Query/Location/CriterionVisitor/Location/IsMainLocation.php @@ -24,14 +24,7 @@ public function canVisit(Criterion $criterion) return $criterion instanceof Criterion\Location\IsMainLocation; } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return 'is_main_location_b:' . ($criterion->value[0] === Criterion\Location\IsMainLocation::MAIN ? 'true' : 'false'); } diff --git a/src/lib/Query/Location/CriterionVisitor/Location/PriorityBetween.php b/src/lib/Query/Location/CriterionVisitor/Location/PriorityBetween.php index 8552f2c3..bf95f343 100644 --- a/src/lib/Query/Location/CriterionVisitor/Location/PriorityBetween.php +++ b/src/lib/Query/Location/CriterionVisitor/Location/PriorityBetween.php @@ -33,14 +33,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $start = $criterion->value[0]; $end = isset($criterion->value[1]) ? $criterion->value[1] : null; diff --git a/src/lib/Query/Location/CriterionVisitor/Location/PriorityIn.php b/src/lib/Query/Location/CriterionVisitor/Location/PriorityIn.php index 3c0f84ef..a403d6bd 100644 --- a/src/lib/Query/Location/CriterionVisitor/Location/PriorityIn.php +++ b/src/lib/Query/Location/CriterionVisitor/Location/PriorityIn.php @@ -30,14 +30,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { $values = []; foreach ($criterion->value as $value) { diff --git a/src/lib/Query/Location/CriterionVisitor/LocationIdIn.php b/src/lib/Query/Location/CriterionVisitor/LocationIdIn.php index 109fe556..7d430dd8 100644 --- a/src/lib/Query/Location/CriterionVisitor/LocationIdIn.php +++ b/src/lib/Query/Location/CriterionVisitor/LocationIdIn.php @@ -28,14 +28,7 @@ public function canVisit(Criterion $criterion) $criterion->operator === Operator::EQ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Location/CriterionVisitor/LocationRemoteIdIn.php b/src/lib/Query/Location/CriterionVisitor/LocationRemoteIdIn.php index fb301023..837f12c9 100644 --- a/src/lib/Query/Location/CriterionVisitor/LocationRemoteIdIn.php +++ b/src/lib/Query/Location/CriterionVisitor/LocationRemoteIdIn.php @@ -30,14 +30,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Location/CriterionVisitor/ParentLocationIdIn.php b/src/lib/Query/Location/CriterionVisitor/ParentLocationIdIn.php index fad9a793..3d07398a 100644 --- a/src/lib/Query/Location/CriterionVisitor/ParentLocationIdIn.php +++ b/src/lib/Query/Location/CriterionVisitor/ParentLocationIdIn.php @@ -30,14 +30,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Location/CriterionVisitor/SubtreeIn.php b/src/lib/Query/Location/CriterionVisitor/SubtreeIn.php index fa1994a6..ef32f13e 100644 --- a/src/lib/Query/Location/CriterionVisitor/SubtreeIn.php +++ b/src/lib/Query/Location/CriterionVisitor/SubtreeIn.php @@ -30,14 +30,7 @@ public function canVisit(Criterion $criterion) ); } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return '(' . implode( diff --git a/src/lib/Query/Location/CriterionVisitor/Visibility.php b/src/lib/Query/Location/CriterionVisitor/Visibility.php index baef6d64..c2542d8a 100644 --- a/src/lib/Query/Location/CriterionVisitor/Visibility.php +++ b/src/lib/Query/Location/CriterionVisitor/Visibility.php @@ -25,14 +25,7 @@ public function canVisit(Criterion $criterion) return $criterion instanceof Criterion\Visibility && $criterion->operator === Operator::EQ; } - /** - * Map field value to a proper Solr representation. - * - * @param \Ibexa\Contracts\Solr\Query\CriterionVisitor $subVisitor - * - * @return string - */ - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return 'invisible_b:' . ($criterion->value[0] === Criterion\Visibility::HIDDEN ? 'true' : 'false'); } diff --git a/src/lib/ResultExtractor/AggregationResultExtractor/TermAggregationResultExtractor.php b/src/lib/ResultExtractor/AggregationResultExtractor/TermAggregationResultExtractor.php index bbe0546d..d593e5d9 100644 --- a/src/lib/ResultExtractor/AggregationResultExtractor/TermAggregationResultExtractor.php +++ b/src/lib/ResultExtractor/AggregationResultExtractor/TermAggregationResultExtractor.php @@ -25,7 +25,7 @@ final class TermAggregationResultExtractor implements AggregationResultExtractor /** @var string */ private $aggregationClass; - public function __construct(string $aggregationClass, TermAggregationKeyMapper $keyMapper = null) + public function __construct(string $aggregationClass, ?TermAggregationKeyMapper $keyMapper = null) { if ($keyMapper === null) { $keyMapper = new NullAggregationKeyMapper();