Thiemo Mättig (WMDE) has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/251934

Change subject: Decrease binding in EntityParserOutputDataUpdater
......................................................................

Decrease binding in EntityParserOutputDataUpdater

A possible alternative for I7b68c4f without the issue mentioned there.

Change-Id: I626212abd07f13d28be30e3d5f3268a93cc8b04a
---
M repo/includes/ParserOutput/EntityParserOutputDataUpdater.php
1 file changed, 12 insertions(+), 18 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/34/251934/1

diff --git a/repo/includes/ParserOutput/EntityParserOutputDataUpdater.php 
b/repo/includes/ParserOutput/EntityParserOutputDataUpdater.php
index 1b68c94..a43bfce 100644
--- a/repo/includes/ParserOutput/EntityParserOutputDataUpdater.php
+++ b/repo/includes/ParserOutput/EntityParserOutputDataUpdater.php
@@ -6,6 +6,8 @@
 use ParserOutput;
 use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\Item;
+use Wikibase\DataModel\SiteLinkList;
+use Wikibase\DataModel\Statement\StatementList;
 use Wikibase\DataModel\Statement\StatementListProvider;
 
 /**
@@ -65,24 +67,20 @@
         * @param EntityDocument $entity
         */
        public function processEntity( EntityDocument $entity ) {
-               if ( $entity instanceof StatementListProvider ) {
-                       $this->processStatementListProvider( $entity );
+               if ( $entity instanceof StatementListProvider && !empty( 
$this->statementDataUpdaters ) ) {
+                       $this->processStatements( $entity->getStatements() );
                }
 
-               if ( $entity instanceof Item ) {
-                       $this->processItem( $entity );
+               if ( $entity instanceof Item && !empty( 
$this->siteLinkDataUpdaters ) ) {
+                       $this->processSiteLinks( $entity->getSiteLinkList() );
                }
        }
 
        /**
-        * @param StatementListProvider $entity
+        * @param StatementList $statements
         */
-       private function processStatementListProvider( StatementListProvider 
$entity ) {
-               if ( empty( $this->statementDataUpdaters ) ) {
-                       return;
-               }
-
-               foreach ( $entity->getStatements() as $statement ) {
+       private function processStatements( StatementList $statements ) {
+               foreach ( $statements as $statement ) {
                        foreach ( $this->statementDataUpdaters as $updater ) {
                                $updater->processStatement( $statement );
                        }
@@ -90,14 +88,10 @@
        }
 
        /**
-        * @param Item $item
+        * @param SiteLinkList $siteLinks
         */
-       private function processItem( Item $item ) {
-               if ( empty( $this->siteLinkDataUpdaters ) ) {
-                       return;
-               }
-
-               foreach ( $item->getSiteLinkList() as $siteLink ) {
+       private function processSiteLinks( SiteLinkList $siteLinks ) {
+               foreach ( $siteLinks as $siteLink ) {
                        foreach ( $this->siteLinkDataUpdaters as $updater ) {
                                $updater->processSiteLink( $siteLink );
                        }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I626212abd07f13d28be30e3d5f3268a93cc8b04a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <[email protected]>

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

Reply via email to