From 0fa0578a7c78f41e336837ee2703e54ce8e66370 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3js?= Date: Thu, 27 Feb 2020 13:12:27 +0100 Subject: [PATCH 1/4] EZP-31415: Impl. criterion visitor for eZ\Publish\API\Repository\Values\Content\Query\Criterion\AggregateCriterion --- .../CriterionVisitor/AggregateCriterion.php | 25 +++++++++++++++++++ .../container/solr/criterion_visitors.yml | 5 ++++ 2 files changed, 30 insertions(+) create mode 100644 lib/Query/Common/CriterionVisitor/AggregateCriterion.php diff --git a/lib/Query/Common/CriterionVisitor/AggregateCriterion.php b/lib/Query/Common/CriterionVisitor/AggregateCriterion.php new file mode 100644 index 000000000..b15655f80 --- /dev/null +++ b/lib/Query/Common/CriterionVisitor/AggregateCriterion.php @@ -0,0 +1,25 @@ +visit($criterion->criteria, $subVisitor); + } +} diff --git a/lib/Resources/config/container/solr/criterion_visitors.yml b/lib/Resources/config/container/solr/criterion_visitors.yml index e46e39cb7..d3e14d0ac 100644 --- a/lib/Resources/config/container/solr/criterion_visitors.yml +++ b/lib/Resources/config/container/solr/criterion_visitors.yml @@ -355,3 +355,8 @@ services: EzSystems\EzPlatformSolrSearchEngine\Query\Location\CriterionVisitor\Factory\LocationFullTextFactory: parent: EzSystems\EzPlatformSolrSearchEngine\Query\Common\CriterionVisitor\Factory\FullTextFactoryAbstract + + EzSystems\EzPlatformSolrSearchEngine\Query\Common\CriterionVisitor\AggregateCriterion: + tags: + - {name: ezpublish.search.solr.query.content.criterion_visitor} + - {name: ezpublish.search.solr.query.location.criterion_visitor} From ee5d382139083cea9bc213491bd00631ade5b397 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3js?= Date: Thu, 27 Feb 2020 13:54:46 +0100 Subject: [PATCH 2/4] Apply suggestions from code review Co-Authored-By: michal-myszka <34576224+michal-myszka@users.noreply.github.com> --- lib/Query/Common/CriterionVisitor/AggregateCriterion.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/Query/Common/CriterionVisitor/AggregateCriterion.php b/lib/Query/Common/CriterionVisitor/AggregateCriterion.php index b15655f80..5c7ca0146 100644 --- a/lib/Query/Common/CriterionVisitor/AggregateCriterion.php +++ b/lib/Query/Common/CriterionVisitor/AggregateCriterion.php @@ -13,12 +13,12 @@ class AggregateCriterion extends CriterionVisitor { - public function canVisit(Criterion $criterion) + public function canVisit(Criterion $criterion): bool { return $criterion instanceof Criterion\AggregateCriterion; } - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null) + public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string { return $subVisitor->visit($criterion->criteria, $subVisitor); } From cf4c24c2c7851537f0de1616b3c93532aa651298 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3js?= Date: Mon, 9 Mar 2020 15:35:20 +0100 Subject: [PATCH 3/4] Apply suggestions from code review --- .../{AggregateCriterion.php => CompositeCriterion.php} | 4 ++-- lib/Resources/config/container/solr/criterion_visitors.yml | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) rename lib/Query/Common/CriterionVisitor/{AggregateCriterion.php => CompositeCriterion.php} (85%) diff --git a/lib/Query/Common/CriterionVisitor/AggregateCriterion.php b/lib/Query/Common/CriterionVisitor/CompositeCriterion.php similarity index 85% rename from lib/Query/Common/CriterionVisitor/AggregateCriterion.php rename to lib/Query/Common/CriterionVisitor/CompositeCriterion.php index 5c7ca0146..6f216b856 100644 --- a/lib/Query/Common/CriterionVisitor/AggregateCriterion.php +++ b/lib/Query/Common/CriterionVisitor/CompositeCriterion.php @@ -11,11 +11,11 @@ use eZ\Publish\API\Repository\Values\Content\Query\Criterion; use EzSystems\EzPlatformSolrSearchEngine\Query\CriterionVisitor; -class AggregateCriterion extends CriterionVisitor +class CompositeCriterion extends CriterionVisitor { public function canVisit(Criterion $criterion): bool { - return $criterion instanceof Criterion\AggregateCriterion; + return $criterion instanceof Criterion\CompositeCriterion; } public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string diff --git a/lib/Resources/config/container/solr/criterion_visitors.yml b/lib/Resources/config/container/solr/criterion_visitors.yml index d3e14d0ac..e2e15830b 100644 --- a/lib/Resources/config/container/solr/criterion_visitors.yml +++ b/lib/Resources/config/container/solr/criterion_visitors.yml @@ -356,7 +356,7 @@ services: EzSystems\EzPlatformSolrSearchEngine\Query\Location\CriterionVisitor\Factory\LocationFullTextFactory: parent: EzSystems\EzPlatformSolrSearchEngine\Query\Common\CriterionVisitor\Factory\FullTextFactoryAbstract - EzSystems\EzPlatformSolrSearchEngine\Query\Common\CriterionVisitor\AggregateCriterion: + EzSystems\EzPlatformSolrSearchEngine\Query\Common\CriterionVisitor\CompositeCriterion: tags: - {name: ezpublish.search.solr.query.content.criterion_visitor} - {name: ezpublish.search.solr.query.location.criterion_visitor} From 922c82d609cd12e12693e41e7ecbb1ef5c9ea126 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adam=20W=C3=B3js?= Date: Wed, 11 Mar 2020 10:07:13 +0100 Subject: [PATCH 4/4] Update lib/Query/Common/CriterionVisitor/CompositeCriterion.php Co-Authored-By: Andrew Longosz --- lib/Query/Common/CriterionVisitor/CompositeCriterion.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/Query/Common/CriterionVisitor/CompositeCriterion.php b/lib/Query/Common/CriterionVisitor/CompositeCriterion.php index 6f216b856..f3095a8a0 100644 --- a/lib/Query/Common/CriterionVisitor/CompositeCriterion.php +++ b/lib/Query/Common/CriterionVisitor/CompositeCriterion.php @@ -18,7 +18,7 @@ public function canVisit(Criterion $criterion): bool return $criterion instanceof Criterion\CompositeCriterion; } - public function visit(Criterion $criterion, CriterionVisitor $subVisitor = null): string + public function visit(Criterion $criterion, ?CriterionVisitor $subVisitor = null): string { return $subVisitor->visit($criterion->criteria, $subVisitor); }