Addshore has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/403117 )
Change subject: Use RevisionLookup where possible in Revision
......................................................................
Use RevisionLookup where possible in Revision
Change-Id: I8df61374e24abcf4a7e38e53647489b8ecc1fd77
---
M includes/MediaWikiServices.php
M includes/Revision.php
M includes/ServiceWiring.php
M tests/phpunit/includes/MediaWikiServicesTest.php
4 files changed, 29 insertions(+), 6 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core
refs/changes/17/403117/1
diff --git a/includes/MediaWikiServices.php b/includes/MediaWikiServices.php
index 5b173cd..06f5386 100644
--- a/includes/MediaWikiServices.php
+++ b/includes/MediaWikiServices.php
@@ -14,6 +14,7 @@
use MediaWiki\Shell\CommandFactory;
use MediaWiki\Storage\BlobStore;
use MediaWiki\Storage\BlobStoreFactory;
+use MediaWiki\Storage\RevisionLookup;
use MediaWiki\Storage\RevisionStore;
use Wikimedia\Rdbms\LBFactory;
use LinkCache;
@@ -728,6 +729,14 @@
/**
* @since 1.31
+ * @return RevisionLookup
+ */
+ public function getRevisionLookup() {
+ return $this->getService( 'RevisionLookup' );
+ }
+
+ /**
+ * @since 1.31
* @return PreferencesFactory
*/
public function getPreferencesFactory() {
diff --git a/includes/Revision.php b/includes/Revision.php
index 10b896b..92dd244 100644
--- a/includes/Revision.php
+++ b/includes/Revision.php
@@ -22,6 +22,7 @@
use MediaWiki\Storage\MutableRevisionRecord;
use MediaWiki\Storage\RevisionAccessException;
+use MediaWiki\Storage\RevisionLookup;
use MediaWiki\Storage\RevisionRecord;
use MediaWiki\Storage\RevisionStore;
use MediaWiki\Storage\RevisionStoreRecord;
@@ -65,6 +66,13 @@
}
/**
+ * @return RevisionLookup
+ */
+ protected static function getRevisionLookup() {
+ return MediaWikiServices::getInstance()->getRevisionLookup();
+ }
+
+ /**
* @param bool|string $wiki The ID of the target wiki database. Use
false for the local wiki.
*
* @return SqlBlobStore
@@ -97,7 +105,7 @@
* @return Revision|null
*/
public static function newFromId( $id, $flags = 0 ) {
- $rec = self::getRevisionStore()->getRevisionById( $id, $flags );
+ $rec = self::getRevisionLookup()->getRevisionById( $id, $flags
);
return $rec === null ? null : new Revision( $rec, $flags );
}
@@ -116,7 +124,7 @@
* @return Revision|null
*/
public static function newFromTitle( LinkTarget $linkTarget, $id = 0,
$flags = 0 ) {
- $rec = self::getRevisionStore()->getRevisionByTitle(
$linkTarget, $id, $flags );
+ $rec = self::getRevisionLookup()->getRevisionByTitle(
$linkTarget, $id, $flags );
return $rec === null ? null : new Revision( $rec, $flags );
}
@@ -135,7 +143,7 @@
* @return Revision|null
*/
public static function newFromPageId( $pageId, $revId = 0, $flags = 0 )
{
- $rec = self::getRevisionStore()->getRevisionByPageId( $pageId,
$revId, $flags );
+ $rec = self::getRevisionLookup()->getRevisionByPageId( $pageId,
$revId, $flags );
return $rec === null ? null : new Revision( $rec, $flags );
}
@@ -923,7 +931,7 @@
* @return Revision|null
*/
public function getPrevious() {
- $rec = self::getRevisionStore()->getPreviousRevision(
$this->mRecord );
+ $rec = self::getRevisionLookup()->getPreviousRevision(
$this->mRecord );
return $rec === null ? null : new Revision( $rec );
}
@@ -933,7 +941,7 @@
* @return Revision|null
*/
public function getNext() {
- $rec = self::getRevisionStore()->getNextRevision(
$this->mRecord );
+ $rec = self::getRevisionLookup()->getNextRevision(
$this->mRecord );
return $rec === null ? null : new Revision( $rec );
}
@@ -1189,7 +1197,7 @@
return false;
}
- $record = self::getRevisionStore()->getKnownCurrentRevision(
$title, $revId );
+ $record = self::getRevisionLookup()->getKnownCurrentRevision(
$title, $revId );
return $record ? new Revision( $record ) : false;
}
}
diff --git a/includes/ServiceWiring.php b/includes/ServiceWiring.php
index 246b838..ef84b19 100644
--- a/includes/ServiceWiring.php
+++ b/includes/ServiceWiring.php
@@ -477,6 +477,10 @@
return $store;
},
+ 'RevisionLookup' => function ( MediaWikiServices $services ) {
+ return $services->getRevisionStore();
+ },
+
'BlobStoreFactory' => function ( MediaWikiServices $services ) {
global $wgContLang;
return new BlobStoreFactory(
diff --git a/tests/phpunit/includes/MediaWikiServicesTest.php
b/tests/phpunit/includes/MediaWikiServicesTest.php
index dbb7799..93cf130 100644
--- a/tests/phpunit/includes/MediaWikiServicesTest.php
+++ b/tests/phpunit/includes/MediaWikiServicesTest.php
@@ -9,6 +9,7 @@
use MediaWiki\Shell\CommandFactory;
use MediaWiki\Storage\BlobStore;
use MediaWiki\Storage\BlobStoreFactory;
+use MediaWiki\Storage\RevisionLookup;
use MediaWiki\Storage\RevisionStore;
use MediaWiki\Storage\SqlBlobStore;
@@ -339,6 +340,7 @@
'BlobStore' => [ 'BlobStore', BlobStore::class ],
'_SqlBlobStore' => [ '_SqlBlobStore',
SqlBlobStore::class ],
'RevisionStore' => [ 'RevisionStore',
RevisionStore::class ],
+ 'RevisionLookup' => [ 'RevisionLookup',
RevisionLookup::class ],
];
}
--
To view, visit https://gerrit.wikimedia.org/r/403117
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I8df61374e24abcf4a7e38e53647489b8ecc1fd77
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits