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

Reply via email to