WikidataBuilder has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/269098

Change subject: New Wikidata Build - 2016-02-08T10:00:01+0000
......................................................................

New Wikidata Build - 2016-02-08T10:00:01+0000

Change-Id: Ib06415c7bd0c91c1872e72e50d69a3be3fe0fed1
---
M composer.lock
M extensions/ArticlePlaceholder/i18n/fr.json
A extensions/ArticlePlaceholder/i18n/ku-latn.json
A extensions/ArticlePlaceholder/i18n/om.json
M extensions/ArticlePlaceholder/i18n/ru.json
A extensions/ArticlePlaceholder/i18n/sr-ec.json
A extensions/ArticlePlaceholder/i18n/sr-el.json
M extensions/ArticlePlaceholder/i18n/sv.json
M extensions/Wikibase/client/i18n/jam.json
M extensions/Wikibase/client/i18n/krl.json
M extensions/Wikibase/client/i18n/sr-el.json
M extensions/Wikibase/lib/i18n/ja.json
M extensions/Wikibase/lib/tests/phpunit/MockRepository.php
M extensions/Wikibase/lib/tests/phpunit/changes/EntityChangeTest.php
M extensions/Wikibase/lib/tests/phpunit/changes/ItemChangeTest.php
M extensions/Wikibase/lib/tests/phpunit/changes/TestChanges.php
M extensions/Wikibase/lib/tests/phpunit/store/EntityInfoBuilderTest.php
M extensions/Wikibase/lib/tests/phpunit/store/EntityInfoTest.php
M extensions/Wikibase/repo/i18n/ja.json
M extensions/Wikibase/repo/i18n/jam.json
M extensions/Wikibase/repo/i18n/ko.json
M extensions/Wikibase/repo/i18n/ku-latn.json
M extensions/Wikibase/repo/i18n/mai.json
M extensions/Wikibase/repo/i18n/sv.json
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOp.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpAliases.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpBase.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpDescription.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpLabel.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpMainSnak.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifier.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifierRemove.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReference.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReferenceRemove.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpRemoveStatement.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpSiteLink.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatement.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatementRank.php
M extensions/Wikibase/repo/includes/ChangeOp/ChangeOps.php
M extensions/Wikibase/repo/includes/EditEntity.php
M extensions/Wikibase/repo/includes/EditEntityFactory.php
M extensions/Wikibase/repo/tests/phpunit/includes/EditEntityTest.php
M vendor/composer/installed.json
43 files changed, 225 insertions(+), 133 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikidata 
refs/changes/98/269098/1

diff --git a/composer.lock b/composer.lock
index 20ef94b..07abd6d 100644
--- a/composer.lock
+++ b/composer.lock
@@ -777,12 +777,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-ArticlePlaceholder.git";,
-                "reference": "922c260fd2fb74bbfedbcef2001b0745cb32859f"
+                "reference": "51092c1d365da2e9751f4d898cabd8b9fdb5e137"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/922c260fd2fb74bbfedbcef2001b0745cb32859f";,
-                "reference": "922c260fd2fb74bbfedbcef2001b0745cb32859f",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/51092c1d365da2e9751f4d898cabd8b9fdb5e137";,
+                "reference": "51092c1d365da2e9751f4d898cabd8b9fdb5e137",
                 "shasum": ""
             },
             "require-dev": {
@@ -801,7 +801,7 @@
             ],
             "description": "Provides a special page with Wikibase information 
about a certain topic, with invitation to create an article for the topic",
             "homepage": 
"https://www.mediawiki.org/wiki/Extension:ArticlePlaceholder";,
-            "time": "2016-02-05 11:13:55"
+            "time": "2016-02-07 21:12:52"
         },
         {
             "name": "propertysuggester/property-suggester",
@@ -1481,12 +1481,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "4072055fbaab63af0ea10306821b4782af5994bd"
+                "reference": "d957f9979c21cbd1a77150158298bd4359ce28b7"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/4072055fbaab63af0ea10306821b4782af5994bd";,
-                "reference": "4072055fbaab63af0ea10306821b4782af5994bd",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/d957f9979c21cbd1a77150158298bd4359ce28b7";,
+                "reference": "d957f9979c21cbd1a77150158298bd4359ce28b7",
                 "shasum": ""
             },
             "require": {
@@ -1558,7 +1558,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2016-02-05 20:55:08"
+            "time": "2016-02-07 21:23:24"
         },
         {
             "name": "wikibase/wikimedia-badges",
diff --git a/extensions/ArticlePlaceholder/i18n/fr.json 
b/extensions/ArticlePlaceholder/i18n/fr.json
index c4bee2d..3ddbf4a 100644
--- a/extensions/ArticlePlaceholder/i18n/fr.json
+++ b/extensions/ArticlePlaceholder/i18n/fr.json
@@ -1,11 +1,12 @@
 {
        "@metadata": {
                "authors": [
-                       "Gomoko"
+                       "Gomoko",
+                       "Wladek92"
                ]
        },
        "articleplaceholder-desc": "Fournit une page spéciale avec 
l’information {{WBREPONAME}} sur un certain sujet, avec une invitation à créer 
un article pour le sujet",
-       "articleplaceholder-abouttopic": "À propos de Topic",
+       "articleplaceholder-abouttopic": "Sujet \"À propos\"",
        "articleplaceholder-abouttopic-intro": "Cette page spéciale génère une 
page de contenu sur un certain sujet avec l’information {{WBREPONAME}}",
        "articleplaceholder-abouttopic-entityid": "Entrer un id d’entité pour 
obtenir un article fictif généré automatiquement.",
        "articleplaceholder-abouttopic-submit": "réaliser",
@@ -15,7 +16,6 @@
        "articleplaceholder-abouttopic-create-article-submit-button": 
"Soumettre",
        "articleplaceholder-abouttopic-article-exists-error": "Un article avec 
ce nom existe déjà",
        "articleplaceholder-abouttopic-lua-entity": "Entité",
-       "articleplaceholder-abouttopic-lua-description": "Description :",
        "articleplaceholder-abouttopic-lua-reference": "Référence",
        "articleplaceholder-abouttopic-lua-qualifier": "Qualificatif",
        "articleplaceholder-abouttopic-lua-identifier": "Identifiant",
diff --git a/extensions/ArticlePlaceholder/i18n/ku-latn.json 
b/extensions/ArticlePlaceholder/i18n/ku-latn.json
new file mode 100644
index 0000000..0dcf879
--- /dev/null
+++ b/extensions/ArticlePlaceholder/i18n/ku-latn.json
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "George Animal"
+               ]
+       },
+       "articleplaceholder-abouttopic": "Di derbarê mijarê de"
+}
diff --git a/extensions/ArticlePlaceholder/i18n/om.json 
b/extensions/ArticlePlaceholder/i18n/om.json
new file mode 100644
index 0000000..7788414
--- /dev/null
+++ b/extensions/ArticlePlaceholder/i18n/om.json
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Tumsaa"
+               ]
+       },
+       "articleplaceholder-abouttopic": "Waa'ee mataduree"
+}
diff --git a/extensions/ArticlePlaceholder/i18n/ru.json 
b/extensions/ArticlePlaceholder/i18n/ru.json
index e0dd44e..872a0f8 100644
--- a/extensions/ArticlePlaceholder/i18n/ru.json
+++ b/extensions/ArticlePlaceholder/i18n/ru.json
@@ -4,9 +4,11 @@
                        "Okras"
                ]
        },
+       "articleplaceholder-abouttopic": "О теме",
        "articleplaceholder-abouttopic-create-article-button": "Создать статью",
        "articleplaceholder-abouttopic-create-article-submit-button": 
"Отправить",
        "articleplaceholder-abouttopic-article-exists-error": "Статья с таким 
названием уже существует.",
+       "articleplaceholder-abouttopic-lua-entity": "Сущность",
        "articleplaceholder-abouttopic-lua-reference": "Примечание",
        "articleplaceholder-abouttopic-lua-qualifier": "Квалификатор",
        "articleplaceholder-abouttopic-lua-identifier": "Идентификатор"
diff --git a/extensions/ArticlePlaceholder/i18n/sr-ec.json 
b/extensions/ArticlePlaceholder/i18n/sr-ec.json
new file mode 100644
index 0000000..b4d7399
--- /dev/null
+++ b/extensions/ArticlePlaceholder/i18n/sr-ec.json
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Milicevic01"
+               ]
+       },
+       "articleplaceholder-abouttopic": "О теми"
+}
diff --git a/extensions/ArticlePlaceholder/i18n/sr-el.json 
b/extensions/ArticlePlaceholder/i18n/sr-el.json
new file mode 100644
index 0000000..4f53b27
--- /dev/null
+++ b/extensions/ArticlePlaceholder/i18n/sr-el.json
@@ -0,0 +1,8 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Milicevic01"
+               ]
+       },
+       "articleplaceholder-abouttopic": "O temi"
+}
diff --git a/extensions/ArticlePlaceholder/i18n/sv.json 
b/extensions/ArticlePlaceholder/i18n/sv.json
index f8e5eb6..3c4485b 100644
--- a/extensions/ArticlePlaceholder/i18n/sv.json
+++ b/extensions/ArticlePlaceholder/i18n/sv.json
@@ -5,6 +5,7 @@
                        "Frisko"
                ]
        },
+       "articleplaceholder-abouttopic": "Om ämnet",
        "articleplaceholder-abouttopic-no-entity-error": "Detta är inte ett 
giltigt artikel-ID.",
        "articleplaceholder-abouttopic-create-article": "Skapa en ny artikel 
med titeln",
        "articleplaceholder-abouttopic-create-article-button": "Skapa en 
artikel",
diff --git a/extensions/Wikibase/client/i18n/jam.json 
b/extensions/Wikibase/client/i18n/jam.json
index b6e45db..fb3e854 100644
--- a/extensions/Wikibase/client/i18n/jam.json
+++ b/extensions/Wikibase/client/i18n/jam.json
@@ -10,6 +10,7 @@
        "wikibase-editlinks": "Edit lingk",
        "wikibase-editlinkstitle": "Edit intalanguij lingk",
        "wikibase-rc-hide-wikidata": "$1 {{WBREPONAME}}",
+       "wikibase-rc-hide-wikidata-hide": "Aid",
        "wikibase-rc-hide-wikidata-show": "Shuo",
        "wikibase-rc-wikibase-edit-letter": "D",
        "wikibase-rc-wikibase-edit-title": "{{WBREPONAME}} edit",
diff --git a/extensions/Wikibase/client/i18n/krl.json 
b/extensions/Wikibase/client/i18n/krl.json
index a524574..56a939f 100644
--- a/extensions/Wikibase/client/i18n/krl.json
+++ b/extensions/Wikibase/client/i18n/krl.json
@@ -5,7 +5,10 @@
                        "Mashoi7"
                ]
        },
+       "wikibase-comment-update": "{{WBREPONAME}} on muutettu",
+       "wikibase-editlinks": "Kohenna linkit",
        "wikibase-rc-hide-wikidata-hide": "Peitä",
        "wikibase-rc-hide-wikidata-show": "Näytä",
-       "wikibase-rc-wikibase-edit-letter": "D"
+       "wikibase-rc-wikibase-edit-letter": "D",
+       "wikibase-otherprojects": "Muut projektat"
 }
diff --git a/extensions/Wikibase/client/i18n/sr-el.json 
b/extensions/Wikibase/client/i18n/sr-el.json
index 7c26a46..40a314b 100644
--- a/extensions/Wikibase/client/i18n/sr-el.json
+++ b/extensions/Wikibase/client/i18n/sr-el.json
@@ -7,6 +7,7 @@
        },
        "wikibase-client-desc": "Klijent za proširenje Vikibaza",
        "tooltip-t-wikibase": "Veza ka stavki na Vikipodacima",
+       "wikibase-after-page-move": "Možete takođe [$1 ažurirati] pridružene 
stavke na Vikipodacima radi održavanja jezičkih veza na premeštenoj stranici.",
        "wikibase-after-page-move-queued": "[$1 Stavka Vikipodataka] povezana 
sa ovom stranicom će se uskoro automatski ažurirati.",
        "wikibase-after-page-delete-queued": "[$1 Stavka Vikipodataka] povezana 
sa ovom stranicom će se uskoro automatski ažurirati.",
        "wikibase-comment-update": "Izmenjena stavka na Vikipodacima",
diff --git a/extensions/Wikibase/lib/i18n/ja.json 
b/extensions/Wikibase/lib/i18n/ja.json
index 55bff33..74ca671 100644
--- a/extensions/Wikibase/lib/i18n/ja.json
+++ b/extensions/Wikibase/lib/i18n/ja.json
@@ -75,6 +75,8 @@
        "datatypes-type-commonsMedia": "コモンズのメディアファイル",
        "datatypes-type-external-id": "外部識別子",
        "version-wikibase": "ウィキベース",
+       "wikibase-time-precision-annum": "西暦{{PLURAL:$1|$1年}}",
+       "wikibase-time-precision-BCE-annum": "紀元前{{PLURAL:$1|$1世紀}}",
        "wikibase-monolingualtext": "<span lang=\"$2\" 
class=\"wb-monolingualtext-value\">$1</span> <span 
class=\"wb-monolingualtext-language-name\">($3)</span>",
        "wikibase-snakformatter-valuetype-mismatch": "値の型「$1」が特性の型「$2」と一致しません。",
        "wikibase-snakformatter-property-not-found": 
"特性「$1」が見つからないため、使用すべきデータ型が決定できません。",
diff --git a/extensions/Wikibase/lib/tests/phpunit/MockRepository.php 
b/extensions/Wikibase/lib/tests/phpunit/MockRepository.php
index 4e35177..3cecaa5 100644
--- a/extensions/Wikibase/lib/tests/phpunit/MockRepository.php
+++ b/extensions/Wikibase/lib/tests/phpunit/MockRepository.php
@@ -4,7 +4,6 @@
 
 use Status;
 use User;
-use Wikibase\DataModel\Entity\Entity;
 use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\EntityRedirect;
@@ -321,7 +320,7 @@
         *
         * @param EntityId $entityId
         *
