jenkins-bot has submitted this change and it was merged.

Change subject: Simplify overcomplicated getters in DataUpdater implementations
......................................................................


Simplify overcomplicated getters in DataUpdater implementations

This is not meant to be a "perfect" refactoring, but a step forward.
The contract of the getters becomes much simpler. Now they really
are getters and nothing else. I will try to remove these methods
completely in later patches.

Bug: T114220
Change-Id: Idc97e5319275719f82457158b34c39a6d17aff6e
---
M repo/includes/DataUpdates/ExternalLinksDataUpdate.php
M repo/includes/DataUpdates/ImageLinksDataUpdate.php
M repo/includes/DataUpdates/ReferencedEntitiesDataUpdate.php
M repo/tests/phpunit/includes/DataUpdates/ExternalLinksDataUpdateTest.php
M repo/tests/phpunit/includes/DataUpdates/ImageLinksDataUpdateTest.php
M repo/tests/phpunit/includes/DataUpdates/ReferencedEntitiesDataUpdateTest.php
6 files changed, 31 insertions(+), 44 deletions(-)

Approvals:
  Daniel Kinzler: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/repo/includes/DataUpdates/ExternalLinksDataUpdate.php 
b/repo/includes/DataUpdates/ExternalLinksDataUpdate.php
index 74a3047..df860d9 100644
--- a/repo/includes/DataUpdates/ExternalLinksDataUpdate.php
+++ b/repo/includes/DataUpdates/ExternalLinksDataUpdate.php
@@ -7,7 +7,6 @@
 use Wikibase\DataModel\Snak\PropertyValueSnak;
 use Wikibase\DataModel\Snak\Snak;
 use Wikibase\DataModel\Statement\Statement;
-use Wikibase\DataModel\Statement\StatementList;
 use Wikibase\Lib\Store\PropertyDataTypeMatcher;
 
 /**
@@ -41,17 +40,9 @@
        }
 
        /**
-        * @param StatementList $statements
-        *
         * @return string[]
         */
