jenkins-bot has submitted this change and it was merged.

Change subject: Pass TermLookup, not EntityLookup into 
WikibaseValueFormattersBuilders
......................................................................


Pass TermLookup, not EntityLookup into WikibaseValueFormattersBuilders

Change-Id: I5ff3d9f96f9496866a4026939b01cf59e9cd5592
---
M client/includes/WikibaseClient.php
M lib/includes/formatters/WikibaseValueFormatterBuilders.php
M lib/tests/phpunit/formatters/WikibaseSnakFormatterBuildersTest.php
M lib/tests/phpunit/formatters/WikibaseValueFormatterBuildersTest.php
M repo/includes/WikibaseRepo.php
5 files changed, 45 insertions(+), 28 deletions(-)

Approvals:
  Daniel Kinzler: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/client/includes/WikibaseClient.php 
b/client/includes/WikibaseClient.php
index 5c1cbcf..7ed0f92 100644
--- a/client/includes/WikibaseClient.php
+++ b/client/includes/WikibaseClient.php
@@ -45,6 +45,7 @@
 use Wikibase\Lib\Serializers\ForbiddenSerializer;
 use Wikibase\Lib\Store\EntityContentDataCodec;
 use Wikibase\Lib\Store\EntityLookup;
+use Wikibase\Lib\Store\EntityRetrievingTermLookup;
 use Wikibase\Lib\WikibaseDataTypeBuilders;
 use Wikibase\Lib\WikibaseSnakFormatterBuilders;
 use Wikibase\Lib\WikibaseValueFormatterBuilders;
