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

Reply via email to