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

Reply via email to