jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/373275 )

Change subject: Use LFChainFactory instance provided by WikibaseServices in 
Client and (optionally) Repo
......................................................................


Use LFChainFactory instance provided by WikibaseServices in Client and 
(optionally) Repo

Change-Id: I3d07d26a21fc699db7cac9c5f034ab3eb2d4427c
---
M client/includes/WikibaseClient.php
M data-access/src/MultipleRepositoryAwareWikibaseServices.php
M data-access/src/WikibaseServices.php
M data-access/tests/phpunit/MultipleRepositoryAwareWikibaseServicesTest.php
M repo/includes/WikibaseRepo.php
5 files changed, 30 insertions(+), 10 deletions(-)

Approvals:
  Daniel Kinzler: Looks good to me, approved
  jenkins-bot: Verified
  Zoranzoki21: Looks good to me, but someone else must approve



diff --git a/client/includes/WikibaseClient.php 
b/client/includes/WikibaseClient.php
index dc50d38..ec3194e 100644
--- a/client/includes/WikibaseClient.php
+++ b/client/includes/WikibaseClient.php
@@ -153,11 +153,6 @@
        private $entityIdComposer = null;
 
        /**
-        * @var LanguageFallbackChainFactory|null
-        */
-       private $languageFallbackChainFactory = null;
-
-       /**
         * @var ClientStore|null
         */
        private $store = null;
@@ -526,11 +521,7 @@
         * @return LanguageFallbackChainFactory
         */
        public function getLanguageFallbackChainFactory() {
-               if ( $this->languageFallbackChainFactory === null ) {
-                       $this->languageFallbackChainFactory = new 
LanguageFallbackChainFactory();
-               }
-
-               return $this->languageFallbackChainFactory;
+               return 
$this->getWikibaseServices()->getLanguageFallbackChainFactory();
        }
 
        /**
diff --git a/data-access/src/MultipleRepositoryAwareWikibaseServices.php 
b/data-access/src/MultipleRepositoryAwareWikibaseServices.php
index 75171e2..fdfa4c2 100644
--- a/data-access/src/MultipleRepositoryAwareWikibaseServices.php
+++ b/data-access/src/MultipleRepositoryAwareWikibaseServices.php
@@ -8,6 +8,7 @@
 use Wikibase\DataModel\Services\Entity\EntityPrefetcher;
 use Wikibase\DataModel\Services\EntityId\PrefixMappingEntityIdParserFactory;
 use Wikibase\DataModel\Services\Term\TermBuffer;
+use Wikibase\LanguageFallbackChainFactory;
 use Wikibase\Lib\EntityIdComposer;
 use Wikibase\Lib\EntityTypeDefinitions;
 use Wikibase\Lib\Interactors\TermSearchInteractorFactory;
@@ -138,6 +139,9 @@
                        'EntityStoreWatcher' => function() use ( 
$multiRepositoryServices ) {
                                return $multiRepositoryServices;
                        },
+                       'LanguageFallbackChainFactory' => function () use ( 
$genericServices ) {
+                               return 
$genericServices->getLanguageFallbackChainFactory();
+                       },
                        'PropertyInfoLookup' => function() use ( 
$multiRepositoryServices ) {
                                return 
$multiRepositoryServices->getPropertyInfoLookup();
                        },
@@ -182,6 +186,13 @@
        }
 
        /**
+        * @return LanguageFallbackChainFactory
+        */
+       public function getLanguageFallbackChainFactory() {
+               return $this->getService( 'LanguageFallbackChainFactory' );
+       }
+
+       /**
         * @return PropertyInfoLookup
         */
        public function getPropertyInfoLookup() {
diff --git a/data-access/src/WikibaseServices.php 
b/data-access/src/WikibaseServices.php
index 6679575..eef637b 100644
--- a/data-access/src/WikibaseServices.php
+++ b/data-access/src/WikibaseServices.php
@@ -4,6 +4,7 @@
 
 use Wikibase\DataModel\Services\Entity\EntityPrefetcher;
 use Wikibase\DataModel\Services\Term\TermBuffer;
+use Wikibase\LanguageFallbackChainFactory;
 use Wikibase\Lib\Interactors\TermSearchInteractorFactory;
 use Wikibase\Lib\Store\EntityInfoBuilderFactory;
 use Wikibase\Lib\Store\EntityRevisionLookup;
@@ -46,6 +47,11 @@
        public function getEntityStoreWatcher();
 
        /**
+        * @return LanguageFallbackChainFactory
+        */
+       public function getLanguageFallbackChainFactory();
+
+       /**
         * Note: Instance returned is not guaranteed to be a caching decorator.
         * Callers should take care of caching themselves.
         *
diff --git 
a/data-access/tests/phpunit/MultipleRepositoryAwareWikibaseServicesTest.php 
b/data-access/tests/phpunit/MultipleRepositoryAwareWikibaseServicesTest.php
index 25d2835..e48a14a 100644
--- a/data-access/tests/phpunit/MultipleRepositoryAwareWikibaseServicesTest.php
+++ b/data-access/tests/phpunit/MultipleRepositoryAwareWikibaseServicesTest.php
@@ -8,6 +8,7 @@
 use Wikibase\DataModel\Entity\BasicEntityIdParser;
 use Wikibase\DataModel\Services\Entity\EntityPrefetcher;
 use Wikibase\DataModel\Services\Term\TermBuffer;
+use Wikibase\LanguageFallbackChainFactory;
 use Wikibase\Lib\EntityIdComposer;
 use Wikibase\Lib\EntityTypeDefinitions;
 use Wikibase\Lib\Interactors\TermSearchInteractorFactory;
@@ -104,6 +105,12 @@
                $this->assertInstanceOf( EntityStoreWatcher::class, 
$wikibaseServices->getEntityStoreWatcher() );
        }
 
+       public function testGetLanguageFallbackChainFactory() {
+               $wikibaseServices = 
$this->newMultipleRepositoryAwareWikibaseServices();
+
+               $this->assertInstanceOf( LanguageFallbackChainFactory::class, 
$wikibaseServices->getLanguageFallbackChainFactory() );
+       }
+
        public function testGetPropertyInfoLookup() {
                $wikibaseServices = 
$this->newMultipleRepositoryAwareWikibaseServices();
 
@@ -142,6 +149,7 @@
                                'EntityPrefetcher',
                                'EntityRevisionLookup',
                                'EntityStoreWatcher',
+                               'LanguageFallbackChainFactory',
                                'PropertyInfoLookup',
                                'StringNormalizer',
                                'TermBuffer',
diff --git a/repo/includes/WikibaseRepo.php b/repo/includes/WikibaseRepo.php
index be8243d..38f38bd 100644
--- a/repo/includes/WikibaseRepo.php
+++ b/repo/includes/WikibaseRepo.php
@@ -913,6 +913,10 @@
         * @return LanguageFallbackChainFactory
         */
        public function getLanguageFallbackChainFactory() {
+               if ( $this->wikibaseServices !== null ) {
+                       return 
$this->wikibaseServices->getLanguageFallbackChainFactory();
+               }
+
                if ( $this->languageFallbackChainFactory === null ) {
                        $this->languageFallbackChainFactory = new 
LanguageFallbackChainFactory();
                }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I3d07d26a21fc699db7cac9c5f034ab3eb2d4427c
Gerrit-PatchSet: 4
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: WMDE-leszek <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: Zoranzoki21 <[email protected]>
Gerrit-Reviewer: jenkins-bot <>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to