jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/338094 )

Change subject: Inject SetClaimValue dependencies
......................................................................


Inject SetClaimValue dependencies

Bug: T158293
Change-Id: Iba5894140fd5f24e379672d78f6781be3ff27dad
---
M repo/Wikibase.php
M repo/includes/Api/SetClaimValue.php
2 files changed, 53 insertions(+), 22 deletions(-)

Approvals:
  jenkins-bot: Verified
  Thiemo Mättig (WMDE): Looks good to me, approved



diff --git a/repo/Wikibase.php b/repo/Wikibase.php
index 50671c3..af1190a 100644
--- a/repo/Wikibase.php
+++ b/repo/Wikibase.php
@@ -337,7 +337,36 @@
                        );
                }
        ];
-       $wgAPIModules['wbsetclaimvalue'] = 
Wikibase\Repo\Api\SetClaimValue::class;
+       $wgAPIModules['wbsetclaimvalue'] = [
+               'class' => Wikibase\Repo\Api\SetClaimValue::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\SetClaimValue(
+                               $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['wbsetreference'] = Wikibase\Repo\Api\SetReference::class;
        $wgAPIModules['wbremovereferences'] = 
Wikibase\Repo\Api\RemoveReferences::class;
        $wgAPIModules['wbsetclaim'] = Wikibase\Repo\Api\SetClaim::class;
diff --git a/repo/includes/Api/SetClaimValue.php 
b/repo/includes/Api/SetClaimValue.php
index cf0a7d3..3a84264 100644
--- a/repo/includes/Api/SetClaimValue.php
+++ b/repo/includes/Api/SetClaimValue.php
@@ -50,28 +50,30 @@
        /**
         * @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 );
-
-               $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 );
+       public function __construct(
+               ApiMain $mainModule,
+               $moduleName,
+               $errorReporter,
+               StatementChangeOpFactory $statementChangeOpFactory,
+               StatementModificationHelper $modificationHelper,
+               StatementGuidParser $guidParser,
+               callable $resultBuilderInstantiator,
+               callable $entitySavingHelperInstantiator
+       ) {
+               parent::__construct( $mainModule, $moduleName );
+               $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/338094
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: Iba5894140fd5f24e379672d78f6781be3ff27dad
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Ladsgroup <ladsgr...@gmail.com>
Gerrit-Reviewer: Aleksey Bekh-Ivanov (WMDE) <aleksey.bekh-iva...@wikimedia.de>
Gerrit-Reviewer: Aude <aude.w...@gmail.com>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de>
Gerrit-Reviewer: WMDE-leszek <leszek.mani...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to