Code Duplication    Length = 24-24 lines in 2 locations

eZ/Publish/Core/Persistence/Legacy/Content/Query/CriterionHandler/LogicalAnd.php 1 location

@@ 14-37 (lines=24) @@
11
use eZ\Publish\Core\Persistence\Legacy\Content\Query\CriterionHandler;
12
use Doctrine\DBAL\Query\QueryBuilder;
13
14
class LogicalAnd implements CriterionHandler
15
{
16
    /**
17
     * {@inheritdoc}
18
     */
19
    public function accept(Criterion $criterion): bool
20
    {
21
        return $criterion instanceof Criterion\LogicalAnd;
22
    }
23
24
    /**
25
     * {@inheritdoc}
26
     */
27
    public function handle(CriteriaConverter $converter, QueryBuilder $query, Criterion $criterion)
28
    {
29
        $subexpressions = [];
30
        /** @var Criterion\LogicalOperator $criterion */
31
        foreach ($criterion->criteria as $subCriterion) {
32
            $subexpressions[] = $converter->convertCriteria($query, $subCriterion);
33
        }
34
35
        return $query->expr()->andX(...$subexpressions);
36
    }
37
}
38

eZ/Publish/Core/Persistence/Legacy/Content/Query/CriterionHandler/LogicalOr.php 1 location

@@ 14-37 (lines=24) @@
11
use eZ\Publish\Core\Persistence\Legacy\Content\Query\CriterionHandler;
12
use Doctrine\DBAL\Query\QueryBuilder;
13
14
class LogicalOr implements CriterionHandler
15
{
16
    /**
17
     * {@inheritdoc}
18
     */
19
    public function accept(Criterion $criterion): bool
20
    {
21
        return $criterion instanceof Criterion\LogicalOr;
22
    }
23
24
    /**
25
     * {@inheritdoc}
26
     */
27
    public function handle(CriteriaConverter $converter, QueryBuilder $query, Criterion $criterion)
28
    {
29
        $subexpressions = [];
30
        /** @var Criterion\LogicalOperator $criterion */
31
        foreach ($criterion->criteria as $subCriterion) {
32
            $subexpressions[] = $converter->convertCriteria($query, $subCriterion);
33
        }
34
35
        return $query->expr()->orX(...$subexpressions);
36
    }
37
}
38