-        * @return Entity
+        * @return EntityDocument
         */
        public function removeEntity( EntityId $entityId ) {
                try {
@@ -368,7 +367,7 @@
         *
         * @param EntityId[] $entityIds
         *
-        * @return Entity|null[]
+        * @return EntityDocument|null[]
         */
        public function getEntities( array $entityIds ) {
                $entities = array();
diff --git a/extensions/Wikibase/lib/tests/phpunit/changes/EntityChangeTest.php 
b/extensions/Wikibase/lib/tests/phpunit/changes/EntityChangeTest.php
index 142adc7..ef535ff 100644
--- a/extensions/Wikibase/lib/tests/phpunit/changes/EntityChangeTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/changes/EntityChangeTest.php
@@ -7,7 +7,7 @@
 use RecentChange;
 use Revision;
 use stdClass;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\ItemId;
@@ -63,13 +63,13 @@
 
                $entities = array_filter(
                        TestChanges::getEntities(),
-                       function( Entity $entity ) use ( $entityClass ) {
+                       function( EntityDocument $entity ) use ( $entityClass ) 
{
                                return is_a( $entity, $entityClass );
                        }
                );
 
                $cases = array_map(
-                       function( Entity $entity ) {
+                       function( EntityDocument $entity ) {
                                return array( $entity );
                        },
                        $entities
diff --git a/extensions/Wikibase/lib/tests/phpunit/changes/ItemChangeTest.php 
b/extensions/Wikibase/lib/tests/phpunit/changes/ItemChangeTest.php
index c386c17..5d6d36c 100644
--- a/extensions/Wikibase/lib/tests/phpunit/changes/ItemChangeTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/changes/ItemChangeTest.php
@@ -5,7 +5,7 @@
 use Diff\DiffOp\Diff\Diff;
 use Diff\DiffOp\DiffOpChange;
 use Exception;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Services\Diff\ItemDiff;
 use Wikibase\EntityChange;
@@ -38,14 +38,14 @@
        public function entityProvider() {
                $entities = array_filter(
                        TestChanges::getEntities(),
-                       function( Entity $entity ) {
+                       function( EntityDocument $entity ) {
                                return ( $entity instanceof Item );
                        }
                );
 
                $cases = array_map(
-                       function( Entity $entity ) {
-                               return array( $entity );
+                       function( Item $item ) {
+                               return array( $item );
                        },
                        $entities
                );
diff --git a/extensions/Wikibase/lib/tests/phpunit/changes/TestChanges.php 
b/extensions/Wikibase/lib/tests/phpunit/changes/TestChanges.php
index c47d34a..92ce5f7 100644
--- a/extensions/Wikibase/lib/tests/phpunit/changes/TestChanges.php
+++ b/extensions/Wikibase/lib/tests/phpunit/changes/TestChanges.php
@@ -3,6 +3,7 @@
 namespace Wikibase\Test;
 
 use Wikibase\ChangeRow;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\DataModel\Entity\Property;
@@ -277,6 +278,9 @@
                return $diffs;
        }
 
+       /**
+        * @return EntityDocument[]
+        */
        public static function getEntities() {
                $entityList = array();
 
diff --git 
a/extensions/Wikibase/lib/tests/phpunit/store/EntityInfoBuilderTest.php 
b/extensions/Wikibase/lib/tests/phpunit/store/EntityInfoBuilderTest.php
index dc26929..9e1c776 100644
--- a/extensions/Wikibase/lib/tests/phpunit/store/EntityInfoBuilderTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/store/EntityInfoBuilderTest.php
@@ -2,7 +2,7 @@
 
 namespace Wikibase\Test;
 
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\ItemId;
@@ -31,7 +31,7 @@
        }
 
        /**
-        * @return Entity[]
+        * @return EntityDocument[]
         */
        protected function getKnownEntities() {
                $q1 = new Item( new ItemId( 'Q1' ) );
diff --git a/extensions/Wikibase/lib/tests/phpunit/store/EntityInfoTest.php 
b/extensions/Wikibase/lib/tests/phpunit/store/EntityInfoTest.php
index 6196c35..d486117 100644
--- a/extensions/Wikibase/lib/tests/phpunit/store/EntityInfoTest.php
+++ b/extensions/Wikibase/lib/tests/phpunit/store/EntityInfoTest.php
@@ -3,7 +3,7 @@
 namespace Wikibase\Test;
 
 use PHPUnit_Framework_TestCase;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\DataModel\Entity\BasicEntityIdParser;
@@ -23,7 +23,7 @@
 class EntityInfoTest extends PHPUnit_Framework_TestCase {
 
        /**
-        * @param Entity[] $entities
+        * @param EntityDocument[] $entities
         *
         * @return EntityInfo
         */
diff --git a/extensions/Wikibase/repo/i18n/ja.json 
b/extensions/Wikibase/repo/i18n/ja.json
index 962718e..4ba7522 100644
--- a/extensions/Wikibase/repo/i18n/ja.json
+++ b/extensions/Wikibase/repo/i18n/ja.json
@@ -37,8 +37,8 @@
        "wikibase-entitytermsforlanguagelistview-more": "その他の言語",
        "wikibase-label-empty": "ラベルは設定されていません",
        "wikibase-label-edit-placeholder": "ラベルを入力",
-       "wikibase-label-edit-placeholder-language-aware": 
"$1版ウィキでのラベル名を入力してください",
-       "wikibase-description-empty": "説明は設定されていません",
+       "wikibase-label-edit-placeholder-language-aware": "$1でのラベル名を設定してください",
+       "wikibase-description-empty": "説明はありません",
        "wikibase-description-edit-placeholder": "説明を入力",
        "wikibase-description-edit-placeholder-language-aware": 
"説明を$1で入力してください",
        "wikibase-aliases-edit-placeholder": "いくつかの別名を入力",
@@ -87,7 +87,7 @@
        "wikibase-claimview-snak-tooltip": 
"「$1」という名前のプロパティに対する値を入力します。プロパティに指定する値がないか指定する値が不明な場合、カスタム値を入力する代わりに、値の入力ボックス横のアイコンをクリックして他の選択肢を選ぶこともできます。",
        "wikibase-claimview-snak-new-tooltip": 
"プロパティを指定したら、それに対応する値を入力できます。プロパティに指定する値がないか指定する値が不明な場合、カスタム値を入力する代わりに、値の入力ボックス横のアイコンをクリックして他の選択肢を選ぶこともできます。",
        "wikibase-statementview-rank-normal": "標準ランク",
-       "wikibase-statementview-referencesheading-pendingcountersubject": 
"個の{{PLURAL:$1|出典}}",
+       "wikibase-statementview-referencesheading-pendingcountersubject": 
"件の{{PLURAL:$1|出典}}",
        "wikibase-statementview-referencesheading-pendingcountertooltip": 
"{{PLURAL:$1|$1個の出典}}がまだ保存されていません",
        "wikibase-snakview-property-input-placeholder": "プロパティ",
        "wikibase-snakview-choosesnaktype": "値の型を指定してください。",
@@ -299,6 +299,7 @@
        "wikibase-listdatatypes-external-id-head": "外部識別子",
        "wikibase-concept-uri": "概念 URI",
        "wikibase-add-badges": "バッジを追加",
+       "wikibase-pageimage-helptext": 
"この画像は、この項目の文から取得されています。そのため、文を変更することにより、画像の調整ができます。",
        "datatypes-type-url": "URL",
        "content-model-wikibase-item": "ウィキベース項目",
        "content-model-wikibase-property": "ウィキベース プロパティ",
diff --git a/extensions/Wikibase/repo/i18n/jam.json 
b/extensions/Wikibase/repo/i18n/jam.json
index 26130ab..63728f2 100644
--- a/extensions/Wikibase/repo/i18n/jam.json
+++ b/extensions/Wikibase/repo/i18n/jam.json
@@ -5,5 +5,11 @@
                ]
        },
        "wikibase-edit": "edit",
-       "wikibase-sitelinks-special": "Adaels sait‎"
+       "wikibase-add": "ad",
+       "wikibase-label-empty": "No liebl no difain‎",
+       "wikibase-description-empty": "No diskripshan no difain‎",
+       "wikibase-sitelinks-special": "Adaels sait‎",
+       "wikibase-aliases-empty": "No ielias no difain‎",
+       "wikibase-statementview-rank-normal": "Naamal rangk‎",
+       "wikibase-statementview-referencesheading-pendingcountersubject": 
"{{PLURAL:$1|refrans|refransdem}}‎"
 }
diff --git a/extensions/Wikibase/repo/i18n/ko.json 
b/extensions/Wikibase/repo/i18n/ko.json
index 3855831..142a8de 100644
--- a/extensions/Wikibase/repo/i18n/ko.json
+++ b/extensions/Wikibase/repo/i18n/ko.json
@@ -10,7 +10,8 @@
                        "Macofe",
                        "SeoJeongHo",
                        "Alex00728",
-                       "Hwangjy9"
+                       "Hwangjy9",
+                       "고솜"
                ]
        },
        "wikibase-desc": "구조화한 데이터 저장소",
@@ -288,5 +289,7 @@
        "right-item-redirect": "항목 넘겨주기를 생성하기",
        "right-property-term": "속성 용어 바꾸기 (레이블, 설명, 별명)",
        "right-property-create": "속성 만들기",
-       "action-property-create": "속성 만들기"
+       "action-item-merge": "항목 병합",
+       "action-property-create": "속성 만들기",
+       "apihelp-wbmergeitems-description": "여러 항목 병합."
 }
diff --git a/extensions/Wikibase/repo/i18n/ku-latn.json 
b/extensions/Wikibase/repo/i18n/ku-latn.json
index 7170c0c..2f08f3f 100644
--- a/extensions/Wikibase/repo/i18n/ku-latn.json
+++ b/extensions/Wikibase/repo/i18n/ku-latn.json
@@ -13,33 +13,45 @@
        "wikibase-add": "lê zêde bike",
        "wikibase-save-inprogress": "Tê tomarkirin...",
        "wikibase-remove-inprogress": "Tê jêbirin...",
+       "wikibase-entitytermsview-entitytermsforlanguagelistview-toggler": "Bi 
zêdetir zimanan",
        "wikibase-entitytermsforlanguagelistview-aliases": "Herwiha tê nasîn 
wek",
        "wikibase-entitytermsforlanguagelistview-description": "Danasîn",
        "wikibase-entitytermsforlanguagelistview-language": "Ziman",
        "wikibase-label-empty": "Etîketek jî nehate naskirin",
+       "wikibase-description-empty": "Tu danasîn nehatiye nivîsîn",
        "wikibase-description-edit-placeholder": "danasînekê binivîse",
+       "wikibase-diffview-description": "danasîn",
+       "wikibase-diffview-link": "girêdan",
+       "wikibase-sitelink-site-edit-placeholder": "malper",
        "wikibase-sitelink-page-edit-placeholder": "rûpel",
        "wikibase-description-input-help-message": "Danasîneka kurt têkeve $1",
-       "wikibase-statements": "Vegotin",
-       "wikibase-sitelinks": "Lînkên malperê",
+       "wikibase-statementsection-statements": "Vegotin",
+       "wikibase-sitelinks": "Girêdanên malperê",
        "wikibase-sitelinks-special": "Sîteyên din",
        "wikibase-remove": "jê bibe",
+       "wikibase-propertypage-datatype": "Cureya daneyê",
        "wikibase-statementview-rank-normal": "Normal rank",
        "wikibase-statementview-referencesheading-pendingcountersubject": 
"{{PLURAL:$1|referans}}",
+       "wikibase-entityselector-more": "bêhtir",
        "wikibase-itembytitle-lookup-page": "Rûpel:",
        "wikibase-itembytitle-submit": "Lêgerîn",
-       "wikibase-gotolinkedpage-lookup-site": "Malperrː",
+       "wikibase-gotolinkedpage-lookup-site": "Malperː",
+       "wikibase-gotolinkedpage-submit": "Biçe",
        "wikibase-itemdisambiguation-lookup-language": "Koda ziman:",
        "wikibase-itemdisambiguation-submit": "Lêgerîn",
+       "wikibase-newproperty-datatype": "Cureya daneyê:",
        "wikibase-newentity-language": "Ziman:",
        "wikibase-newentity-description": "Danasîn:",
        "wikibase-newentity-submit": "Çêke",
        "wikibase-setdescription-label": "Danasîn:",
        "wikibase-modifyterm-language": "Koda ziman:",
        "wikibase-dispatchstats-large-lag": "(zêde mezin e)",
+       "wikibase-listproperties-datatype": "Cureya daneyê:",
        "wikibase-listproperties-submit": "Bibîne",
        "wikibase-entitieswithoutlabel-label-language": "Koda ziman:",
        "wikibase-entitieswithoutlabel-label-type": "Cure:",
        "wikibase-entitieswithoutlabel-label-alltypes": "hemû",
-       "wikibase-listdatatypes-url-head": "URL"
+       "wikibase-entitieswithoutlabel-submit": "Bibîne",
+       "wikibase-listdatatypes-url-head": "URL",
+       "datatypes-type-url": "URL"
 }
diff --git a/extensions/Wikibase/repo/i18n/mai.json 
b/extensions/Wikibase/repo/i18n/mai.json
index 838a1b3..4605d6f 100644
--- a/extensions/Wikibase/repo/i18n/mai.json
+++ b/extensions/Wikibase/repo/i18n/mai.json
@@ -7,8 +7,10 @@
        },
        "wikibase-edit": "सम्पादन करी",
        "wikibase-add": "जोडु",
-       "wikibase-label-empty": "नै कुनो लेबल अखन तक परिभाषित",
+       "wikibase-label-empty": "कोनो नामपत्र परिभाषित नै",
        "wikibase-description-empty": "कोनो विवरण परिभाषित नै",
        "wikibase-sitelinks-special": "दोसर साइटसभ",
-       "wikibase-statementview-rank-normal": "सामान्य क्रम"
+       "wikibase-aliases-empty": "कोनो उर्फ परिभाषित नै।",
+       "wikibase-statementview-rank-normal": "सामान्य क्रम",
+       "wikibase-statementview-referencesheading-pendingcountersubject": 
"{{PLURAL:$1|स्रोत|स्रोतसभ}}"
 }
diff --git a/extensions/Wikibase/repo/i18n/sv.json 
b/extensions/Wikibase/repo/i18n/sv.json
index 041da5f..145f9ad 100644
--- a/extensions/Wikibase/repo/i18n/sv.json
+++ b/extensions/Wikibase/repo/i18n/sv.json
@@ -281,7 +281,7 @@
        "wikibase-mylanguagefallbackchain-converted-item": "$1 - $2, 
konverterade från $3 - $4",
        "wikibase-api-unresolved-redirect": "Angiven entitets-ID hänvisar till 
en omdirigering, som inte stöds i detta sammanhang.",
        "wikibase-api-no-such-sitelink": "Kunde inte hitta en wepplatslänk till 
'$1' när du försökte redigera märken.",
-       "wikibase-api-target-not-empty": "Omdirigeringen kan enbart skapas 
ovanpå en tom entitet.",
+       "wikibase-api-target-not-empty": "Omdirigeringen kan enbart skapas 
ovanpå en tom eller raderad entitet.",
        "wikibase-api-target-is-redirect": "Omdirigeringens mål får i sin tur 
inte vara en omdirigering.",
        "wikibase-api-target-is-incompatible": "Försök att omdirigera till en 
entitet av en annan typ.",
        "wikibase-api-cant-redirect": "Kan inte skapa omdirigering (möjligen 
eftersom omdirigeringar mellan entiteter av denna typ inte stöds alls).",
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOp.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOp.php
index b27cd6e..2acdd71 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOp.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOp.php
@@ -3,7 +3,7 @@
 namespace Wikibase\ChangeOp;
 
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\Summary;
 
 /**
@@ -25,22 +25,22 @@
         * Validates the current ChangeOp. This indicates whether this ChangeOp 
is valid
         * with respect to the given entity.
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @return Result
         */
-       public function validate( Entity $entity );
+       public function validate( EntityDocument $entity );
 
        /**
         * Applies the change represented by this ChangeOp to the given Entity.
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         * @param Summary|null $summary
         *
         * @throws ChangeOpException
         */
-       public function apply( Entity $entity, Summary $summary = null );
+       public function apply( EntityDocument $entity, Summary $summary = null 
);
 
 }
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpAliases.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpAliases.php
index 361b3ee..1f260a7 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpAliases.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpAliases.php
@@ -4,8 +4,9 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Term\Fingerprint;
+use Wikibase\DataModel\Term\FingerprintHolder;
 use Wikibase\Repo\Validators\TermValidatorFactory;
 use Wikibase\Summary;
 
@@ -99,7 +100,11 @@
        /**
         * @see ChangeOp::apply()
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
+               if ( !( $entity instanceof FingerprintHolder ) ) {
+                       throw new InvalidArgumentException( '$entity must be a 
FingerprintHolder' );
+               }
+
                $fingerprint = $entity->getFingerprint();
 
                $this->updateSummary( $summary, $this->action, 
$this->languageCode, $this->aliases );
@@ -115,12 +120,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                $languageValidator = 
$this->termValidatorFactory->getLanguageValidator();
                $termValidator = 
$this->termValidatorFactory->getLabelValidator( $entity->getType() );
 
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpBase.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpBase.php
index 975b489..b09b1b2 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpBase.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpBase.php
@@ -4,7 +4,7 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\Summary;
 
 /**
@@ -41,12 +41,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                return Result::newSuccess();
        }
 
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpDescription.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpDescription.php
index ce6542c..6beaeb6 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpDescription.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpDescription.php
@@ -4,8 +4,9 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Term\Fingerprint;
+use Wikibase\DataModel\Term\FingerprintHolder;
 use Wikibase\Repo\Validators\TermValidatorFactory;
 use Wikibase\Summary;
 
@@ -74,7 +75,11 @@
        /**
         * @see ChangeOp::apply()
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
+               if ( !( $entity instanceof FingerprintHolder ) ) {
+                       throw new InvalidArgumentException( '$entity must be a 
FingerprintHolder' );
+               }
+
                $fingerprint = $entity->getFingerprint();
 
                if ( $fingerprint->getDescriptions()->hasTermForLanguage( 
$this->languageCode ) ) {
@@ -99,11 +104,15 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
+               if ( !( $entity instanceof FingerprintHolder ) ) {
+                       throw new InvalidArgumentException( '$entity must be a 
FingerprintHolder' );
+               }
+
                $languageValidator = 
$this->termValidatorFactory->getLanguageValidator();
                $termValidator = 
$this->termValidatorFactory->getDescriptionValidator();
                $fingerprintValidator = 
$this->termValidatorFactory->getFingerprintValidator( $entity->getType() );
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpLabel.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpLabel.php
index da7da15..8e8475e 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpLabel.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpLabel.php
@@ -4,8 +4,9 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Term\Fingerprint;
+use Wikibase\DataModel\Term\FingerprintHolder;
 use Wikibase\Repo\Validators\TermValidatorFactory;
 use Wikibase\Summary;
 
@@ -74,10 +75,14 @@
        /**
         * @see ChangeOp::apply()
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         * @param Summary|null $summary
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
+               if ( !( $entity instanceof FingerprintHolder ) ) {
+                       throw new InvalidArgumentException( '$entity must be a 
FingerprintHolder' );
+               }
+
                $fingerprint = $entity->getFingerprint();
 
                if ( $fingerprint->getLabels()->hasTermForLanguage( 
$this->languageCode ) ) {
@@ -102,11 +107,15 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
+               if ( !( $entity instanceof FingerprintHolder ) ) {
+                       throw new InvalidArgumentException( '$entity must be a 
FingerprintHolder' );
+               }
+
                $languageValidator = 
$this->termValidatorFactory->getLanguageValidator();
                $termValidator = 
$this->termValidatorFactory->getLabelValidator( $entity->getType() );
                $fingerprintValidator = 
$this->termValidatorFactory->getFingerprintValidator( $entity->getType() );
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpMainSnak.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpMainSnak.php
index 3548869..4d7e37d 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpMainSnak.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpMainSnak.php
@@ -4,7 +4,7 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Services\Statement\GuidGenerator;
 use Wikibase\DataModel\Snak\Snak;
@@ -79,7 +79,7 @@
         * - a new claim with $snak as mainsnak gets added when $claimGuid is 
empty and $snak is set
         * - the claim's mainsnak gets set to $snak when $claimGuid and $snak 
are set
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
                if ( !( $entity instanceof StatementListHolder ) ) {
                        throw new InvalidArgumentException( '$entity must be a 
StatementListHolder' );
                }
@@ -149,12 +149,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                return $this->snakValidator->validate( $this->snak );
        }
 
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifier.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifier.php
index 610e2d3..5769563 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifier.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifier.php
@@ -4,7 +4,7 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Snak\Snak;
 use Wikibase\DataModel\Snak\SnakList;
 use Wikibase\DataModel\Statement\StatementListHolder;
@@ -73,7 +73,7 @@
         * - a new qualifier gets added when $snakHash is empty and $snak is set
         * - the qualifier gets set to $snak when $snakHash and $snak are set
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
                if ( !( $entity instanceof StatementListHolder ) ) {
                        throw new InvalidArgumentException( '$entity must be a 
StatementListHolder' );
                }
@@ -151,12 +151,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                return $this->snakValidator->validate( $this->snak );
        }
 
diff --git 
a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifierRemove.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifierRemove.php
index 04cb57a..56206a8 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifierRemove.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpQualifierRemove.php
@@ -4,7 +4,7 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Snak\Snak;
 use Wikibase\DataModel\Snak\SnakList;
 use Wikibase\DataModel\Statement\StatementListHolder;
@@ -55,7 +55,7 @@
        /**
         * @see ChangeOp::apply()
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
                if ( !( $entity instanceof StatementListHolder ) ) {
                        throw new InvalidArgumentException( '$entity must be a 
StatementListHolder' );
                }
@@ -105,12 +105,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                //TODO: move validation logic from apply() here.
                return parent::validate( $entity );
        }
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReference.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReference.php
index 420fdc7..80b0994 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReference.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReference.php
@@ -4,7 +4,7 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Reference;
 use Wikibase\DataModel\ReferenceList;
 use Wikibase\DataModel\Snak\Snak;
@@ -95,7 +95,7 @@
         * - a new reference gets added when $referenceHash is empty and 
$reference is set
         * - the reference gets set to $reference when $referenceHash and 
$reference are set
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
                if ( !( $entity instanceof StatementListHolder ) ) {
                        throw new InvalidArgumentException( '$entity must be a 
StatementListHolder' );
                }
@@ -187,12 +187,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                return $this->snakValidator->validateReference( 
$this->reference );
        }
 
diff --git 
a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReferenceRemove.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReferenceRemove.php
index 3b23ef7..aecc891 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReferenceRemove.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpReferenceRemove.php
@@ -4,7 +4,7 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\ReferenceList;
 use Wikibase\DataModel\Snak\Snak;
 use Wikibase\DataModel\Statement\StatementListHolder;
@@ -55,7 +55,7 @@
        /**
         * @see ChangeOp::apply()
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
                if ( !( $entity instanceof StatementListHolder ) ) {
                        throw new InvalidArgumentException( '$entity must be a 
StatementListHolder' );
                }
@@ -114,12 +114,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                //TODO: move validation logic from apply() here.
                return parent::validate( $entity );
        }
diff --git 
a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpRemoveStatement.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpRemoveStatement.php
index a569a43..dbf2d9f 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpRemoveStatement.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpRemoveStatement.php
@@ -4,7 +4,7 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Snak\Snak;
 use Wikibase\DataModel\Statement\StatementListHolder;
 use Wikibase\Summary;
@@ -51,13 +51,13 @@
        /**
         * @see ChangeOp::apply
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         * @param Summary|null $summary
         *
         * @throws InvalidArgumentException
         * @throws ChangeOpException
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
                if ( !( $entity instanceof StatementListHolder ) ) {
                        throw new InvalidArgumentException( '$entity must be a 
StatementListHolder' );
                }
@@ -91,12 +91,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                //TODO: move validation logic from apply() here.
                return parent::validate( $entity );
        }
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpSiteLink.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpSiteLink.php
index d41f067..790aefd 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpSiteLink.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpSiteLink.php
@@ -4,7 +4,7 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\DataModel\SiteLinkList;
@@ -129,7 +129,7 @@
        /**
         * @see ChangeOp::apply
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
                if ( !( $entity instanceof Item ) ) {
                        throw new InvalidArgumentException( 'ChangeOpSiteLink 
can only be applied to Item instances' );
                }
@@ -174,12 +174,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                //TODO: move validation logic from apply() here.
                return parent::validate( $entity );
        }
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatement.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatement.php
index 751136e..22ab656 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatement.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatement.php
@@ -6,7 +6,7 @@
 use OutOfBoundsException;
 use ValueValidators\Result;
 use Wikibase\DataModel\ByPropertyIdArray;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Services\Statement\GuidGenerator;
 use Wikibase\DataModel\Services\Statement\StatementGuidParser;
 use Wikibase\DataModel\Services\Statement\StatementGuidValidator;
@@ -91,12 +91,16 @@
        /**
         * @see ChangeOp::apply
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         * @param Summary|null $summary
         *
         * @throws ChangeOpException
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
+               if ( !( $entity instanceof StatementListHolder ) ) {
+                       throw new InvalidArgumentException( '$entity must be a 
StatementListHolder' );
+               }
+
                if ( $this->statement->getGuid() === null ) {
                        $this->statement->setGuid( 
$this->guidGenerator->newGuid( $entity->getId() ) );
                }
@@ -109,23 +113,19 @@
                        throw new ChangeOpException( "Claim GUID invalid for 
given entity" );
                }
 
-               $this->applyClaimToEntity( $entity, $summary );
+               $this->applyStatementToEntity( $entity, $summary );
        }
 
        /**
-        * @param Entity $entity
+        * @param StatementListHolder $statementListHolder
         * @param Summary|null $summary
         *
         * @throws InvalidArgumentException
         */
-       private function applyClaimToEntity( Entity $entity, Summary $summary = 
null ) {
-               if ( !( $entity instanceof StatementListHolder ) ) {
-                       throw new InvalidArgumentException( '$entity must be a 
StatementListHolder' );
-               }
-
-               $statements = $this->removeStatement( 
$entity->getStatements()->toArray(), $summary );
+       private function applyStatementToEntity( StatementListHolder 
$statementListHolder, Summary $summary = null ) {
+               $statements = $this->removeStatement( 
$statementListHolder->getStatements()->toArray(), $summary );
                $statements = $this->addStatement( $statements );
-               $entity->setStatements( new StatementList( $statements ) );
+               $statementListHolder->setStatements( new StatementList( 
$statements ) );
        }
 
        /**
@@ -214,12 +214,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                return $this->snakValidator->validateClaimSnaks( 
$this->statement );
        }
 
diff --git 
a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatementRank.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatementRank.php
index a9d0dae..cadedbb 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatementRank.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOpStatementRank.php
@@ -4,7 +4,7 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Snak\Snak;
 use Wikibase\DataModel\Statement\StatementListHolder;
 use Wikibase\StatementRankSerializer;
@@ -55,7 +55,7 @@
        /**
         * @see ChangeOp::apply()
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
                if ( !( $entity instanceof StatementListHolder ) ) {
                        throw new InvalidArgumentException( '$entity must be a 
StatementListHolder' );
                }
@@ -102,12 +102,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                //TODO: move validation logic from apply() here.
                return parent::validate( $entity );
        }
diff --git a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOps.php 
b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOps.php
index 4ad2e5e..a846b0d 100644
--- a/extensions/Wikibase/repo/includes/ChangeOp/ChangeOps.php
+++ b/extensions/Wikibase/repo/includes/ChangeOp/ChangeOps.php
@@ -4,7 +4,7 @@
 
 use InvalidArgumentException;
 use ValueValidators\Result;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\Summary;
 
 /**
@@ -74,12 +74,12 @@
         *
         * @since 0.4
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         * @param Summary|null $summary
         *
         * @throws ChangeOpException
         */
-       public function apply( Entity $entity, Summary $summary = null ) {
+       public function apply( EntityDocument $entity, Summary $summary = null 
) {
                foreach ( $this->changeOps as $changeOp ) {
                        $changeOp->apply( $entity, $summary );
                }
@@ -90,12 +90,12 @@
         *
         * @since 0.5
         *
-        * @param Entity $entity
+        * @param EntityDocument $entity
         *
         * @throws ChangeOpException
         * @return Result
         */
-       public function validate( Entity $entity ) {
+       public function validate( EntityDocument $entity ) {
                $result = Result::newSuccess();
                // deep clone of $entity to avoid side-effects
                $entity = unserialize( serialize( $entity ) );
diff --git a/extensions/Wikibase/repo/includes/EditEntity.php 
b/extensions/Wikibase/repo/includes/EditEntity.php
index bbd8394..3386537 100644
--- a/extensions/Wikibase/repo/includes/EditEntity.php
+++ b/extensions/Wikibase/repo/includes/EditEntity.php
@@ -11,7 +11,7 @@
 use Status;
 use Title;
 use User;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Services\Diff\EntityDiffer;
 use Wikibase\DataModel\Services\Diff\EntityPatcher;
@@ -53,7 +53,7 @@
        /**
         * The modified entity we are trying to save
         *
-        * @var Entity|null
+        * @var EntityDocument|null
         */
        private $newEntity = null;
 
@@ -161,7 +161,7 @@
         * @param EntityRevisionLookup $entityLookup
         * @param EntityStore $entityStore
         * @param EntityPermissionChecker $permissionChecker
-        * @param Entity $newEntity the new entity object
+        * @param EntityDocument $newEntity the new entity object
         * @param User $user the user performing the edit
         * @param EditFilterHookRunner $editFilterHookRunner
         * @param int|bool $baseRevId the base revision ID for conflict 
checking.
@@ -180,7 +180,7 @@
                EntityRevisionLookup $entityLookup,
                EntityStore $entityStore,
                EntityPermissionChecker $permissionChecker,
-               Entity $newEntity,
+               EntityDocument $newEntity,
                User $user,
                EditFilterHookRunner $editFilterHookRunner,
                $baseRevId = false,
@@ -220,7 +220,7 @@
         * Returns the new entity object to be saved. May be different from the 
entity supplied
         * to the constructor in case the entity was patched to resolve edit 
conflicts.
         *
-        * @return Entity
+        * @return EntityDocument
         */
        public function getNewEntity() {
                return $this->newEntity;
@@ -434,12 +434,12 @@
                if ( $patch->isEmpty() ) {
                        // we didn't technically fix anything, but if there is 
nothing to change,
                        // so just keep the current content as it is.
-                       $this->newEntity = $latestRev->getEntity()->copy();
+                       $this->newEntity = unserialize( serialize( 
$latestRev->getEntity() ) );
                        return true;
                }
 
                // apply the patch( base -> new ) to the latest revision.
-               $patchedLatest = $latestRev->getEntity()->copy();
+               $patchedLatest = unserialize( serialize( 
$latestRev->getEntity() ) );
                $entityPatcher->patchEntity( $patchedLatest, $patch );
 
                // detect conflicts against latest revision
diff --git a/extensions/Wikibase/repo/includes/EditEntityFactory.php 
b/extensions/Wikibase/repo/includes/EditEntityFactory.php
index 19978ab..27f82a5 100644
--- a/extensions/Wikibase/repo/includes/EditEntityFactory.php
+++ b/extensions/Wikibase/repo/includes/EditEntityFactory.php
@@ -4,7 +4,7 @@
 
 use IContextSource;
 use User;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\Lib\Store\EntityRevisionLookup;
 use Wikibase\Lib\Store\EntityStore;
 use Wikibase\Lib\Store\EntityTitleLookup;
@@ -75,7 +75,7 @@
 
        /**
         * @param User $user the user performing the edit
-        * @param Entity $entity the new entity object
+        * @param EntityDocument $entity the new entity object
         * @param int|bool $baseRevId the base revision ID for conflict 
checking.
         *        Defaults to false, disabling conflict checks.
         *        `true` can be used to set the base revision to the latest 
revision:
@@ -85,7 +85,7 @@
         *
         * @return EditEntity
         */
-       public function newEditEntity( User $user, Entity $entity, $baseRevId = 
false ) {
+       public function newEditEntity( User $user, EntityDocument $entity, 
$baseRevId = false ) {
                return new EditEntity(
                        $this->titleLookup,
                        $this->entityRevisionLookup,
diff --git a/extensions/Wikibase/repo/tests/phpunit/includes/EditEntityTest.php 
b/extensions/Wikibase/repo/tests/phpunit/includes/EditEntityTest.php
index f90e159..2fea202 100644
--- a/extensions/Wikibase/repo/tests/phpunit/includes/EditEntityTest.php
+++ b/extensions/Wikibase/repo/tests/phpunit/includes/EditEntityTest.php
@@ -11,7 +11,7 @@
 use Status;
 use Title;
 use User;
-use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\EntityDocument;
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\ItemId;
@@ -124,7 +124,7 @@
 
        /**
         * @param MockRepository $mockRepository
-        * @param Entity $entity
+        * @param EntityDocument $entity
         * @param EntityTitleLookup $titleLookup
         * @param User|null $user
         * @param bool $baseRevId
@@ -136,7 +136,7 @@
         */
        private function makeEditEntity(
                MockRepository $mockRepository,
-               Entity $entity,
+               EntityDocument $entity,
                EntityTitleLookup $titleLookup,
                User $user = null,
                $baseRevId = false,
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 40c203a..0bbbbf9 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -106,19 +106,19 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-ArticlePlaceholder.git";,
-            "reference": "922c260fd2fb74bbfedbcef2001b0745cb32859f"
+            "reference": "51092c1d365da2e9751f4d898cabd8b9fdb5e137"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/922c260fd2fb74bbfedbcef2001b0745cb32859f";,
-            "reference": "922c260fd2fb74bbfedbcef2001b0745cb32859f",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-ArticlePlaceholder/zipball/51092c1d365da2e9751f4d898cabd8b9fdb5e137";,
+            "reference": "51092c1d365da2e9751f4d898cabd8b9fdb5e137",
             "shasum": ""
         },
         "require-dev": {
             "jakub-onderka/php-parallel-lint": "0.9.2",
             "mediawiki/mediawiki-codesniffer": "0.5.1"
         },
-        "time": "2016-02-05 11:13:55",
+        "time": "2016-02-07 21:12:52",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "notification-url": "https://packagist.org/downloads/";,
@@ -1271,12 +1271,12 @@
         "source": {
             "type": "git",
             "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "4072055fbaab63af0ea10306821b4782af5994bd"
+            "reference": "d957f9979c21cbd1a77150158298bd4359ce28b7"
         },
         "dist": {
             "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/4072055fbaab63af0ea10306821b4782af5994bd";,
-            "reference": "4072055fbaab63af0ea10306821b4782af5994bd",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/d957f9979c21cbd1a77150158298bd4359ce28b7";,
+            "reference": "d957f9979c21cbd1a77150158298bd4359ce28b7",
             "shasum": ""
         },
         "require": {
@@ -1308,7 +1308,7 @@
             "jakub-onderka/php-parallel-lint": "0.9.2",
             "mediawiki/mediawiki-codesniffer": "0.4.0|0.5.0"
         },
-        "time": "2016-02-05 20:55:08",
+        "time": "2016-02-07 21:23:24",
         "type": "mediawiki-extension",
         "installation-source": "dist",
         "autoload": {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ib06415c7bd0c91c1872e72e50d69a3be3fe0fed1
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: master
Gerrit-Owner: WikidataBuilder <wikidata-servi...@wikimedia.de>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to