Thiemo Mättig (WMDE) has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/335614 )
Change subject: Remove Fingerprint from FingerprintValidator interface ...................................................................... Remove Fingerprint from FingerprintValidator interface This is only one step in a series of patches. I want to make it as obvious as possible what I do in these patches. This patch does not rename any class or method on purpose. This will be done later. Bug: T134735 Change-Id: I87cef964a9e7fc6ed1c9e2a19f2980cc34dd4f18 --- M repo/includes/ChangeOp/ChangeOpDescription.php M repo/includes/ChangeOp/ChangeOpLabel.php M repo/includes/Validators/FingerprintValidator.php M repo/includes/Validators/LabelDescriptionUniquenessValidator.php M repo/includes/Validators/NullFingerprintValidator.php M repo/tests/phpunit/includes/Validators/LabelDescriptionUniquenessValidatorTest.php M repo/tests/phpunit/includes/Validators/TermValidatorFactoryTest.php 7 files changed, 42 insertions(+), 19 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/14/335614/1 diff --git a/repo/includes/ChangeOp/ChangeOpDescription.php b/repo/includes/ChangeOp/ChangeOpDescription.php index 05c7364..4158294 100644 --- a/repo/includes/ChangeOp/ChangeOpDescription.php +++ b/repo/includes/ChangeOp/ChangeOpDescription.php @@ -138,7 +138,8 @@ $this->updateDescriptions( $fingerprint->getDescriptions() ); $result = $fingerprintValidator->validateFingerprint( - $fingerprint, + $fingerprint->getLabels(), + $fingerprint->getDescriptions(), $entity->getId(), array( $this->languageCode ) ); diff --git a/repo/includes/ChangeOp/ChangeOpLabel.php b/repo/includes/ChangeOp/ChangeOpLabel.php index cccc9d8..86af5f9 100644 --- a/repo/includes/ChangeOp/ChangeOpLabel.php +++ b/repo/includes/ChangeOp/ChangeOpLabel.php @@ -136,7 +136,8 @@ $this->updateLabels( $fingerprint->getLabels() ); $result = $fingerprintValidator->validateFingerprint( - $fingerprint, + $fingerprint->getLabels(), + $fingerprint->getDescriptions(), $entity->getId(), array( $this->languageCode ) ); diff --git a/repo/includes/Validators/FingerprintValidator.php b/repo/includes/Validators/FingerprintValidator.php index f01a6d3..2504603 100644 --- a/repo/includes/Validators/FingerprintValidator.php +++ b/repo/includes/Validators/FingerprintValidator.php @@ -4,7 +4,7 @@ use ValueValidators\Result; use Wikibase\DataModel\Entity\EntityId; -use Wikibase\DataModel\Term\Fingerprint; +use Wikibase\DataModel\Term\TermList; /** * Validator interface for validating Entity Fingerprints. @@ -17,9 +17,8 @@ interface FingerprintValidator { /** - * Validate the given fingerprint. - * - * @param Fingerprint $fingerprint + * @param TermList $labels + * @param TermList $descriptions * @param EntityId $entityId Context for uniqueness checks. Conflicts with this * entity are ignored. * @param string[]|null $languageCodes If given, the validation is limited to the given @@ -29,7 +28,8 @@ * @return Result */ public function validateFingerprint( - Fingerprint $fingerprint, + TermList $labels, + TermList $descriptions, EntityId $entityId, array $languageCodes = null ); diff --git a/repo/includes/Validators/LabelDescriptionUniquenessValidator.php b/repo/includes/Validators/LabelDescriptionUniquenessValidator.php index 2c930ef..39a1d08 100644 --- a/repo/includes/Validators/LabelDescriptionUniquenessValidator.php +++ b/repo/includes/Validators/LabelDescriptionUniquenessValidator.php @@ -6,8 +6,8 @@ use Wikibase\DataModel\Entity\EntityDocument; use Wikibase\DataModel\Entity\EntityId; use Wikibase\DataModel\Term\DescriptionsProvider; -use Wikibase\DataModel\Term\Fingerprint; use Wikibase\DataModel\Term\LabelsProvider; +use Wikibase\DataModel\Term\TermList; use Wikibase\LabelDescriptionDuplicateDetector; /** @@ -55,19 +55,21 @@ /** * @see FingerprintValidator::validateFingerprint() * - * @param Fingerprint $fingerprint + * @param TermList $labels + * @param TermList $descriptions * @param EntityId $entityId * @param string[]|null $languageCodes * * @return Result */ public function validateFingerprint( - Fingerprint $fingerprint, + TermList $labels, + TermList $descriptions, EntityId $entityId, array $languageCodes = null ) { - $labels = $fingerprint->getLabels()->toTextArray(); - $descriptions = $fingerprint->getDescriptions()->toTextArray(); + $labels = $labels->toTextArray(); + $descriptions = $descriptions->toTextArray(); if ( $languageCodes !== null ) { $languageKeys = array_flip( $languageCodes ); diff --git a/repo/includes/Validators/NullFingerprintValidator.php b/repo/includes/Validators/NullFingerprintValidator.php index 4c56401..2a0414a 100644 --- a/repo/includes/Validators/NullFingerprintValidator.php +++ b/repo/includes/Validators/NullFingerprintValidator.php @@ -4,7 +4,7 @@ use ValueValidators\Result; use Wikibase\DataModel\Entity\EntityId; -use Wikibase\DataModel\Term\Fingerprint; +use Wikibase\DataModel\Term\TermList; /** * @license GPL-2.0+ @@ -15,14 +15,16 @@ /** * @see FingerprintValidator::validateFingerprint * - * @param Fingerprint $fingerprint + * @param TermList $labels + * @param TermList $descriptions * @param EntityId $entityId * @param string[]|null $languageCodes * * @return Result */ public function validateFingerprint( - Fingerprint $fingerprint, + TermList $labels, + TermList $descriptions, EntityId $entityId, array $languageCodes = null ) { diff --git a/repo/tests/phpunit/includes/Validators/LabelDescriptionUniquenessValidatorTest.php b/repo/tests/phpunit/includes/Validators/LabelDescriptionUniquenessValidatorTest.php index bf80a78..091ae86 100644 --- a/repo/tests/phpunit/includes/Validators/LabelDescriptionUniquenessValidatorTest.php +++ b/repo/tests/phpunit/includes/Validators/LabelDescriptionUniquenessValidatorTest.php @@ -138,7 +138,12 @@ $dupeDetector = $this->getMockDupeDetector(); $validator = new LabelDescriptionUniquenessValidator( $dupeDetector ); - $result = $validator->validateFingerprint( $fingerprint, $entityId, $languageCodes ); + $result = $validator->validateFingerprint( + $fingerprint->getLabels(), + $fingerprint->getDescriptions(), + $entityId, + $languageCodes + ); $this->assertTrue( $result->isValid(), 'isValid' ); } @@ -193,7 +198,11 @@ $dupeDetector = $this->getMockDupeDetector(); $validator = new LabelDescriptionUniquenessValidator( $dupeDetector ); - $result = $validator->validateFingerprint( $fingerprint, new ItemId( 'Q99' ) ); + $result = $validator->validateFingerprint( + $fingerprint->getLabels(), + $fingerprint->getDescriptions(), + new ItemId( 'Q99' ) + ); $this->assertFalse( $result->isValid(), 'isValid' ); diff --git a/repo/tests/phpunit/includes/Validators/TermValidatorFactoryTest.php b/repo/tests/phpunit/includes/Validators/TermValidatorFactoryTest.php index af0a024..707226f 100644 --- a/repo/tests/phpunit/includes/Validators/TermValidatorFactoryTest.php +++ b/repo/tests/phpunit/includes/Validators/TermValidatorFactoryTest.php @@ -90,11 +90,19 @@ $q99 = new ItemId( 'Q99' ); $this->assertTrue( - $validator->validateFingerprint( $goodFingerprint, $q99 )->isValid(), + $validator->validateFingerprint( + $goodFingerprint->getLabels(), + $goodFingerprint->getDescriptions(), + $q99 + )->isValid(), 'isValid(good)' ); $this->assertFalse( - $validator->validateFingerprint( $labelDupeFingerprint, $q99 )->isValid(), + $validator->validateFingerprint( + $labelDupeFingerprint->getLabels(), + $labelDupeFingerprint->getDescriptions(), + $q99 + )->isValid(), 'isValid(bad): label/description' ); } -- To view, visit https://gerrit.wikimedia.org/r/335614 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I87cef964a9e7fc6ed1c9e2a19f2980cc34dd4f18 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits