jenkins-bot has submitted this change and it was merged.
Change subject: Move snakValidation to ClaimModificationHelper
......................................................................
Move snakValidation to ClaimModificationHelper
Change-Id: I80e1489a28cff5f078126b7fd55c4d6400d47221
---
M repo/includes/api/ClaimModificationHelper.php
M repo/includes/api/CreateClaim.php
M repo/includes/api/ModifyClaim.php
M repo/tests/phpunit/includes/api/ClaimModificationHelperTest.php
4 files changed, 42 insertions(+), 31 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 51f6563..eb6776f 100644
--- a/repo/includes/api/ClaimModificationHelper.php
+++ b/repo/includes/api/ClaimModificationHelper.php
@@ -83,6 +83,13 @@
/**
* @since 0.4
*
+ * @var SnakValidationHelper
+ */
+ protected $snakValidation;
+
+ /**
+ * @since 0.4
+ *
* @param \ApiMain $apiMain
* @param EntityContentFactory $entityContentFactory
* @param SnakConstructionService $snakConstructionService
@@ -93,13 +100,15 @@
EntityContentFactory $entityContentFactory,
SnakConstructionService $snakConstructionService,
EntityIdParser $entityIdParser,
- ClaimGuidValidator $claimGuidValidator
+ ClaimGuidValidator $claimGuidValidator,
+ SnakValidationHelper $snakValidation
) {
$this->apiMain = $apiMain;
$this->entityContentFactory = $entityContentFactory;
$this->snakConstructionService = $snakConstructionService;
$this->entityIdParser = $entityIdParser;
$this->claimGuidValidator = $claimGuidValidator;
+ $this->snakValidation = $snakValidation;
}
/**
@@ -188,6 +197,8 @@
$this->apiMain->dieUsage( 'Invalid snak:
InvalidArgumentException', 'invalid-snak' );
}
+ $this->snakValidation->validateSnak( $snak );
+
return $snak;
}
diff --git a/repo/includes/api/CreateClaim.php
b/repo/includes/api/CreateClaim.php
index 46ce10f..d95bc2f 100644
--- a/repo/includes/api/CreateClaim.php
+++ b/repo/includes/api/CreateClaim.php
@@ -8,7 +8,6 @@
use Wikibase\Repo\WikibaseRepo;
use Wikibase\Claims;
use Wikibase\ChangeOpMainSnak;
-use Wikibase\Validators\ValidatorErrorLocalizer;
use ValueParsers\ParseException;
/**
@@ -42,27 +41,6 @@
class CreateClaim extends ModifyClaim {
/**
- * @since 0.4
- *
- * @var SnakValidationHelper
- */
- protected $snakValidation;
-
- /**
- * see ApiBase::__construct()
- */
- public function __construct( ApiMain $mainModule, $moduleName,
$modulePrefix = '' ) {
- parent::__construct( $mainModule, $moduleName, $modulePrefix );
-
- $this->snakValidation = new SnakValidationHelper(
- $this,
-
WikibaseRepo::getDefaultInstance()->getPropertyDataTypeLookup(),
-
WikibaseRepo::getDefaultInstance()->getDataTypeFactory(),
- new ValidatorErrorLocalizer()
- );
- }
-
- /**
* @see \ApiBase::execute
*
* @since 0.2
@@ -83,7 +61,6 @@
$propertyId =
$this->claimModificationHelper->getEntityIdFromString( $params['property'] );
$snak = $this->claimModificationHelper->getSnakInstance(
$params, $propertyId );
- $this->snakValidation->validateSnak( $snak );
$summary = $this->claimModificationHelper->createSummary(
$params, $this );
$changeOp = new ChangeOpMainSnak( '', $snak,
WikibaseRepo::getDefaultInstance()->getIdFormatter() );
diff --git a/repo/includes/api/ModifyClaim.php
b/repo/includes/api/ModifyClaim.php
index 94df434..1b2b2ea 100644
--- a/repo/includes/api/ModifyClaim.php
+++ b/repo/includes/api/ModifyClaim.php
@@ -13,6 +13,7 @@
use Wikibase\Property;
use Wikibase\EntityContentFactory;
use Wikibase\Lib\ClaimGuidValidator;
+use Wikibase\Validators\ValidatorErrorLocalizer;
/**
* Base class for modifying claims.
@@ -56,12 +57,20 @@
public function __construct( ApiMain $mainModule, $moduleName,
$modulePrefix = '' ) {
parent::__construct( $mainModule, $moduleName, $modulePrefix );
+ $snakValidation = new SnakValidationHelper(
+ $this,
+
WikibaseRepo::getDefaultInstance()->getPropertyDataTypeLookup(),
+
WikibaseRepo::getDefaultInstance()->getDataTypeFactory(),
+ new ValidatorErrorLocalizer()
+ );
+
$this->claimModificationHelper = new ClaimModificationHelper(
- $mainModule,
-
WikibaseRepo::getDefaultInstance()->getEntityContentFactory(),
-
WikibaseRepo::getDefaultInstance()->getSnakConstructionService(),
-
WikibaseRepo::getDefaultInstance()->getEntityIdParser(),
-
WikibaseRepo::getDefaultInstance()->getClaimGuidValidator()
+ $mainModule,
+
WikibaseRepo::getDefaultInstance()->getEntityContentFactory(),
+
WikibaseRepo::getDefaultInstance()->getSnakConstructionService(),
+ WikibaseRepo::getDefaultInstance()->getEntityIdParser(),
+
WikibaseRepo::getDefaultInstance()->getClaimGuidValidator(),
+ $snakValidation
);
}
diff --git a/repo/tests/phpunit/includes/api/ClaimModificationHelperTest.php
b/repo/tests/phpunit/includes/api/ClaimModificationHelperTest.php
index 13315bd..3286892 100644
--- a/repo/tests/phpunit/includes/api/ClaimModificationHelperTest.php
+++ b/repo/tests/phpunit/includes/api/ClaimModificationHelperTest.php
@@ -6,10 +6,12 @@
use Wikibase\EntityId;
use ApiMain;
use Wikibase\Api\ClaimModificationHelper;
+use Wikibase\Api\SnakValidationHelper;
use Wikibase\Repo\WikibaseRepo;
use Wikibase\ItemContent;
use Wikibase\PropertyContent;
use Wikibase\Lib\ClaimGuidValidator;
+use Wikibase\Validators\ValidatorErrorLocalizer;
/**
* @covers Wikibase\Api\ClaimModificationHelper
@@ -111,12 +113,24 @@
}
private function getNewInstance( $apiMain = null ) {
+ if ($apiMain === null) {
+ $apiMain = new ApiMain();
+ }
+
+ $snakValidation = new SnakValidationHelper(
+ $apiMain,
+
WikibaseRepo::getDefaultInstance()->getPropertyDataTypeLookup(),
+
WikibaseRepo::getDefaultInstance()->getDataTypeFactory(),
+ new ValidatorErrorLocalizer()
+ );
+
$claimModificationHelper = new ClaimModificationHelper(
- $apiMain ? $apiMain : new ApiMain(),
+ $apiMain,
WikibaseRepo::getDefaultInstance()->getEntityContentFactory(),
WikibaseRepo::getDefaultInstance()->getSnakConstructionService(),
WikibaseRepo::getDefaultInstance()->getEntityIdParser(),
-
WikibaseRepo::getDefaultInstance()->getClaimGuidValidator()
+
WikibaseRepo::getDefaultInstance()->getClaimGuidValidator(),
+ $snakValidation
);
return $claimModificationHelper;
--
To view, visit https://gerrit.wikimedia.org/r/77351
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I80e1489a28cff5f078126b7fd55c4d6400d47221
Gerrit-PatchSet: 1
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: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits