Aleksey Bekh-Ivanov (WMDE) has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/365029 )

Change subject: Populate "Leiter" Lexeme for demo system
......................................................................

Populate "Leiter" Lexeme for demo system

Bug: T168373
Change-Id: Ib85210af058ea39d9ab100e51eb5cbe29f8aeff0
---
M src/Content/LexemeContent.php
A src/DemoData/LeiterLexemePopulator.php
2 files changed, 85 insertions(+), 1 deletion(-)


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

diff --git a/src/Content/LexemeContent.php b/src/Content/LexemeContent.php
index 7c0430d..d2e0605 100644
--- a/src/Content/LexemeContent.php
+++ b/src/Content/LexemeContent.php
@@ -55,8 +55,11 @@
                $lexeme = $this->lexemeHolder->getEntity( Lexeme::class );
 
                // TODO: This is a test dummy that must be removed later
-               if ( $lexeme->getId()->getSerialization() === 
DemoData\Id::L_HARD ) {
+               $id = $lexeme->getId()->getSerialization();
+               if ( $id === DemoData\Id::L_HARD ) {
                        ( new DemoData\HardLexemePopulator() )->populate( 
$lexeme );
+               } elseif ( $id === DemoData\Id::L_LEITER ) {
+                       ( new DemoData\LeiterLexemePopulator() )->populate( 
$lexeme );
                } else {
                        ( new DemoData\DefaultPopulator() )->populate( $lexeme 
);
                }
diff --git a/src/DemoData/LeiterLexemePopulator.php 
b/src/DemoData/LeiterLexemePopulator.php
new file mode 100644
index 0000000..f0447db
--- /dev/null
+++ b/src/DemoData/LeiterLexemePopulator.php
@@ -0,0 +1,81 @@
+<?php
+
+namespace Wikibase\Lexeme\DemoData;
+
+use Wikibase\Lexeme\DataModel\Lexeme;
+use Wikibase\Lexeme\Tests\DataModel\NewForm;
+use Wikibase\Lexeme\Tests\DataModel\NewSense;
+use Wikibase\Repo\Tests\NewStatement;
+
+class LeiterLexemePopulator {
+
+       public function populate( Lexeme $lexeme ) {
+               $leiterForm = $this->buildLeiterForm();
+               $leitersForm = $this->buildLeitersForm();
+               $leiterinForm = $this->buildLeiterinForm();
+
+               $leaderSense = $this->buildLeaderSense();
+               $electricalConductorSense = 
$this->buildElectricalConductorSense();
+
+               $lexeme->setForms( [ $leiterForm, $leitersForm, $leiterinForm ] 
);
+               $lexeme->setSenses( [ $leaderSense, $electricalConductorSense ] 
);
+       }
+
+       /**
+        * @return \Wikibase\Lexeme\DataModel\Form
+        */
+       private function buildLeiterForm() {
+               return NewForm::havingId( 'F1' )
+                       ->andRepresentation( 'de', 'Leiter' )
+                       ->andGrammaticalFeature( Id::Q_NOMINATIVE )
+                       ->andGrammaticalFeature( Id::Q_SINGULAR )
+                       ->andStatement(
+                               NewStatement::forProperty( 
Id::P_IPA_PRONUNCIATION )
+                                       ->withValue( '/.../' )
+                       )->andStatement(
+                               NewStatement::forProperty( 
Id::P_SYLLABIFICATION )
+                                       ->withValue( 'Lei-ter' )
+                       )->build();
+       }
+
+       /**
+        * @return \Wikibase\Lexeme\DataModel\Form
+        */
+       private function buildLeitersForm() {
+               return NewForm::havingId( 'F2' )
+                       ->andRepresentation( 'de', 'Leiters' )
+                       ->andGrammaticalFeature( Id::Q_GENITIVE )
+                       ->andGrammaticalFeature( Id::Q_SINGULAR )
+                       ->build();
+       }
+
+       private function buildLeiterinForm() {
+               return NewForm::havingId( 'F3' )
+                       ->andRepresentation( 'de', 'Leiterin' )
+                       ->andGrammaticalFeature( Id::Q_NOMINATIVE )
+                       ->andGrammaticalFeature( Id::Q_SINGULAR )
+                       ->andGrammaticalFeature( Id::Q_FEMALE )
+                       ->build();
+       }
+
+       /**
+        * @return \Wikibase\Lexeme\DataModel\Sense
+        */
+       private function buildLeaderSense() {
+               return NewSense::havingId( 'S1' )
+                       ->withGloss( 'de', 'Führungsperson' )
+                       ->withGloss( 'en', 'leader' )
+                       ->build();
+       }
+
+       /**
+        * @return \Wikibase\Lexeme\DataModel\Sense
+        */
+       private function buildElectricalConductorSense() {
+               return NewSense::havingId( 'S2' )
+                       ->withGloss( 'de', 'elektrischer Leiter' )
+                       ->withGloss( 'en', 'electrical conductor' )
+                       ->build();
+       }
+
+}

-- 
To view, visit https://gerrit.wikimedia.org/r/365029
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib85210af058ea39d9ab100e51eb5cbe29f8aeff0
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/WikibaseLexeme
Gerrit-Branch: master
Gerrit-Owner: Aleksey Bekh-Ivanov (WMDE) <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to