jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/354239 )
Change subject: Move example data from LexemeView to LexemeContent to make it "visible" to serializers ...................................................................... Move example data from LexemeView to LexemeContent to make it "visible" to serializers Bug: T165480 Change-Id: Ideb0f9ba43a2e1b08645ef229e7405deab2bc169 --- M src/Content/LexemeContent.php M src/DataModel/Lexeme.php M src/View/LexemeView.php 3 files changed, 55 insertions(+), 34 deletions(-) Approvals: Jonas Kress (WMDE): Looks good to me, approved jenkins-bot: Verified Thiemo Mättig (WMDE): Looks good to me, approved diff --git a/src/Content/LexemeContent.php b/src/Content/LexemeContent.php index b86a59a..0e881f9 100644 --- a/src/Content/LexemeContent.php +++ b/src/Content/LexemeContent.php @@ -3,11 +3,20 @@ namespace Wikibase\Lexeme\Content; use InvalidArgumentException; -use MongoDB\Driver\Exception\UnexpectedValueException; use Wikibase\Content\EntityHolder; use Wikibase\EntityContent; use Wikibase\Lexeme\DataModel\Lexeme; use Wikimedia\Assert\Assert; + +use DataValues\StringValue; +use Wikibase\DataModel\Entity\ItemId; +use Wikibase\DataModel\Entity\PropertyId; +use Wikibase\DataModel\Snak\PropertyNoValueSnak; +use Wikibase\DataModel\Snak\PropertyValueSnak; +use Wikibase\DataModel\Statement\Statement; +use Wikibase\DataModel\Statement\StatementList; +use Wikibase\Lexeme\DataModel\LexemeForm; +use Wikibase\Lexeme\DataModel\LexemeFormId; /** * @license GPL-2.0+ @@ -44,7 +53,41 @@ * @return Lexeme */ public function getEntity() { - return $this->lexemeHolder->getEntity( Lexeme::class ); + /** @var Lexeme $lexeme */ + $lexeme = $this->lexemeHolder->getEntity( Lexeme::class ); + + // TODO: This obviously is a dummy that must be removed + $grammaticalFeatures1 = [ new ItemId( 'Q2' ) ]; + $grammaticalFeatures2 = [ new ItemId( 'Q2' ), new ItemId( 'Q3' ) ]; + $statements1 = new StatementList( + [ + new Statement( new PropertyNoValueSnak( new PropertyId( 'P2' ) ), null, null, 'guid1' ) + ] + ); + $statements2 = new StatementList( + [ + new Statement( new PropertyNoValueSnak( new PropertyId( 'P2' ) ), null, null, 'guid2' ), + new Statement( + new PropertyValueSnak( + new PropertyId( 'P3' ), + new StringValue( 'asd' ) + ), + null, + null, + 'guid3' + ), + ] + ); + + $forms = [ + new LexemeForm( new LexemeFormId( 'F1' ), 'A', [] ), + new LexemeForm( new LexemeFormId( 'F2' ), 'B', $grammaticalFeatures1, $statements1 ), + new LexemeForm( new LexemeFormId( 'F3' ), 'C', $grammaticalFeatures2, $statements2 ), + ]; + + $lexeme->setForms( $forms ); + + return $lexeme; } /** diff --git a/src/DataModel/Lexeme.php b/src/DataModel/Lexeme.php index 014bab2..7575999 100644 --- a/src/DataModel/Lexeme.php +++ b/src/DataModel/Lexeme.php @@ -233,6 +233,14 @@ } /** + * @param LexemeForm[] $forms + * @deprecated Temporary method, for demo. Just don't use. + */ + public function setForms( $forms ) { + $this->forms = $forms; + } + + /** * @return bool False if a non-optional field was never initialized, true otherwise. */ public function isSufficientlyInitialized() { diff --git a/src/View/LexemeView.php b/src/View/LexemeView.php index 22ac15c..4bdb94e 100644 --- a/src/View/LexemeView.php +++ b/src/View/LexemeView.php @@ -2,24 +2,16 @@ namespace Wikibase\Lexeme\View; -use DataValues\StringValue; use InvalidArgumentException; use Language; use Message; use Wikibase\DataModel\Entity\EntityDocument; use Wikibase\DataModel\Entity\ItemId; -use Wikibase\DataModel\Entity\PropertyId; use Wikibase\DataModel\Services\Lookup\LabelDescriptionLookup; use Wikibase\DataModel\Services\Lookup\LabelDescriptionLookupException; -use Wikibase\DataModel\Snak\PropertyNoValueSnak; -use Wikibase\DataModel\Snak\PropertyValueSnak; -use Wikibase\DataModel\Statement\Statement; -use Wikibase\DataModel\Statement\StatementList; use Wikibase\DataModel\Term\Term; use Wikibase\DataModel\Term\TermList; use Wikibase\Lexeme\DataModel\Lexeme; -use Wikibase\Lexeme\DataModel\LexemeForm; -use Wikibase\Lexeme\DataModel\LexemeFormId; use Wikibase\View\EntityTermsView; use Wikibase\View\EntityView; use Wikibase\View\HtmlTermRenderer; @@ -109,33 +101,11 @@ /** @var Lexeme $entity */ Assert::parameterType( Lexeme::class, $entity, '$entity' ); - // TODO: This obviously is a dummy that must be removed - $grammaticalFeatures1 = [ new ItemId( 'Q2' ) ]; - $grammaticalFeatures2 = [ new ItemId( 'Q2' ), new ItemId( 'Q3' ) ]; - $statements1 = new StatementList( [ - new Statement( new PropertyNoValueSnak( new PropertyId( 'P2' ) ) ) - ] ); - $statements2 = new StatementList( [ - new Statement( new PropertyNoValueSnak( new PropertyId( 'P2' ) ) ), - new Statement( new PropertyValueSnak( - new PropertyId( 'P3' ), - new StringValue( 'asd' ) - ) ), - ] ); - - $forms = [ - new LexemeForm( new LexemeFormId( 'F1' ), 'A', [] ), - new LexemeForm( new LexemeFormId( 'F2' ), 'B', $grammaticalFeatures1, $statements1 ), - new LexemeForm( new LexemeFormId( 'F3' ), 'C', $grammaticalFeatures2, $statements2 ), - ]; - - $html = $this->getHtmlForLexicalCategoryAndLanguage( $entity ) + return $this->getHtmlForLexicalCategoryAndLanguage( $entity ) . $this->templateFactory->render( 'wikibase-toc' ) . $this->statementSectionsView->getHtml( $entity->getStatements() ) - . $this->formsView->getHtml( $forms ) + . $this->formsView->getHtml( $entity->getForms() ) . $this->sensesView->getHtml(); - - return $html; } /** -- To view, visit https://gerrit.wikimedia.org/r/354239 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: Ideb0f9ba43a2e1b08645ef229e7405deab2bc169 Gerrit-PatchSet: 2 Gerrit-Project: mediawiki/extensions/WikibaseLexeme Gerrit-Branch: master Gerrit-Owner: Aleksey Bekh-Ivanov (WMDE) <aleksey.bekh-iva...@wikimedia.de> Gerrit-Reviewer: Aleksey Bekh-Ivanov (WMDE) <aleksey.bekh-iva...@wikimedia.de> Gerrit-Reviewer: Jakob <jakob.warkot...@wikimedia.de> Gerrit-Reviewer: Jonas Kress (WMDE) <jonas.kr...@wikimedia.de> Gerrit-Reviewer: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de> Gerrit-Reviewer: WMDE-leszek <leszek.mani...@wikimedia.de> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits