jenkins-bot has submitted this change and it was merged. Change subject: Get rid of settings in ModifyClaim ......................................................................
Get rid of settings in ModifyClaim Change-Id: I6d6a6bd7a398c8b592e2520461d49e82f625dc04 --- M repo/includes/WikibaseRepo.php M repo/includes/api/ModifyClaim.php M repo/tests/phpunit/includes/WikibaseRepoTest.php M repo/tests/phpunit/includes/api/ClaimModificationHelperTest.php 4 files changed, 29 insertions(+), 10 deletions(-) Approvals: Addshore: Looks good to me, approved jenkins-bot: Verified diff --git a/repo/includes/WikibaseRepo.php b/repo/includes/WikibaseRepo.php index 2c3c0f6..a479af3 100644 --- a/repo/includes/WikibaseRepo.php +++ b/repo/includes/WikibaseRepo.php @@ -17,6 +17,7 @@ use Wikibase\Lib\PropertyInfoDataTypeLookup; use Wikibase\Lib\SnakConstructionService; use Wikibase\Lib\WikibaseDataTypeBuilders; +use Wikibase\Lib\ClaimGuidValidator; use Wikibase\Settings; use Wikibase\SettingsArray; use Wikibase\Store; @@ -48,6 +49,7 @@ * @licence GNU GPL v2+ * @author Jeroen De Dauw < jeroended...@gmail.com > * @author Daniel Kinzler + * @author Tobias Gritschacher < tobias.gritschac...@wikimedia.de > */ class WikibaseRepo { @@ -85,6 +87,11 @@ * @var LanguageFallbackChainFactory */ private $languageFallbackChainFactory; + + /** + * @var ClaimGuidValidator + */ + private $claimGuidValidator = null; /** * @var StringNormalizer @@ -297,6 +304,21 @@ /** * @since 0.4 * + * @return ClaimGuidValidator + */ + public function getClaimGuidValidator() { + if ( $this->claimGuidValidator === null ) { + $this->claimGuidValidator = new ClaimGuidValidator( + $this->settings->getSetting( 'entityPrefixes' ) + ); + } + + return $this->claimGuidValidator; + } + + /** + * @since 0.4 + * * @return SettingsArray */ public function getSettings() { diff --git a/repo/includes/api/ModifyClaim.php b/repo/includes/api/ModifyClaim.php index 2c16d56..94df434 100644 --- a/repo/includes/api/ModifyClaim.php +++ b/repo/includes/api/ModifyClaim.php @@ -56,16 +56,12 @@ public function __construct( ApiMain $mainModule, $moduleName, $modulePrefix = '' ) { parent::__construct( $mainModule, $moduleName, $modulePrefix ); - // @todo generalize handling of settings in api modules - $settings = WikibaseRepo::getDefaultInstance()->getSettings(); - $entityPrefixes = $settings->getSetting( 'entityPrefixes' ); - $this->claimModificationHelper = new ClaimModificationHelper( $mainModule, WikibaseRepo::getDefaultInstance()->getEntityContentFactory(), WikibaseRepo::getDefaultInstance()->getSnakConstructionService(), WikibaseRepo::getDefaultInstance()->getEntityIdParser(), - new ClaimGuidValidator( $entityPrefixes ) + WikibaseRepo::getDefaultInstance()->getClaimGuidValidator() ); } diff --git a/repo/tests/phpunit/includes/WikibaseRepoTest.php b/repo/tests/phpunit/includes/WikibaseRepoTest.php index e081b3a..6251be0 100644 --- a/repo/tests/phpunit/includes/WikibaseRepoTest.php +++ b/repo/tests/phpunit/includes/WikibaseRepoTest.php @@ -65,6 +65,11 @@ $this->assertInstanceOf( 'Wikibase\Lib\EntityIdFormatter', $returnValue ); } + public function testGetClaimGuidValidator() { + $returnValue = $this->getDefaultInstance()->getClaimGuidValidator(); + $this->assertInstanceOf( 'Wikibase\Lib\ClaimGuidValidator', $returnValue ); + } + public static function provideGetRdfBaseURI() { return array( array ( 'http://acme.test', 'http://acme.test/entity/' ), diff --git a/repo/tests/phpunit/includes/api/ClaimModificationHelperTest.php b/repo/tests/phpunit/includes/api/ClaimModificationHelperTest.php index 8500354..13315bd 100644 --- a/repo/tests/phpunit/includes/api/ClaimModificationHelperTest.php +++ b/repo/tests/phpunit/includes/api/ClaimModificationHelperTest.php @@ -111,16 +111,12 @@ } private function getNewInstance( $apiMain = null ) { - // @todo generalize handling of settings in api modules - $settings = WikibaseRepo::getDefaultInstance()->getSettings(); - $entityPrefixes = $settings->getSetting( 'entityPrefixes' ); - $claimModificationHelper = new ClaimModificationHelper( $apiMain ? $apiMain : new ApiMain(), WikibaseRepo::getDefaultInstance()->getEntityContentFactory(), WikibaseRepo::getDefaultInstance()->getSnakConstructionService(), WikibaseRepo::getDefaultInstance()->getEntityIdParser(), - new ClaimGuidValidator( $entityPrefixes ) + WikibaseRepo::getDefaultInstance()->getClaimGuidValidator() ); return $claimModificationHelper; -- To view, visit https://gerrit.wikimedia.org/r/77345 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I6d6a6bd7a398c8b592e2520461d49e82f625dc04 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Tobias Gritschacher <tobias.gritschac...@wikimedia.de> Gerrit-Reviewer: Addshore <addshorew...@gmail.com> Gerrit-Reviewer: Aude <aude.w...@gmail.com> Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de> Gerrit-Reviewer: jenkins-bot _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits