Bene has uploaded a new change for review.
https://gerrit.wikimedia.org/r/234962
Change subject: Add SpecialPagesWithBadges
......................................................................
Add SpecialPagesWithBadges
This version of the special page uses only a simple query
without any joins to get its result. It isn't cached but
the query is much simpler than when using QueryPage as
we don't need to retrieve the page and namespace id here.
An api to query the data will be provided on Wikidata.
Bug: T72209
Change-Id: I74330fa7ad3112ebf9c6b2913c596e515f90a58a
---
M client/includes/store/ClientStore.php
M client/includes/store/sql/DirectSqlStore.php
M client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php
3 files changed, 28 insertions(+), 0 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/62/234962/1
diff --git a/client/includes/store/ClientStore.php
b/client/includes/store/ClientStore.php
index 2948382..a4547a1 100644
--- a/client/includes/store/ClientStore.php
+++ b/client/includes/store/ClientStore.php
@@ -9,6 +9,7 @@
use Wikibase\Client\Usage\UsageTracker;
use Wikibase\DataModel\Services\Entity\EntityPrefetcher;
use Wikibase\DataModel\Services\Lookup\EntityLookup;
+use Wikibase\Lib\Store\BadgeLookup;
use Wikibase\Lib\Store\EntityRevisionLookup;
use Wikibase\Lib\Store\SiteLinkLookup;
use Wikibase\Store\EntityIdLookup;
@@ -34,6 +35,13 @@
/**
* @since 0.5
*
+ * @return BadgeLookup
+ */
+ public function getBadgeLookup();
+
+ /**
+ * @since 0.5
+ *
* @return UsageLookup
*/
public function getUsageLookup();
diff --git a/client/includes/store/sql/DirectSqlStore.php
b/client/includes/store/sql/DirectSqlStore.php
index 4a8d18a..b21625e 100644
--- a/client/includes/store/sql/DirectSqlStore.php
+++ b/client/includes/store/sql/DirectSqlStore.php
@@ -19,6 +19,7 @@
use Wikibase\Client\WikibaseClient;
use Wikibase\DataModel\Services\EntityId\EntityIdParser;
use Wikibase\DataModel\Services\Lookup\EntityLookup;
+use Wikibase\Lib\Store\BadgeLookup;
use Wikibase\Lib\Store\BadgeTable;
use Wikibase\Lib\Store\CachingEntityRevisionLookup;
use Wikibase\Lib\Store\CachingSiteLinkLookup;
@@ -129,6 +130,11 @@
* @var SiteLinkLookup|null
*/
private $siteLinkLookup = null;
+
+ /**
+ * @var BadgeLookup|null
+ */
+ private $badgeLookup = null;
/**
* @var UsageTracker|null
@@ -290,6 +296,19 @@
}
/**
+ * @see ClientStore::getBadgeLookup
+ *
+ * @return BadgeLookup
+ */
+ public function getBadgeLookup() {
+ if ( $this->badgeLookup === null ) {
+ $this->badgeLookup = new BadgeTable(
'wb_badges_per_sitelink', true );
+ }
+
+ return $this->badgeLookup;
+ }
+
+ /**
* @see ClientStore::getEntityLookup
*
* The EntityLookup returned by this method will resolve redirects.
diff --git a/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php
b/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php
index ec69f08..08148e5 100644
--- a/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php
+++ b/client/tests/phpunit/includes/store/sql/DirectSqlStoreTest.php
@@ -45,6 +45,7 @@
public function provideGetters() {
return array(
array( 'getSiteLinkLookup',
'Wikibase\Lib\Store\SiteLinkLookup' ),
+ array( 'getBadgeLookup',
'Wikibase\Lib\Store\BadgeLookup' ),
array( 'getEntityLookup',
'Wikibase\DataModel\Services\Lookup\EntityLookup' ),
array( 'getTermIndex', 'Wikibase\TermIndex' ),
array( 'getPropertyLabelResolver',
'Wikibase\PropertyLabelResolver' ),
--
To view, visit https://gerrit.wikimedia.org/r/234962
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I74330fa7ad3112ebf9c6b2913c596e515f90a58a
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Bene <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits