[MediaWiki-commits] [Gerrit] mediawiki...WikibaseLexeme[master]: Second pass on Lexical Category
jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/326024 ) Change subject: Second pass on Lexical Category .. Second pass on Lexical Category - Add to content as part of isstub - Add to serializer - Add to deserializer - Add to patcher - Add to differ Bug: T149495 Change-Id: If16e1fdc56fcfdf4c3e326e99ad64706f14ef532 --- M WikibaseLexeme.entitytypes.php M src/Content/LexemeContent.php M src/DataModel/Lexeme.php M src/DataModel/Serialization/LexemeDeserializer.php M src/DataModel/Serialization/LexemeSerializer.php M src/DataModel/Services/Diff/LexemeDiff.php M src/DataModel/Services/Diff/LexemeDiffer.php M src/DataModel/Services/Diff/LexemePatcher.php M tests/phpunit/composer/DataModel/Serialization/LexemeDeserializerTest.php M tests/phpunit/composer/DataModel/Serialization/LexemeSerializerTest.php M tests/phpunit/composer/DataModel/Services/Diff/LexemeDifferTest.php M tests/phpunit/composer/DataModel/Services/Diff/LexemePatcherTest.php 12 files changed, 222 insertions(+), 6 deletions(-) Approvals: WMDE-leszek: Looks good to me, approved jenkins-bot: Verified diff --git a/WikibaseLexeme.entitytypes.php b/WikibaseLexeme.entitytypes.php index 45ef211..c699b78 100644 --- a/WikibaseLexeme.entitytypes.php +++ b/WikibaseLexeme.entitytypes.php @@ -43,6 +43,7 @@ }, 'deserializer-factory-callback' => function( DeserializerFactory $deserializerFactory ) { return new LexemeDeserializer( + $deserializerFactory->newEntityIdDeserializer(), $deserializerFactory->newTermListDeserializer(), $deserializerFactory->newStatementListDeserializer() ); diff --git a/src/Content/LexemeContent.php b/src/Content/LexemeContent.php index c3eaa79..52acb38 100644 --- a/src/Content/LexemeContent.php +++ b/src/Content/LexemeContent.php @@ -76,6 +76,8 @@ && !$this->getEntity()->isEmpty() && ( is_null( $this->getEntity()->getLemmas() ) || !$this->getEntity()->getLemmas()->isEmpty() ) + && ( is_null( $this->getEntity()->getLexicalCategory() ) + || !$this->getEntity()->getLexicalCategory()->isEmpty() ) && $this->getEntity()->getStatements()->isEmpty(); } diff --git a/src/DataModel/Lexeme.php b/src/DataModel/Lexeme.php index 6b8fe6c..df30238 100644 --- a/src/DataModel/Lexeme.php +++ b/src/DataModel/Lexeme.php @@ -5,7 +5,6 @@ use InvalidArgumentException; use Wikibase\DataModel\Entity\EntityDocument; use Wikibase\DataModel\Entity\EntityId; -use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\Statement\StatementList; use Wikibase\DataModel\Statement\StatementListProvider; @@ -223,9 +222,9 @@ } /** -* @param ItemId $lexicalCategory +* @param ItemId|null $lexicalCategory */ - public function setLexicalCategory( ItemId $lexicalCategory ) { + public function setLexicalCategory( $lexicalCategory ) { $this->lexicalCategory = $lexicalCategory; } diff --git a/src/DataModel/Serialization/LexemeDeserializer.php b/src/DataModel/Serialization/LexemeDeserializer.php index 03f6e1a..e8978a1 100644 --- a/src/DataModel/Serialization/LexemeDeserializer.php +++ b/src/DataModel/Serialization/LexemeDeserializer.php @@ -4,8 +4,10 @@ use Deserializers\Exceptions\DeserializationException; use Deserializers\TypedObjectDeserializer; +use Wikibase\DataModel\Deserializers\EntityIdDeserializer; use Wikibase\DataModel\Deserializers\StatementListDeserializer; use Wikibase\DataModel\Deserializers\TermListDeserializer; +use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\Statement\StatementList; use Wikibase\DataModel\Term\TermList; use Wikibase\Lexeme\DataModel\Lexeme; @@ -16,6 +18,11 @@ * @author Amir Sarabadani*/ class LexemeDeserializer extends TypedObjectDeserializer { + + /** +* @var EntityIdDeserializer +*/ + private $entityIdDeserializer; /** * @var TermListDeserializer @@ -32,12 +39,14 @@ * @param StatementListDeserializer $statementListDeserializer */ public function __construct( + EntityIdDeserializer $entityIdDeserializer, TermListDeserializer $termListDeserializer, StatementListDeserializer $statementListDeserializer ) { parent::__construct( 'lexeme', 'type' ); $this->termListDeserializer = $termListDeserializer; $this->statementListDeserializer = $statementListDeserializer; + $this->entityIdDeserializer = $entityIdDeserializer; }
[MediaWiki-commits] [Gerrit] mediawiki...WikibaseLexeme[master]: Second pass on Lexical Category
Ladsgroup has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/326024 ) Change subject: Second pass on Lexical Category .. Second pass on Lexical Category - Add to content as part of isstub - Add to serializer - Add to deserializer - Add to patcher - Add to differ Bug: T149495 Change-Id: If16e1fdc56fcfdf4c3e326e99ad64706f14ef532 --- M WikibaseLexeme.entitytypes.php M src/Content/LexemeContent.php M src/DataModel/Lexeme.php M src/DataModel/Serialization/LexemeDeserializer.php M src/DataModel/Serialization/LexemeSerializer.php M src/DataModel/Services/Diff/LexemeDiff.php M src/DataModel/Services/Diff/LexemeDiffer.php M src/DataModel/Services/Diff/LexemePatcher.php M tests/phpunit/composer/DataModel/Serialization/LexemeDeserializerTest.php M tests/phpunit/composer/DataModel/Serialization/LexemeSerializerTest.php M tests/phpunit/composer/DataModel/Services/Diff/LexemeDifferTest.php M tests/phpunit/composer/DataModel/Services/Diff/LexemePatcherTest.php 12 files changed, 218 insertions(+), 6 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/WikibaseLexeme refs/changes/24/326024/1 diff --git a/WikibaseLexeme.entitytypes.php b/WikibaseLexeme.entitytypes.php index 45ef211..c699b78 100644 --- a/WikibaseLexeme.entitytypes.php +++ b/WikibaseLexeme.entitytypes.php @@ -43,6 +43,7 @@ }, 'deserializer-factory-callback' => function( DeserializerFactory $deserializerFactory ) { return new LexemeDeserializer( + $deserializerFactory->newEntityIdDeserializer(), $deserializerFactory->newTermListDeserializer(), $deserializerFactory->newStatementListDeserializer() ); diff --git a/src/Content/LexemeContent.php b/src/Content/LexemeContent.php index c3eaa79..02d511b 100644 --- a/src/Content/LexemeContent.php +++ b/src/Content/LexemeContent.php @@ -76,6 +76,8 @@ && !$this->getEntity()->isEmpty() && ( is_null( $this->getEntity()->getLemmas() ) || !$this->getEntity()->getLemmas()->isEmpty() ) + && ( is_null( $this->getEntity()->getLexicalCategory() ) + || !$this->getEntity()->getLexicalCategory()->isEmpty() ) && $this->getEntity()->getStatements()->isEmpty(); } diff --git a/src/DataModel/Lexeme.php b/src/DataModel/Lexeme.php index 6b8fe6c..df30238 100644 --- a/src/DataModel/Lexeme.php +++ b/src/DataModel/Lexeme.php @@ -5,7 +5,6 @@ use InvalidArgumentException; use Wikibase\DataModel\Entity\EntityDocument; use Wikibase\DataModel\Entity\EntityId; -use Wikibase\DataModel\Entity\Item; use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\Statement\StatementList; use Wikibase\DataModel\Statement\StatementListProvider; @@ -223,9 +222,9 @@ } /** -* @param ItemId $lexicalCategory +* @param ItemId|null $lexicalCategory */ - public function setLexicalCategory( ItemId $lexicalCategory ) { + public function setLexicalCategory( $lexicalCategory ) { $this->lexicalCategory = $lexicalCategory; } diff --git a/src/DataModel/Serialization/LexemeDeserializer.php b/src/DataModel/Serialization/LexemeDeserializer.php index 03f6e1a..e8978a1 100644 --- a/src/DataModel/Serialization/LexemeDeserializer.php +++ b/src/DataModel/Serialization/LexemeDeserializer.php @@ -4,8 +4,10 @@ use Deserializers\Exceptions\DeserializationException; use Deserializers\TypedObjectDeserializer; +use Wikibase\DataModel\Deserializers\EntityIdDeserializer; use Wikibase\DataModel\Deserializers\StatementListDeserializer; use Wikibase\DataModel\Deserializers\TermListDeserializer; +use Wikibase\DataModel\Entity\ItemId; use Wikibase\DataModel\Statement\StatementList; use Wikibase\DataModel\Term\TermList; use Wikibase\Lexeme\DataModel\Lexeme; @@ -16,6 +18,11 @@ * @author Amir Sarabadani*/ class LexemeDeserializer extends TypedObjectDeserializer { + + /** +* @var EntityIdDeserializer +*/ + private $entityIdDeserializer; /** * @var TermListDeserializer @@ -32,12 +39,14 @@ * @param StatementListDeserializer $statementListDeserializer */ public function __construct( + EntityIdDeserializer $entityIdDeserializer, TermListDeserializer $termListDeserializer, StatementListDeserializer $statementListDeserializer ) { parent::__construct( 'lexeme', 'type' ); $this->termListDeserializer = $termListDeserializer; $this->statementListDeserializer = $statementListDeserializer; + $this->entityIdDeserializer = $entityIdDeserializer;