Denny Vrandecic has submitted this change and it was merged.
Change subject: getInternalIdForEntity now takes an EntityId rather than its
components
......................................................................
getInternalIdForEntity now takes an EntityId rather than its components
Change-Id: I2a176114eeb68bb4f3e986d81ebc748f7a651bbc
---
M QueryEngine/includes/SQLStore/ClaimStore/ClaimRowBuilder.php
M QueryEngine/includes/SQLStore/Engine/DescriptionMatchFinder.php
M QueryEngine/includes/SQLStore/EntityIdTransformer.php
M QueryEngine/includes/SQLStore/EntityInserter.php
M QueryEngine/includes/SQLStore/InternalEntityIdFinder.php
M QueryEngine/includes/SQLStore/SnakStore/SnakRowBuilder.php
M QueryEngine/tests/phpunit/SQLStore/EntityIdTransformerTest.php
M QueryEngine/tests/phpunit/SQLStore/EntityInserterTest.php
8 files changed, 20 insertions(+), 32 deletions(-)
Approvals:
Denny Vrandecic: Looks good to me, approved
jenkins-bot: Verified
diff --git a/QueryEngine/includes/SQLStore/ClaimStore/ClaimRowBuilder.php
b/QueryEngine/includes/SQLStore/ClaimStore/ClaimRowBuilder.php
index 9b01ad0..27dce1b 100644
--- a/QueryEngine/includes/SQLStore/ClaimStore/ClaimRowBuilder.php
+++ b/QueryEngine/includes/SQLStore/ClaimStore/ClaimRowBuilder.php
@@ -53,10 +53,7 @@
}
protected function getInternalIdFor( EntityId $entityId ) {
- return $this->idFinder->getInternalIdForEntity(
- $entityId->getEntityType(),
- $entityId->getNumericId()
- );
+ return $this->idFinder->getInternalIdForEntity( $entityId );
}
}
\ No newline at end of file
diff --git a/QueryEngine/includes/SQLStore/Engine/DescriptionMatchFinder.php
b/QueryEngine/includes/SQLStore/Engine/DescriptionMatchFinder.php
index b91d52d..b038f01 100644
--- a/QueryEngine/includes/SQLStore/Engine/DescriptionMatchFinder.php
+++ b/QueryEngine/includes/SQLStore/Engine/DescriptionMatchFinder.php
@@ -114,10 +114,7 @@
}
protected function getInternalId( EntityId $id ) {
- return $this->idFinder->getInternalIdForEntity(
- $id->getEntityType(),
- $id->getNumericId()
- );
+ return $this->idFinder->getInternalIdForEntity( $id );
}
protected function getExtraConditions( SomeProperty $description,
DataValueHandler $dvHandler ) {
diff --git a/QueryEngine/includes/SQLStore/EntityIdTransformer.php
b/QueryEngine/includes/SQLStore/EntityIdTransformer.php
index dd019cb..c73b517 100644
--- a/QueryEngine/includes/SQLStore/EntityIdTransformer.php
+++ b/QueryEngine/includes/SQLStore/EntityIdTransformer.php
@@ -2,6 +2,8 @@
namespace Wikibase\QueryEngine\SQLStore;
+use Wikibase\EntityId;
+
/**
* Transforms entity types and numbers into internal store ids.
*
@@ -43,15 +45,14 @@
/**
* @see InternalEntityIdFinder::getInternalIdForEntity
*
- * @param string $entityType
- * @param int $entityNumber
+ * @param EntityId $entityId
*
* @return int
*/
- public function getInternalIdForEntity( $entityType, $entityNumber ) {
- $this->ensureEntityTypeIsKnown( $entityType );
+ public function getInternalIdForEntity( EntityId $entityId ) {
+ $this->ensureEntityTypeIsKnown( $entityId->getEntityType() );
- return $this->getComputedId( $entityType, $entityNumber );
+ return $this->getComputedId( $entityId );
}
protected function ensureEntityTypeIsKnown( $entityType ) {
@@ -60,8 +61,8 @@
}
}
- protected function getComputedId( $entityType, $entityNumber ) {
- return $entityNumber * 10 + $this->idMap[$entityType];
+ protected function getComputedId( EntityId $entityId ) {
+ return $entityId->getNumericId() * 10 +
$this->idMap[$entityId->getEntityType()];
}
}
diff --git a/QueryEngine/includes/SQLStore/EntityInserter.php
b/QueryEngine/includes/SQLStore/EntityInserter.php
index fc5eae8..b906205 100644
--- a/QueryEngine/includes/SQLStore/EntityInserter.php
+++ b/QueryEngine/includes/SQLStore/EntityInserter.php
@@ -74,10 +74,7 @@
}
protected function getInternalId( EntityId $entityId ) {
- return $this->idFinder->getInternalIdForEntity(
- $entityId->getEntityType(),
- $entityId->getNumericId()
- );
+ return $this->idFinder->getInternalIdForEntity( $entityId );
}
}
diff --git a/QueryEngine/includes/SQLStore/InternalEntityIdFinder.php
b/QueryEngine/includes/SQLStore/InternalEntityIdFinder.php
index 83b6f01..b537120 100644
--- a/QueryEngine/includes/SQLStore/InternalEntityIdFinder.php
+++ b/QueryEngine/includes/SQLStore/InternalEntityIdFinder.php
@@ -2,6 +2,8 @@
namespace Wikibase\QueryEngine\SQLStore;
+use Wikibase\EntityId;
+
/**
* Finds the internal entity id for the given external entity id.
*
@@ -31,13 +33,10 @@
interface InternalEntityIdFinder {
/**
- * TODO: taking an EntityId would be a lot more convenient
- *
- * @param string $entityType
- * @param int $entityNumber
+ * @param EntityId $entityId
*
* @return int
*/
- public function getInternalIdForEntity( $entityType, $entityNumber );
+ public function getInternalIdForEntity( EntityId $entityId );
}
diff --git a/QueryEngine/includes/SQLStore/SnakStore/SnakRowBuilder.php
b/QueryEngine/includes/SQLStore/SnakStore/SnakRowBuilder.php
index a13d33d..73e740f 100644
--- a/QueryEngine/includes/SQLStore/SnakStore/SnakRowBuilder.php
+++ b/QueryEngine/includes/SQLStore/SnakStore/SnakRowBuilder.php
@@ -91,10 +91,7 @@
}
protected function getInternalIdFor( EntityId $entityId ) {
- return $this->idFinder->getInternalIdForEntity(
- $entityId->getEntityType(),
- $entityId->getNumericId()
- );
+ return $this->idFinder->getInternalIdForEntity( $entityId );
}
}
\ No newline at end of file
diff --git a/QueryEngine/tests/phpunit/SQLStore/EntityIdTransformerTest.php
b/QueryEngine/tests/phpunit/SQLStore/EntityIdTransformerTest.php
index 12c420c..5b32a92 100644
--- a/QueryEngine/tests/phpunit/SQLStore/EntityIdTransformerTest.php
+++ b/QueryEngine/tests/phpunit/SQLStore/EntityIdTransformerTest.php
@@ -3,6 +3,7 @@
namespace Wikibase\QueryEngine\Tests\SQLStore;
use Wikibase\QueryEngine\SQLStore\EntityIdTransformer;
+use Wikibase\EntityId;
/**
* @covers Wikibase\QueryEngine\SQLStore\EntityIdTransformer
@@ -58,7 +59,7 @@
$transformer = new EntityIdTransformer( $idMap );
- $internalId = $transformer->getInternalIdForEntity(
$entityType, $numericId );
+ $internalId = $transformer->getInternalIdForEntity( new
EntityId( $entityType, $numericId ) );
$this->assertInternalType( 'int', $internalId );
@@ -95,7 +96,7 @@
$transformer = new EntityIdTransformer( array() );
- $transformer->getInternalIdForEntity( $entityType, $numericId );
+ $transformer->getInternalIdForEntity( new EntityId(
$entityType, $numericId ) );
}
}
diff --git a/QueryEngine/tests/phpunit/SQLStore/EntityInserterTest.php
b/QueryEngine/tests/phpunit/SQLStore/EntityInserterTest.php
index df36c1b..ee49950 100644
--- a/QueryEngine/tests/phpunit/SQLStore/EntityInserterTest.php
+++ b/QueryEngine/tests/phpunit/SQLStore/EntityInserterTest.php
@@ -79,8 +79,7 @@
$idFinder->expects( $this->any() )
->method( 'getInternalIdForEntity' )
->with(
- $entity->getId()->getEntityType(),
- $entity->getId()->getNumericId()
+ $entity->getId()
)
->will( $this->returnValue( 1234 ) );
--
To view, visit https://gerrit.wikimedia.org/r/65536
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I2a176114eeb68bb4f3e986d81ebc748f7a651bbc
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Jeroen De Dauw <[email protected]>
Gerrit-Reviewer: Anja Jentzsch <[email protected]>
Gerrit-Reviewer: Ataherivand <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: Daniel Werner <[email protected]>
Gerrit-Reviewer: Denny Vrandecic <[email protected]>
Gerrit-Reviewer: Henning Snater <[email protected]>
Gerrit-Reviewer: Jens Ohlig <[email protected]>
Gerrit-Reviewer: Jeroen De Dauw <[email protected]>
Gerrit-Reviewer: John Erling Blad <[email protected]>
Gerrit-Reviewer: Lydia Pintscher <[email protected]>
Gerrit-Reviewer: Markus Kroetzsch <[email protected]>
Gerrit-Reviewer: Nikola Smolenski <[email protected]>
Gerrit-Reviewer: Silke Meyer <[email protected]>
Gerrit-Reviewer: Tobias Gritschacher <[email protected]>
Gerrit-Reviewer: jenkins-bot
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits