Aude has uploaded a new change for review. https://gerrit.wikimedia.org/r/231533
Change subject: Use SiteLinkLookup in WikibaseLuaBindings for getSiteLinkPageName ...................................................................... Use SiteLinkLookup in WikibaseLuaBindings for getSiteLinkPageName instead of loading entire entities here. Change-Id: Ie0bd94e9b31ecc0c244c079a44ed71953ca42f8d --- M client/includes/DataAccess/Scribunto/WikibaseLuaBindings.php 1 file changed, 12 insertions(+), 10 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/33/231533/1 diff --git a/client/includes/DataAccess/Scribunto/WikibaseLuaBindings.php b/client/includes/DataAccess/Scribunto/WikibaseLuaBindings.php index fad00b7..5e45bc8 100644 --- a/client/includes/DataAccess/Scribunto/WikibaseLuaBindings.php +++ b/client/includes/DataAccess/Scribunto/WikibaseLuaBindings.php @@ -12,6 +12,7 @@ use Wikibase\DataModel\Services\EntityId\EntityIdParsingException; use Wikibase\DataModel\Services\Lookup\EntityLookup; use Wikibase\DataModel\Services\Lookup\LabelDescriptionLookup; +use Wikibase\DataModel\SiteLinkList; use Wikibase\Lib\Store\SiteLinkLookup; use Wikibase\Lib\Store\StorageException; use Wikibase\SettingsArray; @@ -41,7 +42,7 @@ /** * @var SiteLinkLookup */ - private $siteLinkTable; + private $siteLinkLookup; /** * @var SettingsArray @@ -71,7 +72,7 @@ /** * @param EntityIdParser $entityIdParser * @param EntityLookup $entityLookup - * @param SiteLinkLookup $siteLinkTable + * @param SiteLinkLookup $siteLinkLookup * @param SettingsArray $settings * @param LabelDescriptionLookup $labelDescriptionLookup * @param UsageAccumulator $usageAccumulator for tracking title usage via getEntityId. @@ -84,7 +85,7 @@ public function __construct( EntityIdParser $entityIdParser, EntityLookup $entityLookup, - SiteLinkLookup $siteLinkTable, + SiteLinkLookup $siteLinkLookup, SettingsArray $settings, LabelDescriptionLookup $labelDescriptionLookup, UsageAccumulator $usageAccumulator, @@ -93,7 +94,7 @@ ) { $this->entityIdParser = $entityIdParser; $this->entityLookup = $entityLookup; - $this->siteLinkTable = $siteLinkTable; + $this->siteLinkLookup = $siteLinkLookup; $this->settings = $settings; $this->labelDescriptionLookup = $labelDescriptionLookup; $this->usageAccumulator = $usageAccumulator; @@ -111,7 +112,7 @@ * @return string|null */ public function getEntityId( $pageTitle ) { - $id = $this->siteLinkTable->getItemIdForLink( $this->siteId, $pageTitle ); + $id = $this->siteLinkLookup->getItemIdForLink( $this->siteId, $pageTitle ); if ( !$id ) { return null; @@ -186,7 +187,7 @@ * @param string $prefixedEntityId * * @since 0.5 - * @return string|null Null if entity couldn't be found/ no label present + * @return string|null Null if no site link found. */ public function getSiteLinkPageName( $prefixedEntityId ) { try { @@ -195,14 +196,15 @@ return null; } - /** @var Item $item */ - $item = $this->entityLookup->getEntity( $itemId ); - if ( !$item || !$item->getSiteLinkList()->hasLinkWithSiteId( $this->siteId ) ) { + // @fixme the SiteLinks do not contain badges! but all we want here is page name. + $siteLinks = new SiteLinkList( $this->siteLinkLookup->getSiteLinksForItem( $itemId ) ); + + if ( !$siteLinks->hasLinkWithSiteId( $this->siteId ) ) { return null; } $this->usageAccumulator->addTitleUsage( $itemId ); - return $item->getSiteLinkList()->getBySiteId( $this->siteId )->getPageName(); + return $siteLinks->getBySiteId( $this->siteId )->getPageName(); } /** -- To view, visit https://gerrit.wikimedia.org/r/231533 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie0bd94e9b31ecc0c244c079a44ed71953ca42f8d Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Aude <aude.w...@gmail.com> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits