Thiemo Mättig (WMDE) has uploaded a new change for review. https://gerrit.wikimedia.org/r/156042
Change subject: Proposed refactoring for ReferencedEntitiesFinder ...................................................................... Proposed refactoring for ReferencedEntitiesFinder Change-Id: Ibb6e011b6de9cce1629619c810b94f13a1ff33de --- M lib/includes/ReferencedEntitiesFinder.php 1 file changed, 23 insertions(+), 24 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/42/156042/1 diff --git a/lib/includes/ReferencedEntitiesFinder.php b/lib/includes/ReferencedEntitiesFinder.php index 6ead007..6147192 100644 --- a/lib/includes/ReferencedEntitiesFinder.php +++ b/lib/includes/ReferencedEntitiesFinder.php @@ -20,45 +20,44 @@ class ReferencedEntitiesFinder { /** - * @var EntityId[] serialized entity ids pointing to entity id objects - */ - private $foundEntityIds; - - /** - * Finds linked entities within a set of snaks. + * Finds linked Entities within a set of Snaks. * * @param Snak[] $snaks * - * @return EntityId[] + * @return EntityId[] Entity ID strings pointing to Entity ID objects. */ public function findSnakLinks( array $snaks ) { - $this->foundEntityIds = array(); + $entityIds = array(); foreach ( $snaks as $snak ) { - $this->handleSnak( $snak ); + $this->addEntityIds( $entityIds, $snak ); } - return $this->foundEntityIds; + return $entityIds; } - private function handleSnak( Snak $snak ) { - // all of the Snak's properties are referenced entities - $this->addEntityId( $snak->getPropertyId() ); + /** + * @param EntityId[] $entityIds + * @param Snak $snak + */ + private function addEntityIds( array &$entityIds, Snak $snak ) { + $this->addEntityId( $entityIds, $snak->getPropertyId() ); - // PropertyValueSnaks might have a value referencing an Entity - if( $snak instanceof PropertyValueSnak ) { - $this->handleDataValue( $snak->getDataValue() ); + if ( $snak instanceof PropertyValueSnak ) { + $dataValue = $snak->getDataValue(); + + if ( $dataValue instanceof EntityIdValue ) { + $this->addEntityId( $entityIds, $dataValue->getEntityId() ); + } } } - private function handleDataValue( DataValue $dataValue ) { - if ( $dataValue instanceof EntityIdValue ) { - $this->addEntityId( $dataValue->getEntityId() ); - } - } - - private function addEntityId( EntityId $entityId ) { - $this->foundEntityIds[$entityId->getSerialization()] = $entityId; + /** + * @param EntityId[] $entityIds + * @param EntityId $entityId + */ + private function addEntityId( array &$entityIds, EntityId $entityId ) { + $entityIds[$entityId->getSerialization()] = $entityId; } } -- To view, visit https://gerrit.wikimedia.org/r/156042 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ibb6e011b6de9cce1629619c810b94f13a1ff33de Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: Thiemo Mättig (WMDE) <thiemo.maet...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits