Daniel Kinzler has uploaded a new change for review.
https://gerrit.wikimedia.org/r/173275
Change subject: Use the same EntityInfo for JS and HTML
......................................................................
Use the same EntityInfo for JS and HTML
Change-Id: I5feac8e2a8a4e33c7187fef6a88fd2517ad3b14f
---
M repo/includes/EntityParserOutputGenerator.php
M repo/includes/View/EntityViewFactory.php
2 files changed, 7 insertions(+), 40 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/75/173275/1
diff --git a/repo/includes/EntityParserOutputGenerator.php
b/repo/includes/EntityParserOutputGenerator.php
index 53dd76d..a5f7f5f 100644
--- a/repo/includes/EntityParserOutputGenerator.php
+++ b/repo/includes/EntityParserOutputGenerator.php
@@ -2,24 +2,15 @@
namespace Wikibase;
-use Language;
use ParserOutput;
use ValueFormatters\FormatterOptions;
use ValueFormatters\ValueFormatter;
-use Wikibase\DataModel\Entity\Entity;
use Wikibase\DataModel\Entity\EntityId;
use Wikibase\DataModel\Entity\Item;
-use Wikibase\DataModel\Entity\Property;
-use Wikibase\DataModel\Entity\PropertyDataTypeLookup;
use Wikibase\DataModel\SiteLinkList;
-use Wikibase\LanguageFallbackChain;
-use Wikibase\Lib\Serializers\SerializationOptions;
+use Wikibase\DataModel\Snak\Snak;
use Wikibase\Lib\Store\EntityInfoBuilderFactory;
-use Wikibase\Lib\Store\EntityLookup;
-use Wikibase\Lib\Store\EntityRetrievingTermLookup;
use Wikibase\Lib\Store\EntityTitleLookup;
-use Wikibase\Lib\Store\LanguageLabelLookup;
-use Wikibase\Lib\WikibaseValueFormatterBuilders;
use Wikibase\Repo\View\EntityViewFactory;
/**
@@ -116,7 +107,7 @@
$snaks = $entity->getAllSnaks();
$usedEntityIds =
$this->referencedEntitiesFinder->findSnakLinks( $snaks );
- $entityInfo = $this->getEntityInfoForJsConfig( $usedEntityIds );
+ $entityInfo = $this->getEntityInfo( $usedEntityIds );
$configVars = $this->configBuilder->build( $entity, $entityInfo
);
$parserOutput->addJsConfigVars( $configVars );
@@ -213,7 +204,7 @@
* @param EntityId[] $entityIds
* @return array obtained from EntityInfoBuilder::getEntityInfo
*/
- private function getEntityInfoForJsConfig( array $entityIds ) {
+ private function getEntityInfo( array $entityIds ) {
wfProfileIn( __METHOD__ );
// @todo: use same instance of entity info, as for the view
(see below)
@@ -240,27 +231,6 @@
}
/**
- * @param EntityId[] $entityIds
- * @return array obtained from EntityInfoBuilder::getEntityInfo
- */
- private function getEntityInfoForView( array $entityIds ) {
- $propertyIds = array_filter( $entityIds, function ( EntityId
$id ) {
- return $id->getEntityType() === Property::ENTITY_TYPE;
- } );
-
- $entityInfoBuilder =
$this->entityInfoBuilderFactory->newEntityInfoBuilder( $propertyIds );
-
- $entityInfoBuilder->removeMissing();
-
- $entityInfoBuilder->collectTerms(
- array( 'label', 'description' ),
- array( $this->languageCode )
- );
-
- return $entityInfoBuilder->getEntityInfo();
- }
-
- /**
* @param ParserOutput $parserOutput
* @param SiteLinkList $siteLinkList
*/
@@ -276,7 +246,7 @@
* @param ParserOutput $parserOutput
* @param EntityRevision $entityRevision
* @param array $entityIds obtained from
EntityInfoBuilder::getEntityInfo
- * $param boolean $editable
+ * @param boolean $editable
*/
private function addHtmlToParserOutput(
ParserOutput $parserOutput,
@@ -290,7 +260,7 @@
$entityRevision->getEntity()->getType()
);
- $entityInfo = $this->getEntityInfoForView( $entityIds );
+ $entityInfo = $this->getEntityInfo( $entityIds );
$html = $entityView->getHtml( $entityRevision, $entityInfo,
$editable );
$parserOutput->setText( $html );
diff --git a/repo/includes/View/EntityViewFactory.php
b/repo/includes/View/EntityViewFactory.php
index 0687734..b89b675 100644
--- a/repo/includes/View/EntityViewFactory.php
+++ b/repo/includes/View/EntityViewFactory.php
@@ -7,21 +7,17 @@
use ValueFormatters\FormatterOptions;
use ValueFormatters\ValueFormatter;
use Wikibase\ClaimHtmlGenerator;
+use Wikibase\EntityView;
use Wikibase\ItemView;
use Wikibase\LanguageFallbackChain;
use Wikibase\Lib\OutputFormatSnakFormatterFactory;
use Wikibase\Lib\SnakFormatter;
-use Wikibase\Lib\Store\EntityInfoBuilderFactory;
use Wikibase\Lib\Store\EntityLookup;
use Wikibase\Lib\Store\EntityRetrievingTermLookup;
use Wikibase\Lib\Store\EntityTitleLookup;
use Wikibase\Lib\Store\LanguageLabelLookup;
use Wikibase\Lib\WikibaseValueFormatterBuilders;
use Wikibase\PropertyView;
-use Wikibase\Repo\View\ClaimsView;
-use Wikibase\Repo\View\FingerprintView;
-use Wikibase\Repo\View\SectionEditLinkGenerator;
-use Wikibase\Repo\View\SnakHtmlGenerator;
/**
* @since 0.5
@@ -69,6 +65,7 @@
* @param string $languageCode
* @param string $entityType
*
+ * @throws InvalidArgumentException
* @return EntityView
*/
public function newEntityView(
--
To view, visit https://gerrit.wikimedia.org/r/173275
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5feac8e2a8a4e33c7187fef6a88fd2517ad3b14f
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Daniel Kinzler <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits