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 <addshorew...@gmail.com>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to