@@ -45,12 +45,12 @@ discard block |
||
45 | 45 | * |
46 | 46 | * @throws InvalidArgumentException |
47 | 47 | */ |
48 | - public function __construct( DataValue $localValue, array $externalValues, $status ) { |
|
49 | - Assert::parameterElementType( DataValue::class, $externalValues, '$externalValues' ); |
|
48 | + public function __construct(DataValue $localValue, array $externalValues, $status) { |
|
49 | + Assert::parameterElementType(DataValue::class, $externalValues, '$externalValues'); |
|
50 | 50 | |
51 | 51 | $this->localValue = $localValue; |
52 | 52 | $this->externalValues = $externalValues; |
53 | - $this->setStatus( $status ); |
|
53 | + $this->setStatus($status); |
|
54 | 54 | } |
55 | 55 | |
56 | 56 | /** |
@@ -79,14 +79,14 @@ discard block |
||
79 | 79 | * |
80 | 80 | * @throws InvalidArgumentException |
81 | 81 | */ |
82 | - private function setStatus( $status ) { |
|
83 | - Assert::parameterType( 'string', $status, '$status' ); |
|
84 | - if ( !in_array( |
|
82 | + private function setStatus($status) { |
|
83 | + Assert::parameterType('string', $status, '$status'); |
|
84 | + if (!in_array( |
|
85 | 85 | $status, |
86 | - array( self::STATUS_MATCH, self::STATUS_PARTIAL_MATCH, self::STATUS_MISMATCH ) |
|
86 | + array(self::STATUS_MATCH, self::STATUS_PARTIAL_MATCH, self::STATUS_MISMATCH) |
|
87 | 87 | ) |
88 | 88 | ) { |
89 | - throw new InvalidArgumentException( '$status must be one of the status constants.' ); |
|
89 | + throw new InvalidArgumentException('$status must be one of the status constants.'); |
|
90 | 90 | } |
91 | 91 | |
92 | 92 | $this->status = $status; |
@@ -32,7 +32,7 @@ discard block |
||
32 | 32 | * @param TermIndex $termIndex |
33 | 33 | * @param StringComparer $stringComparer |
34 | 34 | */ |
35 | - public function __construct( TermIndex $termIndex, StringComparer $stringComparer ) { |
|
35 | + public function __construct(TermIndex $termIndex, StringComparer $stringComparer) { |
|
36 | 36 | $this->termIndex = $termIndex; |
37 | 37 | $this->stringComparer = $stringComparer; |
38 | 38 | } |
@@ -45,9 +45,9 @@ discard block |
||
45 | 45 | * |
46 | 46 | * @return string|null One of the ComparisonResult::STATUS_... constants. |
47 | 47 | */ |
48 | - public function compare( DataValue $value, DataValue $comparativeValue ) { |
|
49 | - Assert::parameterType( EntityIdValue::class, $value, '$value' ); |
|
50 | - Assert::parameterType( MonolingualTextValue::class, $comparativeValue, '$comparativeValue' ); |
|
48 | + public function compare(DataValue $value, DataValue $comparativeValue) { |
|
49 | + Assert::parameterType(EntityIdValue::class, $value, '$value'); |
|
50 | + Assert::parameterType(MonolingualTextValue::class, $comparativeValue, '$comparativeValue'); |
|
51 | 51 | |
52 | 52 | /** |
53 | 53 | * @var EntityIdValue $value |
@@ -56,10 +56,10 @@ discard block |
||
56 | 56 | |
57 | 57 | $entityId = $value->getEntityId(); |
58 | 58 | $language = $comparativeValue->getLanguageCode(); |
59 | - $terms = $this->getTerms( $entityId, $language ); |
|
59 | + $terms = $this->getTerms($entityId, $language); |
|
60 | 60 | |
61 | - if ( $terms ) { |
|
62 | - return $this->stringComparer->compareWithArray( $comparativeValue->getText(), $terms ); |
|
61 | + if ($terms) { |
|
62 | + return $this->stringComparer->compareWithArray($comparativeValue->getText(), $terms); |
|
63 | 63 | } |
64 | 64 | |
65 | 65 | return null; |
@@ -73,18 +73,18 @@ discard block |
||
73 | 73 | * |
74 | 74 | * @return array |
75 | 75 | */ |
76 | - private function getTerms( EntityId $entityId, $language ) { |
|
76 | + private function getTerms(EntityId $entityId, $language) { |
|
77 | 77 | $terms = $this->termIndex->getTermsOfEntity( |
78 | 78 | $entityId, |
79 | 79 | array( |
80 | 80 | TermIndexEntry::TYPE_LABEL, |
81 | 81 | TermIndexEntry::TYPE_ALIAS |
82 | 82 | ), |
83 | - array( $language ) |
|
83 | + array($language) |
|
84 | 84 | ); |
85 | 85 | |
86 | 86 | return array_map( |
87 | - function( TermIndexEntry $term ) { |
|
87 | + function(TermIndexEntry $term) { |
|
88 | 88 | return $term->getText(); |
89 | 89 | }, |
90 | 90 | $terms |
@@ -98,7 +98,7 @@ discard block |
||
98 | 98 | * @param DataValue $comparativeValue |
99 | 99 | * @return bool |
100 | 100 | */ |
101 | - public function canCompare( DataValue $value, DataValue $comparativeValue ) { |
|
101 | + public function canCompare(DataValue $value, DataValue $comparativeValue) { |
|
102 | 102 | return $value instanceof EntityIdValue && $comparativeValue instanceof MonolingualTextValue; |
103 | 103 | } |
104 | 104 |
@@ -95,22 +95,22 @@ discard block |
||
95 | 95 | * @return CrossCheckResultList |
96 | 96 | * @throws InvalidArgumentException |
97 | 97 | */ |
98 | - public function crossCheckStatements( StatementList $entityStatements, StatementList $statements ) { |
|
98 | + public function crossCheckStatements(StatementList $entityStatements, StatementList $statements) { |
|
99 | 99 | $statementsOfEntity = $entityStatements->toArray(); |
100 | 100 | |
101 | - foreach ( $statements as $statement ) { |
|
102 | - if ( !in_array( $statement, $statementsOfEntity ) ) { |
|
103 | - throw new InvalidArgumentException( 'All statements in $statements must belong to the entity.' ); |
|
101 | + foreach ($statements as $statement) { |
|
102 | + if (!in_array($statement, $statementsOfEntity)) { |
|
103 | + throw new InvalidArgumentException('All statements in $statements must belong to the entity.'); |
|
104 | 104 | } |
105 | 105 | } |
106 | 106 | |
107 | 107 | $resultList = new CrossCheckResultList(); |
108 | - if ( $statements->count() > 0 ) { |
|
109 | - $applicableDumps = $this->getApplicableDumps( $entityStatements ); |
|
110 | - foreach ( $applicableDumps as $identifierPropertyId => $dumpMetaInformationList ) { |
|
111 | - $identifierPropertyId = new PropertyId( $identifierPropertyId ); |
|
108 | + if ($statements->count() > 0) { |
|
109 | + $applicableDumps = $this->getApplicableDumps($entityStatements); |
|
110 | + foreach ($applicableDumps as $identifierPropertyId => $dumpMetaInformationList) { |
|
111 | + $identifierPropertyId = new PropertyId($identifierPropertyId); |
|
112 | 112 | |
113 | - if( $this->isIdentifierProperty( $identifierPropertyId ) ) { |
|
113 | + if ($this->isIdentifierProperty($identifierPropertyId)) { |
|
114 | 114 | $resultList->merge( |
115 | 115 | $this->crossCheckStatementsWithIdentifier( |
116 | 116 | $entityStatements, |
@@ -133,17 +133,17 @@ discard block |
||
133 | 133 | * |
134 | 134 | * @return array[] |
135 | 135 | */ |
136 | - private function getApplicableDumps( StatementList $statements ) { |
|
136 | + private function getApplicableDumps(StatementList $statements) { |
|
137 | 137 | $applicableDumps = array(); |
138 | 138 | $identifierPropertyIds = $statements->getPropertyIds(); |
139 | 139 | $dumpMetaInformation = $this->dumpMetaInformationLookup->getWithIdentifierProperties( |
140 | 140 | $identifierPropertyIds |
141 | 141 | ); |
142 | 142 | |
143 | - foreach ( $dumpMetaInformation as $dump ) { |
|
144 | - foreach ( $dump->getIdentifierPropertyIds() as $identifierPropertyId ) { |
|
143 | + foreach ($dumpMetaInformation as $dump) { |
|
144 | + foreach ($dump->getIdentifierPropertyIds() as $identifierPropertyId) { |
|
145 | 145 | $serialization = $identifierPropertyId->getSerialization(); |
146 | - $applicableDumps[ $serialization ][ $dump->getDumpId() ] = $dump; |
|
146 | + $applicableDumps[$serialization][$dump->getDumpId()] = $dump; |
|
147 | 147 | } |
148 | 148 | } |
149 | 149 | |
@@ -168,36 +168,36 @@ discard block |
||
168 | 168 | ) { |
169 | 169 | $resultList = new CrossCheckResultList(); |
170 | 170 | |
171 | - $externalIds = $this->getExternalIds( $entityStatements, $identifierPropertyId ); |
|
172 | - if( !$externalIds ) { |
|
171 | + $externalIds = $this->getExternalIds($entityStatements, $identifierPropertyId); |
|
172 | + if (!$externalIds) { |
|
173 | 173 | return $resultList; |
174 | 174 | } |
175 | 175 | |
176 | 176 | $dumpIds = array_map( |
177 | - function ( DumpMetaInformation $dumpMetaInformation ) { |
|
177 | + function(DumpMetaInformation $dumpMetaInformation) { |
|
178 | 178 | return $dumpMetaInformation->getDumpId(); |
179 | 179 | }, |
180 | 180 | $dumpMetaInformationList |
181 | 181 | ); |
182 | - $externalData = $this->externalDataRepo->getExternalData( $dumpIds, $externalIds, $statements->getPropertyIds() ); |
|
182 | + $externalData = $this->externalDataRepo->getExternalData($dumpIds, $externalIds, $statements->getPropertyIds()); |
|
183 | 183 | |
184 | - foreach ( $externalData as $dumpId => $externalDataPerDump ) { |
|
185 | - $dumpMetaInformation = $dumpMetaInformationList[ $dumpId ]; |
|
184 | + foreach ($externalData as $dumpId => $externalDataPerDump) { |
|
185 | + $dumpMetaInformation = $dumpMetaInformationList[$dumpId]; |
|
186 | 186 | $comparativeValueParser = $this->valueParserFactory->newComparativeValueParser( |
187 | 187 | $dumpMetaInformation->getLanguageCode() |
188 | 188 | ); |
189 | 189 | |
190 | - foreach ( $externalDataPerDump as $externalId => $externalDataPerId ) { |
|
190 | + foreach ($externalDataPerDump as $externalId => $externalDataPerId) { |
|
191 | 191 | $externalId = (string)$externalId; |
192 | - foreach ( $externalDataPerId as $propertyId => $externalValues ) { |
|
193 | - $propertyId = new PropertyId( $propertyId ); |
|
192 | + foreach ($externalDataPerId as $propertyId => $externalValues) { |
|
193 | + $propertyId = new PropertyId($propertyId); |
|
194 | 194 | $resultList->merge( |
195 | 195 | $this->crossCheckExternalValues( |
196 | 196 | $dumpMetaInformation, |
197 | 197 | $identifierPropertyId, |
198 | 198 | $externalId, |
199 | 199 | $externalValues, |
200 | - $statements->getByPropertyId( $propertyId ), |
|
200 | + $statements->getByPropertyId($propertyId), |
|
201 | 201 | $comparativeValueParser |
202 | 202 | ) |
203 | 203 | ); |
@@ -228,10 +228,10 @@ discard block |
||
228 | 228 | ) { |
229 | 229 | $resultList = new CrossCheckResultList(); |
230 | 230 | |
231 | - foreach ( $statements->toArray() as $statement ) { |
|
232 | - $comparisonResult = $this->compareStatement( $statement, $externalValues, $comparativeValueParser ); |
|
231 | + foreach ($statements->toArray() as $statement) { |
|
232 | + $comparisonResult = $this->compareStatement($statement, $externalValues, $comparativeValueParser); |
|
233 | 233 | |
234 | - if ( $comparisonResult ) { |
|
234 | + if ($comparisonResult) { |
|
235 | 235 | $referencesResult = $this->referenceHandler->checkForReferences( |
236 | 236 | $statement, |
237 | 237 | $identifierPropertyId, |
@@ -265,32 +265,32 @@ discard block |
||
265 | 265 | * @return ComparisonResult|bool |
266 | 266 | */ |
267 | 267 | private function compareStatement( |
268 | - Statement $statement,array $externalValues, |
|
268 | + Statement $statement, array $externalValues, |
|
269 | 269 | ComparativeValueParser $comparativeValueParser |
270 | 270 | ) { |
271 | 271 | $mainSnak = $statement->getMainSnak(); |
272 | - if ( $mainSnak instanceof PropertyValueSnak ) { |
|
272 | + if ($mainSnak instanceof PropertyValueSnak) { |
|
273 | 273 | $dataValue = $mainSnak->getDataValue(); |
274 | 274 | |
275 | 275 | $results = array(); |
276 | - $comparativeValues = $this->parseExternalValues( $dataValue, $externalValues, $comparativeValueParser ); |
|
277 | - foreach ( $comparativeValues as $comparativeValue ) { |
|
278 | - $result = $this->dataValueComparer->compare( $dataValue, $comparativeValue ); |
|
279 | - if( $result ) { |
|
276 | + $comparativeValues = $this->parseExternalValues($dataValue, $externalValues, $comparativeValueParser); |
|
277 | + foreach ($comparativeValues as $comparativeValue) { |
|
278 | + $result = $this->dataValueComparer->compare($dataValue, $comparativeValue); |
|
279 | + if ($result) { |
|
280 | 280 | $results[] = $result; |
281 | 281 | } |
282 | 282 | } |
283 | 283 | |
284 | - if( $results ) { |
|
284 | + if ($results) { |
|
285 | 285 | $result = ComparisonResult::STATUS_MISMATCH; |
286 | - if( in_array( ComparisonResult::STATUS_MATCH, $results ) ) { |
|
286 | + if (in_array(ComparisonResult::STATUS_MATCH, $results)) { |
|
287 | 287 | $result = ComparisonResult::STATUS_MATCH; |
288 | 288 | } |
289 | - elseif( in_array( ComparisonResult::STATUS_PARTIAL_MATCH, $results ) ) { |
|
289 | + elseif (in_array(ComparisonResult::STATUS_PARTIAL_MATCH, $results)) { |
|
290 | 290 | $result = ComparisonResult::STATUS_PARTIAL_MATCH; |
291 | 291 | } |
292 | 292 | |
293 | - return new ComparisonResult( $dataValue, $comparativeValues, $result ); |
|
293 | + return new ComparisonResult($dataValue, $comparativeValues, $result); |
|
294 | 294 | } |
295 | 295 | } |
296 | 296 | |
@@ -310,14 +310,14 @@ discard block |
||
310 | 310 | ComparativeValueParser $comparativeValueParser |
311 | 311 | ) { |
312 | 312 | $parsedValues = array(); |
313 | - foreach ( $externalValues as $externalValue ) { |
|
313 | + foreach ($externalValues as $externalValue) { |
|
314 | 314 | try { |
315 | - $parsedValue = $comparativeValueParser->parse( $externalValue, $dataValue->getType() ); |
|
316 | - if( $parsedValue ) { |
|
315 | + $parsedValue = $comparativeValueParser->parse($externalValue, $dataValue->getType()); |
|
316 | + if ($parsedValue) { |
|
317 | 317 | $parsedValues[] = $parsedValue; |
318 | 318 | } |
319 | 319 | } |
320 | - catch( ParseException $e ) {} |
|
320 | + catch (ParseException $e) {} |
|
321 | 321 | } |
322 | 322 | |
323 | 323 | return $parsedValues; |
@@ -331,12 +331,12 @@ discard block |
||
331 | 331 | * |
332 | 332 | * @return string[] |
333 | 333 | */ |
334 | - private function getExternalIds( StatementList $statements, PropertyId $identifierPropertyId ) { |
|
334 | + private function getExternalIds(StatementList $statements, PropertyId $identifierPropertyId) { |
|
335 | 335 | $externalIds = array(); |
336 | - $identifierStatements = $statements->getByPropertyId( $identifierPropertyId ); |
|
337 | - $values = $this->getDataValues( $identifierStatements ); |
|
338 | - foreach ( $values as $value ) { |
|
339 | - if ( $value instanceof StringValue ) { |
|
336 | + $identifierStatements = $statements->getByPropertyId($identifierPropertyId); |
|
337 | + $values = $this->getDataValues($identifierStatements); |
|
338 | + foreach ($values as $value) { |
|
339 | + if ($value instanceof StringValue) { |
|
340 | 340 | $externalIds[] = $value->getValue(); |
341 | 341 | } |
342 | 342 | } |
@@ -348,15 +348,15 @@ discard block |
||
348 | 348 | * @param PropertyId $identifierPropertyId |
349 | 349 | * @return bool |
350 | 350 | */ |
351 | - private function isIdentifierProperty( PropertyId $identifierPropertyId ) { |
|
351 | + private function isIdentifierProperty(PropertyId $identifierPropertyId) { |
|
352 | 352 | /** @var Property $property */ |
353 | - $property = $this->entityLookup->getEntity( $identifierPropertyId ); |
|
354 | - $instanceOfPropertyId = new PropertyId( INSTANCE_OF_PID ); |
|
355 | - $statements = $property->getStatements()->getByPropertyId( $instanceOfPropertyId ); |
|
356 | - $values = $this->getDataValues( $statements ); |
|
357 | - foreach ( $values as $value ) { |
|
358 | - if( $value instanceof EntityIdValue ) { |
|
359 | - if( $value->getEntityId()->getSerialization() === IDENTIFIER_PROPERTY_QID ) { |
|
353 | + $property = $this->entityLookup->getEntity($identifierPropertyId); |
|
354 | + $instanceOfPropertyId = new PropertyId(INSTANCE_OF_PID); |
|
355 | + $statements = $property->getStatements()->getByPropertyId($instanceOfPropertyId); |
|
356 | + $values = $this->getDataValues($statements); |
|
357 | + foreach ($values as $value) { |
|
358 | + if ($value instanceof EntityIdValue) { |
|
359 | + if ($value->getEntityId()->getSerialization() === IDENTIFIER_PROPERTY_QID) { |
|
360 | 360 | return true; |
361 | 361 | } |
362 | 362 | } |
@@ -371,12 +371,12 @@ discard block |
||
371 | 371 | * @param StatementList $statementList |
372 | 372 | * @return DataValue[] |
373 | 373 | */ |
374 | - private function getDataValues( StatementList $statementList ){ |
|
374 | + private function getDataValues(StatementList $statementList) { |
|
375 | 375 | $dataValues = array(); |
376 | 376 | |
377 | - foreach ( $statementList->toArray() as $statement ) { |
|
377 | + foreach ($statementList->toArray() as $statement) { |
|
378 | 378 | $mainSnak = $statement->getMainSnak(); |
379 | - if ( $mainSnak instanceof PropertyValueSnak ) { |
|
379 | + if ($mainSnak instanceof PropertyValueSnak) { |
|
380 | 380 | $dataValues[] = $mainSnak->getDataValue(); |
381 | 381 | } |
382 | 382 | } |
@@ -43,7 +43,7 @@ discard block |
||
43 | 43 | * @param StatementGuidParser $statementGuidParser |
44 | 44 | * @param CrossChecker $crossChecker |
45 | 45 | */ |
46 | - public function __construct( EntityLookup $entityLookup, StatementGuidParser $statementGuidParser, CrossChecker $crossChecker ) { |
|
46 | + public function __construct(EntityLookup $entityLookup, StatementGuidParser $statementGuidParser, CrossChecker $crossChecker) { |
|
47 | 47 | $this->entityLookup = $entityLookup; |
48 | 48 | $this->statementGuidParser = $statementGuidParser; |
49 | 49 | $this->crossChecker = $crossChecker; |
@@ -56,11 +56,11 @@ discard block |
||
56 | 56 | * |
57 | 57 | * @return CrossCheckResultList|null |
58 | 58 | */ |
59 | - public function crossCheckEntityById( EntityId $entityId ) { |
|
60 | - $entity = $this->entityLookup->getEntity( $entityId ); |
|
59 | + public function crossCheckEntityById(EntityId $entityId) { |
|
60 | + $entity = $this->entityLookup->getEntity($entityId); |
|
61 | 61 | |
62 | - if ( $entity instanceof StatementListProvider ) { |
|
63 | - return $this->crossCheckStatements( $entity->getStatements() ); |
|
62 | + if ($entity instanceof StatementListProvider) { |
|
63 | + return $this->crossCheckStatements($entity->getStatements()); |
|
64 | 64 | } |
65 | 65 | |
66 | 66 | return null; |
@@ -73,12 +73,12 @@ discard block |
||
73 | 73 | * |
74 | 74 | * @return CrossCheckResultList[] |
75 | 75 | */ |
76 | - public function crossCheckEntitiesByIds( array $entityIds ) { |
|
77 | - Assert::parameterElementType( EntityId::class, $entityIds, '$entityIds' ); |
|
76 | + public function crossCheckEntitiesByIds(array $entityIds) { |
|
77 | + Assert::parameterElementType(EntityId::class, $entityIds, '$entityIds'); |
|
78 | 78 | |
79 | 79 | $results = array(); |
80 | - foreach ( $entityIds as $entityId ) { |
|
81 | - $results[$entityId->getSerialization()] = $this->crossCheckEntityById( $entityId ); |
|
80 | + foreach ($entityIds as $entityId) { |
|
81 | + $results[$entityId->getSerialization()] = $this->crossCheckEntityById($entityId); |
|
82 | 82 | } |
83 | 83 | |
84 | 84 | return $results; |
@@ -91,8 +91,8 @@ discard block |
||
91 | 91 | * |
92 | 92 | * @return CrossCheckResultList |
93 | 93 | */ |
94 | - public function crossCheckStatements( StatementList $statements ) { |
|
95 | - return $this->crossChecker->crossCheckStatements( $statements, $statements ); |
|
94 | + public function crossCheckStatements(StatementList $statements) { |
|
95 | + return $this->crossChecker->crossCheckStatements($statements, $statements); |
|
96 | 96 | } |
97 | 97 | |
98 | 98 | /** |
@@ -103,14 +103,14 @@ discard block |
||
103 | 103 | * @return CrossCheckResultList[] |
104 | 104 | * @throws InvalidArgumentException |
105 | 105 | */ |
106 | - public function crossCheckEntities( array $entities ) { |
|
107 | - Assert::parameterElementType( EntityDocument::class, $entities, '$entities' ); |
|
106 | + public function crossCheckEntities(array $entities) { |
|
107 | + Assert::parameterElementType(EntityDocument::class, $entities, '$entities'); |
|
108 | 108 | |
109 | 109 | $results = array(); |
110 | - foreach ( $entities as $entity ) { |
|
110 | + foreach ($entities as $entity) { |
|
111 | 111 | $entityId = $entity->getId()->getSerialization(); |
112 | - if ( $entity instanceof StatementListProvider ) { |
|
113 | - $results[$entityId] = $this->crossCheckStatements( $entity->getStatements() ); |
|
112 | + if ($entity instanceof StatementListProvider) { |
|
113 | + $results[$entityId] = $this->crossCheckStatements($entity->getStatements()); |
|
114 | 114 | } |
115 | 115 | } |
116 | 116 | |
@@ -126,13 +126,13 @@ discard block |
||
126 | 126 | * @return CrossCheckResultList|null |
127 | 127 | * @throws InvalidArgumentException |
128 | 128 | */ |
129 | - public function crossCheckEntityByIdWithProperties( EntityId $entityId, array $propertyIds ) { |
|
130 | - Assert::parameterElementType( PropertyId::class, $propertyIds, '$propertyIds' ); |
|
129 | + public function crossCheckEntityByIdWithProperties(EntityId $entityId, array $propertyIds) { |
|
130 | + Assert::parameterElementType(PropertyId::class, $propertyIds, '$propertyIds'); |
|
131 | 131 | |
132 | - $entity = $this->entityLookup->getEntity( $entityId ); |
|
132 | + $entity = $this->entityLookup->getEntity($entityId); |
|
133 | 133 | |
134 | - if ( $entity instanceof StatementListProvider ) { |
|
135 | - return $this->crossCheckStatementsWithProperties( $entity->getStatements(), $propertyIds ); |
|
134 | + if ($entity instanceof StatementListProvider) { |
|
135 | + return $this->crossCheckStatementsWithProperties($entity->getStatements(), $propertyIds); |
|
136 | 136 | } |
137 | 137 | |
138 | 138 | return null; |
@@ -147,13 +147,13 @@ discard block |
||
147 | 147 | * @return CrossCheckResultList[] |
148 | 148 | * @throws InvalidArgumentException |
149 | 149 | */ |
150 | - public function crossCheckEntitiesByIdWithProperties( array $entityIds, array $propertyIds ) { |
|
151 | - Assert::parameterElementType( EntityId::class, $entityIds, '$entityIds' ); |
|
152 | - Assert::parameterElementType( PropertyId::class, $propertyIds, '$propertyIds' ); |
|
150 | + public function crossCheckEntitiesByIdWithProperties(array $entityIds, array $propertyIds) { |
|
151 | + Assert::parameterElementType(EntityId::class, $entityIds, '$entityIds'); |
|
152 | + Assert::parameterElementType(PropertyId::class, $propertyIds, '$propertyIds'); |
|
153 | 153 | |
154 | 154 | $results = array(); |
155 | - foreach ( $entityIds as $entityId ) { |
|
156 | - $results[$entityId->getSerialization()] = $this->crossCheckEntityByIdWithProperties( $entityId, $propertyIds ); |
|
155 | + foreach ($entityIds as $entityId) { |
|
156 | + $results[$entityId->getSerialization()] = $this->crossCheckEntityByIdWithProperties($entityId, $propertyIds); |
|
157 | 157 | } |
158 | 158 | |
159 | 159 | return $results; |
@@ -168,17 +168,17 @@ discard block |
||
168 | 168 | * @return CrossCheckResultList |
169 | 169 | * @throws InvalidArgumentException |
170 | 170 | */ |
171 | - public function crossCheckStatementsWithProperties( StatementList $entityStatements, array $propertyIds ) { |
|
172 | - Assert::parameterElementType( PropertyId::class, $propertyIds, '$propertyIds' ); |
|
171 | + public function crossCheckStatementsWithProperties(StatementList $entityStatements, array $propertyIds) { |
|
172 | + Assert::parameterElementType(PropertyId::class, $propertyIds, '$propertyIds'); |
|
173 | 173 | |
174 | 174 | $statements = new StatementList(); |
175 | - foreach ( $entityStatements->toArray() as $statement ) { |
|
176 | - if ( in_array( $statement->getPropertyId(), $propertyIds ) ) { |
|
177 | - $statements->addStatement( $statement ); |
|
175 | + foreach ($entityStatements->toArray() as $statement) { |
|
176 | + if (in_array($statement->getPropertyId(), $propertyIds)) { |
|
177 | + $statements->addStatement($statement); |
|
178 | 178 | } |
179 | 179 | } |
180 | 180 | |
181 | - return $this->crossChecker->crossCheckStatements( $entityStatements, $statements ); |
|
181 | + return $this->crossChecker->crossCheckStatements($entityStatements, $statements); |
|
182 | 182 | } |
183 | 183 | |
184 | 184 | /** |
@@ -190,14 +190,14 @@ discard block |
||
190 | 190 | * @return CrossCheckResultList[] |
191 | 191 | * @throws InvalidArgumentException |
192 | 192 | */ |
193 | - public function crossCheckEntitiesWithProperties( array $entities, array $propertyIds ) { |
|
194 | - Assert::parameterElementType( EntityDocument::class, $entities, '$entities' ); |
|
195 | - Assert::parameterElementType( PropertyId::class, $propertyIds, '$propertyIds' ); |
|
193 | + public function crossCheckEntitiesWithProperties(array $entities, array $propertyIds) { |
|
194 | + Assert::parameterElementType(EntityDocument::class, $entities, '$entities'); |
|
195 | + Assert::parameterElementType(PropertyId::class, $propertyIds, '$propertyIds'); |
|
196 | 196 | |
197 | 197 | $results = array(); |
198 | - foreach ( $entities as $entity ) { |
|
198 | + foreach ($entities as $entity) { |
|
199 | 199 | $entityId = $entity->getId()->getSerialization(); |
200 | - if ( $entity instanceof StatementListProvider ) { |
|
200 | + if ($entity instanceof StatementListProvider) { |
|
201 | 201 | $results[$entityId] = $this->crossCheckStatementsWithProperties( |
202 | 202 | $entity->getStatements(), |
203 | 203 | $propertyIds |
@@ -216,12 +216,12 @@ discard block |
||
216 | 216 | * @return CrossCheckResultList |
217 | 217 | * @throws InvalidArgumentException |
218 | 218 | */ |
219 | - public function crossCheckStatementByGuid( $guid ) { |
|
220 | - $this->assertIsString( $guid, '$guid' ); |
|
219 | + public function crossCheckStatementByGuid($guid) { |
|
220 | + $this->assertIsString($guid, '$guid'); |
|
221 | 221 | |
222 | - $resultList = $this->crossCheckStatementsByGuids( array( $guid ) ); |
|
222 | + $resultList = $this->crossCheckStatementsByGuids(array($guid)); |
|
223 | 223 | |
224 | - return reset( $resultList ); |
|
224 | + return reset($resultList); |
|
225 | 225 | } |
226 | 226 | |
227 | 227 | /** |
@@ -232,21 +232,21 @@ discard block |
||
232 | 232 | * @return CrossCheckResultList[] |
233 | 233 | * @throws InvalidArgumentException |
234 | 234 | */ |
235 | - public function crossCheckStatementsByGuids( array $guids ) { |
|
236 | - $this->assertIsArrayOfStrings( $guids, '$guids' ); |
|
235 | + public function crossCheckStatementsByGuids(array $guids) { |
|
236 | + $this->assertIsArrayOfStrings($guids, '$guids'); |
|
237 | 237 | |
238 | 238 | $entityIds = array(); |
239 | 239 | $groupedStatementGuids = array(); |
240 | - foreach ( $guids as $guid ) { |
|
241 | - $serializedEntityId = $this->statementGuidParser->parse( $guid )->getEntityId(); |
|
240 | + foreach ($guids as $guid) { |
|
241 | + $serializedEntityId = $this->statementGuidParser->parse($guid)->getEntityId(); |
|
242 | 242 | $entityIds[$serializedEntityId->getSerialization()] = $serializedEntityId; |
243 | 243 | $groupedStatementGuids[$serializedEntityId->getSerialization()][] = $guid; |
244 | 244 | } |
245 | 245 | |
246 | 246 | $resultLists = array(); |
247 | - foreach ( $groupedStatementGuids as $serializedEntityId => $guidsOfEntity ) { |
|
248 | - $entityId = $entityIds[ $serializedEntityId ]; |
|
249 | - $resultLists[ $serializedEntityId ] = $this->crossCheckClaimsOfEntity( $entityId, $guidsOfEntity ); |
|
247 | + foreach ($groupedStatementGuids as $serializedEntityId => $guidsOfEntity) { |
|
248 | + $entityId = $entityIds[$serializedEntityId]; |
|
249 | + $resultLists[$serializedEntityId] = $this->crossCheckClaimsOfEntity($entityId, $guidsOfEntity); |
|
250 | 250 | } |
251 | 251 | |
252 | 252 | return $resultLists; |
@@ -258,18 +258,18 @@ discard block |
||
258 | 258 | * |
259 | 259 | * @return CrossCheckResultList|null |
260 | 260 | */ |
261 | - private function crossCheckClaimsOfEntity( EntityId $entityId, array $guids ) { |
|
262 | - $entity = $this->entityLookup->getEntity( $entityId ); |
|
261 | + private function crossCheckClaimsOfEntity(EntityId $entityId, array $guids) { |
|
262 | + $entity = $this->entityLookup->getEntity($entityId); |
|
263 | 263 | |
264 | - if ( $entity instanceof StatementListProvider ) { |
|
264 | + if ($entity instanceof StatementListProvider) { |
|
265 | 265 | $statements = new StatementList(); |
266 | - foreach ( $entity->getStatements()->toArray() as $statement ) { |
|
267 | - if ( in_array( $statement->getGuid(), $guids ) ) { |
|
268 | - $statements->addStatement( $statement ); |
|
266 | + foreach ($entity->getStatements()->toArray() as $statement) { |
|
267 | + if (in_array($statement->getGuid(), $guids)) { |
|
268 | + $statements->addStatement($statement); |
|
269 | 269 | } |
270 | 270 | } |
271 | 271 | |
272 | - return $this->crossChecker->crossCheckStatements( $entity->getStatements(), $statements ); |
|
272 | + return $this->crossChecker->crossCheckStatements($entity->getStatements(), $statements); |
|
273 | 273 | } |
274 | 274 | |
275 | 275 | return null; |
@@ -281,9 +281,9 @@ discard block |
||
281 | 281 | * |
282 | 282 | * @throws InvalidArgumentException |
283 | 283 | */ |
284 | - private function assertIsString( $string, $parameterName ) { |
|
285 | - if ( !is_string( $string ) ) { |
|
286 | - throw new InvalidArgumentException( "$parameterName must be string." ); |
|
284 | + private function assertIsString($string, $parameterName) { |
|
285 | + if (!is_string($string)) { |
|
286 | + throw new InvalidArgumentException("$parameterName must be string."); |
|
287 | 287 | } |
288 | 288 | } |
289 | 289 | |
@@ -293,10 +293,10 @@ discard block |
||
293 | 293 | * |
294 | 294 | * @throws InvalidArgumentException |
295 | 295 | */ |
296 | - private function assertIsArrayOfStrings( array $strings, $parameterName ) { |
|
297 | - foreach ( $strings as $string ) { |
|
298 | - if ( !is_string( $string ) ) { |
|
299 | - throw new InvalidArgumentException( "Each element of $parameterName must be string." ); |
|
296 | + private function assertIsArrayOfStrings(array $strings, $parameterName) { |
|
297 | + foreach ($strings as $string) { |
|
298 | + if (!is_string($string)) { |
|
299 | + throw new InvalidArgumentException("Each element of $parameterName must be string."); |
|
300 | 300 | } |
301 | 301 | } |
302 | 302 | } |
@@ -83,27 +83,27 @@ discard block |
||
83 | 83 | * |
84 | 84 | * @throws InvalidArgumentException |
85 | 85 | */ |
86 | - public function __construct( $dumpId, |
|
86 | + public function __construct($dumpId, |
|
87 | 87 | ItemId $sourceItemId, |
88 | 88 | array $identifierPropertyIds, |
89 | 89 | $importDate, |
90 | 90 | $languageCode, |
91 | 91 | $sourceUrl, |
92 | 92 | $size, |
93 | - ItemId $licenseItemId ) { |
|
93 | + ItemId $licenseItemId) { |
|
94 | 94 | Assert::parameterElementType( |
95 | 95 | PropertyId::class, |
96 | 96 | $identifierPropertyIds, |
97 | 97 | '$identifierPropertyIds' |
98 | 98 | ); |
99 | 99 | |
100 | - $this->setDumpId( $dumpId ); |
|
100 | + $this->setDumpId($dumpId); |
|
101 | 101 | $this->sourceItemId = $sourceItemId; |
102 | 102 | $this->identifierPropertyIds = $identifierPropertyIds; |
103 | - $this->setImportDate( $importDate ); |
|
104 | - $this->setLanguageCode( $languageCode ); |
|
105 | - $this->setSourceUrl( $sourceUrl ); |
|
106 | - $this->setSize( $size ); |
|
103 | + $this->setImportDate($importDate); |
|
104 | + $this->setLanguageCode($languageCode); |
|
105 | + $this->setSourceUrl($sourceUrl); |
|
106 | + $this->setSize($size); |
|
107 | 107 | $this->licenseItemId = $licenseItemId; |
108 | 108 | } |
109 | 109 | |
@@ -168,10 +168,10 @@ discard block |
||
168 | 168 | * |
169 | 169 | * @throws InvalidArgumentException |
170 | 170 | */ |
171 | - private function setDumpId( $dumpId ) { |
|
172 | - Assert::parameterType( 'string', $dumpId, '$dumpId' ); |
|
173 | - $length = strlen( $dumpId ); |
|
174 | - if ( $length < 1 || $length > 25 ) { |
|
171 | + private function setDumpId($dumpId) { |
|
172 | + Assert::parameterType('string', $dumpId, '$dumpId'); |
|
173 | + $length = strlen($dumpId); |
|
174 | + if ($length < 1 || $length > 25) { |
|
175 | 175 | throw new InvalidArgumentException('$dumpId must be between 1 and 25 characters.'); |
176 | 176 | } |
177 | 177 | |
@@ -183,10 +183,10 @@ discard block |
||
183 | 183 | * |
184 | 184 | * @throws InvalidArgumentException |
185 | 185 | */ |
186 | - private function setLanguageCode( $languageCode ) { |
|
187 | - Assert::parameterType( 'string', $languageCode, '$languageCode' ); |
|
188 | - if( !Language::isValidCode( $languageCode ) ) { |
|
189 | - throw new InvalidArgumentException( '$languageCode is not valid.' ); |
|
186 | + private function setLanguageCode($languageCode) { |
|
187 | + Assert::parameterType('string', $languageCode, '$languageCode'); |
|
188 | + if (!Language::isValidCode($languageCode)) { |
|
189 | + throw new InvalidArgumentException('$languageCode is not valid.'); |
|
190 | 190 | } |
191 | 191 | |
192 | 192 | $this->languageCode = $languageCode; |
@@ -197,12 +197,12 @@ discard block |
||
197 | 197 | * |
198 | 198 | * @throws InvalidArgumentException |
199 | 199 | */ |
200 | - private function setImportDate( $importDate ) { |
|
201 | - Assert::parameterType( 'string', $importDate, '$importDate' ); |
|
200 | + private function setImportDate($importDate) { |
|
201 | + Assert::parameterType('string', $importDate, '$importDate'); |
|
202 | 202 | |
203 | - $timestamp = wfTimestamp( TS_MW, $importDate ); |
|
204 | - if( !$timestamp ) { |
|
205 | - throw new InvalidArgumentException( '$updatedAt has invalid timestamp format.' ); |
|
203 | + $timestamp = wfTimestamp(TS_MW, $importDate); |
|
204 | + if (!$timestamp) { |
|
205 | + throw new InvalidArgumentException('$updatedAt has invalid timestamp format.'); |
|
206 | 206 | } |
207 | 207 | |
208 | 208 | $this->importDate = $importDate; |
@@ -213,13 +213,13 @@ discard block |
||
213 | 213 | * |
214 | 214 | * @throws InvalidArgumentException |
215 | 215 | */ |
216 | - private function setSourceUrl( $sourceUrl ) { |
|
217 | - Assert::parameterType( 'string', $sourceUrl, '$sourceUrl' ); |
|
218 | - if( strlen( $sourceUrl ) > 300 ) { |
|
219 | - throw new InvalidArgumentException( '$sourceUrl must not be longer than 300 characters.' ); |
|
216 | + private function setSourceUrl($sourceUrl) { |
|
217 | + Assert::parameterType('string', $sourceUrl, '$sourceUrl'); |
|
218 | + if (strlen($sourceUrl) > 300) { |
|
219 | + throw new InvalidArgumentException('$sourceUrl must not be longer than 300 characters.'); |
|
220 | 220 | } |
221 | - if( !filter_var($sourceUrl, FILTER_VALIDATE_URL) ) { |
|
222 | - throw new InvalidArgumentException( '$sourceUrl is not a valid url.' ); |
|
221 | + if (!filter_var($sourceUrl, FILTER_VALIDATE_URL)) { |
|
222 | + throw new InvalidArgumentException('$sourceUrl is not a valid url.'); |
|
223 | 223 | } |
224 | 224 | |
225 | 225 | $this->sourceUrl = $sourceUrl; |
@@ -230,10 +230,10 @@ discard block |
||
230 | 230 | * |
231 | 231 | * @throws InvalidArgumentException |
232 | 232 | */ |
233 | - private function setSize( $size ){ |
|
234 | - Assert::parameterType( 'integer', $size, '$size' ); |
|
235 | - if( $size <= 0 ) { |
|
236 | - throw new InvalidArgumentException( '$size must be positive integer.' ); |
|
233 | + private function setSize($size) { |
|
234 | + Assert::parameterType('integer', $size, '$size'); |
|
235 | + if ($size <= 0) { |
|
236 | + throw new InvalidArgumentException('$size must be positive integer.'); |
|
237 | 237 | } |
238 | 238 | |
239 | 239 | $this->size = $size; |
@@ -7,16 +7,16 @@ |
||
7 | 7 | * |
8 | 8 | * @return bool |
9 | 9 | */ |
10 | - public static function onCreateSchema( DatabaseUpdater $updater ) { |
|
11 | - $updater->addExtensionTable( 'wbqev_dump_information', __DIR__ . '/sql/create_wbqev_dump_information.sql' ); |
|
12 | - $updater->addExtensionTable( 'wbqev_external_data', __DIR__ . '/sql/create_wbqev_external_data.sql' ); |
|
13 | - $updater->addExtensionTable( 'wbqev_identifier_properties', __DIR__ . '/sql/create_wbqev_identifier_properties.sql' ); |
|
10 | + public static function onCreateSchema(DatabaseUpdater $updater) { |
|
11 | + $updater->addExtensionTable('wbqev_dump_information', __DIR__.'/sql/create_wbqev_dump_information.sql'); |
|
12 | + $updater->addExtensionTable('wbqev_external_data', __DIR__.'/sql/create_wbqev_external_data.sql'); |
|
13 | + $updater->addExtensionTable('wbqev_identifier_properties', __DIR__.'/sql/create_wbqev_identifier_properties.sql'); |
|
14 | 14 | |
15 | 15 | return true; |
16 | 16 | } |
17 | 17 | |
18 | - public static function onUnitTestsList( &$paths ) { |
|
19 | - $paths[] = __DIR__ . '/tests/phpunit'; |
|
18 | + public static function onUnitTestsList(&$paths) { |
|
19 | + $paths[] = __DIR__.'/tests/phpunit'; |
|
20 | 20 | return true; |
21 | 21 | } |
22 | 22 |
@@ -30,9 +30,9 @@ discard block |
||
30 | 30 | * @throws InvalidArgumentException |
31 | 31 | * @return string One of the ComparisonResult::STATUS_... constants. |
32 | 32 | */ |
33 | - public function compare( DataValue $value, DataValue $comparativeValue ) { |
|
34 | - if ( !$this->canCompare( $value, $comparativeValue ) ) { |
|
35 | - throw new InvalidArgumentException( 'Given values can not be compared using this comparer.' ); |
|
33 | + public function compare(DataValue $value, DataValue $comparativeValue) { |
|
34 | + if (!$this->canCompare($value, $comparativeValue)) { |
|
35 | + throw new InvalidArgumentException('Given values can not be compared using this comparer.'); |
|
36 | 36 | } |
37 | 37 | |
38 | 38 | /** |
@@ -42,38 +42,38 @@ discard block |
||
42 | 42 | |
43 | 43 | $result = ComparisonResult::STATUS_MISMATCH; |
44 | 44 | |
45 | - if ( !preg_match( '/^([-+]?)(\d*)((\d{4}\b).*)/', $value->getTime(), $localMatches ) |
|
46 | - || !preg_match( '/^([-+]?)(\d*)((\d{4}\b).*)/', $comparativeValue->getTime(), $externalMatches ) |
|
45 | + if (!preg_match('/^([-+]?)(\d*)((\d{4}\b).*)/', $value->getTime(), $localMatches) |
|
46 | + || !preg_match('/^([-+]?)(\d*)((\d{4}\b).*)/', $comparativeValue->getTime(), $externalMatches) |
|
47 | 47 | ) { |
48 | 48 | return ComparisonResult::STATUS_MISMATCH; |
49 | 49 | } |
50 | - list( , $localSign, $localYearHigh, $localMwTime, $localYearLow ) = $localMatches; |
|
51 | - list( , $externalSign, $externalYearHigh, $externalMwTime, $externalYearLow ) = $externalMatches; |
|
52 | - if ( $localSign !== $externalSign && ( $localYearHigh . $localYearLow !== '0000' |
|
53 | - || $externalYearHigh . $externalYearLow !== '0000' ) |
|
50 | + list(, $localSign, $localYearHigh, $localMwTime, $localYearLow) = $localMatches; |
|
51 | + list(, $externalSign, $externalYearHigh, $externalMwTime, $externalYearLow) = $externalMatches; |
|
52 | + if ($localSign !== $externalSign && ($localYearHigh.$localYearLow !== '0000' |
|
53 | + || $externalYearHigh.$externalYearLow !== '0000') |
|
54 | 54 | ) { |
55 | 55 | return ComparisonResult::STATUS_MISMATCH; |
56 | 56 | } |
57 | 57 | |
58 | 58 | try { |
59 | - $localTimestamp = new MWTimestamp( $localMwTime ); |
|
60 | - $externalTimestamp = new MWTimestamp( $externalMwTime ); |
|
61 | - $diff = $localTimestamp->diff( $externalTimestamp ); |
|
62 | - $diff->y += abs( $localYearHigh - $externalYearHigh ) * 10000; |
|
59 | + $localTimestamp = new MWTimestamp($localMwTime); |
|
60 | + $externalTimestamp = new MWTimestamp($externalMwTime); |
|
61 | + $diff = $localTimestamp->diff($externalTimestamp); |
|
62 | + $diff->y += abs($localYearHigh - $externalYearHigh) * 10000; |
|
63 | 63 | |
64 | - if ( $value->getPrecision() === $comparativeValue->getPrecision() |
|
65 | - && $this->resultOfDiffWithPrecision( $diff, $value->getPrecision() ) |
|
64 | + if ($value->getPrecision() === $comparativeValue->getPrecision() |
|
65 | + && $this->resultOfDiffWithPrecision($diff, $value->getPrecision()) |
|
66 | 66 | ) { |
67 | 67 | $result = ComparisonResult::STATUS_MATCH; |
68 | 68 | } elseif ( |
69 | 69 | $this->resultOfDiffWithPrecision( |
70 | 70 | $diff, |
71 | - min( $value->getPrecision(), $comparativeValue->getPrecision() ) |
|
71 | + min($value->getPrecision(), $comparativeValue->getPrecision()) |
|
72 | 72 | ) |
73 | 73 | ) { |
74 | 74 | $result = ComparisonResult::STATUS_PARTIAL_MATCH; |
75 | 75 | } |
76 | - } catch ( TimestampException $ex ) { |
|
76 | + } catch (TimestampException $ex) { |
|
77 | 77 | } |
78 | 78 | |
79 | 79 | return $result; |
@@ -87,10 +87,10 @@ discard block |
||
87 | 87 | * |
88 | 88 | * @return bool |
89 | 89 | */ |
90 | - private function resultOfDiffWithPrecision( DateInterval $diff, $precision ) { |
|
90 | + private function resultOfDiffWithPrecision(DateInterval $diff, $precision) { |
|
91 | 91 | $result = true; |
92 | 92 | |
93 | - switch ( $precision ) { |
|
93 | + switch ($precision) { |
|
94 | 94 | case TimeValue::PRECISION_SECOND: |
95 | 95 | $result = $diff->s === 0; |
96 | 96 | // Fall through with no break/return. This is critical for this algorithm. |
@@ -134,10 +134,10 @@ discard block |
||
134 | 134 | * |
135 | 135 | * @return ValueParser |
136 | 136 | */ |
137 | - protected function getExternalValueParser( DumpMetaInformation $dumpMetaInformation ) { |
|
137 | + protected function getExternalValueParser(DumpMetaInformation $dumpMetaInformation) { |
|
138 | 138 | $parserOptions = new ParserOptions(); |
139 | - $parserOptions->setOption( ValueParser::OPT_LANG, $dumpMetaInformation->getLanguageCode() ); |
|
140 | - $timeParserFactory = new TimeParserFactory( $parserOptions ); |
|
139 | + $parserOptions->setOption(ValueParser::OPT_LANG, $dumpMetaInformation->getLanguageCode()); |
|
140 | + $timeParserFactory = new TimeParserFactory($parserOptions); |
|
141 | 141 | |
142 | 142 | return $timeParserFactory->getTimeParser(); |
143 | 143 | } |
@@ -150,7 +150,7 @@ discard block |
||
150 | 150 | * |
151 | 151 | * @return bool |
152 | 152 | */ |
153 | - public function canCompare( DataValue $value, DataValue $comparativeValue ) { |
|
153 | + public function canCompare(DataValue $value, DataValue $comparativeValue) { |
|
154 | 154 | return $value instanceof TimeValue && $comparativeValue instanceof TimeValue; |
155 | 155 | } |
156 | 156 |
@@ -24,23 +24,23 @@ discard block |
||
24 | 24 | * @param PropertyId[] $propertyIds |
25 | 25 | * @return array |
26 | 26 | */ |
27 | - public function getExternalData( array $dumpIds, array $externalIds, array $propertyIds ) { |
|
28 | - Assert::parameterElementType( 'string', $dumpIds, '$dumpIds' ); |
|
29 | - Assert::parameterElementType( 'string', $externalIds, '$externalIds' ); |
|
30 | - Assert::parameterElementType( PropertyId::class, $propertyIds, '$propertyIds' ); |
|
31 | - Assert::parameter( count( $dumpIds ) > 0, '$dumpIds', '$dumpIds has to contain at least one element.' ); |
|
32 | - Assert::parameter( count( $externalIds ) > 0, '$externalIds', '$externalIds has to contain at least one element.' ); |
|
27 | + public function getExternalData(array $dumpIds, array $externalIds, array $propertyIds) { |
|
28 | + Assert::parameterElementType('string', $dumpIds, '$dumpIds'); |
|
29 | + Assert::parameterElementType('string', $externalIds, '$externalIds'); |
|
30 | + Assert::parameterElementType(PropertyId::class, $propertyIds, '$propertyIds'); |
|
31 | + Assert::parameter(count($dumpIds) > 0, '$dumpIds', '$dumpIds has to contain at least one element.'); |
|
32 | + Assert::parameter(count($externalIds) > 0, '$externalIds', '$externalIds has to contain at least one element.'); |
|
33 | 33 | |
34 | 34 | $conditions = array( |
35 | 35 | 'dump_id' => $dumpIds, |
36 | 36 | 'external_id' => $externalIds |
37 | 37 | ); |
38 | - if ( $propertyIds ) { |
|
38 | + if ($propertyIds) { |
|
39 | 39 | $conditions['pid'] = $propertyIds; |
40 | 40 | } |
41 | 41 | |
42 | 42 | $externalData = array(); |
43 | - $db = wfGetDB( DB_SLAVE ); |
|
43 | + $db = wfGetDB(DB_SLAVE); |
|
44 | 44 | $result = $db->select( |
45 | 45 | self::TABLE_NAME, |
46 | 46 | array( |
@@ -52,7 +52,7 @@ discard block |
||
52 | 52 | $conditions |
53 | 53 | ); |
54 | 54 | |
55 | - foreach ( $result as $row ) { |
|
55 | + foreach ($result as $row) { |
|
56 | 56 | $externalData[$row->dump_id][$row->external_id][$row->pid][] = $row->external_value; |
57 | 57 | } |
58 | 58 | |
@@ -68,13 +68,13 @@ discard block |
||
68 | 68 | * @param string $externalValue |
69 | 69 | * @return bool |
70 | 70 | */ |
71 | - public function insert( $dumpId, $externalId, PropertyId $propertyId, $externalValue ) { |
|
72 | - Assert::parameterType( 'string', $dumpId, '$dumpId' ); |
|
73 | - Assert::parameterType( 'string', $externalId, '$externalId' ); |
|
74 | - Assert::parameterType( 'string', $externalValue, '$externalValue' ); |
|
71 | + public function insert($dumpId, $externalId, PropertyId $propertyId, $externalValue) { |
|
72 | + Assert::parameterType('string', $dumpId, '$dumpId'); |
|
73 | + Assert::parameterType('string', $externalId, '$externalId'); |
|
74 | + Assert::parameterType('string', $externalValue, '$externalValue'); |
|
75 | 75 | |
76 | - $externalDataBatch = array( func_get_args() ); |
|
77 | - return $this->insertBatch( $externalDataBatch ); |
|
76 | + $externalDataBatch = array(func_get_args()); |
|
77 | + return $this->insertBatch($externalDataBatch); |
|
78 | 78 | } |
79 | 79 | |
80 | 80 | /** |
@@ -84,10 +84,10 @@ discard block |
||
84 | 84 | * @throws DBError |
85 | 85 | * @return bool |
86 | 86 | */ |
87 | - public function insertBatch( array $externalDataBatch ) { |
|
88 | - $db = wfGetDB( DB_MASTER ); |
|
87 | + public function insertBatch(array $externalDataBatch) { |
|
88 | + $db = wfGetDB(DB_MASTER); |
|
89 | 89 | $accumulator = array_map( |
90 | - function ( $externalData ) use ( $db ) { |
|
90 | + function($externalData) use ($db) { |
|
91 | 91 | return array( |
92 | 92 | 'dump_id' => $externalData[0], |
93 | 93 | 'external_id' => $externalData[1], |
@@ -100,10 +100,10 @@ discard block |
||
100 | 100 | |
101 | 101 | try { |
102 | 102 | $db->begin(); |
103 | - $result = $db->insert( self::TABLE_NAME, $accumulator ); |
|
103 | + $result = $db->insert(self::TABLE_NAME, $accumulator); |
|
104 | 104 | $db->commit(); |
105 | 105 | } |
106 | - catch( DBError $ex ) { |
|
106 | + catch (DBError $ex) { |
|
107 | 107 | $db->rollback(); |
108 | 108 | throw $ex; |
109 | 109 | } |
@@ -118,21 +118,21 @@ discard block |
||
118 | 118 | * @param int $batchSize |
119 | 119 | * @throws \DBUnexpectedError |
120 | 120 | */ |
121 | - public function deleteOfDump( $dumpId, $batchSize = 1000 ) { |
|
122 | - Assert::parameterType( 'string', $dumpId, '$dumpId' ); |
|
123 | - Assert::parameterType( 'integer', $batchSize, 'batchSize' ); |
|
121 | + public function deleteOfDump($dumpId, $batchSize = 1000) { |
|
122 | + Assert::parameterType('string', $dumpId, '$dumpId'); |
|
123 | + Assert::parameterType('integer', $batchSize, 'batchSize'); |
|
124 | 124 | |
125 | - $db = wfGetDB( DB_MASTER ); |
|
126 | - if ( $db->getType() === 'sqlite' ) { |
|
127 | - $db->delete( self::TABLE_NAME, array( 'dump_id' => $dumpId ) ); |
|
125 | + $db = wfGetDB(DB_MASTER); |
|
126 | + if ($db->getType() === 'sqlite') { |
|
127 | + $db->delete(self::TABLE_NAME, array('dump_id' => $dumpId)); |
|
128 | 128 | } else { |
129 | 129 | do { |
130 | - $db->commit( __METHOD__, 'flush' ); |
|
130 | + $db->commit(__METHOD__, 'flush'); |
|
131 | 131 | wfGetLBFactory()->waitForReplication(); |
132 | - $table = $db->tableName( self::TABLE_NAME ); |
|
133 | - $condition = 'dump_id = ' . $db->addQuotes( $dumpId ); |
|
134 | - $db->query( sprintf( 'DELETE FROM %s WHERE %s LIMIT %s', $table, $condition, $batchSize ) ); |
|
135 | - } while ( $db->affectedRows() > 0 ); |
|
132 | + $table = $db->tableName(self::TABLE_NAME); |
|
133 | + $condition = 'dump_id = '.$db->addQuotes($dumpId); |
|
134 | + $db->query(sprintf('DELETE FROM %s WHERE %s LIMIT %s', $table, $condition, $batchSize)); |
|
135 | + } while ($db->affectedRows() > 0); |
|
136 | 136 | } |
137 | 137 | } |
138 | 138 |
@@ -7,10 +7,10 @@ discard block |
||
7 | 7 | use WikibaseQuality\ExternalValidation\UpdateExternalData\CsvImportSettings; |
8 | 8 | use WikibaseQuality\ExternalValidation\UpdateExternalData\ExternalDataImporter; |
9 | 9 | |
10 | -$basePath = getenv( 'MW_INSTALL_PATH' ) !== false |
|
11 | - ? getenv( 'MW_INSTALL_PATH' ) |
|
12 | - : __DIR__ . '/../../..'; |
|
13 | -require_once $basePath . '/maintenance/Maintenance.php'; |
|
10 | +$basePath = getenv('MW_INSTALL_PATH') !== false |
|
11 | + ? getenv('MW_INSTALL_PATH') |
|
12 | + : __DIR__.'/../../..'; |
|
13 | +require_once $basePath.'/maintenance/Maintenance.php'; |
|
14 | 14 | |
15 | 15 | /** |
16 | 16 | * Maintenance script that evokes updates of wbqev_external_data, wbqev_dump_information, wbqev_identifier_properties |
@@ -25,16 +25,16 @@ discard block |
||
25 | 25 | public function __construct() { |
26 | 26 | parent::__construct(); |
27 | 27 | |
28 | - $this->addDescription( "Imports external entities from given CSV files into the local database. CSV files can be generated using the DumpConverter." ); |
|
29 | - $this->addOption( 'external-values-file', 'CSV file containing external values for import.', true, true ); |
|
30 | - $this->addOption( 'dump-information-file', 'CSV file containing dump meta information for import.', true, true ); |
|
31 | - $this->setBatchSize( 1000 ); |
|
28 | + $this->addDescription("Imports external entities from given CSV files into the local database. CSV files can be generated using the DumpConverter."); |
|
29 | + $this->addOption('external-values-file', 'CSV file containing external values for import.', true, true); |
|
30 | + $this->addOption('dump-information-file', 'CSV file containing dump meta information for import.', true, true); |
|
31 | + $this->setBatchSize(1000); |
|
32 | 32 | } |
33 | 33 | |
34 | 34 | public function execute() { |
35 | 35 | $context = new CsvImportSettings( |
36 | - $this->getOption( 'external-values-file' ), |
|
37 | - $this->getOption( 'dump-information-file' ), |
|
36 | + $this->getOption('external-values-file'), |
|
37 | + $this->getOption('dump-information-file'), |
|
38 | 38 | $this->mBatchSize, |
39 | 39 | $this->isQuiet() |
40 | 40 | ); |