jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/390414 )
Change subject: Reduce duplicate code in AffectedPagesFinder
......................................................................
Reduce duplicate code in AffectedPagesFinder
This is a direct follow up fixing the minor issues I had with Ib5d212a,
and should be considered part of that.
Bug: T176417
Change-Id: Id74f5839c03d0168396d7db39165d9cde023fa82
---
M client/includes/Changes/AffectedPagesFinder.php
1 file changed, 13 insertions(+), 36 deletions(-)
Approvals:
WMDE-leszek: Looks good to me, approved
jenkins-bot: Verified
Thiemo Mättig (WMDE): Looks good to me, but someone else must approve
diff --git a/client/includes/Changes/AffectedPagesFinder.php
b/client/includes/Changes/AffectedPagesFinder.php
index fe66f77..91d2440 100644
--- a/client/includes/Changes/AffectedPagesFinder.php
+++ b/client/includes/Changes/AffectedPagesFinder.php
@@ -152,25 +152,23 @@
}
}
- if ( $diff instanceof EntityDiff &&
!$diff->getLabelsDiff()->isEmpty() ) {
+ if ( $diff instanceof EntityDiff ) {
$labelsDiff = $diff->getLabelsDiff();
+ $descriptionsDiff = $diff->getDescriptionsDiff();
- if ( !empty( $labelsDiff ) ) {
- $labelAspects = $this->getChangedLabelAspects(
$labelsDiff );
+ if ( !$labelsDiff->isEmpty() ) {
+ $labelAspects = $this->getChangedTermAspects(
EntityUsage::LABEL_USAGE, $labelsDiff );
$aspects = array_merge( $aspects, $labelAspects
);
$remainingDiffOps -= count( $labelAspects );
}
- }
- if ( $diff instanceof EntityDiff &&
!$diff->getDescriptionsDiff()->isEmpty() ) {
- $descriptionsDiff = $diff->getDescriptionsDiff();
-
- if ( !empty( $descriptionsDiff ) ) {
- $descriptionsAspects =
$this->getChangedDescriptionAspects( $descriptionsDiff );
+ if ( !$descriptionsDiff->isEmpty() ) {
+ $descriptionsAspects =
$this->getChangedTermAspects( EntityUsage::DESCRIPTION_USAGE, $descriptionsDiff
);
$aspects = array_merge( $aspects,
$descriptionsAspects );
$remainingDiffOps -= count(
$descriptionsAspects );
}
}
+
// FIXME: EntityChange suppresses various kinds of diffs (see
above). T113468.
if ( $remainingDiffOps > 0 ) {
@@ -181,44 +179,23 @@
}
/**
- * @param Diff $labelsDiff
+ * @param string $aspect
+ * @param Diff $diff
*
* @return string[]
*/
- private function getChangedLabelAspects( Diff $labelsDiff ) {
+ private function getChangedTermAspects( $aspect, Diff $diff ) {
$aspects = [];
- foreach ( $labelsDiff as $lang => $diffOp ) {
- $aspects[] = EntityUsage::makeAspectKey(
EntityUsage::LABEL_USAGE, $lang );
+ foreach ( $diff as $lang => $diffOp ) {
+ $aspects[] = EntityUsage::makeAspectKey( $aspect, $lang
);
}
if ( $this->trackUsagesInAllLanguages ) {
// On multi-lingual wikis where users can request pages
in any language, we can not
// optimize for one language fallback chain only. Since
all possible language fallback
// chains must cover all languages, we can simply track
an "all languages" usage.
- $aspects[] = EntityUsage::makeAspectKey(
EntityUsage::LABEL_USAGE );
- }
-
- return $aspects;
- }
-
- /**
- * @param Diff $descriptionsDiff
- *
- * @return string[]
- */
- private function getChangedDescriptionAspects( Diff $descriptionsDiff )
{
- $aspects = [];
-
- foreach ( $descriptionsDiff as $lang => $diffOp ) {
- $aspects[] = EntityUsage::makeAspectKey(
EntityUsage::DESCRIPTION_USAGE, $lang );
- }
-
- if ( $this->trackUsagesInAllLanguages ) {
- // On multi-lingual wikis where users can request pages
in any language, we can not
- // optimize for one language fallback chain only. Since
all possible language fallback
- // chains must cover all languages, we can simply track
an "all languages" usage.
- $aspects[] = EntityUsage::makeAspectKey(
EntityUsage::DESCRIPTION_USAGE );
+ $aspects[] = EntityUsage::makeAspectKey( $aspect );
}
return $aspects;
--
To view, visit https://gerrit.wikimedia.org/r/390414
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Id74f5839c03d0168396d7db39165d9cde023fa82
Gerrit-PatchSet: 2
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: Aude <[email protected]>
Gerrit-Reviewer: Daniel Kinzler <[email protected]>
Gerrit-Reviewer: Ladsgroup <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: WMDE-leszek <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits