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

Reply via email to