[MediaWiki-commits] [Gerrit] mediawiki...WikibaseLexeme[master]: Introduce and start using LexemeViewFactory

2017-03-24 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/343920 )

Change subject: Introduce and start using LexemeViewFactory
..


Introduce and start using LexemeViewFactory

This is, at this point, doing nothing but moving existing code around.
Note that this moves the dependency on WikibaseRepo into the new factory.
I believe we should avoid this but do not wanted to do this in the same
patch, making it more complicated.

Bug: T161092
Change-Id: Ie3dd7b3b0d2809c30606051e338ff2f415300f8b
---
M WikibaseLexeme.entitytypes.php
A src/View/LexemeViewFactory.php
A tests/phpunit/mediawiki/View/LexemeViewFactoryTest.php
3 files changed, 153 insertions(+), 41 deletions(-)

Approvals:
  Jonas Kress (WMDE): Looks good to me, approved
  Aleksey Bekh-Ivanov (WMDE): Looks good to me, but someone else must approve
  jenkins-bot: Verified
  Thiemo Mättig (WMDE): Looks good to me, approved



diff --git a/WikibaseLexeme.entitytypes.php b/WikibaseLexeme.entitytypes.php
index 714ebd6..3e2ff7f 100644
--- a/WikibaseLexeme.entitytypes.php
+++ b/WikibaseLexeme.entitytypes.php
@@ -12,26 +12,15 @@
  * @author Amir Sarabadani 
  */
 
-use Wikibase\DataModel\Entity\EntityId;
-use Wikibase\Lexeme\ChangeOp\Deserialization\LemmaChangeOpDeserializer;
-use Wikibase\Lexeme\ChangeOp\Deserialization\LanguageChangeOpDeserializer;
-use 
Wikibase\Lexeme\ChangeOp\Deserialization\LexicalCategoryChangeOpDeserializer;
-use Wikibase\Lexeme\Rdf\LexemeRdfBuilder;
-use Wikibase\Lexeme\Validators\LexemeValidatorFactory;
-use Wikibase\Lexeme\View\LexemeFormsView;
-use Wikibase\Rdf\RdfVocabulary;
-use Wikibase\Repo\ChangeOp\Deserialization\ClaimsChangeOpDeserializer;
-use Wikibase\Repo\ChangeOp\Deserialization\TermChangeOpSerializationValidator;
-use Wikibase\Repo\MediaWikiLanguageDirectionalityLookup;
-use Wikibase\Repo\MediaWikiLocalizedTextProvider;
-use Wikibase\Repo\ParserOutput\FallbackHintHtmlTermRenderer;
-use Wikibase\Repo\WikibaseRepo;
 use Wikibase\DataModel\DeserializerFactory;
+use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\SerializerFactory;
 use Wikibase\DataModel\Services\Lookup\LabelDescriptionLookup;
-use Wikibase\Lib\LanguageNameLookup;
 use Wikibase\LanguageFallbackChain;
+use Wikibase\Lexeme\ChangeOp\Deserialization\LanguageChangeOpDeserializer;
+use Wikibase\Lexeme\ChangeOp\Deserialization\LemmaChangeOpDeserializer;
 use Wikibase\Lexeme\ChangeOp\Deserialization\LexemeChangeOpDeserializer;
+use 
Wikibase\Lexeme\ChangeOp\Deserialization\LexicalCategoryChangeOpDeserializer;
 use Wikibase\Lexeme\Content\LexemeContent;
 use Wikibase\Lexeme\Content\LexemeHandler;
 use Wikibase\Lexeme\DataModel\Lexeme;
@@ -40,10 +29,15 @@
 use Wikibase\Lexeme\DataModel\Serialization\LexemeSerializer;
 use Wikibase\Lexeme\DataModel\Services\Diff\LexemeDiffer;
 use Wikibase\Lexeme\DataModel\Services\Diff\LexemePatcher;
-use Wikibase\Lexeme\View\LexemeView;
+use Wikibase\Lexeme\Rdf\LexemeRdfBuilder;
+use Wikibase\Lexeme\Validators\LexemeValidatorFactory;
+use Wikibase\Lexeme\View\LexemeViewFactory;
+use Wikibase\Rdf\RdfVocabulary;
+use Wikibase\Repo\ChangeOp\Deserialization\ClaimsChangeOpDeserializer;
+use Wikibase\Repo\ChangeOp\Deserialization\TermChangeOpSerializationValidator;
+use Wikibase\Repo\WikibaseRepo;
 use Wikibase\View\EditSectionGenerator;
 use Wikibase\View\EntityTermsView;
-use Wikibase\View\Template\TemplateFactory;
 use Wikimedia\Purtle\RdfWriter;
 
 return [
@@ -68,32 +62,15 @@
EditSectionGenerator $editSectionGenerator,
EntityTermsView $entityTermsView
) {
-   $wikibaseRepo = WikibaseRepo::getDefaultInstance();
-   $userLanguage = $wikibaseRepo->getUserLanguage();
-   $textProvider = new MediaWikiLocalizedTextProvider( 
$userLanguage->getCode() );
-   $viewFactory = $wikibaseRepo->getViewFactory();
-   $languageDirectionalityLookup = new 
MediaWikiLanguageDirectionalityLookup();
-   $htmlTermRenderer = new FallbackHintHtmlTermRenderer(
-   $languageDirectionalityLookup,
-   new LanguageNameLookup( $languageCode )
+   $factory = new LexemeViewFactory(
+   $languageCode,
+   $labelDescriptionLookup,
+   $fallbackChain,
+   $editSectionGenerator,
+   $entityTermsView
);
 
-   // TODO: One of the next steps should be to extract 
this to a LexemeViewFactory.
-   return new LexemeView(
-   TemplateFactory::getDefaultInstance(),
-   $entityTermsView,
-   

[MediaWiki-commits] [Gerrit] mediawiki...WikibaseLexeme[master]: Introduce and start using LexemeViewFactory

2017-03-21 Thread WMDE
Thiemo Mättig (WMDE) has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/343920 )

Change subject: Introduce and start using LexemeViewFactory
..

Introduce and start using LexemeViewFactory

This is, at this point, doing nothing but moving existing code around.
Note that this moves the dependency on WikibaseRepo into the new factory.
I believe we should avoid this but do not wanted to do this in the same
patch, making it more complicated.

Change-Id: Ie3dd7b3b0d2809c30606051e338ff2f415300f8b
---
M WikibaseLexeme.entitytypes.php
A src/View/LexemeViewFactory.php
A tests/phpunit/mediawiki/View/LexemeViewFactoryTest.php
3 files changed, 153 insertions(+), 41 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseLexeme 
refs/changes/20/343920/1

diff --git a/WikibaseLexeme.entitytypes.php b/WikibaseLexeme.entitytypes.php
index 714ebd6..3e2ff7f 100644
--- a/WikibaseLexeme.entitytypes.php
+++ b/WikibaseLexeme.entitytypes.php
@@ -12,26 +12,15 @@
  * @author Amir Sarabadani 
  */
 
-use Wikibase\DataModel\Entity\EntityId;
-use Wikibase\Lexeme\ChangeOp\Deserialization\LemmaChangeOpDeserializer;
-use Wikibase\Lexeme\ChangeOp\Deserialization\LanguageChangeOpDeserializer;
-use 
Wikibase\Lexeme\ChangeOp\Deserialization\LexicalCategoryChangeOpDeserializer;
-use Wikibase\Lexeme\Rdf\LexemeRdfBuilder;
-use Wikibase\Lexeme\Validators\LexemeValidatorFactory;
-use Wikibase\Lexeme\View\LexemeFormsView;
-use Wikibase\Rdf\RdfVocabulary;
-use Wikibase\Repo\ChangeOp\Deserialization\ClaimsChangeOpDeserializer;
-use Wikibase\Repo\ChangeOp\Deserialization\TermChangeOpSerializationValidator;
-use Wikibase\Repo\MediaWikiLanguageDirectionalityLookup;
-use Wikibase\Repo\MediaWikiLocalizedTextProvider;
-use Wikibase\Repo\ParserOutput\FallbackHintHtmlTermRenderer;
-use Wikibase\Repo\WikibaseRepo;
 use Wikibase\DataModel\DeserializerFactory;
+use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\SerializerFactory;
 use Wikibase\DataModel\Services\Lookup\LabelDescriptionLookup;
-use Wikibase\Lib\LanguageNameLookup;
 use Wikibase\LanguageFallbackChain;
+use Wikibase\Lexeme\ChangeOp\Deserialization\LanguageChangeOpDeserializer;
+use Wikibase\Lexeme\ChangeOp\Deserialization\LemmaChangeOpDeserializer;
 use Wikibase\Lexeme\ChangeOp\Deserialization\LexemeChangeOpDeserializer;
+use 
Wikibase\Lexeme\ChangeOp\Deserialization\LexicalCategoryChangeOpDeserializer;
 use Wikibase\Lexeme\Content\LexemeContent;
 use Wikibase\Lexeme\Content\LexemeHandler;
 use Wikibase\Lexeme\DataModel\Lexeme;
@@ -40,10 +29,15 @@
 use Wikibase\Lexeme\DataModel\Serialization\LexemeSerializer;
 use Wikibase\Lexeme\DataModel\Services\Diff\LexemeDiffer;
 use Wikibase\Lexeme\DataModel\Services\Diff\LexemePatcher;
-use Wikibase\Lexeme\View\LexemeView;
+use Wikibase\Lexeme\Rdf\LexemeRdfBuilder;
+use Wikibase\Lexeme\Validators\LexemeValidatorFactory;
+use Wikibase\Lexeme\View\LexemeViewFactory;
+use Wikibase\Rdf\RdfVocabulary;
+use Wikibase\Repo\ChangeOp\Deserialization\ClaimsChangeOpDeserializer;
+use Wikibase\Repo\ChangeOp\Deserialization\TermChangeOpSerializationValidator;
+use Wikibase\Repo\WikibaseRepo;
 use Wikibase\View\EditSectionGenerator;
 use Wikibase\View\EntityTermsView;
-use Wikibase\View\Template\TemplateFactory;
 use Wikimedia\Purtle\RdfWriter;
 
 return [
@@ -68,32 +62,15 @@
EditSectionGenerator $editSectionGenerator,
EntityTermsView $entityTermsView
) {
-   $wikibaseRepo = WikibaseRepo::getDefaultInstance();
-   $userLanguage = $wikibaseRepo->getUserLanguage();
-   $textProvider = new MediaWikiLocalizedTextProvider( 
$userLanguage->getCode() );
-   $viewFactory = $wikibaseRepo->getViewFactory();
-   $languageDirectionalityLookup = new 
MediaWikiLanguageDirectionalityLookup();
-   $htmlTermRenderer = new FallbackHintHtmlTermRenderer(
-   $languageDirectionalityLookup,
-   new LanguageNameLookup( $languageCode )
+   $factory = new LexemeViewFactory(
+   $languageCode,
+   $labelDescriptionLookup,
+   $fallbackChain,
+   $editSectionGenerator,
+   $entityTermsView
);
 
-   // TODO: One of the next steps should be to extract 
this to a LexemeViewFactory.
-   return new LexemeView(
-   TemplateFactory::getDefaultInstance(),
-   $entityTermsView,
-   $languageDirectionalityLookup,
-   $languageCode,
-   new LexemeFormsView(