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 <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits