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