@@ -200,6 +201,13 @@
         */
        private function getEntityLookup() {
                return $this->getStore()->getEntityLookup();
+       }
+
+       /**
+        * @return TermLookup
+        */
+       private function getTermLookup() {
+               return new EntityRetrievingTermLookup( $this->getEntityLookup() 
);
        }
 
        /**
@@ -465,7 +473,7 @@
         */
        private function newSnakFormatterFactory() {
                $valueFormatterBuilders = new WikibaseValueFormatterBuilders(
-                       $this->getEntityLookup(),
+                       $this->getTermLookup(),
                        $this->contentLanguage
                );
 
@@ -497,7 +505,7 @@
         */
        private function newValueFormatterFactory() {
                $builders = new WikibaseValueFormatterBuilders(
-                       $this->getEntityLookup(),
+                       $this->getTermLookup(),
                        $this->contentLanguage
                );
 
diff --git a/lib/includes/formatters/WikibaseValueFormatterBuilders.php 
b/lib/includes/formatters/WikibaseValueFormatterBuilders.php
index 5596a21..df49be9 100644
--- a/lib/includes/formatters/WikibaseValueFormatterBuilders.php
+++ b/lib/includes/formatters/WikibaseValueFormatterBuilders.php
@@ -13,8 +13,7 @@
 use ValueFormatters\ValueFormatter;
 use Wikibase\LanguageFallbackChain;
 use Wikibase\LanguageFallbackChainFactory;
-use Wikibase\Lib\Store\EntityLookup;
-use Wikibase\Lib\Store\EntityRetrievingTermLookup;
+use Wikibase\Lib\Store\TermLookup;
 use Wikibase\Lib\Store\EntityTitleLookup;
 use Wikibase\Lib\Store\LanguageFallbackLabelLookup;
 use Wikibase\Lib\Store\LanguageLabelLookup;
@@ -30,9 +29,9 @@
 class WikibaseValueFormatterBuilders {
 
        /**
-        * @var EntityLookup
+        * @var TermLookup
         */
-       private $entityLookup;
+       private $termLookup;
 
        /**
         * @var Language
@@ -112,11 +111,11 @@
        );
 
        public function __construct(
-               EntityLookup $entityLookup,
+               TermLookup $termLookup,
                Language $defaultLanguage,
                EntityTitleLookup $entityTitleLookup = null
        ) {
-               $this->entityLookup = $entityLookup;
+               $this->termLookup = $termLookup;
                $this->defaultLanguage = $defaultLanguage;
                $this->entityTitleLookup = $entityTitleLookup;
        }
@@ -509,7 +508,7 @@
                FormatterOptions $options,
                WikibaseValueFormatterBuilders $builders
        ) {
-               $termLookup = new EntityRetrievingTermLookup( 
$builders->entityLookup );
+               $termLookup = $builders->termLookup;
 
                // @fixme inject the label lookup
                if ( $options->hasOption( 'languages' ) ) {
diff --git a/lib/tests/phpunit/formatters/WikibaseSnakFormatterBuildersTest.php 
b/lib/tests/phpunit/formatters/WikibaseSnakFormatterBuildersTest.php
index 073e35d..b31e20e 100644
--- a/lib/tests/phpunit/formatters/WikibaseSnakFormatterBuildersTest.php
+++ b/lib/tests/phpunit/formatters/WikibaseSnakFormatterBuildersTest.php
@@ -57,18 +57,14 @@
                                return new DataType( $id, $typeMap[$id], 
array() );
                        } ) );
 
-               $entity = EntityFactory::singleton()->newEmpty( 
$entityId->getEntityType() );
-               $entity->setId( $entityId );
-               $entity->setLabel( 'en', 'Label for ' . 
$entityId->getSerialization() );
-
-               $entityLookup = $this->getMock( 
'Wikibase\Lib\Store\EntityLookup' );
-               $entityLookup->expects( $this->any() )
-                       ->method( 'getEntity' )
-                       ->will( $this->returnValue( $entity ) );
+               $termLookup = $this->getMock( 'Wikibase\Lib\Store\TermLookup' );
+               $termLookup->expects( $this->any() )
+                       ->method( 'getLabels' )
+                       ->will( $this->returnValue( array( 'en' => 'Label for ' 
. $entityId->getSerialization() ) ) );
 
                $lang = Language::factory( 'en' );
 
-               $valueFormatterBuilders = new WikibaseValueFormatterBuilders( 
$entityLookup, $lang );
+               $valueFormatterBuilders = new WikibaseValueFormatterBuilders( 
$termLookup, $lang );
                return new WikibaseSnakFormatterBuilders( 
$valueFormatterBuilders, $typeLookup, $typeFactory );
        }
 
diff --git 
a/lib/tests/phpunit/formatters/WikibaseValueFormatterBuildersTest.php 
b/lib/tests/phpunit/formatters/WikibaseValueFormatterBuildersTest.php
index fca38bf..4b36810 100644
--- a/lib/tests/phpunit/formatters/WikibaseValueFormatterBuildersTest.php
+++ b/lib/tests/phpunit/formatters/WikibaseValueFormatterBuildersTest.php
@@ -45,16 +45,12 @@
         * @return WikibaseValueFormatterBuilders
         */
        private function newWikibaseValueFormatterBuilders( EntityId $entityId 
) {
-               $entity = EntityFactory::singleton()->newEmpty( 
$entityId->getEntityType() );
-               $entity->setId( $entityId );
-               $entity->setLabel( 'en', 'Label for ' . 
$entityId->getSerialization() );
+               $termLookup = $this->getMock( 'Wikibase\Lib\Store\TermLookup' );
+               $termLookup->expects( $this->any() )
+                       ->method( 'getLabel' )
+                       ->will( $this->returnValue( 'Label for ' . 
$entityId->getSerialization() ) );
 
-               $entityLookup = $this->getMock( 
'Wikibase\Lib\Store\EntityLookup' );
-               $entityLookup->expects( $this->any() )
-                       ->method( 'getEntity' )
-                       ->will( $this->returnValue( $entity ) );
-
-               return new WikibaseValueFormatterBuilders( $entityLookup, 
Language::factory( 'en' ) );
+               return new WikibaseValueFormatterBuilders( $termLookup, 
Language::factory( 'en' ) );
        }
 
        private function newFormatterOptions( $lang = 'en' ) {
diff --git a/repo/includes/WikibaseRepo.php b/repo/includes/WikibaseRepo.php
index 0daed7a..d4f19b9 100644
--- a/repo/includes/WikibaseRepo.php
+++ b/repo/includes/WikibaseRepo.php
@@ -47,8 +47,10 @@
 use Wikibase\Lib\SnakFormatter;
 use Wikibase\Lib\Store\EntityContentDataCodec;
 use Wikibase\Lib\Store\EntityLookup;
+use Wikibase\Lib\Store\EntityRetrievingTermLookup;
 use Wikibase\Lib\Store\EntityTitleLookup;
 use Wikibase\Lib\Store\LanguageLabelLookup;
+use Wikibase\Lib\Store\TermLookup;
 use Wikibase\Lib\WikibaseDataTypeBuilders;
 use Wikibase\Lib\WikibaseSnakFormatterBuilders;
 use Wikibase\Lib\WikibaseValueFormatterBuilders;
@@ -485,13 +487,29 @@
        }
 
        /**
+        * @return TermLookup
+        */
+       public function getTermLookup() {
+               return new EntityRetrievingTermLookup( $this->getEntityLookup() 
);
+       }
+
+       /**
         * @return WikibaseValueFormatterBuilders
         */
        public function getValueFormatterBuilders() {
+               return $this->getValueFormatterBuildersForTermLookup(
+                       $this->getTermLookup()
+               );
+       }
+
+       /**
+        * @return WikibaseValueFormatterBuilders
+        */
+       public function getValueFormatterBuildersForTermLookup( TermLookup 
$termLookup ) {
                global $wgContLang;
 
                return new WikibaseValueFormatterBuilders(
-                       $this->getEntityLookup(),
+                       $termLookup,
                        $wgContLang,
                        $this->getEntityTitleLookup()
                );

-- 
To view, visit https://gerrit.wikimedia.org/r/175959
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I5ff3d9f96f9496866a4026939b01cf59e9cd5592
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Adrian Lang <adrian.l...@wikimedia.de>
Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to