use MediaWiki\Logger\LoggerFactory;
use MediaWiki\MediaWikiServices;
use MediaWiki\Shell\CommandFactory;
+use MediaWiki\Storage\BlobStoreFactory;
use MediaWiki\Storage\RevisionStore;
use MediaWiki\Storage\SqlBlobStore;
return $store;
},
+ 'BlobStoreFactory' => function ( MediaWikiServices $services ) {
+ global $wgContLang;
+ return new BlobStoreFactory(
+ $services->getDBLoadBalancer(),
+ $services->getMainWANObjectCache(),
+ $services->getMainConfig(),
+ $wgContLang
+ );
+ },
+
'BlobStore' => function ( MediaWikiServices $services ) {
return $services->getService( '_SqlBlobStore' );
},
'_SqlBlobStore' => function ( MediaWikiServices $services ) {
- global $wgContLang; // TODO: manage $wgContLang as a service
-
- $store = new SqlBlobStore(
- $services->getDBLoadBalancer(),
- $services->getMainWANObjectCache()
- );
-
- $config = $services->getMainConfig();
- $store->setCompressBlobs( $config->get( 'CompressRevisions' ) );
- $store->setCacheExpiry( $config->get( 'RevisionCacheExpiry' ) );
- $store->setUseExternalStore( $config->get( 'DefaultExternalStore' ) !== false );
-
- if ( $config->get( 'LegacyEncoding' ) ) {
- $store->setLegacyEncoding( $config->get( 'LegacyEncoding' ), $wgContLang );
- }
-
- return $store;
+ return $services->getBlobStoreFactory()->newSqlBlobStore();
},
///////////////////////////////////////////////////////////////////////////