Rename DefaultOptionsManager to DefaultOptionsLookup

This is not really a manager, since it only supports
reading defaul options. Inroduced in 1.35 and not yet
used outside of core, so no deprecations are needed.

Change-Id: If67af54574d9c2e44ed85d1bdd098afd0a21e8f9
This commit is contained in:
Petr Pchelko 2020-05-11 12:19:13 -07:00
parent dd31864c50
commit 2436bb635e
6 changed files with 41 additions and 42 deletions

View file

@ -92,7 +92,7 @@ use MediaWiki\Storage\BlobStoreFactory;
use MediaWiki\Storage\NameTableStoreFactory;
use MediaWiki\Storage\PageEditStash;
use MediaWiki\Storage\SqlBlobStore;
use MediaWiki\User\DefaultOptionsManager;
use MediaWiki\User\DefaultOptionsLookup;
use MediaWiki\User\TalkPageNotificationManager;
use MediaWiki\User\UserNameUtils;
use MediaWiki\User\UserOptionsLookup;
@ -1119,7 +1119,7 @@ return [
'UserOptionsManager' => function ( MediaWikiServices $services ) : UserOptionsManager {
return new UserOptionsManager(
new ServiceOptions( UserOptionsManager::CONSTRUCTOR_OPTIONS, $services->getMainConfig() ),
$services->get( '_DefaultOptionsManager' ),
$services->get( '_DefaultOptionsLookup' ),
$services->getLanguageConverterFactory(),
$services->getDBLoadBalancer(),
LoggerFactory::getInstance( 'UserOptionsManager' )
@ -1185,9 +1185,9 @@ return [
);
},
'_DefaultOptionsManager' => function ( MediaWikiServices $services ) : DefaultOptionsManager {
return new DefaultOptionsManager(
new ServiceOptions( DefaultOptionsManager::CONSTRUCTOR_OPTIONS, $services->getMainConfig() ),
'_DefaultOptionsLookup' => function ( MediaWikiServices $services ) : DefaultOptionsLookup {
return new DefaultOptionsLookup(
new ServiceOptions( DefaultOptionsLookup::CONSTRUCTOR_OPTIONS, $services->getMainConfig() ),
$services->getContentLanguage()
);
},

View file

@ -441,7 +441,7 @@ abstract class Installer {
$mwServices->redefineService(
'UserOptionsLookup',
function ( MediaWikiServices $services ) {
return $services->get( '_DefaultOptionsManager' );
return $services->get( '_DefaultOptionsLookup' );
}
);

View file

@ -31,7 +31,7 @@ use Wikimedia\Assert\Assert;
* A service class to control default user options
* @since 1.35
*/
class DefaultOptionsManager extends UserOptionsLookup {
class DefaultOptionsLookup extends UserOptionsLookup {
public const CONSTRUCTOR_OPTIONS = [
'DefaultSkin',
@ -127,7 +127,7 @@ class DefaultOptionsManager extends UserOptionsLookup {
}
/**
* Checks if the DefaultOptionsManager is usable as an instance of UserOptionsLookup.
* Checks if the DefaultOptionsLookup is usable as an instance of UserOptionsLookup.
* It only makes sense in an installer context when UserOptionsManager cannot be yet instantiated
* as the database is not available. Thus, this can only be called for an anon user,
* calling under different circumstances indicates a bug.

View file

@ -49,8 +49,8 @@ class UserOptionsManager extends UserOptionsLookup implements IDBAccessObject {
/** @var ServiceOptions */
private $serviceOptions;
/** @var DefaultOptionsManager */
private $defaultOptionsManager;
/** @var DefaultOptionsLookup */
private $defaultOptionsLookup;
/** @var LanguageConverterFactory */
private $languageConverterFactory;
@ -68,23 +68,22 @@ class UserOptionsManager extends UserOptionsLookup implements IDBAccessObject {
private $originalOptionsCache = [];
/**
* UserOptionsManager constructor.
* @param ServiceOptions $options
* @param DefaultOptionsManager $defaultOptionsManager
* @param DefaultOptionsLookup $defaultOptionsLookup
* @param LanguageConverterFactory $languageConverterFactory
* @param ILoadBalancer $loadBalancer
* @param LoggerInterface $logger
*/
public function __construct(
ServiceOptions $options,
DefaultOptionsManager $defaultOptionsManager,
DefaultOptionsLookup $defaultOptionsLookup,
LanguageConverterFactory $languageConverterFactory,
ILoadBalancer $loadBalancer,
LoggerInterface $logger
) {
$options->assertRequiredOptions( self::CONSTRUCTOR_OPTIONS );
$this->serviceOptions = $options;
$this->defaultOptionsManager = $defaultOptionsManager;
$this->defaultOptionsLookup = $defaultOptionsLookup;
$this->languageConverterFactory = $languageConverterFactory;
$this->loadBalancer = $loadBalancer;
$this->logger = $logger;
@ -94,14 +93,14 @@ class UserOptionsManager extends UserOptionsLookup implements IDBAccessObject {
* @inheritDoc
*/
public function getDefaultOptions(): array {
return $this->defaultOptionsManager->getDefaultOptions();
return $this->defaultOptionsLookup->getDefaultOptions();
}
/**
* @inheritDoc
*/
public function getDefaultOption( string $opt ) {
return $this->defaultOptionsManager->getDefaultOption( $opt );
return $this->defaultOptionsLookup->getDefaultOption( $opt );
}
/**
@ -119,7 +118,7 @@ class UserOptionsManager extends UserOptionsLookup implements IDBAccessObject {
# we don't want to erase the preferences in the database in case the preference
# is re-enabled again. So don't touch $mOptions, just override the returned value
if ( !$ignoreHidden && in_array( $oname, $this->serviceOptions->get( 'HiddenPrefs' ) ) ) {
return $this->defaultOptionsManager->getDefaultOption( $oname );
return $this->defaultOptionsLookup->getDefaultOption( $oname );
}
$options = $this->loadUserOptions( $user );
@ -141,14 +140,14 @@ class UserOptionsManager extends UserOptionsLookup implements IDBAccessObject {
# we don't want to erase the preferences in the database in case the preference
# is re-enabled again. So don't touch $mOptions, just override the returned value
foreach ( $this->serviceOptions->get( 'HiddenPrefs' ) as $pref ) {
$default = $this->defaultOptionsManager->getDefaultOption( $pref );
$default = $this->defaultOptionsLookup->getDefaultOption( $pref );
if ( $default !== null ) {
$options[$pref] = $default;
}
}
if ( $flags & self::EXCLUDE_DEFAULTS ) {
$options = array_diff_assoc( $options, $this->defaultOptionsManager->getDefaultOptions() );
$options = array_diff_assoc( $options, $this->defaultOptionsLookup->getDefaultOptions() );
}
return $options;
@ -168,7 +167,7 @@ class UserOptionsManager extends UserOptionsLookup implements IDBAccessObject {
// Explicitly NULL values should refer to defaults
if ( $val === null ) {
$val = $this->defaultOptionsManager->getDefaultOption( $oname );
$val = $this->defaultOptionsLookup->getDefaultOption( $oname );
}
$userKey = $this->getCacheKey( $user );
@ -193,7 +192,7 @@ class UserOptionsManager extends UserOptionsLookup implements IDBAccessObject {
$resetKinds = [ 'registered', 'registered-multiselect', 'registered-checkmatrix', 'unused' ]
) {
$oldOptions = $this->loadUserOptions( $user );
$defaultOptions = $this->defaultOptionsManager->getDefaultOptions();
$defaultOptions = $this->defaultOptionsLookup->getDefaultOptions();
if ( !is_array( $resetKinds ) ) {
$resetKinds = [ $resetKinds ];
@ -378,7 +377,7 @@ class UserOptionsManager extends UserOptionsLookup implements IDBAccessObject {
$insert_rows = []; // all the new preference rows
foreach ( $saveOptions as $key => $value ) {
// Don't bother storing default values
$defaultOption = $this->defaultOptionsManager->getDefaultOption( $key );
$defaultOption = $this->defaultOptionsLookup->getDefaultOption( $key );
if ( ( $defaultOption === null && $value !== false && $value !== null )
|| $value != $defaultOption
) {
@ -458,7 +457,7 @@ class UserOptionsManager extends UserOptionsLookup implements IDBAccessObject {
return $this->optionsCache[$userKey];
}
$options = $this->defaultOptionsManager->getDefaultOptions();
$options = $this->defaultOptionsLookup->getDefaultOptions();
if ( !$user->isRegistered() ) {
// For unlogged-in users, load language/variant options from request.

View file

@ -1,12 +1,12 @@
<?php
use MediaWiki\User\DefaultOptionsManager;
use MediaWiki\User\DefaultOptionsLookup;
use MediaWiki\User\UserOptionsLookup;
/**
* @covers MediaWiki\User\DefaultOptionsManager
* @covers MediaWiki\User\DefaultOptionsLookup
*/
class DefaultOptionsManagerTest extends UserOptionsLookupTest {
class DefaultOptionsLookupTest extends UserOptionsLookupTest {
protected function getLookup(
string $langCode = 'qqq',
array $defaultOptionsOverrides = []
@ -15,15 +15,15 @@ class DefaultOptionsManagerTest extends UserOptionsLookupTest {
}
/**
* @covers MediaWiki\User\DefaultOptionsManager::getOption
* @covers MediaWiki\User\DefaultOptionsLookup::getOption
*/
public function testGetOptionsExcludeDefaults() {
$this->assertSame( [], $this->getLookup()
->getOptions( $this->getAnon(), DefaultOptionsManager::EXCLUDE_DEFAULTS ) );
->getOptions( $this->getAnon(), DefaultOptionsLookup::EXCLUDE_DEFAULTS ) );
}
/**
* @covers MediaWiki\User\DefaultOptionsManager::getDefaultOptions
* @covers MediaWiki\User\DefaultOptionsLookup::getDefaultOptions
*/
public function testGetDefaultOptionsHook() {
$this->setTemporaryHook( 'UserGetDefaultOptions', function ( &$options ) {
@ -33,7 +33,7 @@ class DefaultOptionsManagerTest extends UserOptionsLookupTest {
}
/**
* @covers MediaWiki\User\DefaultOptionsManager::getDefaultOptions
* @covers MediaWiki\User\DefaultOptionsLookup::getDefaultOptions
*/
public function testSearchNS() {
$this->assertTrue( $this->getLookup()->getDefaultOption( 'searchNs0' ) );
@ -41,7 +41,7 @@ class DefaultOptionsManagerTest extends UserOptionsLookupTest {
}
/**
* @covers MediaWiki\User\DefaultOptionsManager::getDefaultOptions
* @covers MediaWiki\User\DefaultOptionsLookup::getDefaultOptions
*/
public function testLangVariantOptions() {
$managerZh = $this->getLookup( 'zh' );

View file

@ -1,13 +1,13 @@
<?php
use MediaWiki\Config\ServiceOptions;
use MediaWiki\User\DefaultOptionsManager;
use MediaWiki\User\DefaultOptionsLookup;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserIdentityValue;
use MediaWiki\User\UserOptionsLookup;
/**
* @covers MediaWiki\User\DefaultOptionsManager
* @covers MediaWiki\User\DefaultOptionsLookup
* @covers MediaWiki\User\UserOptionsManager
* @covers MediaWiki\User\UserOptionsLookup
*/
@ -28,12 +28,12 @@ abstract class UserOptionsLookupTest extends MediaWikiIntegrationTestCase {
protected function getDefaultManager(
string $langCode = 'qqq',
array $defaultOptionsOverrides = []
) : DefaultOptionsManager {
) : DefaultOptionsLookup {
$lang = $this->createMock( Language::class );
$lang->method( 'getCode' )->willReturn( $langCode );
return new DefaultOptionsManager(
return new DefaultOptionsLookup(
new ServiceOptions(
DefaultOptionsManager::CONSTRUCTOR_OPTIONS,
DefaultOptionsLookup::CONSTRUCTOR_OPTIONS,
new HashConfig( [
'DefaultSkin' => 'test',
'DefaultUserOptions' => array_merge( [
@ -52,7 +52,7 @@ abstract class UserOptionsLookupTest extends MediaWikiIntegrationTestCase {
}
/**
* @covers MediaWiki\User\DefaultOptionsManager::getDefaultOptions
* @covers MediaWiki\User\DefaultOptionsLookup::getDefaultOptions
* @covers MediaWiki\User\UserOptionsManager::getDefaultOptions
*/
public function testGetDefaultOptions() {
@ -63,7 +63,7 @@ abstract class UserOptionsLookupTest extends MediaWikiIntegrationTestCase {
}
/**
* @covers MediaWiki\User\DefaultOptionsManager::getDefaultOption
* @covers MediaWiki\User\DefaultOptionsLookup::getDefaultOption
* @covers MediaWiki\User\UserOptionsManager::getDefaultOption
*/
public function testGetDefaultOption() {
@ -74,7 +74,7 @@ abstract class UserOptionsLookupTest extends MediaWikiIntegrationTestCase {
}
/**
* @covers MediaWiki\User\DefaultOptionsManager::getOptions
* @covers MediaWiki\User\DefaultOptionsLookup::getOptions
* @covers MediaWiki\User\UserOptionsManager::getOptions
*/
public function testGetOptions() {
@ -85,7 +85,7 @@ abstract class UserOptionsLookupTest extends MediaWikiIntegrationTestCase {
}
/**
* @covers MediaWiki\User\DefaultOptionsManager::getOption
* @covers MediaWiki\User\DefaultOptionsLookup::getOption
* @covers MediaWiki\User\UserOptionsManager::getOption
*/
public function testGetOptionDefault() {
@ -97,7 +97,7 @@ abstract class UserOptionsLookupTest extends MediaWikiIntegrationTestCase {
}
/**
* @covers MediaWiki\User\DefaultOptionsManager::getOption
* @covers MediaWiki\User\DefaultOptionsLookup::getOption
* @covers MediaWiki\User\UserOptionsManager::getOption
*/
public function testGetOptionDefaultNotExist() {
@ -106,7 +106,7 @@ abstract class UserOptionsLookupTest extends MediaWikiIntegrationTestCase {
}
/**
* @covers MediaWiki\User\DefaultOptionsManager::getOption
* @covers MediaWiki\User\DefaultOptionsLookup::getOption
* @covers MediaWiki\User\UserOptionsManager::getOption
*/
public function testGetOptionDefaultNotExistDefaultOverride() {