Merge "config: Add new ConfigRepository"
authorjenkins-bot <jenkins-bot@gerrit.wikimedia.org>
Thu, 19 Jul 2018 14:40:26 +0000 (14:40 +0000)
committerGerrit Code Review <gerrit@wikimedia.org>
Thu, 19 Jul 2018 14:40:26 +0000 (14:40 +0000)
1  2 
autoload.php
includes/MediaWikiServices.php
includes/ServiceWiring.php
tests/phpunit/includes/MediaWikiServicesTest.php

diff --combined autoload.php
@@@ -703,6 -703,7 +703,6 @@@ $wgAutoloadLocalClasses = 
        'JobQueueMemory' => __DIR__ . '/includes/jobqueue/JobQueueMemory.php',
        'JobQueueReadOnlyError' => __DIR__ . '/includes/jobqueue/JobQueue.php',
        'JobQueueRedis' => __DIR__ . '/includes/jobqueue/JobQueueRedis.php',
 -      'JobQueueSecondTestQueue' => __DIR__ . '/includes/jobqueue/JobQueueSecondTestQueue.php',
        'JobRunner' => __DIR__ . '/includes/jobqueue/JobRunner.php',
        'JobSpecification' => __DIR__ . '/includes/jobqueue/JobSpecification.php',
        'JpegHandler' => __DIR__ . '/includes/media/JpegHandler.php',
        'MediaWiki\\Auth\\Throttler' => __DIR__ . '/includes/auth/Throttler.php',
        'MediaWiki\\Auth\\UserDataAuthenticationRequest' => __DIR__ . '/includes/auth/UserDataAuthenticationRequest.php',
        'MediaWiki\\Auth\\UsernameAuthenticationRequest' => __DIR__ . '/includes/auth/UsernameAuthenticationRequest.php',
+       'MediaWiki\\Config\\ConfigRepository' => __DIR__ . '/includes/config/ConfigRepository.php',
        'MediaWiki\\DB\\PatchFileLocation' => __DIR__ . '/includes/db/PatchFileLocation.php',
        'MediaWiki\\Diff\\ComplexityException' => __DIR__ . '/includes/diff/ComplexityException.php',
        'MediaWiki\\Diff\\WordAccumulator' => __DIR__ . '/includes/diff/WordAccumulator.php',
        'PasswordReset' => __DIR__ . '/includes/user/PasswordReset.php',
        'PatchSql' => __DIR__ . '/maintenance/patchSql.php',
        'PathRouter' => __DIR__ . '/includes/PathRouter.php',
 -      'PathRouterPatternReplacer' => __DIR__ . '/includes/PathRouter.php',
        'PatrolLog' => __DIR__ . '/includes/logging/PatrolLog.php',
        'PatrolLogFormatter' => __DIR__ . '/includes/logging/PatrolLogFormatter.php',
        'Pbkdf2Password' => __DIR__ . '/includes/password/Pbkdf2Password.php',
@@@ -21,12 -21,14 +21,13 @@@ use MediaWiki\Storage\NameTableStore
  use MediaWiki\Storage\RevisionFactory;
  use MediaWiki\Storage\RevisionLookup;
  use MediaWiki\Storage\RevisionStore;
 -use MediaWiki\Storage\RevisionStoreFactory;
  use OldRevisionImporter;
  use UploadRevisionImporter;
  use Wikimedia\Rdbms\LBFactory;
  use LinkCache;
  use Wikimedia\Rdbms\LoadBalancer;
  use MediaHandlerFactory;
+ use MediaWiki\Config\ConfigRepository;
  use MediaWiki\Linker\LinkRenderer;
  use MediaWiki\Linker\LinkRendererFactory;
  use MediaWiki\Services\SalvageableService;
@@@ -767,6 -769,14 +768,6 @@@ class MediaWikiServices extends Service
                return $this->getService( 'RevisionStore' );
        }
  
 -      /**
 -       * @since 1.32
 -       * @return RevisionStoreFactory
 -       */
 -      public function getRevisionStoreFactory() {
 -              return $this->getService( 'RevisionStoreFactory' );
 -      }
 -
        /**
         * @since 1.31
         * @return RevisionLookup
                return $this->getService( 'OldRevisionImporter' );
        }
  
+       /**
+        * @return ConfigRepository
+        */
+       public function getConfigRepository() {
+               return $this->getService( 'ConfigRepository' );
+       }
        ///////////////////////////////////////////////////////////////////////////
        // NOTE: When adding a service getter here, don't forget to add a test
        // case for it in MediaWikiServicesTest::provideGetters() and in
