Bene has uploaded a new change for review.
https://gerrit.wikimedia.org/r/217241
Change subject: Use LanguageFallbackLabelDescriptionLookupFactory in
SpecialListProperties
......................................................................
Use LanguageFallbackLabelDescriptionLookupFactory in SpecialListProperties
Change-Id: Ie1c13bb27ed920b28d4b11734e500f69da96e91b
---
M repo/includes/specials/SpecialListProperties.php
M repo/tests/phpunit/includes/specials/SpecialListPropertiesTest.php
2 files changed, 25 insertions(+), 45 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/41/217241/1
diff --git a/repo/includes/specials/SpecialListProperties.php
b/repo/includes/specials/SpecialListProperties.php
index 403f669..ae3591b 100644
--- a/repo/includes/specials/SpecialListProperties.php
+++ b/repo/includes/specials/SpecialListProperties.php
@@ -6,12 +6,9 @@
use Html;
use Wikibase\DataModel\Entity\PropertyId;
use Wikibase\DataTypeSelector;
-use Wikibase\LanguageFallbackChainFactory;
-use Wikibase\Lib\Store\LanguageFallbackLabelDescriptionLookup;
-use Wikibase\Lib\Store\TermLookup;
use Wikibase\PropertyInfoStore;
+use Wikibase\Repo\LanguageFallbackLabelDescriptionLookupFactory;
use Wikibase\Repo\WikibaseRepo;
-use Wikibase\Store\TermBuffer;
use Wikibase\View\EntityIdFormatterFactory;
/**
@@ -41,24 +38,14 @@
private $propertyInfoStore;
/**
- * @var LanguageFallbackChainFactory
- */
- private $languageFallbackChainFactory;
-
- /**
- * @var TermLookup
- */
- private $termLookup;
-
- /**
- * @var TermBuffer
- */
- private $termBuffer;
-
- /**
* @var EntityIdFormatterFactory
*/
private $entityIdFormatterFactory;
+
+ /**
+ * @var LanguageFallbackLabelDescriptionLookupFactory
+ */
+ private $labelDescriptionLookupFactory;
/**
* @var string
@@ -71,10 +58,12 @@
$this->initServices(
WikibaseRepo::getDefaultInstance()->getDataTypeFactory(),
WikibaseRepo::getDefaultInstance()->getStore()->getPropertyInfoStore(),
-
WikibaseRepo::getDefaultInstance()->getLanguageFallbackChainFactory(),
- WikibaseRepo::getDefaultInstance()->getTermLookup(),
- WikibaseRepo::getDefaultInstance()->getTermBuffer(),
-
WikibaseRepo::getDefaultInstance()->getEntityIdHtmlLinkFormatterFactory()
+
WikibaseRepo::getDefaultInstance()->getEntityIdHtmlLinkFormatterFactory(),
+ new LanguageFallbackLabelDescriptionLookupFactory(
+
WikibaseRepo::getDefaultInstance()->getLanguageFallbackChainFactory(),
+
WikibaseRepo::getDefaultInstance()->getTermLookup(),
+
WikibaseRepo::getDefaultInstance()->getTermBuffer()
+ )
);
}
@@ -85,17 +74,13 @@
public function initServices(
DataTypeFactory $dataTypeFactory,
PropertyInfoStore $propertyInfoStore,
- LanguageFallbackChainFactory $languageFallbackChainFactory,
- TermLookup $termLookup,
- TermBuffer $termBuffer,
- EntityIdFormatterFactory $entityIdFormatterFactory
+ EntityIdFormatterFactory $entityIdFormatterFactory,
+ LanguageFallbackLabelDescriptionLookupFactory
$labelDescriptionLookupFactory
) {
$this->dataTypeFactory = $dataTypeFactory;
$this->propertyInfoStore = $propertyInfoStore;
- $this->languageFallbackChainFactory =
$languageFallbackChainFactory;
- $this->termLookup = $termLookup;
- $this->termBuffer = $termBuffer;
$this->entityIdFormatterFactory = $entityIdFormatterFactory;
+ $this->labelDescriptionLookupFactory =
$labelDescriptionLookupFactory;
}
/**
@@ -198,20 +183,12 @@
return;
}
- $languageFallbackChain =
$this->languageFallbackChainFactory->newFromLanguage(
+ $labelDescriptionLookup =
$this->labelDescriptionLookupFactory->newLabelDescriptionLookup(
$this->getLanguage(),
- LanguageFallbackChainFactory::FALLBACK_SELF
- |
LanguageFallbackChainFactory::FALLBACK_VARIANTS
- | LanguageFallbackChainFactory::FALLBACK_OTHERS
+ $propertyIds
);
- $languages = $languageFallbackChain->getFetchLanguageCodes();
- $labelDescriptionLookup = new
LanguageFallbackLabelDescriptionLookup(
- $this->termLookup,
- $languageFallbackChain
- );
- $formatter =
$this->entityIdFormatterFactory->getEntityIdFormater( $labelDescriptionLookup );
- $this->termBuffer->prefetchTerms( $propertyIds, array( 'label'
), $languages );
+ $formatter =
$this->entityIdFormatterFactory->getEntityIdFormater( $labelDescriptionLookup );
$html = Html::openElement( 'ul' );
diff --git a/repo/tests/phpunit/includes/specials/SpecialListPropertiesTest.php
b/repo/tests/phpunit/includes/specials/SpecialListPropertiesTest.php
index 4297813..f5a0b2c 100644
--- a/repo/tests/phpunit/includes/specials/SpecialListPropertiesTest.php
+++ b/repo/tests/phpunit/includes/specials/SpecialListPropertiesTest.php
@@ -12,6 +12,7 @@
use Wikibase\Lib\LanguageNameLookup;
use Wikibase\PropertyInfoStore;
use Wikibase\Repo\EntityIdHtmlLinkFormatterFactory;
+use Wikibase\Repo\LanguageFallbackLabelDescriptionLookupFactory;
use Wikibase\Repo\Specials\SpecialListProperties;
use Wikibase\Test\SpecialPageTestBase;
@@ -105,10 +106,12 @@
$specialPage->initServices(
$this->getDataTypeFactory(),
$this->getPropertyInfoStore(),
- new LanguageFallbackChainFactory(),
- $this->getTermLookup(),
- $this->getTermBuffer(),
- new EntityIdHtmlLinkFormatterFactory(
$this->getEntityTitleLookup(), new LanguageNameLookup() )
+ new EntityIdHtmlLinkFormatterFactory(
$this->getEntityTitleLookup(), new LanguageNameLookup() ),
+ new LanguageFallbackLabelDescriptionLookupFactory(
+ new LanguageFallbackChainFactory(),
+ $this->getTermLookup(),
+ $this->getTermBuffer()
+ )
);
return $specialPage;
--
To view, visit https://gerrit.wikimedia.org/r/217241
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie1c13bb27ed920b28d4b11734e500f69da96e91b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Bene <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits