1 | <?php |
||
2 | |||
3 | declare(strict_types=1); |
||
4 | |||
5 | /* |
||
6 | * @copyright 2018 Mautic Inc. All rights reserved |
||
7 | * @author Mautic, Inc. |
||
8 | * |
||
9 | * @link https://www.mautic.com |
||
10 | * |
||
11 | * @license GNU/GPLv3 http://www.gnu.org/licenses/gpl-3.0.html |
||
12 | */ |
||
13 | |||
14 | namespace Mautic\IntegrationsBundle\Sync\SyncJudge\Modes; |
||
15 | |||
16 | use Mautic\IntegrationsBundle\Sync\DAO\Sync\InformationChangeRequestDAO; |
||
17 | use Mautic\IntegrationsBundle\Sync\Exception\ConflictUnresolvedException; |
||
18 | |||
19 | class FuzzyEvidence implements JudgementModeInterface |
||
20 | { |
||
21 | /** |
||
22 | * @throws ConflictUnresolvedException |
||
23 | */ |
||
24 | public static function adjudicate( |
||
25 | InformationChangeRequestDAO $leftChangeRequest, |
||
26 | InformationChangeRequestDAO $rightChangeRequest |
||
27 | ): InformationChangeRequestDAO { |
||
28 | try { |
||
29 | return BestEvidence::adjudicate($leftChangeRequest, $rightChangeRequest); |
||
30 | } catch (ConflictUnresolvedException $exception) { |
||
0 ignored issues
–
show
Coding Style
Comprehensibility
introduced
by
Loading history...
|
|||
31 | } |
||
32 | |||
33 | if ( |
||
34 | $leftChangeRequest->getCertainChangeDateTime() && |
||
35 | $rightChangeRequest->getPossibleChangeDateTime() && |
||
36 | $leftChangeRequest->getCertainChangeDateTime() > $rightChangeRequest->getPossibleChangeDateTime() |
||
37 | ) { |
||
38 | return $leftChangeRequest; |
||
39 | } |
||
40 | |||
41 | if ( |
||
42 | $rightChangeRequest->getCertainChangeDateTime() && |
||
43 | $leftChangeRequest->getPossibleChangeDateTime() && |
||
44 | $rightChangeRequest->getCertainChangeDateTime() > $leftChangeRequest->getPossibleChangeDateTime() |
||
45 | ) { |
||
46 | return $rightChangeRequest; |
||
47 | } |
||
48 | |||
49 | throw new ConflictUnresolvedException(); |
||
50 | } |
||
51 | } |
||
52 |