Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
94.74% covered (success)
94.74%
18 / 19
94.12% covered (success)
94.12%
16 / 17
CRAP
0.00% covered (danger)
0.00%
0 / 1
ConstraintsServices
94.74% covered (success)
94.74%
18 / 19
94.12% covered (success)
94.12%
16 / 17
18.05
0.00% covered (danger)
0.00%
0 / 1
 getService
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
1 / 1
2
 getLoggingHelper
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getConstraintStore
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getConstraintLookup
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getCheckResultSerializer
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getCheckResultDeserializer
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getViolationMessageSerializer
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getViolationMessageDeserializer
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getConstraintParameterParser
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getConnectionCheckerHelper
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getRangeCheckerHelper
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getSparqlHelper
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getTypeCheckerHelper
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getDelegatingConstraintChecker
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getResultsSource
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getExpiryLock
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getViolationMessageRendererFactory
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace WikibaseQuality\ConstraintReport;
4
5use MediaWiki\MediaWikiServices;
6use WikibaseQuality\ConstraintReport\Api\ExpiryLock;
7use WikibaseQuality\ConstraintReport\Api\ResultsSource;
8use WikibaseQuality\ConstraintReport\ConstraintCheck\DelegatingConstraintChecker;
9use WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\ConnectionCheckerHelper;
10use WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\ConstraintParameterParser;
11use WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\LoggingHelper;
12use WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\RangeCheckerHelper;
13use WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\SparqlHelper;
14use WikibaseQuality\ConstraintReport\ConstraintCheck\Helper\TypeCheckerHelper;
15use WikibaseQuality\ConstraintReport\ConstraintCheck\Message\ViolationMessageDeserializer;
16use WikibaseQuality\ConstraintReport\ConstraintCheck\Message\ViolationMessageRendererFactory;
17use WikibaseQuality\ConstraintReport\ConstraintCheck\Message\ViolationMessageSerializer;
18use WikibaseQuality\ConstraintReport\ConstraintCheck\Result\CheckResultDeserializer;
19use WikibaseQuality\ConstraintReport\ConstraintCheck\Result\CheckResultSerializer;
20
21/**
22 * @license GPL-2.0-or-later
23 */
24class ConstraintsServices {
25
26    public const LOGGING_HELPER = 'WBQC_LoggingHelper';
27    public const CONSTRAINT_STORE = 'WBQC_ConstraintStore';
28    public const CONSTRAINT_LOOKUP = 'WBQC_ConstraintLookup';
29    public const CHECK_RESULT_SERIALIZER = 'WBQC_CheckResultSerializer';
30    public const CHECK_RESULT_DESERIALIZER = 'WBQC_CheckResultDeserializer';
31    public const VIOLATION_MESSAGE_SERIALIZER = 'WBQC_ViolationMessageSerializer';
32    public const VIOLATION_MESSAGE_DESERIALIZER = 'WBQC_ViolationMessageDeserializer';
33    public const CONSTRAINT_PARAMETER_PARSER = 'WBQC_ConstraintParameterParser';
34    public const CONNECTION_CHECKER_HELPER = 'WBQC_ConnectionCheckerHelper';
35    public const RANGE_CHECKER_HELPER = 'WBQC_RangeCheckerHelper';
36    public const SPARQL_HELPER = 'WBQC_SparqlHelper';
37    public const TYPE_CHECKER_HELPER = 'WBQC_TypeCheckerHelper';
38    public const DELEGATING_CONSTRAINT_CHECKER = 'WBQC_DelegatingConstraintChecker';
39    public const RESULTS_SOURCE = 'WBQC_ResultsSource';
40    public const EXPIRY_LOCK = 'WBQC_ExpiryLock';
41    public const VIOLATION_MESSAGE_RENDERER_FACTORY = 'WBQC_ViolationMessageRendererFactory';
42
43    private static function getService( ?MediaWikiServices $services, $name ) {
44        if ( $services === null ) {
45            $services = MediaWikiServices::getInstance();
46        }
47        return $services->getService( $name );
48    }
49
50    public static function getLoggingHelper( MediaWikiServices $services = null ): LoggingHelper {
51        return self::getService( $services, self::LOGGING_HELPER );
52    }
53
54    public static function getConstraintStore(
55        MediaWikiServices $services = null
56    ): ConstraintStore {
57        return self::getService( $services, self::CONSTRAINT_STORE );
58    }
59
60    public static function getConstraintLookup( MediaWikiServices $services = null ): ConstraintLookup {
61        return self::getService( $services, self::CONSTRAINT_LOOKUP );
62    }
63
64    public static function getCheckResultSerializer(
65        MediaWikiServices $services = null
66    ): CheckResultSerializer {
67        return self::getService( $services, self::CHECK_RESULT_SERIALIZER );
68    }
69
70    public static function getCheckResultDeserializer(
71        MediaWikiServices $services = null
72    ): CheckResultDeserializer {
73        return self::getService( $services, self::CHECK_RESULT_DESERIALIZER );
74    }
75
76    public static function getViolationMessageSerializer(
77        MediaWikiServices $services = null
78    ): ViolationMessageSerializer {
79        return self::getService( $services, self::VIOLATION_MESSAGE_SERIALIZER );
80    }
81
82    public static function getViolationMessageDeserializer(
83        MediaWikiServices $services = null
84    ): ViolationMessageDeserializer {
85        return self::getService( $services, self::VIOLATION_MESSAGE_DESERIALIZER );
86    }
87
88    public static function getConstraintParameterParser(
89        MediaWikiServices $services = null
90    ): ConstraintParameterParser {
91        return self::getService( $services, self::CONSTRAINT_PARAMETER_PARSER );
92    }
93
94    public static function getConnectionCheckerHelper(
95        MediaWikiServices $services = null
96    ): ConnectionCheckerHelper {
97        return self::getService( $services, self::CONNECTION_CHECKER_HELPER );
98    }
99
100    public static function getRangeCheckerHelper( MediaWikiServices $services = null ): RangeCheckerHelper {
101        return self::getService( $services, self::RANGE_CHECKER_HELPER );
102    }
103
104    public static function getSparqlHelper( MediaWikiServices $services = null ): SparqlHelper {
105        return self::getService( $services, self::SPARQL_HELPER );
106    }
107
108    public static function getTypeCheckerHelper( MediaWikiServices $services = null ): TypeCheckerHelper {
109        return self::getService( $services, self::TYPE_CHECKER_HELPER );
110    }
111
112    public static function getDelegatingConstraintChecker(
113        MediaWikiServices $services = null
114    ): DelegatingConstraintChecker {
115        return self::getService( $services, self::DELEGATING_CONSTRAINT_CHECKER );
116    }
117
118    public static function getResultsSource( MediaWikiServices $services = null ): ResultsSource {
119        return self::getService( $services, self::RESULTS_SOURCE );
120    }
121
122    public static function getExpiryLock( MediaWikiServices $services = null ): ExpiryLock {
123        return self::getService( $services, self::EXPIRY_LOCK );
124    }
125
126    public static function getViolationMessageRendererFactory(
127        MediaWikiServices $services = null
128    ): ViolationMessageRendererFactory {
129        return self::getService( $services, self::VIOLATION_MESSAGE_RENDERER_FACTORY );
130    }
131
132}