jenkins-bot has submitted this change and it was merged.

Change subject: Move claimGuidValidator into ClaimModificationHelper
......................................................................


Move claimGuidValidator into ClaimModificationHelper

Change-Id: I76c1c9a0ccbe69b22daf95ee0cb10b648df17d65
---
M repo/includes/api/ClaimModificationHelper.php
M repo/includes/api/CreateClaim.php
M repo/includes/api/ModifyClaim.php
M repo/includes/api/SetClaimValue.php
4 files changed, 39 insertions(+), 10 deletions(-)

Approvals:
  Addshore: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/repo/includes/api/ClaimModificationHelper.php 
b/repo/includes/api/ClaimModificationHelper.php
index 8f6d30a..9894f8a 100644
--- a/repo/includes/api/ClaimModificationHelper.php
+++ b/repo/includes/api/ClaimModificationHelper.php
@@ -15,6 +15,7 @@
 use Wikibase\EntityId;
 use Wikibase\Property;
 use Wikibase\EntityContentFactory;
+use Wikibase\Lib\ClaimGuidValidator;
 
 /**
  * Helper class for modifying claims
@@ -76,6 +77,13 @@
        /**
         * @since 0.4
         *
+        * @var ClaimGuidValidator
+        */
+       protected $claimGuidValidator;
+
+       /**
+        * @since 0.4
+        *
         * @param \ApiMain $apiMain
         * @param EntityContentFactory $entityContentFactory
         * @param SnakConstructionService $snakConstructionService
@@ -85,12 +93,14 @@
                \ApiMain $apiMain,
                EntityContentFactory $entityContentFactory,
                SnakConstructionService $snakConstructionService,
-               EntityIdParser $entityIdParser
+               EntityIdParser $entityIdParser,
+               ClaimGuidValidator $claimGuidValidator
        ) {
                $this->apiMain = $apiMain;
                $this->entityContentFactory = $entityContentFactory;
                $this->snakConstructionService = $snakConstructionService;
                $this->entityIdParser = $entityIdParser;
+               $this->claimGuidValidator = $claimGuidValidator;
        }
 
        /**
@@ -116,6 +126,7 @@
         * @param EntityId $entityId
         *
         * @return \Title
+        *
         * TODO: this could go into a ApiWikibaseHelper as it is useful for 
almost all API modules
         */
        public function getEntityTitle( EntityId $entityId ) {
@@ -131,6 +142,17 @@
        /**
         * @since 0.4
         *
+        * @param string $claimGuid
+        *
+        * @return bool
+        */
+       public function validateClaimGuid( $claimGuid ) {
+               return $this->claimGuidValidator->validate( $claimGuid );
+       }
+
+       /**
+        * @since 0.4
+        *
         * @param array $params
         * @param EntityId $propertyId
         *
diff --git a/repo/includes/api/CreateClaim.php 
b/repo/includes/api/CreateClaim.php
index faf926e..ef40328 100644
--- a/repo/includes/api/CreateClaim.php
+++ b/repo/includes/api/CreateClaim.php
@@ -10,6 +10,7 @@
 use Wikibase\ChangeOpClaim;
 use Wikibase\Validators\ValidatorErrorLocalizer;
 use ValueParsers\ParseException;
+use Wikibase\Lib\ClaimGuidValidator;
 
 /**
  * API module for creating claims.
@@ -72,11 +73,16 @@
                        new ValidatorErrorLocalizer()
                );
 
+               // @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()
+                       WikibaseRepo::getDefaultInstance()->getEntityIdParser(),
+                       new ClaimGuidValidator( $entityPrefixes )
                );
        }
 
diff --git a/repo/includes/api/ModifyClaim.php 
b/repo/includes/api/ModifyClaim.php
index 9d2f71d..c61756b 100644
--- a/repo/includes/api/ModifyClaim.php
+++ b/repo/includes/api/ModifyClaim.php
@@ -1,6 +1,7 @@
 <?php
 namespace Wikibase\Api;
 
+use ApiMain;
 use ApiBase, MWException;
 use Wikibase\EntityContent;
 use Wikibase\Claim;
diff --git a/repo/includes/api/SetClaimValue.php 
b/repo/includes/api/SetClaimValue.php
index 57f7524..2669e3e 100644
--- a/repo/includes/api/SetClaimValue.php
+++ b/repo/includes/api/SetClaimValue.php
@@ -8,8 +8,8 @@
 use Wikibase\Entity;
 use Wikibase\Claims;
 use Wikibase\ChangeOpClaim;
-use Wikibase\Lib\ClaimGuidValidator;
 use Wikibase\Repo\WikibaseRepo;
+use Wikibase\Lib\ClaimGuidValidator;
 
 /**
  * API module for setting the DataValue contained by the main snak of a claim.
@@ -57,11 +57,16 @@
        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()
+                       WikibaseRepo::getDefaultInstance()->getEntityIdParser(),
+                       new ClaimGuidValidator( $entityPrefixes )
                );
        }
 
@@ -111,12 +116,7 @@
         * @param array $params
         */
        protected function validateParameters( array $params ) {
-               // @todo generalize handling of settings in api modules
-               $settings = WikibaseRepo::getDefaultInstance()->getSettings();
-               $entityPrefixes = $settings->getSetting( 'entityPrefixes' );
-               $claimGuidValidator = new ClaimGuidValidator( $entityPrefixes );
-
-               if ( !( $claimGuidValidator->validate( $params['claim'] ) ) ) {
+               if ( !( $this->claimModificationHelper->validateClaimGuid( 
$params['claim'] ) ) ) {
                        $this->dieUsage( 'Invalid claim guid' , 'invalid-guid' 
);
                }
        }

-- 
To view, visit https://gerrit.wikimedia.org/r/76915
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I76c1c9a0ccbe69b22daf95ee0cb10b648df17d65
Gerrit-PatchSet: 7
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: Addshore <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: jenkins-bot

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to