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

Reply via email to