@@@ -38,6 -38,7 +38,7 @@@
   */
  
  use MediaWiki\Auth\AuthManager;
+ use MediaWiki\Config\ConfigRepository;
  use MediaWiki\Interwiki\ClassicInterwikiLookup;
  use MediaWiki\Linker\LinkRendererFactory;
  use MediaWiki\Logger\LoggerFactory;
@@@ -46,7 -47,7 +47,7 @@@ use MediaWiki\Preferences\DefaultPrefer
  use MediaWiki\Shell\CommandFactory;
  use MediaWiki\Storage\BlobStoreFactory;
  use MediaWiki\Storage\NameTableStore;
 -use MediaWiki\Storage\RevisionStoreFactory;
 +use MediaWiki\Storage\RevisionStore;
  use MediaWiki\Storage\SqlBlobStore;
  use Wikimedia\ObjectFactory;
  
@@@ -104,6 -105,10 +105,10 @@@ return 
                return $factory;
        },
  
+       'ConfigRepository' => function ( MediaWikiServices $services ) {
+               return new ConfigRepository( $services->getConfigFactory() );
+       },
        'MainConfig' => function ( MediaWikiServices $services ) {
                // Use the 'main' config from the ConfigFactory service.
                return $services->getConfigFactory()->makeConfig( 'main' );
        },
  
        'RevisionStore' => function ( MediaWikiServices $services ) {
 -              return $services->getRevisionStoreFactory()->getRevisionStore();
 -      },
 -
 -      'RevisionStoreFactory' => function ( MediaWikiServices $services ) {
                /** @var SqlBlobStore $blobStore */
                $blobStore = $services->getService( '_SqlBlobStore' );
 -              $config = $services->getMainConfig();
  
 -              $store = new RevisionStoreFactory(
 +              $store = new RevisionStore(
                        $services->getDBLoadBalancer(),
                        $blobStore,
                        $services->getMainWANObjectCache(),
                        $services->getContentModelStore(),
                        $services->getSlotRoleStore(),
                        $services->getMainConfig()->get( 'MultiContentRevisionSchemaMigrationStage' ),
 -                      $services->getActorMigration(),
 -                      LoggerFactory::getInstance( 'RevisionStore' ),
 -                      $config->get( 'ContentHandlerUseDB' )
 +                      $services->getActorMigration()
                );
  
 +              $store->setLogger( LoggerFactory::getInstance( 'RevisionStore' ) );
 +
 +              $config = $services->getMainConfig();
 +              $store->setContentHandlerUseDB( $config->get( 'ContentHandlerUseDB' ) );
 +
                return $store;
        },
  
@@@ -16,6 -16,7 +16,6 @@@ use MediaWiki\Storage\NameTableStore
  use MediaWiki\Storage\RevisionFactory;
  use MediaWiki\Storage\RevisionLookup;
  use MediaWiki\Storage\RevisionStore;
 -use MediaWiki\Storage\RevisionStoreFactory;
  use MediaWiki\Storage\SqlBlobStore;
  
  /**
@@@ -348,6 -349,7 +348,6 @@@ class MediaWikiServicesTest extends Med
                        'BlobStore' => [ 'BlobStore', BlobStore::class ],
                        '_SqlBlobStore' => [ '_SqlBlobStore', SqlBlobStore::class ],
                        'RevisionStore' => [ 'RevisionStore', RevisionStore::class ],
 -                      'RevisionStoreFactory' => [ 'RevisionStoreFactory', RevisionStoreFactory::class ],
                        'RevisionLookup' => [ 'RevisionLookup', RevisionLookup::class ],
                        'RevisionFactory' => [ 'RevisionFactory', RevisionFactory::class ],
                        'ContentModelStore' => [ 'ContentModelStore', NameTableStore::class ],
                        'ExternalStoreFactory' => [ 'ExternalStoreFactory', ExternalStoreFactory::class ],
                        'PreferencesFactory' => [ 'PreferencesFactory', PreferencesFactory::class ],
                        'ActorMigration' => [ 'ActorMigration', ActorMigration::class ],
+                       'ConfigRepository' => [ 'ConfigRepository', \MediaWiki\Config\ConfigRepository::class ],
                ];
        }