Reorg: Move ActorMigration and ActorMigrationBase to user/

This may seem a bit weird but anything else related to actor is already
under user/ including ActorCache, ActorNormalization, ActorStore and
ActorStoreFactory.

Bug: T321882
Change-Id: I7072b374bba7a0cd9d905e399c822bf30bd5c0d8
This commit is contained in:
Amir Sarabadani 2022-12-16 12:41:52 +01:00
parent d11a785c3b
commit cb18d1007e
33 changed files with 72 additions and 38 deletions

View file

@ -11,8 +11,8 @@ $wgAutoloadLocalClasses = [
'Action' => __DIR__ . '/includes/actions/Action.php',
'ActiveUsersPager' => __DIR__ . '/includes/specials/pagers/ActiveUsersPager.php',
'ActivityUpdateJob' => __DIR__ . '/includes/jobqueue/jobs/ActivityUpdateJob.php',
'ActorMigration' => __DIR__ . '/includes/ActorMigration.php',
'ActorMigrationBase' => __DIR__ . '/includes/ActorMigrationBase.php',
'ActorMigration' => __DIR__ . '/includes/user/ActorMigration.php',
'ActorMigrationBase' => __DIR__ . '/includes/user/ActorMigrationBase.php',
'AddChangeTag' => __DIR__ . '/maintenance/addChangeTag.php',
'AddRFCandPMIDInterwiki' => __DIR__ . '/maintenance/addRFCandPMIDInterwiki.php',
'AddSite' => __DIR__ . '/maintenance/addSite.php',
@ -1927,6 +1927,8 @@ $wgAutoloadLocalClasses = [
'MediaWiki\\Title\\TitleArrayFromResult' => __DIR__ . '/includes/title/TitleArrayFromResult.php',
'MediaWiki\\Title\\TitleFactory' => __DIR__ . '/includes/title/TitleFactory.php',
'MediaWiki\\User\\ActorCache' => __DIR__ . '/includes/user/ActorCache.php',
'MediaWiki\\User\\ActorMigration' => __DIR__ . '/includes/user/ActorMigration.php',
'MediaWiki\\User\\ActorMigrationBase' => __DIR__ . '/includes/user/ActorMigrationBase.php',
'MediaWiki\\User\\ActorNormalization' => __DIR__ . '/includes/user/ActorNormalization.php',
'MediaWiki\\User\\ActorStore' => __DIR__ . '/includes/user/ActorStore.php',
'MediaWiki\\User\\ActorStoreFactory' => __DIR__ . '/includes/user/ActorStoreFactory.php',

View file

@ -20,7 +20,6 @@
namespace MediaWiki;
use ActorMigration;
use BagOStuff;
use CentralIdLookup;
use CommentStore;
@ -135,6 +134,7 @@ use MediaWiki\Storage\PageUpdaterFactory;
use MediaWiki\Storage\RevertedTagUpdateManager;
use MediaWiki\Tidy\TidyDriverBase;
use MediaWiki\Title\TitleFactory;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\ActorNormalization;
use MediaWiki\User\ActorStore;
use MediaWiki\User\ActorStoreFactory;

View file

@ -2,7 +2,6 @@
namespace MediaWiki\Rest\Handler;
use ActorMigration;
use ChangeTags;
use MediaWiki\Page\ExistingPageRecord;
use MediaWiki\Page\PageLookup;
@ -15,6 +14,7 @@ use MediaWiki\Revision\RevisionStore;
use MediaWiki\Storage\NameTableAccessException;
use MediaWiki\Storage\NameTableStore;
use MediaWiki\Storage\NameTableStoreFactory;
use MediaWiki\User\ActorMigration;
use TitleFormatter;
use WANObjectCache;
use Wikimedia\Message\MessageValue;

View file

@ -2,7 +2,6 @@
namespace MediaWiki\Revision;
use ActorMigration;
use ChangeTags;
use ContribsPager;
use IContextSource;
@ -12,6 +11,7 @@ use MediaWiki\HookContainer\HookContainer;
use MediaWiki\Linker\LinkRendererFactory;
use MediaWiki\Permissions\Authority;
use MediaWiki\Request\FauxRequest;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\UserIdentity;
use Message;
use NamespaceInfo;

View file

@ -25,7 +25,6 @@
namespace MediaWiki\Revision;
use ActorMigration;
use BagOStuff;
use CommentStore;
use CommentStoreComment;
@ -52,6 +51,7 @@ use MediaWiki\Storage\NameTableStore;
use MediaWiki\Storage\RevisionSlotsUpdate;
use MediaWiki\Storage\SqlBlobStore;
use MediaWiki\Title\TitleFactory;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\ActorStore;
use MediaWiki\User\UserIdentity;
use MWException;

View file

@ -26,7 +26,6 @@
namespace MediaWiki\Revision;
use ActorMigration;
use BagOStuff;
use CommentStore;
use MediaWiki\Content\IContentHandlerFactory;
@ -35,6 +34,7 @@ use MediaWiki\Page\PageStoreFactory;
use MediaWiki\Storage\BlobStoreFactory;
use MediaWiki\Storage\NameTableStoreFactory;
use MediaWiki\Title\TitleFactory;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\ActorStoreFactory;
use Psr\Log\LoggerInterface;
use WANObjectCache;

View file

@ -163,6 +163,7 @@ use MediaWiki\Storage\SqlBlobStore;
use MediaWiki\Tidy\RemexDriver;
use MediaWiki\Tidy\TidyDriverBase;
use MediaWiki\Title\TitleFactory;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\ActorNormalization;
use MediaWiki\User\ActorStore;
use MediaWiki\User\ActorStoreFactory;

View file

@ -32,6 +32,7 @@ use MediaWiki\Revision\RevisionAccessException;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\Revision\SlotRecord;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserRigorOptions;
use Wikimedia\ParamValidator\ParamValidator;

View file

@ -29,6 +29,7 @@ use MediaWiki\ParamValidator\TypeDef\UserDef;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\Revision\SlotRoleRegistry;
use MediaWiki\User\ActorMigration;
use Wikimedia\ParamValidator\ParamValidator;
/**

View file

@ -26,6 +26,7 @@
use MediaWiki\Permissions\GroupPermissionsLookup;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\UserGroupManager;
use Wikimedia\ParamValidator\ParamValidator;
use Wikimedia\ParamValidator\TypeDef\IntegerDef;

View file

@ -30,6 +30,7 @@ use MediaWiki\Revision\RevisionStore;
use MediaWiki\Revision\SlotRoleRegistry;
use MediaWiki\Storage\NameTableAccessException;
use MediaWiki\Storage\NameTableStore;
use MediaWiki\User\ActorMigration;
use Wikimedia\ParamValidator\ParamValidator;
/**

View file

@ -27,6 +27,7 @@ use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\Storage\NameTableAccessException;
use MediaWiki\Storage\NameTableStore;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserIdentityLookup;
use MediaWiki\User\UserNameUtils;

View file

@ -21,7 +21,6 @@
namespace MediaWiki\Page;
use ActorMigration;
use BagOStuff;
use CommentStore;
use Config;
@ -39,6 +38,7 @@ use MediaWiki\Revision\ArchivedRevisionLookup;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\Storage\PageUpdaterFactory;
use MediaWiki\Title\TitleFactory;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\ActorNormalization;
use MediaWiki\User\UserEditTracker;
use MediaWiki\User\UserFactory;

View file

@ -20,7 +20,6 @@
namespace MediaWiki\Page;
use ActorMigration;
use CommentStoreComment;
use ManualLogEntry;
use MediaWiki\Config\ServiceOptions;
@ -35,6 +34,7 @@ use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\Revision\SlotRecord;
use MediaWiki\Storage\EditResult;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\ActorNormalization;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserIdentity;

View file

@ -45,6 +45,7 @@ use MediaWiki\Storage\PageUpdateStatus;
use MediaWiki\Storage\PreparedUpdate;
use MediaWiki\Storage\RevisionSlotsUpdate;
use MediaWiki\Title\TitleArray;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserIdentityValue;
use Wikimedia\Assert\Assert;

View file

@ -30,6 +30,7 @@ use MediaWiki\MediaWikiServices;
use MediaWiki\Permissions\PermissionManager;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\Specials\Contribute\ContributeFactory;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\UserFactory;
use MediaWiki\User\UserNamePrefixSearch;
use MediaWiki\User\UserNameUtils;

View file

@ -29,6 +29,7 @@ use MediaWiki\MainConfigNames;
use MediaWiki\MediaWikiServices;
use MediaWiki\Revision\RevisionRecord;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserRigorOptions;
use Wikimedia\IPUtils;

View file

@ -1,8 +1,9 @@
<?php
namespace MediaWiki\User;
use InvalidArgumentException;
use MediaWiki\MediaWikiServices;
use MediaWiki\User\ActorStoreFactory;
use MediaWiki\User\UserIdentity;
use Wikimedia\Rdbms\IDatabase;
/**
@ -38,7 +39,7 @@ class ActorMigration extends ActorMigrationBase {
'revactor_timestamp' => 'rev_timestamp',
'revactor_page' => 'rev_page',
],
]
],
],
// Deprecated since 1.34
@ -69,8 +70,8 @@ class ActorMigration extends ActorMigrationBase {
'ipb_by' => [
'deprecatedVersion' => '1.37',
'textField' => 'ipb_by_text',
'actorField' => 'ipb_by_actor'
]
'actorField' => 'ipb_by_actor',
],
];
/**
@ -93,7 +94,8 @@ class ActorMigration extends ActorMigrationBase {
) {
if ( $stage & SCHEMA_COMPAT_OLD ) {
throw new InvalidArgumentException(
'The old actor table schema is no longer supported' );
'The old actor table schema is no longer supported'
);
}
parent::__construct(
self::FIELD_INFOS,
@ -141,3 +143,5 @@ class ActorMigration extends ActorMigrationBase {
}
}
class_alias( ActorMigration::class, 'ActorMigration' );

View file

@ -20,8 +20,10 @@
* @file
*/
use MediaWiki\User\ActorStoreFactory;
use MediaWiki\User\UserIdentity;
namespace MediaWiki\User;
use InvalidArgumentException;
use ReflectionClass;
use Wikimedia\IPUtils;
use Wikimedia\Rdbms\IDatabase;
@ -111,9 +113,9 @@ class ActorMigrationBase {
if ( $readStage === 0 ) {
throw new InvalidArgumentException( '$stage must include a read mode' );
}
if ( !in_array( $readStage,
[ SCHEMA_COMPAT_READ_OLD, SCHEMA_COMPAT_READ_TEMP, SCHEMA_COMPAT_READ_NEW ] )
) {
if ( !in_array(
$readStage, [ SCHEMA_COMPAT_READ_OLD, SCHEMA_COMPAT_READ_TEMP, SCHEMA_COMPAT_READ_NEW ]
) ) {
throw new InvalidArgumentException( 'Cannot read multiple schemas' );
}
if ( $readStage === SCHEMA_COMPAT_READ_OLD && !( $writeStage & SCHEMA_COMPAT_WRITE_OLD ) ) {
@ -155,7 +157,7 @@ class ActorMigrationBase {
* @stable to override
*
* @return string
* @throws ReflectionException
* @throws \ReflectionException
*/
protected function getInstanceName() {
if ( ( new ReflectionClass( $this ) )->isAnonymous() ) {
@ -261,8 +263,10 @@ class ActorMigrationBase {
if ( $tempTableInfo ) {
$alias = "temp_$key";
$tables[$alias] = $tempTableInfo['table'];
$joins[$alias] = [ 'JOIN',
"{$alias}.{$tempTableInfo['pk']} = {$tempTableInfo['joinPK']}" ];
$joins[$alias] = [
'JOIN',
"{$alias}.{$tempTableInfo['pk']} = {$tempTableInfo['joinPK']}",
];
$joinField = "{$alias}.{$tempTableInfo['field']}";
} else {
$joinField = $actor;
@ -317,12 +321,9 @@ class ActorMigrationBase {
$ret[$key] = $user->getId();
$ret[$text] = $user->getName();
}
if ( $this->writeStage & SCHEMA_COMPAT_WRITE_TEMP
|| $this->writeStage & SCHEMA_COMPAT_WRITE_NEW
) {
$ret[$actor] = $this->actorStoreFactory
->getActorNormalization( $dbw->getDomainID() )
->acquireActorId( $user, $dbw );
if ( $this->writeStage & SCHEMA_COMPAT_WRITE_TEMP || $this->writeStage & SCHEMA_COMPAT_WRITE_NEW ) {
$ret[$actor] =
$this->actorStoreFactory->getActorNormalization( $dbw->getDomainID() )->acquireActorId( $user, $dbw );
}
return $ret;
}
@ -345,9 +346,11 @@ class ActorMigrationBase {
$fieldInfo = $this->getFieldInfo( $key );
$tempTableInfo = $fieldInfo['tempTable'] ?? null;
if ( isset( $fieldInfo['formerTempTableVersion'] ) ) {
wfDeprecated( __METHOD__ . " for $key",
wfDeprecated(
__METHOD__ . " for $key",
$fieldInfo['formerTempTableVersion'],
$fieldInfo['component'] ?? 'MediaWiki' );
$fieldInfo['component'] ?? 'MediaWiki'
);
} elseif ( !$tempTableInfo ) {
throw new InvalidArgumentException( "Must use getInsertValues() for $key" );
}
@ -488,8 +491,10 @@ class ActorMigrationBase {
if ( $tempTableInfo ) {
$alias = "temp_$key";
$tables[$alias] = $tempTableInfo['table'];
$joins[$alias] = [ 'JOIN',
"{$alias}.{$tempTableInfo['pk']} = {$tempTableInfo['joinPK']}" ];
$joins[$alias] = [
'JOIN',
"{$alias}.{$tempTableInfo['pk']} = {$tempTableInfo['joinPK']}",
];
$joinField = "{$alias}.{$tempTableInfo['field']}";
} else {
$joinField = $actor;
@ -513,3 +518,5 @@ class ActorMigrationBase {
];
}
}
class_alias( ActorMigrationBase::class, 'ActorMigrationBase' );

View file

@ -2,7 +2,6 @@
namespace MediaWiki\User;
use ActorMigration;
use DBAccessObjectUtils;
use DeferredUpdates;
use IDBAccessObject;

View file

@ -1,5 +1,6 @@
<?php
use MediaWiki\User\ActorMigration;
use Wikimedia\Rdbms\IDatabase;
require_once __DIR__ . '/Maintenance.php';

View file

@ -26,6 +26,7 @@ require_once __DIR__ . '/Maintenance.php';
use MediaWiki\MediaWikiServices;
use MediaWiki\StubObject\StubGlobalUser;
use MediaWiki\User\ActorMigration;
/**
* Maintenance script that deletes all pages in the MediaWiki namespace

View file

@ -22,6 +22,8 @@
* @ingroup Maintenance
*/
use MediaWiki\User\ActorMigration;
require_once __DIR__ . '/Maintenance.php';
/**

View file

@ -25,6 +25,7 @@
require_once __DIR__ . '/Maintenance.php';
use MediaWiki\MediaWikiServices;
use MediaWiki\User\ActorMigration;
class InitEditCount extends Maintenance {
public function __construct() {

View file

@ -26,6 +26,7 @@
require_once __DIR__ . '/Maintenance.php';
use MediaWiki\User\ActorMigration;
use Wikimedia\IPUtils;
/**

View file

@ -24,6 +24,7 @@
*/
use MediaWiki\MediaWikiServices;
use MediaWiki\User\ActorMigration;
use Wikimedia\IPUtils;
require_once __DIR__ . '/Maintenance.php';

View file

@ -26,6 +26,7 @@
require_once __DIR__ . '/Maintenance.php';
use MediaWiki\MediaWikiServices;
use MediaWiki\User\ActorMigration;
use Wikimedia\Rdbms\IDatabase;
use Wikimedia\Rdbms\ILBFactory;

View file

@ -24,6 +24,7 @@
*/
use MediaWiki\MediaWikiServices;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\UserIdentity;
require_once __DIR__ . '/Maintenance.php';

View file

@ -23,6 +23,7 @@
*/
use MediaWiki\MediaWikiServices;
use MediaWiki\User\ActorMigration;
require_once __DIR__ . '/Maintenance.php';

View file

@ -6,6 +6,7 @@ use MediaWiki\HookContainer\HookContainer;
use MediaWiki\Linker\LinkRenderer;
use MediaWiki\MainConfigNames;
use MediaWiki\Revision\RevisionStore;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\UserIdentity;
use MediaWiki\User\UserIdentityValue;
use Wikimedia\Rdbms\FakeResultWrapper;

View file

@ -1,5 +1,7 @@
<?php
use MediaWiki\User\ActorMigration;
use MediaWiki\User\ActorMigrationBase;
use MediaWiki\User\ActorStore;
use MediaWiki\User\ActorStoreFactory;
use MediaWiki\User\UserIdentity;
@ -688,7 +690,7 @@ class ActorMigrationTest extends MediaWikiLangTestCase {
* @param int $stage
*/
public function testInsertWithTempTableDeprecated( $stage ) {
$this->hideDeprecated( 'ActorMigrationBase::getInsertValuesWithTempTable for am1_user' );
$this->hideDeprecated( 'MediaWiki\User\ActorMigrationBase::getInsertValuesWithTempTable for am1_user' );
$m = new ActorMigrationBase(
[
'am1_user' => [
@ -830,7 +832,7 @@ class ActorMigrationTest extends MediaWikiLangTestCase {
}
};
$this->hideDeprecated( 'ActorMigrationBase for \'hard\'' );
$this->hideDeprecated( 'MediaWiki\User\ActorMigrationBase for \'hard\'' );
$m->checkDeprecationForTest( 'valid' );
$m->checkDeprecationForTest( 'soft' );
@ -839,7 +841,7 @@ class ActorMigrationTest extends MediaWikiLangTestCase {
$m->checkDeprecationForTest( 'gone' );
} catch ( InvalidArgumentException $ex ) {
$this->assertSame(
'Use of ActorMigrationBase for \'gone\' was removed in MediaWiki 1.34',
'Use of MediaWiki\User\ActorMigrationBase for \'gone\' was removed in MediaWiki 1.34',
$ex->getMessage()
);
}

View file

@ -2,7 +2,6 @@
namespace MediaWiki\Tests\Unit\Revision;
use ActorMigration;
use CommentStore;
use HashBagOStuff;
use MediaWiki\Content\IContentHandlerFactory;
@ -17,6 +16,7 @@ use MediaWiki\Storage\NameTableStore;
use MediaWiki\Storage\NameTableStoreFactory;
use MediaWiki\Storage\SqlBlobStore;
use MediaWiki\Title\TitleFactory;
use MediaWiki\User\ActorMigration;
use MediaWiki\User\ActorStore;
use MediaWiki\User\ActorStoreFactory;
use MediaWiki\User\UserIdentityLookup;