|
@@ -30,53 +30,53 @@ discard block |
|
|
block discarded – undo |
|
30
|
30
|
use WikibaseQuality\ConstraintReport\ConstraintCheck\Result\CheckResultSerializer; |
|
31
|
31
|
|
|
32
|
32
|
return [ |
|
33
|
|
- ConstraintsServices::EXPIRY_LOCK => static function ( MediaWikiServices $services ): ExpiryLock { |
|
34
|
|
- return new ExpiryLock( $services->getObjectCacheFactory()->getInstance( CACHE_ANYTHING ) ); |
|
|
33
|
+ ConstraintsServices::EXPIRY_LOCK => static function(MediaWikiServices $services): ExpiryLock { |
|
|
34
|
+ return new ExpiryLock($services->getObjectCacheFactory()->getInstance(CACHE_ANYTHING)); |
|
35
|
35
|
}, |
|
36
|
36
|
|
|
37
|
|
- ConstraintsServices::LOGGING_HELPER => static function ( MediaWikiServices $services ): LoggingHelper { |
|
|
37
|
+ ConstraintsServices::LOGGING_HELPER => static function(MediaWikiServices $services): LoggingHelper { |
|
38
|
38
|
return new LoggingHelper( |
|
39
|
39
|
$services->getStatsdDataFactory(), |
|
40
|
|
- LoggerFactory::getInstance( 'WikibaseQualityConstraints' ), |
|
|
40
|
+ LoggerFactory::getInstance('WikibaseQualityConstraints'), |
|
41
|
41
|
$services->getMainConfig() |
|
42
|
42
|
); |
|
43
|
43
|
}, |
|
44
|
44
|
|
|
45
|
|
- ConstraintsServices::CONSTRAINT_STORE => static function ( MediaWikiServices $services ): ConstraintRepositoryStore { |
|
46
|
|
- $sourceDefinitions = WikibaseRepo::getEntitySourceDefinitions( $services ); |
|
47
|
|
- $propertySource = $sourceDefinitions->getDatabaseSourceForEntityType( Property::ENTITY_TYPE ); |
|
48
|
|
- if ( $propertySource === null ) { |
|
49
|
|
- throw new RuntimeException( 'Can\'t get a ConstraintStore for properties not stored in a database.' ); |
|
|
45
|
+ ConstraintsServices::CONSTRAINT_STORE => static function(MediaWikiServices $services): ConstraintRepositoryStore { |
|
|
46
|
+ $sourceDefinitions = WikibaseRepo::getEntitySourceDefinitions($services); |
|
|
47
|
+ $propertySource = $sourceDefinitions->getDatabaseSourceForEntityType(Property::ENTITY_TYPE); |
|
|
48
|
+ if ($propertySource === null) { |
|
|
49
|
+ throw new RuntimeException('Can\'t get a ConstraintStore for properties not stored in a database.'); |
|
50
|
50
|
} |
|
51
|
51
|
|
|
52
|
|
- $localEntitySourceName = WikibaseRepo::getLocalEntitySource( $services )->getSourceName(); |
|
53
|
|
- if ( $propertySource->getSourceName() !== $localEntitySourceName ) { |
|
54
|
|
- throw new RuntimeException( 'Can\'t get a ConstraintStore for a non local entity source.' ); |
|
|
52
|
+ $localEntitySourceName = WikibaseRepo::getLocalEntitySource($services)->getSourceName(); |
|
|
53
|
+ if ($propertySource->getSourceName() !== $localEntitySourceName) { |
|
|
54
|
+ throw new RuntimeException('Can\'t get a ConstraintStore for a non local entity source.'); |
|
55
|
55
|
} |
|
56
|
56
|
|
|
57
|
57
|
$dbName = $propertySource->getDatabaseName(); |
|
58
|
58
|
return new ConstraintRepositoryStore( |
|
59
|
|
- $services->getDBLoadBalancerFactory()->getMainLB( $dbName ), |
|
|
59
|
+ $services->getDBLoadBalancerFactory()->getMainLB($dbName), |
|
60
|
60
|
$dbName |
|
61
|
61
|
); |
|
62
|
62
|
}, |
|
63
|
63
|
|
|
64
|
|
- ConstraintsServices::CONSTRAINT_LOOKUP => static function ( MediaWikiServices $services ): ConstraintLookup { |
|
65
|
|
- $sourceDefinitions = WikibaseRepo::getEntitySourceDefinitions( $services ); |
|
66
|
|
- $propertySource = $sourceDefinitions->getDatabaseSourceForEntityType( Property::ENTITY_TYPE ); |
|
67
|
|
- if ( $propertySource === null ) { |
|
68
|
|
- throw new RuntimeException( 'Can\'t get a ConstraintStore for properties not stored in a database.' ); |
|
|
64
|
+ ConstraintsServices::CONSTRAINT_LOOKUP => static function(MediaWikiServices $services): ConstraintLookup { |
|
|
65
|
+ $sourceDefinitions = WikibaseRepo::getEntitySourceDefinitions($services); |
|
|
66
|
+ $propertySource = $sourceDefinitions->getDatabaseSourceForEntityType(Property::ENTITY_TYPE); |
|
|
67
|
+ if ($propertySource === null) { |
|
|
68
|
+ throw new RuntimeException('Can\'t get a ConstraintStore for properties not stored in a database.'); |
|
69
|
69
|
} |
|
70
|
70
|
|
|
71
|
71
|
$dbName = $propertySource->getDatabaseName(); |
|
72
|
72
|
$rawLookup = new ConstraintRepositoryLookup( |
|
73
|
|
- $services->getDBLoadBalancerFactory()->getMainLB( $dbName ), |
|
|
73
|
+ $services->getDBLoadBalancerFactory()->getMainLB($dbName), |
|
74
|
74
|
$dbName |
|
75
|
75
|
); |
|
76
|
|
- return new CachingConstraintLookup( $rawLookup ); |
|
|
76
|
+ return new CachingConstraintLookup($rawLookup); |
|
77
|
77
|
}, |
|
78
|
78
|
|
|
79
|
|
- ConstraintsServices::CHECK_RESULT_SERIALIZER => static function ( MediaWikiServices $services ): CheckResultSerializer { |
|
|
79
|
+ ConstraintsServices::CHECK_RESULT_SERIALIZER => static function(MediaWikiServices $services): CheckResultSerializer { |
|
80
|
80
|
return new CheckResultSerializer( |
|
81
|
81
|
new ConstraintSerializer( |
|
82
|
82
|
false // constraint parameters are not exposed |
|
@@ -87,9 +87,9 @@ discard block |
|
|
block discarded – undo |
|
87
|
87
|
); |
|
88
|
88
|
}, |
|
89
|
89
|
|
|
90
|
|
- ConstraintsServices::CHECK_RESULT_DESERIALIZER => static function ( MediaWikiServices $services ): CheckResultDeserializer { |
|
91
|
|
- $entityIdParser = WikibaseRepo::getEntityIdParser( $services ); |
|
92
|
|
- $dataValueFactory = WikibaseRepo::getDataValueFactory( $services ); |
|
|
90
|
+ ConstraintsServices::CHECK_RESULT_DESERIALIZER => static function(MediaWikiServices $services): CheckResultDeserializer { |
|
|
91
|
+ $entityIdParser = WikibaseRepo::getEntityIdParser($services); |
|
|
92
|
+ $dataValueFactory = WikibaseRepo::getDataValueFactory($services); |
|
93
|
93
|
|
|
94
|
94
|
return new CheckResultDeserializer( |
|
95
|
95
|
new ConstraintDeserializer(), |
|
@@ -102,17 +102,17 @@ discard block |
|
|
block discarded – undo |
|
102
|
102
|
); |
|
103
|
103
|
}, |
|
104
|
104
|
|
|
105
|
|
- ConstraintsServices::VIOLATION_MESSAGE_SERIALIZER => static function ( |
|
|
105
|
+ ConstraintsServices::VIOLATION_MESSAGE_SERIALIZER => static function( |
|
106
|
106
|
MediaWikiServices $services |
|
107
|
107
|
): ViolationMessageSerializer { |
|
108
|
108
|
return new ViolationMessageSerializer(); |
|
109
|
109
|
}, |
|
110
|
110
|
|
|
111
|
|
- ConstraintsServices::VIOLATION_MESSAGE_DESERIALIZER => static function ( |
|
|
111
|
+ ConstraintsServices::VIOLATION_MESSAGE_DESERIALIZER => static function( |
|
112
|
112
|
MediaWikiServices $services |
|
113
|
113
|
): ViolationMessageDeserializer { |
|
114
|
|
- $entityIdParser = WikibaseRepo::getEntityIdParser( $services ); |
|
115
|
|
- $dataValueFactory = WikibaseRepo::getDataValueFactory( $services ); |
|
|
114
|
+ $entityIdParser = WikibaseRepo::getEntityIdParser($services); |
|
|
115
|
+ $dataValueFactory = WikibaseRepo::getDataValueFactory($services); |
|
116
|
116
|
|
|
117
|
117
|
return new ViolationMessageDeserializer( |
|
118
|
118
|
$entityIdParser, |
|
@@ -120,39 +120,39 @@ discard block |
|
|
block discarded – undo |
|
120
|
120
|
); |
|
121
|
121
|
}, |
|
122
|
122
|
|
|
123
|
|
- ConstraintsServices::CONSTRAINT_PARAMETER_PARSER => static function ( |
|
|
123
|
+ ConstraintsServices::CONSTRAINT_PARAMETER_PARSER => static function( |
|
124
|
124
|
MediaWikiServices $services |
|
125
|
125
|
): ConstraintParameterParser { |
|
126
|
|
- $deserializerFactory = WikibaseRepo::getBaseDataModelDeserializerFactory( $services ); |
|
127
|
|
- $entitySourceDefinitions = WikibaseRepo::getEntitySourceDefinitions( $services ); |
|
|
126
|
+ $deserializerFactory = WikibaseRepo::getBaseDataModelDeserializerFactory($services); |
|
|
127
|
+ $entitySourceDefinitions = WikibaseRepo::getEntitySourceDefinitions($services); |
|
128
|
128
|
|
|
129
|
129
|
return new ConstraintParameterParser( |
|
130
|
130
|
$services->getMainConfig(), |
|
131
|
131
|
$deserializerFactory, |
|
132
|
|
- $entitySourceDefinitions->getDatabaseSourceForEntityType( 'item' )->getConceptBaseUri() |
|
|
132
|
+ $entitySourceDefinitions->getDatabaseSourceForEntityType('item')->getConceptBaseUri() |
|
133
|
133
|
); |
|
134
|
134
|
}, |
|
135
|
135
|
|
|
136
|
|
- ConstraintsServices::CONNECTION_CHECKER_HELPER => static function ( MediaWikiServices $services ): ConnectionCheckerHelper { |
|
|
136
|
+ ConstraintsServices::CONNECTION_CHECKER_HELPER => static function(MediaWikiServices $services): ConnectionCheckerHelper { |
|
137
|
137
|
return new ConnectionCheckerHelper(); |
|
138
|
138
|
}, |
|
139
|
139
|
|
|
140
|
|
- ConstraintsServices::RANGE_CHECKER_HELPER => static function ( MediaWikiServices $services ): RangeCheckerHelper { |
|
|
140
|
+ ConstraintsServices::RANGE_CHECKER_HELPER => static function(MediaWikiServices $services): RangeCheckerHelper { |
|
141
|
141
|
return new RangeCheckerHelper( |
|
142
|
142
|
$services->getMainConfig(), |
|
143
|
|
- WikibaseRepo::getUnitConverter( $services ) |
|
|
143
|
+ WikibaseRepo::getUnitConverter($services) |
|
144
|
144
|
); |
|
145
|
145
|
}, |
|
146
|
146
|
|
|
147
|
|
- ConstraintsServices::SPARQL_HELPER => static function ( MediaWikiServices $services ): SparqlHelper { |
|
148
|
|
- $endpoint = $services->getMainConfig()->get( 'WBQualityConstraintsSparqlEndpoint' ); |
|
149
|
|
- if ( $endpoint === '' ) { |
|
|
147
|
+ ConstraintsServices::SPARQL_HELPER => static function(MediaWikiServices $services): SparqlHelper { |
|
|
148
|
+ $endpoint = $services->getMainConfig()->get('WBQualityConstraintsSparqlEndpoint'); |
|
|
149
|
+ if ($endpoint === '') { |
|
150
|
150
|
return new DummySparqlHelper(); |
|
151
|
151
|
} |
|
152
|
152
|
|
|
153
|
|
- $rdfVocabulary = WikibaseRepo::getRdfVocabulary( $services ); |
|
154
|
|
- $entityIdParser = WikibaseRepo::getEntityIdParser( $services ); |
|
155
|
|
- $propertyDataTypeLookup = WikibaseRepo::getPropertyDataTypeLookup( $services ); |
|
|
153
|
+ $rdfVocabulary = WikibaseRepo::getRdfVocabulary($services); |
|
|
154
|
+ $entityIdParser = WikibaseRepo::getEntityIdParser($services); |
|
|
155
|
+ $propertyDataTypeLookup = WikibaseRepo::getPropertyDataTypeLookup($services); |
|
156
|
156
|
|
|
157
|
157
|
return new SparqlHelper( |
|
158
|
158
|
$services->getMainConfig(), |
|
@@ -160,128 +160,128 @@ discard block |
|
|
block discarded – undo |
|
160
|
160
|
$entityIdParser, |
|
161
|
161
|
$propertyDataTypeLookup, |
|
162
|
162
|
$services->getMainWANObjectCache(), |
|
163
|
|
- ConstraintsServices::getViolationMessageSerializer( $services ), |
|
164
|
|
- ConstraintsServices::getViolationMessageDeserializer( $services ), |
|
|
163
|
+ ConstraintsServices::getViolationMessageSerializer($services), |
|
|
164
|
+ ConstraintsServices::getViolationMessageDeserializer($services), |
|
165
|
165
|
$services->getStatsdDataFactory(), |
|
166
|
|
- ConstraintsServices::getExpiryLock( $services ), |
|
167
|
|
- ConstraintsServices::getLoggingHelper( $services ), |
|
168
|
|
- WikiMap::getCurrentWikiId() . ' WikibaseQualityConstraints ' . $services->getHttpRequestFactory()->getUserAgent(), |
|
|
166
|
+ ConstraintsServices::getExpiryLock($services), |
|
|
167
|
+ ConstraintsServices::getLoggingHelper($services), |
|
|
168
|
+ WikiMap::getCurrentWikiId().' WikibaseQualityConstraints '.$services->getHttpRequestFactory()->getUserAgent(), |
|
169
|
169
|
$services->getHttpRequestFactory() |
|
170
|
170
|
); |
|
171
|
171
|
}, |
|
172
|
172
|
|
|
173
|
|
- ConstraintsServices::TYPE_CHECKER_HELPER => static function ( MediaWikiServices $services ): TypeCheckerHelper { |
|
|
173
|
+ ConstraintsServices::TYPE_CHECKER_HELPER => static function(MediaWikiServices $services): TypeCheckerHelper { |
|
174
|
174
|
return new TypeCheckerHelper( |
|
175
|
|
- WikibaseServices::getEntityLookup( $services ), |
|
|
175
|
+ WikibaseServices::getEntityLookup($services), |
|
176
|
176
|
$services->getMainConfig(), |
|
177
|
|
- ConstraintsServices::getSparqlHelper( $services ), |
|
178
|
|
- $services->getStatsFactory()->withComponent( 'WikibaseQualityConstraints' ) |
|
|
177
|
+ ConstraintsServices::getSparqlHelper($services), |
|
|
178
|
+ $services->getStatsFactory()->withComponent('WikibaseQualityConstraints') |
|
179
|
179
|
); |
|
180
|
180
|
}, |
|
181
|
181
|
|
|
182
|
|
- ConstraintsServices::DELEGATING_CONSTRAINT_CHECKER => static function ( |
|
|
182
|
+ ConstraintsServices::DELEGATING_CONSTRAINT_CHECKER => static function( |
|
183
|
183
|
MediaWikiServices $services |
|
184
|
184
|
): DelegatingConstraintChecker { |
|
185
|
|
- $statementGuidParser = WikibaseRepo::getStatementGuidParser( $services ); |
|
|
185
|
+ $statementGuidParser = WikibaseRepo::getStatementGuidParser($services); |
|
186
|
186
|
|
|
187
|
187
|
$config = $services->getMainConfig(); |
|
188
|
188
|
$checkerMap = [ |
|
189
|
|
- $config->get( 'WBQualityConstraintsConflictsWithConstraintId' ) |
|
190
|
|
- => ConstraintCheckerServices::getConflictsWithChecker( $services ), |
|
191
|
|
- $config->get( 'WBQualityConstraintsItemRequiresClaimConstraintId' ) |
|
192
|
|
- => ConstraintCheckerServices::getItemChecker( $services ), |
|
193
|
|
- $config->get( 'WBQualityConstraintsValueRequiresClaimConstraintId' ) |
|
194
|
|
- => ConstraintCheckerServices::getTargetRequiredClaimChecker( $services ), |
|
195
|
|
- $config->get( 'WBQualityConstraintsSymmetricConstraintId' ) |
|
196
|
|
- => ConstraintCheckerServices::getSymmetricChecker( $services ), |
|
197
|
|
- $config->get( 'WBQualityConstraintsInverseConstraintId' ) |
|
198
|
|
- => ConstraintCheckerServices::getInverseChecker( $services ), |
|
199
|
|
- $config->get( 'WBQualityConstraintsUsedAsQualifierConstraintId' ) |
|
200
|
|
- => ConstraintCheckerServices::getQualifierChecker( $services ), |
|
201
|
|
- $config->get( 'WBQualityConstraintsAllowedQualifiersConstraintId' ) |
|
202
|
|
- => ConstraintCheckerServices::getQualifiersChecker( $services ), |
|
203
|
|
- $config->get( 'WBQualityConstraintsMandatoryQualifierConstraintId' ) |
|
204
|
|
- => ConstraintCheckerServices::getMandatoryQualifiersChecker( $services ), |
|
205
|
|
- $config->get( 'WBQualityConstraintsRangeConstraintId' ) |
|
206
|
|
- => ConstraintCheckerServices::getRangeChecker( $services ), |
|
207
|
|
- $config->get( 'WBQualityConstraintsDifferenceWithinRangeConstraintId' ) |
|
208
|
|
- => ConstraintCheckerServices::getDiffWithinRangeChecker( $services ), |
|
209
|
|
- $config->get( 'WBQualityConstraintsTypeConstraintId' ) |
|
210
|
|
- => ConstraintCheckerServices::getTypeChecker( $services ), |
|
211
|
|
- $config->get( 'WBQualityConstraintsValueTypeConstraintId' ) |
|
212
|
|
- => ConstraintCheckerServices::getValueTypeChecker( $services ), |
|
213
|
|
- $config->get( 'WBQualityConstraintsSingleValueConstraintId' ) |
|
214
|
|
- => ConstraintCheckerServices::getSingleValueChecker( $services ), |
|
215
|
|
- $config->get( 'WBQualityConstraintsMultiValueConstraintId' ) |
|
216
|
|
- => ConstraintCheckerServices::getMultiValueChecker( $services ), |
|
217
|
|
- $config->get( 'WBQualityConstraintsDistinctValuesConstraintId' ) |
|
218
|
|
- => ConstraintCheckerServices::getUniqueValueChecker( $services ), |
|
219
|
|
- $config->get( 'WBQualityConstraintsFormatConstraintId' ) |
|
220
|
|
- => ConstraintCheckerServices::getFormatChecker( $services ), |
|
221
|
|
- $config->get( 'WBQualityConstraintsCommonsLinkConstraintId' ) |
|
222
|
|
- => ConstraintCheckerServices::getCommonsLinkChecker( $services ), |
|
223
|
|
- $config->get( 'WBQualityConstraintsOneOfConstraintId' ) |
|
224
|
|
- => ConstraintCheckerServices::getOneOfChecker( $services ), |
|
225
|
|
- $config->get( 'WBQualityConstraintsUsedForValuesOnlyConstraintId' ) |
|
226
|
|
- => ConstraintCheckerServices::getValueOnlyChecker( $services ), |
|
227
|
|
- $config->get( 'WBQualityConstraintsUsedAsReferenceConstraintId' ) |
|
228
|
|
- => ConstraintCheckerServices::getReferenceChecker( $services ), |
|
229
|
|
- $config->get( 'WBQualityConstraintsNoBoundsConstraintId' ) |
|
230
|
|
- => ConstraintCheckerServices::getNoBoundsChecker( $services ), |
|
231
|
|
- $config->get( 'WBQualityConstraintsAllowedUnitsConstraintId' ) |
|
232
|
|
- => ConstraintCheckerServices::getAllowedUnitsChecker( $services ), |
|
233
|
|
- $config->get( 'WBQualityConstraintsSingleBestValueConstraintId' ) |
|
234
|
|
- => ConstraintCheckerServices::getSingleBestValueChecker( $services ), |
|
235
|
|
- $config->get( 'WBQualityConstraintsAllowedEntityTypesConstraintId' ) |
|
236
|
|
- => ConstraintCheckerServices::getEntityTypeChecker( $services ), |
|
237
|
|
- $config->get( 'WBQualityConstraintsNoneOfConstraintId' ) |
|
238
|
|
- => ConstraintCheckerServices::getNoneOfChecker( $services ), |
|
239
|
|
- $config->get( 'WBQualityConstraintsIntegerConstraintId' ) |
|
240
|
|
- => ConstraintCheckerServices::getIntegerChecker( $services ), |
|
241
|
|
- $config->get( 'WBQualityConstraintsCitationNeededConstraintId' ) |
|
242
|
|
- => ConstraintCheckerServices::getCitationNeededChecker( $services ), |
|
243
|
|
- $config->get( 'WBQualityConstraintsPropertyScopeConstraintId' ) |
|
244
|
|
- => ConstraintCheckerServices::getPropertyScopeChecker( $services ), |
|
245
|
|
- $config->get( 'WBQualityConstraintsContemporaryConstraintId' ) |
|
246
|
|
- => ConstraintCheckerServices::getContemporaryChecker( $services ), |
|
247
|
|
- $config->get( 'WBQualityConstraintsLexemeLanguageConstraintId' ) |
|
248
|
|
- => ConstraintCheckerServices::getLexemeLanguageChecker( $services ), |
|
249
|
|
- $config->get( 'WBQualityConstraintsLabelInLanguageConstraintId' ) |
|
250
|
|
- => ConstraintCheckerServices::getLabelInLanguageChecker( $services ), |
|
|
189
|
+ $config->get('WBQualityConstraintsConflictsWithConstraintId') |
|
|
190
|
+ => ConstraintCheckerServices::getConflictsWithChecker($services), |
|
|
191
|
+ $config->get('WBQualityConstraintsItemRequiresClaimConstraintId') |
|
|
192
|
+ => ConstraintCheckerServices::getItemChecker($services), |
|
|
193
|
+ $config->get('WBQualityConstraintsValueRequiresClaimConstraintId') |
|
|
194
|
+ => ConstraintCheckerServices::getTargetRequiredClaimChecker($services), |
|
|
195
|
+ $config->get('WBQualityConstraintsSymmetricConstraintId') |
|
|
196
|
+ => ConstraintCheckerServices::getSymmetricChecker($services), |
|
|
197
|
+ $config->get('WBQualityConstraintsInverseConstraintId') |
|
|
198
|
+ => ConstraintCheckerServices::getInverseChecker($services), |
|
|
199
|
+ $config->get('WBQualityConstraintsUsedAsQualifierConstraintId') |
|
|
200
|
+ => ConstraintCheckerServices::getQualifierChecker($services), |
|
|
201
|
+ $config->get('WBQualityConstraintsAllowedQualifiersConstraintId') |
|
|
202
|
+ => ConstraintCheckerServices::getQualifiersChecker($services), |
|
|
203
|
+ $config->get('WBQualityConstraintsMandatoryQualifierConstraintId') |
|
|
204
|
+ => ConstraintCheckerServices::getMandatoryQualifiersChecker($services), |
|
|
205
|
+ $config->get('WBQualityConstraintsRangeConstraintId') |
|
|
206
|
+ => ConstraintCheckerServices::getRangeChecker($services), |
|
|
207
|
+ $config->get('WBQualityConstraintsDifferenceWithinRangeConstraintId') |
|
|
208
|
+ => ConstraintCheckerServices::getDiffWithinRangeChecker($services), |
|
|
209
|
+ $config->get('WBQualityConstraintsTypeConstraintId') |
|
|
210
|
+ => ConstraintCheckerServices::getTypeChecker($services), |
|
|
211
|
+ $config->get('WBQualityConstraintsValueTypeConstraintId') |
|
|
212
|
+ => ConstraintCheckerServices::getValueTypeChecker($services), |
|
|
213
|
+ $config->get('WBQualityConstraintsSingleValueConstraintId') |
|
|
214
|
+ => ConstraintCheckerServices::getSingleValueChecker($services), |
|
|
215
|
+ $config->get('WBQualityConstraintsMultiValueConstraintId') |
|
|
216
|
+ => ConstraintCheckerServices::getMultiValueChecker($services), |
|
|
217
|
+ $config->get('WBQualityConstraintsDistinctValuesConstraintId') |
|
|
218
|
+ => ConstraintCheckerServices::getUniqueValueChecker($services), |
|
|
219
|
+ $config->get('WBQualityConstraintsFormatConstraintId') |
|
|
220
|
+ => ConstraintCheckerServices::getFormatChecker($services), |
|
|
221
|
+ $config->get('WBQualityConstraintsCommonsLinkConstraintId') |
|
|
222
|
+ => ConstraintCheckerServices::getCommonsLinkChecker($services), |
|
|
223
|
+ $config->get('WBQualityConstraintsOneOfConstraintId') |
|
|
224
|
+ => ConstraintCheckerServices::getOneOfChecker($services), |
|
|
225
|
+ $config->get('WBQualityConstraintsUsedForValuesOnlyConstraintId') |
|
|
226
|
+ => ConstraintCheckerServices::getValueOnlyChecker($services), |
|
|
227
|
+ $config->get('WBQualityConstraintsUsedAsReferenceConstraintId') |
|
|
228
|
+ => ConstraintCheckerServices::getReferenceChecker($services), |
|
|
229
|
+ $config->get('WBQualityConstraintsNoBoundsConstraintId') |
|
|
230
|
+ => ConstraintCheckerServices::getNoBoundsChecker($services), |
|
|
231
|
+ $config->get('WBQualityConstraintsAllowedUnitsConstraintId') |
|
|
232
|
+ => ConstraintCheckerServices::getAllowedUnitsChecker($services), |
|
|
233
|
+ $config->get('WBQualityConstraintsSingleBestValueConstraintId') |
|
|
234
|
+ => ConstraintCheckerServices::getSingleBestValueChecker($services), |
|
|
235
|
+ $config->get('WBQualityConstraintsAllowedEntityTypesConstraintId') |
|
|
236
|
+ => ConstraintCheckerServices::getEntityTypeChecker($services), |
|
|
237
|
+ $config->get('WBQualityConstraintsNoneOfConstraintId') |
|
|
238
|
+ => ConstraintCheckerServices::getNoneOfChecker($services), |
|
|
239
|
+ $config->get('WBQualityConstraintsIntegerConstraintId') |
|
|
240
|
+ => ConstraintCheckerServices::getIntegerChecker($services), |
|
|
241
|
+ $config->get('WBQualityConstraintsCitationNeededConstraintId') |
|
|
242
|
+ => ConstraintCheckerServices::getCitationNeededChecker($services), |
|
|
243
|
+ $config->get('WBQualityConstraintsPropertyScopeConstraintId') |
|
|
244
|
+ => ConstraintCheckerServices::getPropertyScopeChecker($services), |
|
|
245
|
+ $config->get('WBQualityConstraintsContemporaryConstraintId') |
|
|
246
|
+ => ConstraintCheckerServices::getContemporaryChecker($services), |
|
|
247
|
+ $config->get('WBQualityConstraintsLexemeLanguageConstraintId') |
|
|
248
|
+ => ConstraintCheckerServices::getLexemeLanguageChecker($services), |
|
|
249
|
+ $config->get('WBQualityConstraintsLabelInLanguageConstraintId') |
|
|
250
|
+ => ConstraintCheckerServices::getLabelInLanguageChecker($services), |
|
251
|
251
|
]; |
|
252
|
252
|
|
|
253
|
253
|
return new DelegatingConstraintChecker( |
|
254
|
|
- WikibaseServices::getEntityLookup( $services ), |
|
|
254
|
+ WikibaseServices::getEntityLookup($services), |
|
255
|
255
|
$checkerMap, |
|
256
|
|
- ConstraintsServices::getConstraintLookup( $services ), |
|
257
|
|
- ConstraintsServices::getConstraintParameterParser( $services ), |
|
|
256
|
+ ConstraintsServices::getConstraintLookup($services), |
|
|
257
|
+ ConstraintsServices::getConstraintParameterParser($services), |
|
258
|
258
|
$statementGuidParser, |
|
259
|
|
- ConstraintsServices::getLoggingHelper( $services ), |
|
260
|
|
- $config->get( 'WBQualityConstraintsCheckQualifiers' ), |
|
261
|
|
- $config->get( 'WBQualityConstraintsCheckReferences' ), |
|
262
|
|
- $config->get( 'WBQualityConstraintsPropertiesWithViolatingQualifiers' ) |
|
|
259
|
+ ConstraintsServices::getLoggingHelper($services), |
|
|
260
|
+ $config->get('WBQualityConstraintsCheckQualifiers'), |
|
|
261
|
+ $config->get('WBQualityConstraintsCheckReferences'), |
|
|
262
|
+ $config->get('WBQualityConstraintsPropertiesWithViolatingQualifiers') |
|
263
|
263
|
); |
|
264
|
264
|
}, |
|
265
|
265
|
|
|
266
|
|
- ConstraintsServices::RESULTS_SOURCE => static function ( MediaWikiServices $services ): ResultsSource { |
|
|
266
|
+ ConstraintsServices::RESULTS_SOURCE => static function(MediaWikiServices $services): ResultsSource { |
|
267
|
267
|
$config = $services->getMainConfig(); |
|
268
|
268
|
$resultsSource = new CheckingResultsSource( |
|
269
|
|
- ConstraintsServices::getDelegatingConstraintChecker( $services ) |
|
|
269
|
+ ConstraintsServices::getDelegatingConstraintChecker($services) |
|
270
|
270
|
); |
|
271
|
271
|
|
|
272
|
272
|
$cacheCheckConstraintsResults = false; |
|
273
|
273
|
|
|
274
|
|
- if ( $config->get( 'WBQualityConstraintsCacheCheckConstraintsResults' ) ) { |
|
|
274
|
+ if ($config->get('WBQualityConstraintsCacheCheckConstraintsResults')) { |
|
275
|
275
|
$cacheCheckConstraintsResults = true; |
|
276
|
276
|
// check that we can use getLocalRepoWikiPageMetaDataAccessor() |
|
277
|
277
|
// TODO we should always be able to cache constraint check results (T244726) |
|
278
|
|
- $entitySources = WikibaseRepo::getEntitySourceDefinitions( $services )->getSources(); |
|
279
|
|
- $localEntitySourceName = WikibaseRepo::getLocalEntitySource( $services )->getSourceName(); |
|
|
278
|
+ $entitySources = WikibaseRepo::getEntitySourceDefinitions($services)->getSources(); |
|
|
279
|
+ $localEntitySourceName = WikibaseRepo::getLocalEntitySource($services)->getSourceName(); |
|
280
|
280
|
|
|
281
|
|
- foreach ( $entitySources as $entitySource ) { |
|
282
|
|
- if ( $entitySource->getSourceName() !== $localEntitySourceName ) { |
|
283
|
|
- LoggerFactory::getInstance( 'WikibaseQualityConstraints' )->warning( |
|
284
|
|
- 'Cannot cache constraint check results for non-local source: ' . |
|
|
281
|
+ foreach ($entitySources as $entitySource) { |
|
|
282
|
+ if ($entitySource->getSourceName() !== $localEntitySourceName) { |
|
|
283
|
+ LoggerFactory::getInstance('WikibaseQualityConstraints')->warning( |
|
|
284
|
+ 'Cannot cache constraint check results for non-local source: '. |
|
285
|
285
|
$entitySource->getSourceName() |
|
286
|
286
|
); |
|
287
|
287
|
$cacheCheckConstraintsResults = false; |
|
@@ -290,42 +290,42 @@ discard block |
|
|
block discarded – undo |
|
290
|
290
|
} |
|
291
|
291
|
} |
|
292
|
292
|
|
|
293
|
|
- if ( $cacheCheckConstraintsResults ) { |
|
|
293
|
+ if ($cacheCheckConstraintsResults) { |
|
294
|
294
|
$possiblyStaleConstraintTypes = [ |
|
295
|
|
- $config->get( 'WBQualityConstraintsCommonsLinkConstraintId' ), |
|
296
|
|
- $config->get( 'WBQualityConstraintsTypeConstraintId' ), |
|
297
|
|
- $config->get( 'WBQualityConstraintsValueTypeConstraintId' ), |
|
298
|
|
- $config->get( 'WBQualityConstraintsDistinctValuesConstraintId' ), |
|
|
295
|
+ $config->get('WBQualityConstraintsCommonsLinkConstraintId'), |
|
|
296
|
+ $config->get('WBQualityConstraintsTypeConstraintId'), |
|
|
297
|
+ $config->get('WBQualityConstraintsValueTypeConstraintId'), |
|
|
298
|
+ $config->get('WBQualityConstraintsDistinctValuesConstraintId'), |
|
299
|
299
|
]; |
|
300
|
|
- $entityIdParser = WikibaseRepo::getEntityIdParser( $services ); |
|
|
300
|
+ $entityIdParser = WikibaseRepo::getEntityIdParser($services); |
|
301
|
301
|
$wikiPageEntityMetaDataAccessor = WikibaseRepo::getLocalRepoWikiPageMetaDataAccessor( |
|
302
|
302
|
$services ); |
|
303
|
303
|
|
|
304
|
304
|
$resultsSource = new CachingResultsSource( |
|
305
|
305
|
$resultsSource, |
|
306
|
306
|
ResultsCache::getDefaultInstance(), |
|
307
|
|
- ConstraintsServices::getCheckResultSerializer( $services ), |
|
308
|
|
- ConstraintsServices::getCheckResultDeserializer( $services ), |
|
|
307
|
+ ConstraintsServices::getCheckResultSerializer($services), |
|
|
308
|
+ ConstraintsServices::getCheckResultDeserializer($services), |
|
309
|
309
|
$wikiPageEntityMetaDataAccessor, |
|
310
|
310
|
$entityIdParser, |
|
311
|
|
- $config->get( 'WBQualityConstraintsCacheCheckConstraintsTTLSeconds' ), |
|
|
311
|
+ $config->get('WBQualityConstraintsCacheCheckConstraintsTTLSeconds'), |
|
312
|
312
|
$possiblyStaleConstraintTypes, |
|
313
|
|
- $config->get( 'WBQualityConstraintsCacheCheckConstraintsMaximumRevisionIds' ), |
|
314
|
|
- ConstraintsServices::getLoggingHelper( $services ) |
|
|
313
|
+ $config->get('WBQualityConstraintsCacheCheckConstraintsMaximumRevisionIds'), |
|
|
314
|
+ ConstraintsServices::getLoggingHelper($services) |
|
315
|
315
|
); |
|
316
|
316
|
} |
|
317
|
317
|
|
|
318
|
318
|
return $resultsSource; |
|
319
|
319
|
}, |
|
320
|
320
|
|
|
321
|
|
- ConstraintsServices::VIOLATION_MESSAGE_RENDERER_FACTORY => static function ( |
|
|
321
|
+ ConstraintsServices::VIOLATION_MESSAGE_RENDERER_FACTORY => static function( |
|
322
|
322
|
MediaWikiServices $services |
|
323
|
323
|
): ViolationMessageRendererFactory { |
|
324
|
324
|
return new ViolationMessageRendererFactory( |
|
325
|
325
|
$services->getMainConfig(), |
|
326
|
326
|
$services->getLanguageNameUtils(), |
|
327
|
|
- WikibaseRepo::getEntityIdHtmlLinkFormatterFactory( $services ), |
|
328
|
|
- WikibaseRepo::getValueFormatterFactory( $services ) |
|
|
327
|
+ WikibaseRepo::getEntityIdHtmlLinkFormatterFactory($services), |
|
|
328
|
+ WikibaseRepo::getValueFormatterFactory($services) |
|
329
|
329
|
); |
|
330
|
330
|
}, |
|
331
|
331
|
]; |