Aude has uploaded a new change for review.

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

Change subject: Update Wikidata, fix database error and display of snak values
......................................................................

Update Wikidata, fix database error and display of snak values

Change-Id: I3a615356105243ea080609d1fb8c3026f86a6771
---
M composer.lock
M extensions/Wikibase/lib/WikibaseLib.php
M extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilder.php
M extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilderFactory.php
M extensions/Wikibase/repo/includes/store/sql/SqlStore.php
M vendor/composer/installed.json
6 files changed, 116 insertions(+), 102 deletions(-)


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

diff --git a/composer.lock b/composer.lock
index c4bf33c..5a86c2b 100644
--- a/composer.lock
+++ b/composer.lock
@@ -1189,12 +1189,12 @@
             "source": {
                 "type": "git",
                 "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-                "reference": "199d7ff1a8201cc8aec0378dc3b926e184d8c58c"
+                "reference": "54bcc31872c29bdce21b4044747d24cb402846a1"
             },
             "dist": {
                 "type": "zip",
-                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/199d7ff1a8201cc8aec0378dc3b926e184d8c58c";,
-                "reference": "199d7ff1a8201cc8aec0378dc3b926e184d8c58c",
+                "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/54bcc31872c29bdce21b4044747d24cb402846a1";,
+                "reference": "54bcc31872c29bdce21b4044747d24cb402846a1",
                 "shasum": ""
             },
             "require": {
@@ -1263,7 +1263,7 @@
                 "wikibaserepo",
                 "wikidata"
             ],
-            "time": "2014-08-14 14:52:40"
+            "time": "2014-08-15 12:50:10"
         }
     ],
     "packages-dev": [
diff --git a/extensions/Wikibase/lib/WikibaseLib.php 
b/extensions/Wikibase/lib/WikibaseLib.php
index afe7ad9..b45d1fc 100644
--- a/extensions/Wikibase/lib/WikibaseLib.php
+++ b/extensions/Wikibase/lib/WikibaseLib.php
@@ -52,6 +52,23 @@
        include_once( __DIR__ . '/../vendor/autoload.php' );
 }
 
