From f3203240936b2836de5242d07831d737f2f383fc Mon Sep 17 00:00:00 2001 From: aude Date: Wed, 30 Nov 2016 23:30:17 -0500 Subject: [PATCH] Update TermIndexEntry usage, per changes in Wikibase Needed since https://gerrit.wikimedia.org/r/#/c/323176/ Bug: T152065 --- src/PropertySuggester/ResultBuilder.php | 2 +- src/PropertySuggester/SuggestionGenerator.php | 5 +++-- .../PropertySuggester/SuggestionGeneratorTest.php | 12 +++++++----- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/PropertySuggester/ResultBuilder.php b/src/PropertySuggester/ResultBuilder.php index 786572b..db8785e 100644 --- a/src/PropertySuggester/ResultBuilder.php +++ b/src/PropertySuggester/ResultBuilder.php @@ -102,7 +102,7 @@ private function buildEntry( EntityId $id, array $clusteredTerms, Suggestion $su } foreach ( $matchingTerms as $term ) { - switch ( $term->getType() ) { + switch ( $term->getTermType() ) { case TermIndexEntry::TYPE_LABEL: $entry['label'] = $term->getText(); break; diff --git a/src/PropertySuggester/SuggestionGenerator.php b/src/PropertySuggester/SuggestionGenerator.php index 595f19c..2bbc396 100644 --- a/src/PropertySuggester/SuggestionGenerator.php +++ b/src/PropertySuggester/SuggestionGenerator.php @@ -2,6 +2,7 @@ namespace PropertySuggester; +use InvalidArgumentException; use PropertySuggester\Suggesters\SuggesterEngine; use PropertySuggester\Suggesters\Suggestion; use Wikibase\DataModel\Entity\Item; @@ -9,9 +10,9 @@ use Wikibase\DataModel\Entity\Property; use Wikibase\DataModel\Entity\PropertyId; use Wikibase\DataModel\Services\Lookup\EntityLookup; +use Wikibase\Lib\Store\TermIndexSearchCriteria; use Wikibase\TermIndex; use Wikibase\TermIndexEntry; -use InvalidArgumentException; /** * API module helper to generate property suggestions. @@ -122,7 +123,7 @@ public function filterSuggestions( array $suggestions, $search, $language, $resu private function getMatchingIDs( $search, $language ) { $termIndexEntries = $this->termIndex->getTopMatchingTerms( array( - new TermIndexEntry( array( + new TermIndexSearchCriteria( array( 'termLanguage' => $language, 'termText' => $search ) ) diff --git a/tests/phpunit/PropertySuggester/SuggestionGeneratorTest.php b/tests/phpunit/PropertySuggester/SuggestionGeneratorTest.php index 31ff3ae..d952963 100644 --- a/tests/phpunit/PropertySuggester/SuggestionGeneratorTest.php +++ b/tests/phpunit/PropertySuggester/SuggestionGeneratorTest.php @@ -2,6 +2,7 @@ namespace PropertySuggester; +use InvalidArgumentException; use MediaWikiTestCase; use PHPUnit_Framework_MockObject_MockObject; use PropertySuggester\Suggesters\SuggesterEngine; @@ -12,12 +13,11 @@ use Wikibase\DataModel\Snak\PropertySomeValueSnak; use Wikibase\DataModel\Entity\ItemId; use Wikibase\TermIndex; -use InvalidArgumentException; use Wikibase\TermIndexEntry; /** * @covers PropertySuggester\SuggestionGenerator - * + * * @group PropertySuggester * @group API * @group medium @@ -92,10 +92,12 @@ public function testFilterSuggestions() { */ private function getTermIndexEntryArrayWithIds( $ids ) { $termIndexEntries = array(); - foreach ( $ids as $id ) { + foreach ( $ids as $i => $id ) { $termIndexEntries[] = new TermIndexEntry( array( - 'entityId' => $id->getNumericId(), - 'entityType' => $id->getEntityType(), + 'entityId' => $id, + 'termLanguage' => 'en', + 'termText' => "kitten$i", + 'termType' => TermIndexEntry::TYPE_LABEL ) ); } return $termIndexEntries;