-       public function getExternalLinks( StatementList $statements ) {
-               $this->urls = array();
-
-               foreach ( $statements as $statement ) {
-                       $this->processStatement( $statement );
-               }
-
+       public function getExternalLinks() {
                return array_keys( $this->urls );
        }
 
diff --git a/repo/includes/DataUpdates/ImageLinksDataUpdate.php 
b/repo/includes/DataUpdates/ImageLinksDataUpdate.php
index 5f14f51..f1a14c0 100644
--- a/repo/includes/DataUpdates/ImageLinksDataUpdate.php
+++ b/repo/includes/DataUpdates/ImageLinksDataUpdate.php
@@ -7,7 +7,6 @@
 use Wikibase\DataModel\Snak\PropertyValueSnak;
 use Wikibase\DataModel\Snak\Snak;
 use Wikibase\DataModel\Statement\Statement;
-use Wikibase\DataModel\Statement\StatementList;
 use Wikibase\Lib\Store\PropertyDataTypeMatcher;
 
 /**
@@ -41,17 +40,9 @@
        }
 
        /**
-        * @param StatementList $statements
-        *
         * @return string[]
         */
-       public function getImageLinks( StatementList $statements ) {
-               $this->fileNames = array();
-
-               foreach ( $statements as $statement ) {
-                       $this->processStatement( $statement );
-               }
-
+       public function getImageLinks() {
                return array_keys( $this->fileNames );
        }
 
diff --git a/repo/includes/DataUpdates/ReferencedEntitiesDataUpdate.php 
b/repo/includes/DataUpdates/ReferencedEntitiesDataUpdate.php
index 7f3a72b..b56ce1d 100644
--- a/repo/includes/DataUpdates/ReferencedEntitiesDataUpdate.php
+++ b/repo/includes/DataUpdates/ReferencedEntitiesDataUpdate.php
@@ -12,11 +12,9 @@
 use Wikibase\DataModel\Entity\EntityIdParsingException;
 use Wikibase\DataModel\Entity\EntityIdValue;
 use Wikibase\DataModel\SiteLink;
-use Wikibase\DataModel\SiteLinkList;
 use Wikibase\DataModel\Snak\PropertyValueSnak;
 use Wikibase\DataModel\Snak\Snak;
 use Wikibase\DataModel\Statement\Statement;
-use Wikibase\DataModel\Statement\StatementList;
 use Wikibase\Lib\Store\EntityTitleLookup;
 
 /**
@@ -61,24 +59,9 @@
        }
 
        /**
-        * @param StatementList $statements
-        * @param SiteLinkList|null $siteLinks
-        *
         * @return EntityId[] Numerically indexed non-sparse array.
         */
-       public function getEntityIds( StatementList $statements, SiteLinkList 
$siteLinks = null ) {
-               $this->entityIds = array();
-
-               foreach ( $statements as $statement ) {
-                       $this->processStatement( $statement );
-               }
-
-               if ( $siteLinks !== null ) {
-                       foreach ( $siteLinks as $siteLink ) {
-                               $this->processSiteLink( $siteLink );
-                       }
-               }
-
+       public function getEntityIds() {
                return array_values( $this->entityIds );
        }
 
diff --git 
a/repo/tests/phpunit/includes/DataUpdates/ExternalLinksDataUpdateTest.php 
b/repo/tests/phpunit/includes/DataUpdates/ExternalLinksDataUpdateTest.php
index c58ac6b..63a4f4d 100644
--- a/repo/tests/phpunit/includes/DataUpdates/ExternalLinksDataUpdateTest.php
+++ b/repo/tests/phpunit/includes/DataUpdates/ExternalLinksDataUpdateTest.php
@@ -52,8 +52,12 @@
         */
        public function testGetExternalLinks( StatementList $statements, array 
$expected ) {
                $instance = $this->newInstance();
-               $actual = $instance->getExternalLinks( $statements );
-               $this->assertSame( $expected, $actual );
+
+               foreach ( $statements as $statement ) {
+                       $instance->processStatement( $statement );
+               }
+
+               $this->assertSame( $expected, $instance->getExternalLinks() );
        }
 
        /**
@@ -67,9 +71,11 @@
                        ->method( 'addExternalLink' );
 
                $instance = $this->newInstance();
+
                foreach ( $statements as $statement ) {
                        $instance->processStatement( $statement );
                }
+
                $instance->updateParserOutput( $parserOutput );
        }
 
diff --git 
a/repo/tests/phpunit/includes/DataUpdates/ImageLinksDataUpdateTest.php 
b/repo/tests/phpunit/includes/DataUpdates/ImageLinksDataUpdateTest.php
index f7e7e7d..a98feb9 100644
--- a/repo/tests/phpunit/includes/DataUpdates/ImageLinksDataUpdateTest.php
+++ b/repo/tests/phpunit/includes/DataUpdates/ImageLinksDataUpdateTest.php
@@ -52,8 +52,12 @@
         */
        public function testGetImageLinks( StatementList $statements, array 
$expected ) {
                $instance = $this->newInstance();
-               $actual = $instance->getImageLinks( $statements );
-               $this->assertSame( $expected, $actual );
+
+               foreach ( $statements as $statement ) {
+                       $instance->processStatement( $statement );
+               }
+
+               $this->assertSame( $expected, $instance->getImageLinks() );
        }
 
        /**
@@ -67,9 +71,11 @@
                        ->method( 'addImage' );
 
                $instance = $this->newInstance();
+
                foreach ( $statements as $statement ) {
                        $instance->processStatement( $statement );
                }
+
                $instance->updateParserOutput( $parserOutput );
        }
 
diff --git 
a/repo/tests/phpunit/includes/DataUpdates/ReferencedEntitiesDataUpdateTest.php 
b/repo/tests/phpunit/includes/DataUpdates/ReferencedEntitiesDataUpdateTest.php
index e3dd370..7c736c9 100644
--- 
a/repo/tests/phpunit/includes/DataUpdates/ReferencedEntitiesDataUpdateTest.php
+++ 
b/repo/tests/phpunit/includes/DataUpdates/ReferencedEntitiesDataUpdateTest.php
@@ -84,8 +84,18 @@
                array $expected
        ) {
                $instance = $this->newInstance();
-               $actual = $instance->getEntityIds( $statements, $siteLinks );
-               $this->assertEquals( $expected, $actual );
+
+               foreach ( $statements as $statement ) {
+                       $instance->processStatement( $statement );
+               }
+
+               if ( $siteLinks !== null ) {
+                       foreach ( $siteLinks as $siteLink ) {
+                               $instance->processSiteLink( $siteLink );
+                       }
+               }
+
+               $this->assertEquals( $expected, $instance->getEntityIds() );
        }
 
        /**

-- 
To view, visit https://gerrit.wikimedia.org/r/246270
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Idc97e5319275719f82457158b34c39a6d17aff6e
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to