+// needed for deserializing Snaks in DataModel 0.8.2
+if( !array_key_exists( 'evilDataValueMap', $GLOBALS ) ) {
+       $GLOBALS['evilDataValueMap'] = array();
+}
+
+$GLOBALS['evilDataValueMap'] = array_merge(
+       $GLOBALS['evilDataValueMap'],
+        array(
+               'globecoordinate' => 'DataValues\GlobeCoordinateValue',
+               'monolingualtext' => 'DataValues\MonolingualTextValue',
+               'multilingualtext' => 'DataValues\MultilingualTextValue',
+               'quantity' => 'DataValues\QuantityValue',
+               'time' => 'DataValues\TimeValue',
+               'wikibase-entityid' => 
'Wikibase\DataModel\Entity\EntityIdValue',
+        )
+);
+
 call_user_func( function() {
        global $wgExtensionCredits, $wgJobClasses, $wgHooks, 
$wgResourceModules, $wgMessagesDirs;
 
@@ -69,7 +86,7 @@
        define( 'SUMMARY_MAX_LENGTH', 250 );
 
        // i18n
-       $wgMessagesDirs['WikibaseLib']           = __DIR__ . '/i18n';
+       $wgMessagesDirs['WikibaseLib']             = __DIR__ . '/i18n';
 
        $wgJobClasses['ChangeNotification'] = 'Wikibase\ChangeNotificationJob';
 
diff --git 
a/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilder.php 
b/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilder.php
index 98ef85d..bfad64f 100644
--- a/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilder.php
+++ b/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilder.php
@@ -87,7 +87,7 @@
         * @var array[] map of entity types to maps of id-strings to numeric 
ids:
         *      type => id-string => id-int
         */
-       private $numericIdsByType = null;
+       private $numericIdsByType = array();
 
        /**
         * Maps of id strings to page info records, grouped by entity type.
@@ -560,7 +560,6 @@
                                ? 'epp_redirect_target'
                                : 'NULL AS epp_redirect_target'
                );
-
 
                $res = $dbw->select(
                        $this->entityPerPageTable,
diff --git 
a/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilderFactory.php 
b/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilderFactory.php
index c04fa7a..c052469 100644
--- a/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilderFactory.php
+++ b/extensions/Wikibase/lib/includes/store/sql/SqlEntityInfoBuilderFactory.php
@@ -6,7 +6,6 @@
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\Lib\Store\EntityInfoBuilder;
 use Wikibase\Lib\Store\EntityInfoBuilderFactory;
-use Wikibase\Lib\Store\EntityRevisionLookup;
 
 /**
  * A factory for SqlEntityInfoBuilder instances.
@@ -21,9 +20,9 @@
 class SqlEntityInfoBuilderFactory implements EntityInfoBuilderFactory {
 
        /**
-        * @var EntityRevisionLookup
+        * @var bool
         */
-       private $entityRevisionLookup;
+       private $useRedirectTargetColumn;
 
        /**
         * @var bool
@@ -31,18 +30,18 @@
        private $wiki;
 
        /**
-        * @param EntityRevisionLookup $entityRevisionLookup
+        * @param bool $useRedirectTargetColumn
         * @param string|bool $wiki The wiki's database to connect to.
         *        Must be a value LBFactory understands. Defaults to false, 
which is the local wiki.
         *
         * @throws InvalidArgumentException
         */
-       public function __construct( EntityRevisionLookup 
$entityRevisionLookup, $wiki = false ) {
+       public function __construct( $useRedirectTargetColumn = true, $wiki = 
false ) {
                if ( !is_string( $wiki ) && $wiki !== false ) {
                        throw new InvalidArgumentException( '$wiki must be a 
string or false.' );
                }
 
-               $this->entityRevisionLookup = $entityRevisionLookup;
+               $this->useRedirectTargetColumn = $useRedirectTargetColumn;
                $this->wiki = $wiki;
        }
 
@@ -54,6 +53,7 @@
         * @return EntityInfoBuilder
         */
        public function newEntityInfoBuilder( array $ids ) {
-               return new SqlEntityInfoBuilder( $ids, 
$this->entityRevisionLookup, $this->wiki );
+               return new SqlEntityInfoBuilder( $ids, 
$this->useRedirectTargetColumn, $this->wiki );
        }
+
 }
diff --git a/extensions/Wikibase/repo/includes/store/sql/SqlStore.php 
b/extensions/Wikibase/repo/includes/store/sql/SqlStore.php
index 8536947..41d4b77 100644
--- a/extensions/Wikibase/repo/includes/store/sql/SqlStore.php
+++ b/extensions/Wikibase/repo/includes/store/sql/SqlStore.php
@@ -10,7 +10,6 @@
 use ObjectCache;
 use Revision;
 use Wikibase\Lib\Reporting\ObservableMessageReporter;
-use Wikibase\DataModel\Entity\BasicEntityIdParser;
 use Wikibase\Lib\Store\CachingEntityRevisionLookup;
 use Wikibase\Lib\Store\EntityContentDataCodec;
 use Wikibase\Lib\Store\EntityInfoBuilderFactory;
@@ -18,13 +17,12 @@
 use Wikibase\Lib\Store\EntityRevisionLookup;
 use Wikibase\Lib\Store\EntityStore;
 use Wikibase\Lib\Store\EntityStoreWatcher;
-use Wikibase\Lib\Store\RevisionBasedEntityLookup;
 use Wikibase\Lib\Store\RedirectResolvingEntityLookup;
+use Wikibase\Lib\Store\RevisionBasedEntityLookup;
 use Wikibase\Lib\Store\SiteLinkCache;
 use Wikibase\Lib\Store\SiteLinkTable;
 use Wikibase\Lib\Store\Sql\SqlEntityInfoBuilderFactory;
 use Wikibase\Lib\Store\WikiPageEntityRevisionLookup;
-use Wikibase\Lib\Test\Store\RedirectResolvingEntityLookupTest;
 use Wikibase\Repo\Store\DispatchingEntityStoreWatcher;
 use Wikibase\Repo\Store\WikiPageEntityStore;
 use Wikibase\Repo\WikibaseRepo;
@@ -606,7 +604,7 @@
         * @return EntityInfoBuilderFactory
         */
        protected function newEntityInfoBuilderFactory() {
-               return new SqlEntityInfoBuilderFactory( 
$this->getEntityRevisionLookup() );
+               return new SqlEntityInfoBuilderFactory( 
$this->useRedirectTargetColumn );
        }
 
        /**
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index ee52f02..295742f 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -1026,90 +1026,6 @@
         ]
     },
     {
-        "name": "wikibase/wikibase",
-        "version": "dev-mw1.24-wmf17",
-        "version_normalized": "dev-mw1.24-wmf17",
-        "source": {
-            "type": "git",
-            "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
-            "reference": "199d7ff1a8201cc8aec0378dc3b926e184d8c58c"
-        },
-        "dist": {
-            "type": "zip",
-            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/199d7ff1a8201cc8aec0378dc3b926e184d8c58c";,
-            "reference": "199d7ff1a8201cc8aec0378dc3b926e184d8c58c",
-            "shasum": ""
-        },
-        "require": {
-            "data-values/common": "~0.2.0",
-            "data-values/data-types": "~0.4.0",
-            "data-values/data-values": "~0.1.0",
-            "data-values/geo": "~0.2.0",
-            "data-values/interfaces": "~0.1.4",
-            "data-values/javascript": "~0.5.1",
-            "data-values/number": "~0.4.0",
-            "data-values/serialization": "~1.0",
-            "data-values/time": "~0.6.0",
-            "data-values/validators": "~0.1.0",
-            "data-values/value-view": "~0.6.5",
-            "diff/diff": "~1.0",
-            "php": ">=5.3.2",
-            "wikibase/data-model": "~0.8.2",
-            "wikibase/data-model-javascript": "~0.3.0",
-            "wikibase/data-model-serialization": "~1.0.1",
-            "wikibase/easyrdf_lite": "~0.8.1",
-            "wikibase/internal-serialization": "~1.1",
-            "wikibase/serialization-javascript": "~1.1.1"
-        },
-        "conflict": {
-            "mediawiki/mediawiki": "<1.23"
-        },
-        "time": "2014-08-14 14:52:40",
-        "type": "mediawiki-extension",
-        "installation-source": "dist",
-        "autoload": {
-            "files": [
-                "Wikibase.composer.php"
-            ],
-            "classmap": [
-                "client/includes/",
-                "client/WikibaseClient.hooks.php",
-                "client/tests/phpunit/MockPageUpdater.php",
-                "client/tests/phpunit/MockClientStore.php",
-                
"client/tests/phpunit/includes/scribunto/WikibaseLuaIntegrationTestItemSetUpHelper.php",
-                
"client/tests/phpunit/includes/scribunto/Scribunto_LuaWikibaseLibraryTestCase.php",
-                "lib/includes/",
-                "lib/WikibaseLib.hooks.php",
-                "lib/tests/phpunit/",
-                "repo/includes/",
-                "repo/maintenance/",
-                "repo/tests/phpunit/",
-                "repo/Wikibase.hooks.php"
-            ],
-            "psr-4": {
-                "Wikibase\\Repo\\View\\": "repo/includes/View"
-            }
-        },
-        "notification-url": "https://packagist.org/downloads/";,
-        "license": [
-            "GNU GPL v2+"
-        ],
-        "authors": [
-            {
-                "name": "The Wikidata team"
-            }
-        ],
-        "description": "Structured data repository for MediaWiki",
-        "homepage": "http://wikiba.se";,
-        "keywords": [
-            "wikibase",
-            "wikibaseclient",
-            "wikibaselib",
-            "wikibaserepo",
-            "wikidata"
-        ]
-    },
-    {
         "name": "wikibase/Wikidata.org",
         "version": "dev-master",
         "version_normalized": "9999999-dev",
@@ -1303,5 +1219,89 @@
             }
         ],
         "description": "Wikibase datamodel implementation in JavaScript"
+    },
+    {
+        "name": "wikibase/wikibase",
+        "version": "dev-mw1.24-wmf17",
+        "version_normalized": "dev-mw1.24-wmf17",
+        "source": {
+            "type": "git",
+            "url": 
"https://github.com/wikimedia/mediawiki-extensions-Wikibase.git";,
+            "reference": "54bcc31872c29bdce21b4044747d24cb402846a1"
+        },
+        "dist": {
+            "type": "zip",
+            "url": 
"https://api.github.com/repos/wikimedia/mediawiki-extensions-Wikibase/zipball/54bcc31872c29bdce21b4044747d24cb402846a1";,
+            "reference": "54bcc31872c29bdce21b4044747d24cb402846a1",
+            "shasum": ""
+        },
+        "require": {
+            "data-values/common": "~0.2.0",
+            "data-values/data-types": "~0.4.0",
+            "data-values/data-values": "~0.1.0",
+            "data-values/geo": "~0.2.0",
+            "data-values/interfaces": "~0.1.4",
+            "data-values/javascript": "~0.5.1",
+            "data-values/number": "~0.4.0",
+            "data-values/serialization": "~1.0",
+            "data-values/time": "~0.6.0",
+            "data-values/validators": "~0.1.0",
+            "data-values/value-view": "~0.6.5",
+            "diff/diff": "~1.0",
+            "php": ">=5.3.2",
+            "wikibase/data-model": "~0.8.2",
+            "wikibase/data-model-javascript": "~0.3.0",
+            "wikibase/data-model-serialization": "~1.0.1",
+            "wikibase/easyrdf_lite": "~0.8.1",
+            "wikibase/internal-serialization": "~1.1",
+            "wikibase/serialization-javascript": "~1.1.1"
+        },
+        "conflict": {
+            "mediawiki/mediawiki": "<1.23"
+        },
+        "time": "2014-08-15 12:50:10",
+        "type": "mediawiki-extension",
+        "installation-source": "dist",
+        "autoload": {
+            "files": [
+                "Wikibase.composer.php"
+            ],
+            "classmap": [
+                "client/includes/",
+                "client/WikibaseClient.hooks.php",
+                "client/tests/phpunit/MockPageUpdater.php",
+                "client/tests/phpunit/MockClientStore.php",
+                
"client/tests/phpunit/includes/scribunto/WikibaseLuaIntegrationTestItemSetUpHelper.php",
+                
"client/tests/phpunit/includes/scribunto/Scribunto_LuaWikibaseLibraryTestCase.php",
+                "lib/includes/",
+                "lib/WikibaseLib.hooks.php",
+                "lib/tests/phpunit/",
+                "repo/includes/",
+                "repo/maintenance/",
+                "repo/tests/phpunit/",
+                "repo/Wikibase.hooks.php"
+            ],
+            "psr-4": {
+                "Wikibase\\Repo\\View\\": "repo/includes/View"
+            }
+        },
+        "notification-url": "https://packagist.org/downloads/";,
+        "license": [
+            "GNU GPL v2+"
+        ],
+        "authors": [
+            {
+                "name": "The Wikidata team"
+            }
+        ],
+        "description": "Structured data repository for MediaWiki",
+        "homepage": "http://wikiba.se";,
+        "keywords": [
+            "wikibase",
+            "wikibaseclient",
+            "wikibaselib",
+            "wikibaserepo",
+            "wikidata"
+        ]
     }
 ]

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I3a615356105243ea080609d1fb8c3026f86a6771
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikidata
Gerrit-Branch: mw1.24-wmf17
Gerrit-Owner: Aude <[email protected]>

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

Reply via email to