Addshore has uploaded a new change for review. https://gerrit.wikimedia.org/r/222926
Change subject: Stop using ApiWikibase ...................................................................... Stop using ApiWikibase Change-Id: I2b83d2f6e3cb29c4256c51d4f008ad53c045c2dd --- M api/RunCrossCheck.php 1 file changed, 42 insertions(+), 17 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseQualityExternalValidation refs/changes/26/222926/1 diff --git a/api/RunCrossCheck.php b/api/RunCrossCheck.php index 521fd57..6a26362 100755 --- a/api/RunCrossCheck.php +++ b/api/RunCrossCheck.php @@ -2,10 +2,14 @@ namespace WikibaseQuality\ExternalValidation\Api; +use ApiBase; use ApiMain; use DataValues\Serializers; -use Wikibase\Api\ApiWikibase; +use Wikibase\Api\ApiErrorReporter; +use Wikibase\Api\ApiHelperFactory; +use Wikibase\Api\ResultBuilder; use Wikibase\DataModel\Entity\EntityId; +use Wikibase\DataModel\Entity\EntityIdParser; use Wikibase\Lib\ClaimGuidValidator; use Wikibase\Repo\WikibaseRepo; use WikibaseQuality\ExternalValidation\CrossCheck\CrossCheckInteractor; @@ -22,7 +26,7 @@ * @author BP2014N1 * @license GNU GPL v2+ */ -class RunCrossCheck extends ApiWikibase { +class RunCrossCheck extends ApiBase { /** * @var ClaimGuidValidator @@ -38,6 +42,21 @@ * @var SerializerFactory */ private $serializerFactory; + + /** + * @var ApiErrorReporter + */ + private $errorReporter; + + /** + * @var ResultBuilder + */ + private $resultBuilder; + + /** + * @var EntityIdParser + */ + private $idParser; /** * Creates new instance from global state. @@ -57,7 +76,9 @@ $prefix, $repo->getClaimGuidValidator(), $externalValidationServices->getCrossCheckInteractor(), - $externalValidationServices->getSerializerFactory() + $externalValidationServices->getSerializerFactory(), + $repo->getApiHelperFactory(), + $repo->getEntityIdParser() ); } @@ -67,12 +88,16 @@ * @param string $prefix */ public function __construct( ApiMain $main, $name, $prefix = '', ClaimGuidValidator $claimGuidValidator, - CrossCheckInteractor $crossCheckInteractor, SerializerFactory $serializerFactory ) { + CrossCheckInteractor $crossCheckInteractor, SerializerFactory $serializerFactory, + ApiHelperFactory $apiHelperFactory, EntityIdParser $idParser ) { parent::__construct( $main, $name, $prefix ); $this->claimGuidValidator = $claimGuidValidator; $this->crossCheckInteractor = $crossCheckInteractor; $this->serializerFactory = $serializerFactory; + $this->errorReporter = $apiHelperFactory->getErrorReporter( $this ); + $this->resultBuilder = $apiHelperFactory->getResultBuilder( $this ); + $this->idParser = $idParser; } /** @@ -82,7 +107,7 @@ $params = $this->extractRequestParams(); if ( $params['entities'] && $params['claims'] ) { - $this->dieError( + $this->errorReporter->dieError( 'Either provide the ids of entities or ids of claims, that should be cross-checked.', 'param-invalid' ); @@ -99,7 +124,7 @@ $this->assertAreValidClaimGuids( $claimGuids ); $resultLists = $this->crossCheckInteractor->crossCheckStatements( $claimGuids ); } else { - $this->dieError( + $this->errorReporter->dieError( 'Either provide the ids of entities or ids of claims, that should be cross-checked.', 'param-missing' ); @@ -116,7 +141,7 @@ */ private function parseEntityIds( array $entityIds ) { return array_map( - array( $this->getIdParser(), 'parse' ), + array( $this->idParser, 'parse' ), $entityIds ); } @@ -127,7 +152,7 @@ private function assertAreValidClaimGuids( array $claimGuids ) { foreach ( $claimGuids as $claimGuid ) { if ( $this->claimGuidValidator->validateFormat( $claimGuid ) === false ) { - $this->dieError( 'Invalid claim guid.', 'invalid-guid' ); + $this->errorReporter->dieError( 'Invalid claim guid.', 'invalid-guid' ); } } } @@ -164,7 +189,7 @@ $this->getResult()->setIndexedTagName( $output, 'entity' ); $this->getResult()->addValue( null, 'results', $output ); - $this->getResultBuilder()->markSuccess( 1 ); + $this->resultBuilder->markSuccess( 1 ); } /** @@ -174,20 +199,20 @@ * @codeCoverageIgnore */ public function getAllowedParams() { - return array_merge( parent::getAllowedParams(), array( + return array( 'entities' => array( - ApiWikibase::PARAM_TYPE => 'string', - ApiWikibase::PARAM_ISMULTI => true + ApiBase::PARAM_TYPE => 'string', + ApiBase::PARAM_ISMULTI => true ), 'properties' => array( - ApiWikibase::PARAM_TYPE => 'string', - ApiWikibase::PARAM_ISMULTI => true + ApiBase::PARAM_TYPE => 'string', + ApiBase::PARAM_ISMULTI => true ), 'claims' => array( - ApiWikibase::PARAM_TYPE => 'string', - ApiWikibase::PARAM_ISMULTI => true + ApiBase::PARAM_TYPE => 'string', + ApiBase::PARAM_ISMULTI => true ) - ) ); + ); } /** -- To view, visit https://gerrit.wikimedia.org/r/222926 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I2b83d2f6e3cb29c4256c51d4f008ad53c045c2dd Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/WikibaseQualityExternalValidation Gerrit-Branch: v1 Gerrit-Owner: Addshore <addshorew...@gmail.com> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits