jenkins-bot has submitted this change and it was merged.
Change subject: DM 1.0 compat: do not use DataModel\Internal\ObjectComparer
......................................................................
DM 1.0 compat: do not use DataModel\Internal\ObjectComparer
Change-Id: I72f79342663015369ad7b7dc0fca013f0386d080
---
M repo/includes/ClaimDiffer.php
1 file changed, 29 insertions(+), 15 deletions(-)
Approvals:
WikidataJenkins: Verified
Thiemo Mättig (WMDE): Looks good to me, approved
jenkins-bot: Verified
diff --git a/repo/includes/ClaimDiffer.php b/repo/includes/ClaimDiffer.php
index 0a11777..420aca9 100644
--- a/repo/includes/ClaimDiffer.php
+++ b/repo/includes/ClaimDiffer.php
@@ -5,7 +5,6 @@
use Diff\DiffOp\Diff\Diff;
use Diff\Differ\Differ;
use Diff\DiffOp\DiffOpChange;
-use Wikibase\DataModel\Internal\ObjectComparer;
/**
* Class for generating a ClaimDifference given two claims.
@@ -59,10 +58,15 @@
$oldClaimMainSnak = $oldClaim === null ? null :
$oldClaim->getMainSnak();
$newClaimMainSnak = $newClaim === null ? null :
$newClaim->getMainSnak();
- $mainSnakComparer = new ObjectComparer();
- if( !$mainSnakComparer->dataEquals( $oldClaimMainSnak,
$newClaimMainSnak ) ) {
+ if ( $oldClaimMainSnak === null && $newClaimMainSnak === null )
{
+ return null;
+ }
+
+ if( ( $oldClaimMainSnak === null && $newClaimMainSnak !== null )
+ || !$oldClaimMainSnak->equals( $newClaimMainSnak ) ) {
return new DiffOpChange( $oldClaimMainSnak,
$newClaimMainSnak );
}
+
return null;
}
@@ -73,13 +77,18 @@
* @return Diff
*/
private function diffQualifiers( Claim $oldClaim = null, Claim
$newClaim = null ) {
- $oldQualifiers = $oldClaim === null ? array() :
iterator_to_array( $oldClaim->getQualifiers() );
- $newQualifiers = $newClaim === null ? array() :
iterator_to_array( $newClaim->getQualifiers() );
+ $oldQualifiers = $oldClaim === null ? new SnakList( array() ):
$oldClaim->getQualifiers();
+ $newQualifiers = $newClaim === null ? new SnakList( array() ) :
$newClaim->getQualifiers();
- $qualifierComparer = new ObjectComparer();
- if ( !$qualifierComparer->dataEquals( $oldQualifiers,
$newQualifiers ) ) {
- return new Diff( $this->listDiffer->doDiff(
$oldQualifiers, $newQualifiers ), false );
+ if ( !$oldQualifiers->equals( $newQualifiers ) ) {
+ $diffOps = $this->listDiffer->doDiff(
+ iterator_to_array( $oldQualifiers ),
+ iterator_to_array( $newQualifiers )
+ );
+
+ return new Diff( $diffOps, false );
}
+
return null;
}
@@ -93,10 +102,10 @@
$oldRank = $oldClaim === null ? null : $oldClaim->getRank();
$newRank = $newClaim === null ? null : $newClaim->getRank();
- $rankComparer = new ObjectComparer();
- if( !$rankComparer->dataEquals( $oldRank, $newRank ) ){
+ if( $oldRank !== $newRank ) {
return new DiffOpChange( $oldRank, $newRank );
}
+
return null;
}
@@ -107,13 +116,18 @@
* @return Diff
*/
private function diffReferences( Statement $oldClaim = null, Statement
$newClaim = null ) {
- $oldReferences = $oldClaim === null ? array() :
iterator_to_array( $oldClaim->getReferences() );
- $newReferences = $newClaim === null ? array() :
iterator_to_array( $newClaim->getReferences() );
+ $oldReferences = $oldClaim === null ? new ReferenceList(
array() ) : $oldClaim->getReferences();
+ $newReferences = $newClaim === null ? new ReferenceList(
array() ) : $newClaim->getReferences();
- $referenceComparer = new ObjectComparer();
- if ( !$referenceComparer->dataEquals( $oldReferences,
$newReferences ) ) {
- return new Diff( $this->listDiffer->doDiff(
$oldReferences, $newReferences ), false );
+ if ( !$oldReferences->equals( $newReferences ) ) {
+ $diffOps = $this->listDiffer->doDiff(
+ iterator_to_array( $oldReferences ),
+ iterator_to_array( $newReferences )
+ );
+
+ return new Diff( $diffOps, false );
}
+
return null;
}
--
To view, visit https://gerrit.wikimedia.org/r/149231
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I72f79342663015369ad7b7dc0fca013f0386d080
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Jeroen De Dauw <[email protected]>
Gerrit-Reviewer: Thiemo Mättig (WMDE) <[email protected]>
Gerrit-Reviewer: WikidataJenkins <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits