jenkins-bot has submitted this change and it was merged.
Change subject: Use SiteLinkLookup in WikibaseLuaBindings for
getSiteLinkPageName
......................................................................
Use SiteLinkLookup in WikibaseLuaBindings for getSiteLinkPageName
instead of loading entire entities here.
Bug: T108928
Change-Id: Ie0bd94e9b31ecc0c244c079a44ed71953ca42f8d
---
M client/includes/DataAccess/Scribunto/WikibaseLuaBindings.php
1 file changed, 19 insertions(+), 12 deletions(-)
Approvals:
Jonas Kress (WMDE): Looks good to me, but someone else must approve
Daniel Kinzler: Looks good to me, approved
jenkins-bot: Verified
diff --git a/client/includes/DataAccess/Scribunto/WikibaseLuaBindings.php
b/client/includes/DataAccess/Scribunto/WikibaseLuaBindings.php
index fad00b7..621e16f 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\SiteLink;
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,20 @@
return null;
}
- /** @var Item $item */
- $item = $this->entityLookup->getEntity( $itemId );
- if ( !$item || !$item->getSiteLinkList()->hasLinkWithSiteId(
$this->siteId ) ) {
- return null;
+ // @fixme the SiteLinks do not contain badges! but all we want
here is page name.
+ $siteLinkRows = $this->siteLinkLookup->getLinks(
+ array( $itemId->getNumericId() ),
+ array( $this->siteId )
+ );
+
+ foreach ( $siteLinkRows as $siteLinkRow ) {
+ $siteLink = new SiteLink( $siteLinkRow[0],
$siteLinkRow[1] );
+
+ $this->usageAccumulator->addTitleUsage( $itemId );
+ return $siteLink->getPageName();
}
- $this->usageAccumulator->addTitleUsage( $itemId );
- return $item->getSiteLinkList()->getBySiteId( $this->siteId
)->getPageName();
+ return null;
}
/**
--
To view, visit https://gerrit.wikimedia.org/r/231533
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ie0bd94e9b31ecc0c244c079a44ed71953ca42f8d
Gerrit-PatchSet: 6
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Aude <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: Hoo man <[email protected]>
Gerrit-Reviewer: Jonas Kress (WMDE) <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits