@@ -73,22 +73,22 @@ discard block |
||
73 | 73 | * |
74 | 74 | * @return self |
75 | 75 | */ |
76 | - public static function newFromGlobalState( ApiMain $main, $name, $prefix = '' ) { |
|
76 | + public static function newFromGlobalState(ApiMain $main, $name, $prefix = '') { |
|
77 | 77 | $repo = WikibaseRepo::getDefaultInstance(); |
78 | 78 | |
79 | 79 | $language = $repo->getUserLanguage(); |
80 | 80 | $formatterOptions = new FormatterOptions(); |
81 | - $formatterOptions->setOption( SnakFormatter::OPT_LANG, $language->getCode() ); |
|
81 | + $formatterOptions->setOption(SnakFormatter::OPT_LANG, $language->getCode()); |
|
82 | 82 | $valueFormatterFactory = $repo->getValueFormatterFactory(); |
83 | - $valueFormatter = $valueFormatterFactory->getValueFormatter( SnakFormatter::FORMAT_HTML, $formatterOptions ); |
|
83 | + $valueFormatter = $valueFormatterFactory->getValueFormatter(SnakFormatter::FORMAT_HTML, $formatterOptions); |
|
84 | 84 | |
85 | 85 | $languageFallbackLabelDescriptionLookupFactory = $repo->getLanguageFallbackLabelDescriptionLookupFactory(); |
86 | - $labelDescriptionLookup = $languageFallbackLabelDescriptionLookupFactory->newLabelDescriptionLookup( $language ); |
|
86 | + $labelDescriptionLookup = $languageFallbackLabelDescriptionLookupFactory->newLabelDescriptionLookup($language); |
|
87 | 87 | $entityIdHtmlLinkFormatterFactory = $repo->getEntityIdHtmlLinkFormatterFactory(); |
88 | - $entityIdHtmlLinkFormatter = $entityIdHtmlLinkFormatterFactory->getEntityIdFormatter( $labelDescriptionLookup ); |
|
88 | + $entityIdHtmlLinkFormatter = $entityIdHtmlLinkFormatterFactory->getEntityIdFormatter($labelDescriptionLookup); |
|
89 | 89 | $entityIdLabelFormatterFactory = new EntityIdLabelFormatterFactory(); |
90 | - $entityIdLabelFormatter = $entityIdLabelFormatterFactory->getEntityIdFormatter( $labelDescriptionLookup ); |
|
91 | - $constraintParameterRenderer = new ConstraintParameterRenderer( $entityIdHtmlLinkFormatter, $valueFormatter ); |
|
90 | + $entityIdLabelFormatter = $entityIdLabelFormatterFactory->getEntityIdFormatter($labelDescriptionLookup); |
|
91 | + $constraintParameterRenderer = new ConstraintParameterRenderer($entityIdHtmlLinkFormatter, $valueFormatter); |
|
92 | 92 | $config = MediaWikiServices::getInstance()->getMainConfig(); |
93 | 93 | $titleParser = MediaWikiServices::getInstance()->getTitleParser(); |
94 | 94 | $unitConverter = $repo->getUnitConverter(); |
@@ -118,7 +118,7 @@ discard block |
||
118 | 118 | $constraintParameterRenderer, |
119 | 119 | $config |
120 | 120 | ); |
121 | - if ( $config->get( 'WBQualityConstraintsCacheCheckConstraintsResults' ) ) { |
|
121 | + if ($config->get('WBQualityConstraintsCacheCheckConstraintsResults')) { |
|
122 | 122 | $wikiPageEntityMetaDataAccessor = new WikiPageEntityMetaDataLookup( |
123 | 123 | $repo->getEntityNamespaceLookup() |
124 | 124 | ); |
@@ -129,12 +129,12 @@ discard block |
||
129 | 129 | ResultsCache::getDefaultInstance(), |
130 | 130 | $wikiPageEntityMetaDataAccessor, |
131 | 131 | $entityIdParser, |
132 | - $config->get( 'WBQualityConstraintsCacheCheckConstraintsTTLSeconds' ), |
|
132 | + $config->get('WBQualityConstraintsCacheCheckConstraintsTTLSeconds'), |
|
133 | 133 | [ |
134 | - $config->get( 'WBQualityConstraintsCommonsLinkConstraintId' ), |
|
135 | - $config->get( 'WBQualityConstraintsTypeConstraintId' ), |
|
136 | - $config->get( 'WBQualityConstraintsValueTypeConstraintId' ), |
|
137 | - $config->get( 'WBQualityConstraintsDistinctValuesConstraintId' ), |
|
134 | + $config->get('WBQualityConstraintsCommonsLinkConstraintId'), |
|
135 | + $config->get('WBQualityConstraintsTypeConstraintId'), |
|
136 | + $config->get('WBQualityConstraintsValueTypeConstraintId'), |
|
137 | + $config->get('WBQualityConstraintsDistinctValuesConstraintId'), |
|
138 | 138 | ], |
139 | 139 | $dataFactory |
140 | 140 | ); |
@@ -146,7 +146,7 @@ discard block |
||
146 | 146 | $prefix, |
147 | 147 | $repo->getEntityIdParser(), |
148 | 148 | $repo->getStatementGuidValidator(), |
149 | - $repo->getApiHelperFactory( RequestContext::getMain() ), |
|
149 | + $repo->getApiHelperFactory(RequestContext::getMain()), |
|
150 | 150 | $resultsBuilder, |
151 | 151 | $dataFactory |
152 | 152 | ); |
@@ -172,11 +172,11 @@ discard block |
||
172 | 172 | ResultsBuilder $resultsBuilder, |
173 | 173 | IBufferingStatsdDataFactory $dataFactory |
174 | 174 | ) { |
175 | - parent::__construct( $main, $name, $prefix ); |
|
175 | + parent::__construct($main, $name, $prefix); |
|
176 | 176 | $this->entityIdParser = $entityIdParser; |
177 | 177 | $this->statementGuidValidator = $statementGuidValidator; |
178 | - $this->resultBuilder = $apiHelperFactory->getResultBuilder( $this ); |
|
179 | - $this->errorReporter = $apiHelperFactory->getErrorReporter( $this ); |
|
178 | + $this->resultBuilder = $apiHelperFactory->getResultBuilder($this); |
|
179 | + $this->errorReporter = $apiHelperFactory->getErrorReporter($this); |
|
180 | 180 | $this->resultsBuilder = $resultsBuilder; |
181 | 181 | $this->dataFactory = $dataFactory; |
182 | 182 | } |
@@ -191,9 +191,9 @@ discard block |
||
191 | 191 | |
192 | 192 | $params = $this->extractRequestParams(); |
193 | 193 | |
194 | - $this->validateParameters( $params ); |
|
195 | - $entityIds = $this->parseEntityIds( $params ); |
|
196 | - $claimIds = $this->parseClaimIds( $params ); |
|
194 | + $this->validateParameters($params); |
|
195 | + $entityIds = $this->parseEntityIds($params); |
|
196 | + $claimIds = $this->parseClaimIds($params); |
|
197 | 197 | $constraintIDs = $params[self::PARAM_CONSTRAINT_ID]; |
198 | 198 | |
199 | 199 | $this->getResult()->addValue( |
@@ -205,64 +205,64 @@ discard block |
||
205 | 205 | )->getArray() |
206 | 206 | ); |
207 | 207 | // ensure that result contains the given entity IDs even if they have no statements |
208 | - foreach ( $entityIds as $entityId ) { |
|
208 | + foreach ($entityIds as $entityId) { |
|
209 | 209 | $this->getResult()->addArrayType( |
210 | - [ $this->getModuleName(), $entityId->getSerialization() ], |
|
210 | + [$this->getModuleName(), $entityId->getSerialization()], |
|
211 | 211 | 'assoc' |
212 | 212 | ); |
213 | 213 | } |
214 | - $this->resultBuilder->markSuccess( 1 ); |
|
214 | + $this->resultBuilder->markSuccess(1); |
|
215 | 215 | } |
216 | 216 | |
217 | - private function parseEntityIds( array $params ) { |
|
217 | + private function parseEntityIds(array $params) { |
|
218 | 218 | $ids = $params[self::PARAM_ID]; |
219 | 219 | |
220 | - if ( $ids === null ) { |
|
220 | + if ($ids === null) { |
|
221 | 221 | return []; |
222 | - } elseif ( $ids === [] ) { |
|
222 | + } elseif ($ids === []) { |
|
223 | 223 | $this->errorReporter->dieError( |
224 | - 'If ' . self::PARAM_ID . ' is specified, it must be nonempty.', 'no-data' ); |
|
224 | + 'If '.self::PARAM_ID.' is specified, it must be nonempty.', 'no-data' ); |
|
225 | 225 | } |
226 | 226 | |
227 | - return array_map( function ( $id ) { |
|
227 | + return array_map(function($id) { |
|
228 | 228 | try { |
229 | - return $this->entityIdParser->parse( $id ); |
|
230 | - } catch ( EntityIdParsingException $e ) { |
|
229 | + return $this->entityIdParser->parse($id); |
|
230 | + } catch (EntityIdParsingException $e) { |
|
231 | 231 | $this->errorReporter->dieError( |
232 | - "Invalid id: $id", 'invalid-entity-id', 0, [ self::PARAM_ID => $id ] ); |
|
232 | + "Invalid id: $id", 'invalid-entity-id', 0, [self::PARAM_ID => $id] ); |
|
233 | 233 | } |
234 | - }, $ids ); |
|
234 | + }, $ids); |
|
235 | 235 | } |
236 | 236 | |
237 | - private function parseClaimIds( array $params ) { |
|
237 | + private function parseClaimIds(array $params) { |
|
238 | 238 | $ids = $params[self::PARAM_CLAIM_ID]; |
239 | 239 | |
240 | - if ( $ids === null ) { |
|
240 | + if ($ids === null) { |
|
241 | 241 | return []; |
242 | - } elseif ( $ids === [] ) { |
|
242 | + } elseif ($ids === []) { |
|
243 | 243 | $this->errorReporter->dieError( |
244 | - 'If ' . self::PARAM_CLAIM_ID . ' is specified, it must be nonempty.', 'no-data' ); |
|
244 | + 'If '.self::PARAM_CLAIM_ID.' is specified, it must be nonempty.', 'no-data' ); |
|
245 | 245 | } |
246 | 246 | |
247 | - foreach ( $ids as $id ) { |
|
248 | - if ( !$this->statementGuidValidator->validate( $id ) ) { |
|
247 | + foreach ($ids as $id) { |
|
248 | + if (!$this->statementGuidValidator->validate($id)) { |
|
249 | 249 | $this->errorReporter->dieError( |
250 | - "Invalid claim id: $id", 'invalid-guid', 0, [ self::PARAM_CLAIM_ID => $id ] ); |
|
250 | + "Invalid claim id: $id", 'invalid-guid', 0, [self::PARAM_CLAIM_ID => $id] ); |
|
251 | 251 | } |
252 | 252 | } |
253 | 253 | |
254 | 254 | return $ids; |
255 | 255 | } |
256 | 256 | |
257 | - private function validateParameters( array $params ) { |
|
258 | - if ( $params[self::PARAM_CONSTRAINT_ID] !== null |
|
259 | - && empty( $params[self::PARAM_CONSTRAINT_ID] ) |
|
257 | + private function validateParameters(array $params) { |
|
258 | + if ($params[self::PARAM_CONSTRAINT_ID] !== null |
|
259 | + && empty($params[self::PARAM_CONSTRAINT_ID]) |
|
260 | 260 | ) { |
261 | 261 | $paramConstraintId = self::PARAM_CONSTRAINT_ID; |
262 | 262 | $this->errorReporter->dieError( |
263 | 263 | "If $paramConstraintId is specified, it must be nonempty.", 'no-data' ); |
264 | 264 | } |
265 | - if ( $params[self::PARAM_ID] === null && $params[self::PARAM_CLAIM_ID] === null ) { |
|
265 | + if ($params[self::PARAM_ID] === null && $params[self::PARAM_CLAIM_ID] === null) { |
|
266 | 266 | $paramId = self::PARAM_ID; |
267 | 267 | $paramClaimId = self::PARAM_CLAIM_ID; |
268 | 268 | $this->errorReporter->dieError( |
@@ -116,11 +116,11 @@ discard block |
||
116 | 116 | ) { |
117 | 117 | $results = []; |
118 | 118 | $metadatas = []; |
119 | - if ( $this->canUseStoredResults( $entityIds, $claimIds, $constraintIds ) ) { |
|
119 | + if ($this->canUseStoredResults($entityIds, $claimIds, $constraintIds)) { |
|
120 | 120 | $storedEntityIds = []; |
121 | - foreach ( $entityIds as $entityId ) { |
|
122 | - $storedResults = $this->getStoredResults( $entityId ); |
|
123 | - if ( $storedResults !== null ) { |
|
121 | + foreach ($entityIds as $entityId) { |
|
122 | + $storedResults = $this->getStoredResults($entityId); |
|
123 | + if ($storedResults !== null) { |
|
124 | 124 | $this->dataFactory->increment( |
125 | 125 | 'wikibase.quality.constraints.cache.entity.hit' |
126 | 126 | ); |
@@ -129,20 +129,20 @@ discard block |
||
129 | 129 | $storedEntityIds[] = $entityId; |
130 | 130 | } |
131 | 131 | } |
132 | - $entityIds = array_values( array_diff( $entityIds, $storedEntityIds ) ); |
|
132 | + $entityIds = array_values(array_diff($entityIds, $storedEntityIds)); |
|
133 | 133 | } |
134 | - if ( $entityIds !== [] || $claimIds !== [] ) { |
|
134 | + if ($entityIds !== [] || $claimIds !== []) { |
|
135 | 135 | $this->dataFactory->updateCount( |
136 | 136 | 'wikibase.quality.constraints.cache.entity.miss', |
137 | - count( $entityIds ) |
|
137 | + count($entityIds) |
|
138 | 138 | ); |
139 | - $response = $this->getAndStoreResults( $entityIds, $claimIds, $constraintIds ); |
|
139 | + $response = $this->getAndStoreResults($entityIds, $claimIds, $constraintIds); |
|
140 | 140 | $results += $response->getArray(); |
141 | 141 | $metadatas[] = $response->getMetadata(); |
142 | 142 | } |
143 | 143 | return new CachedCheckConstraintsResponse( |
144 | 144 | $results, |
145 | - Metadata::merge( $metadatas ) |
|
145 | + Metadata::merge($metadatas) |
|
146 | 146 | ); |
147 | 147 | } |
148 | 148 | |
@@ -175,17 +175,17 @@ discard block |
||
175 | 175 | array $claimIds, |
176 | 176 | array $constraintIds = null |
177 | 177 | ) { |
178 | - $results = $this->resultsBuilder->getResults( $entityIds, $claimIds, $constraintIds ); |
|
178 | + $results = $this->resultsBuilder->getResults($entityIds, $claimIds, $constraintIds); |
|
179 | 179 | |
180 | - if ( $this->canStoreResults( $entityIds, $claimIds, $constraintIds ) ) { |
|
181 | - foreach ( $entityIds as $entityId ) { |
|
180 | + if ($this->canStoreResults($entityIds, $claimIds, $constraintIds)) { |
|
181 | + foreach ($entityIds as $entityId) { |
|
182 | 182 | $value = [ |
183 | 183 | 'results' => $results->getArray()[$entityId->getSerialization()], |
184 | 184 | 'latestRevisionIds' => $this->getLatestRevisionIds( |
185 | 185 | $results->getMetadata()->getDependencyMetadata()->getEntityIds() |
186 | 186 | ), |
187 | 187 | ]; |
188 | - $this->cache->set( $entityId, $value, $this->ttlInSeconds ); |
|
188 | + $this->cache->set($entityId, $value, $this->ttlInSeconds); |
|
189 | 189 | } |
190 | 190 | } |
191 | 191 | |
@@ -218,45 +218,44 @@ discard block |
||
218 | 218 | public function getStoredResults( |
219 | 219 | EntityId $entityId |
220 | 220 | ) { |
221 | - $value = $this->cache->get( $entityId, $curTTL, [], $asOf ); |
|
222 | - $now = call_user_func( $this->microtime, true ); |
|
221 | + $value = $this->cache->get($entityId, $curTTL, [], $asOf); |
|
222 | + $now = call_user_func($this->microtime, true); |
|
223 | 223 | |
224 | - if ( $value === false ) { |
|
224 | + if ($value === false) { |
|
225 | 225 | return null; |
226 | 226 | } |
227 | 227 | |
228 | - $ageInSeconds = (int)ceil( $now - $asOf ); |
|
228 | + $ageInSeconds = (int) ceil($now - $asOf); |
|
229 | 229 | |
230 | 230 | $dependedEntityIds = array_map( |
231 | - [ $this->entityIdParser, "parse" ], |
|
232 | - array_keys( $value['latestRevisionIds'] ) |
|
231 | + [$this->entityIdParser, "parse"], |
|
232 | + array_keys($value['latestRevisionIds']) |
|
233 | 233 | ); |
234 | 234 | |
235 | - if ( $value['latestRevisionIds'] !== $this->getLatestRevisionIds( $dependedEntityIds ) ) { |
|
235 | + if ($value['latestRevisionIds'] !== $this->getLatestRevisionIds($dependedEntityIds)) { |
|
236 | 236 | return null; |
237 | 237 | } |
238 | 238 | |
239 | 239 | $cachingMetadata = $ageInSeconds > 0 ? |
240 | - CachingMetadata::ofMaximumAgeInSeconds( $ageInSeconds ) : |
|
241 | - CachingMetadata::fresh(); |
|
240 | + CachingMetadata::ofMaximumAgeInSeconds($ageInSeconds) : CachingMetadata::fresh(); |
|
242 | 241 | |
243 | - if ( is_array( $value['results'] ) ) { |
|
244 | - array_walk( $value['results'], [ $this, 'updateCachingMetadata' ], $cachingMetadata ); |
|
242 | + if (is_array($value['results'])) { |
|
243 | + array_walk($value['results'], [$this, 'updateCachingMetadata'], $cachingMetadata); |
|
245 | 244 | } |
246 | 245 | |
247 | 246 | return new CachedCheckConstraintsResponse( |
248 | - [ $entityId->getSerialization() => $value['results'] ], |
|
247 | + [$entityId->getSerialization() => $value['results']], |
|
249 | 248 | array_reduce( |
250 | 249 | $dependedEntityIds, |
251 | - function( Metadata $metadata, EntityId $entityId ) { |
|
252 | - return Metadata::merge( [ |
|
250 | + function(Metadata $metadata, EntityId $entityId) { |
|
251 | + return Metadata::merge([ |
|
253 | 252 | $metadata, |
254 | 253 | Metadata::ofDependencyMetadata( |
255 | - DependencyMetadata::ofEntityId( $entityId ) |
|
254 | + DependencyMetadata::ofEntityId($entityId) |
|
256 | 255 | ) |
257 | - ] ); |
|
256 | + ]); |
|
258 | 257 | }, |
259 | - Metadata::ofCachingMetadata( $cachingMetadata ) |
|
258 | + Metadata::ofCachingMetadata($cachingMetadata) |
|
260 | 259 | ) |
261 | 260 | ); |
262 | 261 | } |
@@ -265,39 +264,39 @@ discard block |
||
265 | 264 | * @param EntityId[] $entityIds |
266 | 265 | * @return int[] |
267 | 266 | */ |
268 | - private function getLatestRevisionIds( array $entityIds ) { |
|
267 | + private function getLatestRevisionIds(array $entityIds) { |
|
269 | 268 | $revisionInformations = $this->wikiPageEntityMetaDataAccessor->loadRevisionInformation( |
270 | 269 | $entityIds, |
271 | 270 | EntityRevisionLookup::LATEST_FROM_REPLICA |
272 | 271 | ); |
273 | 272 | $latestRevisionIds = []; |
274 | - foreach ( $revisionInformations as $serialization => $revisionInformation ) { |
|
273 | + foreach ($revisionInformations as $serialization => $revisionInformation) { |
|
275 | 274 | $latestRevisionIds[$serialization] = $revisionInformation->page_latest; |
276 | 275 | } |
277 | 276 | return $latestRevisionIds; |
278 | 277 | } |
279 | 278 | |
280 | - public function updateCachingMetadata( &$element, $key, CachingMetadata $cachingMetadata ) { |
|
281 | - if ( $key === 'cached' ) { |
|
282 | - $element = CachingMetadata::merge( [ |
|
279 | + public function updateCachingMetadata(&$element, $key, CachingMetadata $cachingMetadata) { |
|
280 | + if ($key === 'cached') { |
|
281 | + $element = CachingMetadata::merge([ |
|
283 | 282 | $cachingMetadata, |
284 | - CachingMetadata::ofArray( $element ), |
|
285 | - ] )->toArray(); |
|
283 | + CachingMetadata::ofArray($element), |
|
284 | + ])->toArray(); |
|
286 | 285 | } |
287 | 286 | if ( |
288 | - is_array( $element ) && |
|
289 | - array_key_exists( 'constraint', $element ) && |
|
290 | - in_array( $element['constraint']['type'], $this->possiblyStaleConstraintTypes, true ) |
|
287 | + is_array($element) && |
|
288 | + array_key_exists('constraint', $element) && |
|
289 | + in_array($element['constraint']['type'], $this->possiblyStaleConstraintTypes, true) |
|
291 | 290 | ) { |
292 | - $element['cached'] = CachingMetadata::merge( [ |
|
291 | + $element['cached'] = CachingMetadata::merge([ |
|
293 | 292 | $cachingMetadata, |
294 | 293 | CachingMetadata::ofArray( |
295 | - array_key_exists( 'cached', $element ) ? $element['cached'] : null |
|
294 | + array_key_exists('cached', $element) ? $element['cached'] : null |
|
296 | 295 | ), |
297 | - ] )->toArray(); |
|
296 | + ])->toArray(); |
|
298 | 297 | } |
299 | - if ( is_array( $element ) ) { |
|
300 | - array_walk( $element, [ $this, __FUNCTION__ ], $cachingMetadata ); |
|
298 | + if (is_array($element)) { |
|
299 | + array_walk($element, [$this, __FUNCTION__], $cachingMetadata); |
|
301 | 300 | } |
302 | 301 | } |
303 | 302 | |
@@ -306,7 +305,7 @@ discard block |
||
306 | 305 | * |
307 | 306 | * @param callable $microtime |
308 | 307 | */ |
309 | - public function setMicrotimeFunction( callable $microtime ) { |
|
308 | + public function setMicrotimeFunction(callable $microtime) { |
|
310 | 309 | $this->microtime = $microtime; |
311 | 310 | } |
312 | 311 |