Ladsgroup has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/339049 )
Change subject: Inject RemoveQualifiers dependencies
......................................................................
Inject RemoveQualifiers dependencies
Bug: T158709
Change-Id: I2a6b76eb6afdc6343e0e47358ee2ba483d2358e3
---
M repo/Wikibase.php
M repo/includes/Api/RemoveQualifiers.php
2 files changed, 53 insertions(+), 21 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/49/339049/1
diff --git a/repo/Wikibase.php b/repo/Wikibase.php
index bf15d3a..19a0a51 100644
--- a/repo/Wikibase.php
+++ b/repo/Wikibase.php
@@ -370,7 +370,36 @@
$wgAPIModules['wbsetreference'] = Wikibase\Repo\Api\SetReference::class;
$wgAPIModules['wbremovereferences'] =
Wikibase\Repo\Api\RemoveReferences::class;
$wgAPIModules['wbsetclaim'] = Wikibase\Repo\Api\SetClaim::class;
- $wgAPIModules['wbremovequalifiers'] =
Wikibase\Repo\Api\RemoveQualifiers::class;
+ $wgAPIModules['wbremovequalifiers'] = [
+ 'class' => Wikibase\Repo\Api\RemoveQualifiers::class,
+ 'factory' => function( ApiMain $mainModule, $moduleName ) {
+ $wikibaseRepo =
Wikibase\Repo\WikibaseRepo::getDefaultInstance();
+ $apiHelperFactory = $wikibaseRepo->getApiHelperFactory(
$mainModule->getContext() );
+ $changeOpFactoryProvider =
$wikibaseRepo->getChangeOpFactoryProvider();
+
+ $modificationHelper = new
Wikibase\Repo\Api\StatementModificationHelper(
+ $wikibaseRepo->getSnakFactory(),
+ $wikibaseRepo->getEntityIdParser(),
+ $wikibaseRepo->getStatementGuidValidator(),
+ $apiHelperFactory->getErrorReporter(
$mainModule )
+ );
+
+ return new Wikibase\Repo\Api\RemoveQualifiers(
+ $mainModule,
+ $moduleName,
+ $apiHelperFactory->getErrorReporter(
$mainModule ),
+
$changeOpFactoryProvider->getStatementChangeOpFactory(),
+ $modificationHelper,
+ $wikibaseRepo->getStatementGuidParser(),
+ function ( $module ) use ( $apiHelperFactory ) {
+ return
$apiHelperFactory->getResultBuilder( $module );
+ },
+ function ( $module ) use ( $apiHelperFactory ) {
+ return
$apiHelperFactory->getEntitySavingHelper( $module );
+ }
+ );
+ }
+ ];
$wgAPIModules['wbsetqualifier'] = [
'class' => Wikibase\Repo\Api\SetQualifier::class,
'factory' => function( ApiMain $mainModule, $moduleName ) {
diff --git a/repo/includes/Api/RemoveQualifiers.php
b/repo/includes/Api/RemoveQualifiers.php
index 5384f83..da03ab8 100644
--- a/repo/includes/Api/RemoveQualifiers.php
+++ b/repo/includes/Api/RemoveQualifiers.php
@@ -55,28 +55,31 @@
/**
* @param ApiMain $mainModule
* @param string $moduleName
- * @param string $modulePrefix
+ * @param string $errorReporter
+ * @param StatementChangeOpFactory $statementChangeOpFactory
+ * @param StatementModificationHelper $modificationHelper
+ * @param StatementGuidParser $guidParser
+ * @param callable $resultBuilderInstantiator
+ * @param callable $entitySavingHelperInstantiator
*/
- public function __construct( ApiMain $mainModule, $moduleName,
$modulePrefix = '' ) {
- parent::__construct( $mainModule, $moduleName, $modulePrefix );
+ public function __construct(
+ ApiMain $mainModule,
+ $moduleName,
+ $errorReporter,
+ StatementChangeOpFactory $statementChangeOpFactory,
+ StatementModificationHelper $modificationHelper,
+ StatementGuidParser $guidParser,
+ callable $resultBuilderInstantiator,
+ callable $entitySavingHelperInstantiator
+ ) {
+ parent::__construct( $mainModule, $moduleName );
- $wikibaseRepo = WikibaseRepo::getDefaultInstance();
- $apiHelperFactory = $wikibaseRepo->getApiHelperFactory(
$this->getContext() );
- $changeOpFactoryProvider =
$wikibaseRepo->getChangeOpFactoryProvider();
-
- $this->errorReporter = $apiHelperFactory->getErrorReporter(
$this );
- $this->statementChangeOpFactory =
$changeOpFactoryProvider->getStatementChangeOpFactory();
-
- $this->modificationHelper = new StatementModificationHelper(
- $wikibaseRepo->getSnakFactory(),
- $wikibaseRepo->getEntityIdParser(),
- $wikibaseRepo->getStatementGuidValidator(),
- $apiHelperFactory->getErrorReporter( $this )
- );
-
- $this->guidParser = $wikibaseRepo->getStatementGuidParser();
- $this->resultBuilder = $apiHelperFactory->getResultBuilder(
$this );
- $this->entitySavingHelper =
$apiHelperFactory->getEntitySavingHelper( $this );
+ $this->errorReporter = $errorReporter;
+ $this->statementChangeOpFactory = $statementChangeOpFactory;
+ $this->modificationHelper = $modificationHelper;
+ $this->guidParser = $guidParser;
+ $this->resultBuilder = $resultBuilderInstantiator( $this );
+ $this->entitySavingHelper = $entitySavingHelperInstantiator(
$this );
}
/**
--
To view, visit https://gerrit.wikimedia.org/r/339049
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2a6b76eb6afdc6343e0e47358ee2ba483d2358e3
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Ladsgroup <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits