jenkins-bot has submitted this change and it was merged.

Change subject: Code style improvements to SqlEntityInfoBuilder
......................................................................


Code style improvements to SqlEntityInfoBuilder

This is a direct follow-up to I1ae5245.

Change-Id: I626bb5a949ab90f51f5021e64a292de5e8d8a3e0
---
M lib/includes/store/sql/SqlEntityInfoBuilder.php
1 file changed, 21 insertions(+), 33 deletions(-)

Approvals:
  WikidataJenkins: Verified
  Daniel Kinzler: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/lib/includes/store/sql/SqlEntityInfoBuilder.php 
b/lib/includes/store/sql/SqlEntityInfoBuilder.php
index b8c64b9..7ea4949 100644
--- a/lib/includes/store/sql/SqlEntityInfoBuilder.php
+++ b/lib/includes/store/sql/SqlEntityInfoBuilder.php
@@ -2,18 +2,17 @@
 
 namespace Wikibase\Lib\Store\Sql;
 
+use DBAccessBase;
 use InvalidArgumentException;
-use OutOfBoundsException;
 use ResultWrapper;
 use RuntimeException;
 use Wikibase\DataModel\Entity\BasicEntityIdParser;
+use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\EntityIdParser;
 use Wikibase\DataModel\Entity\EntityIdParsingException;
+use Wikibase\DataModel\Entity\Property;
 use Wikibase\DataModel\Entity\PropertyId;
-use Wikibase\DataModel;
-use Wikibase\EntityId;
 use Wikibase\Lib\Store\EntityInfoBuilder;
-use Wikibase\Property;
 
 /**
  * Class EntityInfoBuilder implementation relying on database access.
@@ -23,7 +22,7 @@
  * @license GPL 2+
  * @author Daniel Kinzler
  */
-class SqlEntityInfoBuilder extends \DBAccessBase implements EntityInfoBuilder {
+class SqlEntityInfoBuilder extends DBAccessBase implements EntityInfoBuilder {
 
        /**
         * Maps term types to fields used for lists of these terms in entity 
serializations.
@@ -39,17 +38,17 @@
        /**
         * @var string The name of the database table holding terms.
         */
-       protected $termTable;
+       private $termTable;
 
        /**
         * @var string The name of the database table holding property info.
         */
-       protected $propertyInfoTable;
+       private $propertyInfoTable;
 
        /**
         * @var string The name of the database table connecting entities to 
pages.
         */
-       protected $entityPerPageTable;
+       private $entityPerPageTable;
 
        /**
         * @var bool
@@ -150,7 +149,7 @@
         */
        private function setEntityIds( array $ids ) {
                if ( $this->entityIds !== null ) {
-                       throw new \RuntimeException( 'EntityIds have already 
been initialized' );
+                       throw new RuntimeException( 'EntityIds have already 
been initialized' );
                }
 
                $this->entityIds = array();
@@ -158,16 +157,7 @@
                $this->numericIdsByType = array();
 
                foreach ( $ids as $id ) {
-                       $key = $id->getSerialization();
-                       $type = $id->getEntityType();
-
-                       $this->entityInfo[$key] = array(
-                               'id' => $key,
-                               'type' => $type,
-                       );
-
-                       $this->numericIdsByType[$type][$key] = 
$id->getNumericId();
-                       $this->entityIds[$key] = $id;
+                       $this->updateEntityInfo( $id );
                }
        }
 
@@ -215,7 +205,7 @@
                }
 
                // Copy the record for the old key to the target key.
-               $this->initRecord( $targetKey, $this->entityInfo[$idString] );
+               $this->initEntityInfo( $targetKey, $this->entityInfo[$idString] 
);
 
                // Remove the original entry for the old key.
                $this->unsetKey( $idString );
@@ -224,7 +214,7 @@
                $this->createEntityInfoReference( $idString, 
$this->entityInfo[$targetKey] );
 
                // From now on, use the target ID in the record and for 
database queries.
-               $this->forceEntityId( $targetKey, $targetId  );
+               $this->updateEntityInfo( $targetId );
        }
 
        /**
@@ -236,7 +226,7 @@
         * @param array $record
         */
        private function createEntityInfoReference( $key, array &$record ) {
-               $this->entityInfo[$key] = & $record;
+               $this->entityInfo[$key] = &$record;
        }
 
        /**
@@ -262,30 +252,28 @@
         * @param string $key
         * @param array $record
         */
-       private function initRecord( $key, array $record ) {
+       private function initEntityInfo( $key, array $record ) {
                if ( !isset( $this->entityInfo[$key] ) ) {
                        $this->entityInfo[$key] = $record;
                }
        }
 
        /**
-        * Forces the EntityId associated with the given key.
-        * May be used on entries for ids that are redirected, when the
-        * actual ID differs from the original (redirected) entity id.
-        *
-        * This updates the $entityInfo structure, and makes the ID
+        * Updates the $entityInfo structure and makes the ID
         * available via the $numericIdsByType and $entityIds caches.
         *
-        * @param string $key
         * @param EntityId $id
         */
-       private function forceEntityId( $key, EntityId $id ) {
-               //NOTE: we assume that the type of entity never changes.
+       private function updateEntityInfo( EntityId $id ) {
                $type = $id->getEntityType();
+               $key = $id->getSerialization();
 
-               $this->numericIdsByType[$type][$key] = $id->getNumericId();
+               // NOTE: we assume that the type of entity never changes.
+               $this->initEntityInfo( $key, array( 'type' => $type ) );
+
                $this->entityIds[$key] = $id;
                $this->entityInfo[$key]['id'] = $key;
+               $this->numericIdsByType[$type][$key] = $id->getNumericId();
        }
 
        /**
@@ -392,7 +380,7 @@
         *
         * @param ResultWrapper $dbResult
         *
-        * @throws \InvalidArgumentException
+        * @throws InvalidArgumentException
         */
        private function injectTerms( ResultWrapper $dbResult ) {
                foreach ( $dbResult as $row ) {

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I626bb5a949ab90f51f5021e64a292de5e8d8a3e0
Gerrit-PatchSet: 3
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de>
Gerrit-Reviewer: Daniel Kinzler <daniel.kinz...@wikimedia.de>
Gerrit-Reviewer: Hoo man <h...@online.de>
Gerrit-Reviewer: Jeroen De Dauw <jeroended...@gmail.com>
Gerrit-Reviewer: WikidataJenkins <wikidata-servi...@wikimedia.de>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to