Bene has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/217240

Change subject: Use LanguageFallbackLabelDescriptionLookupFactory in 
SpeciaSetSiteLink
......................................................................

Use LanguageFallbackLabelDescriptionLookupFactory in SpeciaSetSiteLink

Change-Id: Iba45addf3a92fb24d02b82fa852f2a47e6fce6d8
---
M repo/includes/specials/SpecialSetSiteLink.php
1 file changed, 21 insertions(+), 23 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/40/217240/1

diff --git a/repo/includes/specials/SpecialSetSiteLink.php 
b/repo/includes/specials/SpecialSetSiteLink.php
index 57ccd83..3de7374 100644
--- a/repo/includes/specials/SpecialSetSiteLink.php
+++ b/repo/includes/specials/SpecialSetSiteLink.php
@@ -11,9 +11,8 @@
 use Wikibase\DataModel\Entity\Entity;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\ItemId;
-use Wikibase\LanguageFallbackChainFactory;
 use Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookup;
-use Wikibase\Lib\Store\TermLookup;
+use Wikibase\Repo\LanguageFallbackLabelDescriptionLookupFactory;
 use Wikibase\Repo\SiteLinkTargetProvider;
 use Wikibase\Repo\WikibaseRepo;
 use Wikibase\Summary;
@@ -69,14 +68,9 @@
        private $siteLinkTargetProvider;
 
        /**
-        * @var TermLookup
+        * @var LanguageFallbackLabelDescriptionLookupFactory
         */
-       private $termLookup;
-
-       /**
-        * @var LanguageFallbackChainFactory
-        */
-       private $fallbackChainFactory;
+       private $labelDescriptionLookupFactory;
 
        /**
         * @since 0.4
@@ -96,8 +90,11 @@
                        $settings->getSetting( 'specialSiteLinkGroups' )
                );
 
-               $this->fallbackChainFactory = 
$wikibaseRepo->getLanguageFallbackChainFactory();
-               $this->termLookup = $wikibaseRepo->getTermLookup();
+               $this->labelDescriptionLookupFactory = new 
LanguageFallbackLabelDescriptionLookupFactory(
+                       $wikibaseRepo->getLanguageFallbackChainFactory(),
+                       $wikibaseRepo->getTermLookup(),
+                       $wikibaseRepo->getTermBuffer()
+               );
        }
 
        /**
@@ -307,23 +304,24 @@
        private function getHtmlForBadges() {
                $options = '';
 
-               $fallbackChain = $this->fallbackChainFactory->newFromLanguage(
+               /** @var ItemId[] $badgeItemIds */
+               $badgeItemIds = array_map( function( $badgeId ) {
+                       return new ItemId( $badgeId );
+               }, array_keys( $this->badgeItems ) );
+
+               $labelLookup = 
$this->labelDescriptionLookupFactory->newLabelDescriptionLookup(
                        $this->getLanguage(),
-                       LanguageFallbackChainFactory::FALLBACK_SELF
-                               | 
LanguageFallbackChainFactory::FALLBACK_VARIANTS
-                               | LanguageFallbackChainFactory::FALLBACK_OTHERS
+                       $badgeItemIds
                );
 
-               $labelLookup = new LanguageFallbackLabelDescriptionLookup( 
$this->termLookup, $fallbackChain );
-
-               foreach ( $this->badgeItems as $badgeId => $value ) {
-                       $name = 'badge-' . $badgeId;
+               foreach ( $badgeItemIds as $badgeId ) {
+                       $name = 'badge-' . $badgeId->getSerialization();
 
                        try {
-                               $term = $labelLookup->getLabel( new ItemId( 
$badgeId ) );
-                               $label = $term->getText();
+                               $label = $labelLookup->getLabel( $badgeId 
)->getText();
                        } catch ( OutOfBoundsException $ex ) {
-                               $label = $badgeId;
+                               // show plain id if no label has been found
+                               $label = $badgeId->getSerialization();
                        }
 
                        $options .= Html::rawElement(
@@ -333,7 +331,7 @@
                                ),
                                Html::check(
                                        $name,
-                                       in_array( $badgeId, $this->badges ),
+                                       in_array( $badgeId->getSerialization(), 
$this->badges ),
                                        array(
                                                'id' => $name
                                        )

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iba45addf3a92fb24d02b82fa852f2a47e6fce6d8
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Bene <benestar.wikime...@gmail.com>

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

Reply via email to