Addshore has uploaded a new change for review.
https://gerrit.wikimedia.org/r/88020
Change subject: Use ApiWikibase::loadEntityContent
......................................................................
Use ApiWikibase::loadEntityContent
Instead of using a method in claimModificationHelper
use the one that already exists in the APIBase!
Also make sure that all users of the method also
load the correct / required baserevid...
Change-Id: I0b5958d3542bfb61b0639955a1e9ef54d7b186aa
---
M repo/includes/api/ClaimModificationHelper.php
M repo/includes/api/CreateClaim.php
M repo/includes/api/ModifyClaim.php
M repo/includes/api/RemoveClaims.php
M repo/includes/api/RemoveQualifiers.php
M repo/includes/api/RemoveReferences.php
M repo/includes/api/SetClaim.php
M repo/includes/api/SetClaimValue.php
M repo/includes/api/SetQualifier.php
M repo/includes/api/SetReference.php
M repo/includes/api/SetStatementRank.php
11 files changed, 29 insertions(+), 44 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/20/88020/1
diff --git a/repo/includes/api/ClaimModificationHelper.php
b/repo/includes/api/ClaimModificationHelper.php
index 7b5d9d4..05ee09e 100644
--- a/repo/includes/api/ClaimModificationHelper.php
+++ b/repo/includes/api/ClaimModificationHelper.php
@@ -2,6 +2,7 @@
namespace Wikibase\Api;
+use ApiMain;
use DataValues\IllegalValueException;
use InvalidArgumentException;
use Wikibase\Lib\EntityIdParser;
@@ -80,13 +81,15 @@
/**
* @since 0.4
*
- * @param \ApiMain $apiMain
+ * @param ApiMain $apiMain
* @param EntityContentFactory $entityContentFactory
* @param SnakConstructionService $snakConstructionService
* @param EntityIdParser $entityIdParser
+ * @param ClaimGuidValidator $claimGuidValidator
+ * @param SnakValidationHelper $snakValidation
*/
public function __construct(
- \ApiMain $apiMain,
+ ApiMain $apiMain,
EntityContentFactory $entityContentFactory,
SnakConstructionService $snakConstructionService,
EntityIdParser $entityIdParser,
@@ -206,29 +209,18 @@
$this->apiMain->dieUsage( 'Invalid snak:
InvalidArgumentException', 'invalid-snak' );
}
- $this->validateSnak( $snak );
+ $this->snakValidation->validateSnak( $snak );
return $snak;
- }
-
- /**
- * @since 0.4
- *
- * @param Snak $snak
- */
- public function validateSnak( Snak $snak ) {
- $this->snakValidation->validateSnak( $snak );
}
/**
* Parses an entity id string coming from the user
*
* @since 0.4
- *
* @param string $entityIdParam
- *
- * TODO: this could go into an EntityModificationHelper or even in a
ApiWikibaseHelper
- * as it is useful for almost all API modules
+ * @return EntityId
+ * @todo this could go into an EntityModificationHelper or even in a
ApiWikibaseHelper
*/
public function getEntityIdFromString( $entityIdParam ) {
try {
diff --git a/repo/includes/api/CreateClaim.php
b/repo/includes/api/CreateClaim.php
index 838c14c..72767ee 100644
--- a/repo/includes/api/CreateClaim.php
+++ b/repo/includes/api/CreateClaim.php
@@ -37,7 +37,8 @@
$entityId =
$this->claimModificationHelper->getEntityIdFromString( $params['entity'] );
$entityTitle = $this->claimModificationHelper->getEntityTitle(
$entityId );
- $entityContent = $this->getEntityContent( $entityTitle );
+ $baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
+ $entityContent = $this->loadEntityContent( $entityTitle,
$baseRevisionId );
$entity = $entityContent->getEntity();
$propertyId =
$this->claimModificationHelper->getEntityIdFromString( $params['property'] );
diff --git a/repo/includes/api/ModifyClaim.php
b/repo/includes/api/ModifyClaim.php
index 851cbc3..148f441 100644
--- a/repo/includes/api/ModifyClaim.php
+++ b/repo/includes/api/ModifyClaim.php
@@ -113,23 +113,6 @@
}
/**
- * @since 0.4
- *
- * @param \Title $entityTitle
- *
- * @return EntityContent
- *
- * TODO: this could go into a ApiWikibaseHelper as it is useful for
almost all API modules
- */
- protected function getEntityContent( \Title $entityTitle ) {
- $params = $this->extractRequestParams();
- $baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
- $entityContent = $this->loadEntityContent( $entityTitle,
$baseRevisionId );
-
- return $entityContent;
- }
-
- /**
* @see \Wikibase\Api\ApiWikibase::getRequiredPermissions()
*/
protected function getRequiredPermissions( EntityContent
$entityContent, array $params ) {
diff --git a/repo/includes/api/RemoveClaims.php
b/repo/includes/api/RemoveClaims.php
index 617337a..5c8cc29 100644
--- a/repo/includes/api/RemoveClaims.php
+++ b/repo/includes/api/RemoveClaims.php
@@ -52,7 +52,8 @@
$params = $this->extractRequestParams();
$entityId = $this->getEntityId( $params );
$entityTitle = $this->claimModificationHelper->getEntityTitle(
$entityId );
- $entityContent = $this->getEntityContent( $entityTitle );
+ $baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
+ $entityContent = $this->loadEntityContent( $entityTitle,
$baseRevisionId );
$this->checkClaims( $entityContent->getEntity(),
$params['claim'] );
$summary = $this->claimModificationHelper->createSummary(
$params, $this );
diff --git a/repo/includes/api/RemoveQualifiers.php
b/repo/includes/api/RemoveQualifiers.php
index f35f48c..1214fe0 100644
--- a/repo/includes/api/RemoveQualifiers.php
+++ b/repo/includes/api/RemoveQualifiers.php
@@ -34,7 +34,8 @@
$claimGuid = $params['claim'];
$entityId = $this->claimGuidParser->parse( $claimGuid
)->getEntityId();
$entityTitle = $this->claimModificationHelper->getEntityTitle(
$entityId );
- $entityContent = $this->getEntityContent( $entityTitle );
+ $baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
+ $entityContent = $this->loadEntityContent( $entityTitle,
$baseRevisionId );
$entity = $entityContent->getEntity();
$summary = $this->claimModificationHelper->createSummary(
$params, $this );
diff --git a/repo/includes/api/RemoveReferences.php
b/repo/includes/api/RemoveReferences.php
index 281e168..0ad6f86 100644
--- a/repo/includes/api/RemoveReferences.php
+++ b/repo/includes/api/RemoveReferences.php
@@ -34,7 +34,8 @@
$claimGuid = $params['statement'];
$entityId = $this->claimGuidParser->parse( $claimGuid
)->getEntityId();
$entityTitle = $this->claimModificationHelper->getEntityTitle(
$entityId );
- $entityContent = $this->getEntityContent( $entityTitle );
+ $baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
+ $entityContent = $this->loadEntityContent( $entityTitle,
$baseRevisionId );
$entity = $entityContent->getEntity();
$summary = $this->claimModificationHelper->createSummary(
$params, $this );
diff --git a/repo/includes/api/SetClaim.php b/repo/includes/api/SetClaim.php
index bc13bb8..4b6fb00 100644
--- a/repo/includes/api/SetClaim.php
+++ b/repo/includes/api/SetClaim.php
@@ -52,8 +52,10 @@
$guid = $this->claimGuidParser->parse( $guid );
$entityId = $guid->getEntityId();
- $entityContentFactory =
WikibaseRepo::getDefaultInstance()->getEntityContentFactory();
- $entityContent = $entityContentFactory->getFromId( $entityId );
+ $entityTitle = $this->claimModificationHelper->getEntityTitle(
$entityId );
+ $baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
+ $entityContent = $this->loadEntityContent( $entityTitle
,$baseRevisionId );
+
$entity = $entityContent->getEntity();
$summary = $this->getSummary( $params, $claim, $entityContent );
diff --git a/repo/includes/api/SetClaimValue.php
b/repo/includes/api/SetClaimValue.php
index 9efb4e9..066b3cd 100644
--- a/repo/includes/api/SetClaimValue.php
+++ b/repo/includes/api/SetClaimValue.php
@@ -33,7 +33,8 @@
$claimGuid = $params['claim'];
$entityId = $this->claimGuidParser->parse( $claimGuid
)->getEntityId();
$entityTitle = $this->claimModificationHelper->getEntityTitle(
$entityId );
- $entityContent = $this->getEntityContent( $entityTitle );
+ $baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
+ $entityContent = $this->loadEntityContent( $entityTitle,
$baseRevisionId );
$entity = $entityContent->getEntity();
diff --git a/repo/includes/api/SetQualifier.php
b/repo/includes/api/SetQualifier.php
index f534aa0..fc4e272 100644
--- a/repo/includes/api/SetQualifier.php
+++ b/repo/includes/api/SetQualifier.php
@@ -36,7 +36,8 @@
$entityId = $this->claimGuidParser->parse( $params['claim']
)->getEntityId();
$entityTitle = $this->claimModificationHelper->getEntityTitle(
$entityId );
- $entityContent = $this->getEntityContent( $entityTitle );
+ $baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
+ $entityContent = $this->loadEntityContent( $entityTitle,
$baseRevisionId );
$entity = $entityContent->getEntity();
$summary = $this->claimModificationHelper->createSummary(
$params, $this );
diff --git a/repo/includes/api/SetReference.php
b/repo/includes/api/SetReference.php
index ae0aaf5..7e0f77c 100644
--- a/repo/includes/api/SetReference.php
+++ b/repo/includes/api/SetReference.php
@@ -54,7 +54,8 @@
$entityId = $this->claimGuidParser->parse( $params['statement']
)->getEntityId();
$entityTitle = $this->claimModificationHelper->getEntityTitle(
$entityId );
- $entityContent = $this->getEntityContent( $entityTitle );
+ $baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
+ $entityContent = $this->loadEntityContent( $entityTitle,
$baseRevisionId );
$entity = $entityContent->getEntity();
$summary = $this->claimModificationHelper->createSummary(
$params, $this );
@@ -165,7 +166,7 @@
}
$snak =
$snakUnserializer->newFromSerialization( $rawSnak );
-
$this->claimModificationHelper->validateSnak( $snak );
+ $this->snakValidation->validateSnak(
$snak );
$snaks[] = $snak;
}
}
diff --git a/repo/includes/api/SetStatementRank.php
b/repo/includes/api/SetStatementRank.php
index 0b0d765..f4d4d89 100644
--- a/repo/includes/api/SetStatementRank.php
+++ b/repo/includes/api/SetStatementRank.php
@@ -34,7 +34,8 @@
$entityId = $this->claimGuidParser->parse( $params['statement']
)->getEntityId();
$entityTitle = $this->claimModificationHelper->getEntityTitle(
$entityId );
- $entityContent = $this->getEntityContent( $entityTitle );
+ $baseRevisionId = isset( $params['baserevid'] ) ? intval(
$params['baserevid'] ) : null;
+ $entityContent = $this->loadEntityContent( $entityTitle,
$baseRevisionId );
$entity = $entityContent->getEntity();
$summary = $this->claimModificationHelper->createSummary(
$params, $this );
--
To view, visit https://gerrit.wikimedia.org/r/88020
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0b5958d3542bfb61b0639955a1e9ef54d7b186aa
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits