Jeroen De Dauw has uploaded a new change for review. https://gerrit.wikimedia.org/r/255370
Change subject: Demonstrate StatementList::filter utility ...................................................................... Demonstrate StatementList::filter utility Change-Id: Id050ad0b3dd77b100a348c0532fb951ef80cb7b1 --- M repo/includes/api/GetClaims.php 1 file changed, 4 insertions(+), 15 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/70/255370/1 diff --git a/repo/includes/api/GetClaims.php b/repo/includes/api/GetClaims.php index 3bcf56a..3edc4e7 100644 --- a/repo/includes/api/GetClaims.php +++ b/repo/includes/api/GetClaims.php @@ -11,6 +11,7 @@ use Wikibase\DataModel\Services\Statement\StatementGuidParser; use Wikibase\DataModel\Services\Statement\StatementGuidValidator; use Wikibase\DataModel\Statement\Statement; +use Wikibase\DataModel\Statement\StatementFilter; use Wikibase\DataModel\Statement\StatementList; use Wikibase\DataModel\Statement\StatementListProvider; use Wikibase\Lib\Store\EntityRevisionLookup; @@ -26,7 +27,7 @@ * @author Jeroen De Dauw < [email protected] > * @author Adam Shorland */ -class GetClaims extends ApiBase { +class GetClaims extends ApiBase implements StatementFilter { /** * @var StatementGuidValidator @@ -128,26 +129,14 @@ } if ( $guid === null ) { - return $this->getMatchingStatements( $entity->getStatements() ); + return $entity->getStatements()->filter( $this ); } $statement = $entity->getStatements()->getFirstStatementWithGuid( $guid ); return $statement === null ? array() : array( $statement ); } - private function getMatchingStatements( StatementList $statementList ) { - $statements = array(); - - foreach ( $statementList->toArray() as $statement ) { - if ( $this->statementMatchesFilters( $statement ) ) { - $statements[] = $statement; - } - } - - return $statements; - } - - private function statementMatchesFilters( Statement $statement ) { + public function statementMatches( Statement $statement ) { return $this->rankMatchesFilter( $statement->getRank() ) && $this->propertyMatchesFilter( $statement->getPropertyId() ); } -- To view, visit https://gerrit.wikimedia.org/r/255370 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Id050ad0b3dd77b100a348c0532fb951ef80cb7b1 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Jeroen De Dauw <[email protected]> _______________________________________________ MediaWiki-commits mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits
