[MediaWiki-commits] [Gerrit] mediawiki...WikibaseLexeme[master]: Second pass on Lexical Category

2016-12-14 Thread jenkins-bot (Code Review)
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

2016-12-08 Thread Ladsgroup (Code Review)
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;