Bene has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/222892

Change subject: Use getStatements instead of getClaim in ChangeOpsMerge
......................................................................

Use getStatements instead of getClaim in ChangeOpsMerge

Also did some refactoring.

Change-Id: Ie5b258d1a873707b9102ec11945e181224329da5
---
M repo/includes/ChangeOp/ChangeOpsMerge.php
1 file changed, 20 insertions(+), 24 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase 
refs/changes/92/222892/1

diff --git a/repo/includes/ChangeOp/ChangeOpsMerge.php 
b/repo/includes/ChangeOp/ChangeOpsMerge.php
index 6aaf4cf..b69fef1 100644
--- a/repo/includes/ChangeOp/ChangeOpsMerge.php
+++ b/repo/includes/ChangeOp/ChangeOpsMerge.php
@@ -7,7 +7,6 @@
 use SiteLookup;
 use ValueValidators\Error;
 use ValueValidators\Result;
-use Wikibase\DataModel\Claim\Claim;
 use Wikibase\DataModel\Entity\Entity;
 use Wikibase\DataModel\Entity\EntityId;
 use Wikibase\DataModel\Entity\Item;
@@ -158,7 +157,7 @@
                $this->generateDescriptionsChangeOps();
                $this->generateAliasesChangeOps();
                $this->generateSitelinksChangeOps();
-               $this->generateClaimsChangeOps();
+               $this->generateStatementsChangeOps();
        }
 
        private function generateLabelsChangeOps() {
@@ -257,43 +256,40 @@
                return $site;
        }
 
-       private function generateClaimsChangeOps() {
-               foreach ( $this->fromItem->getClaims() as $fromClaim ) {
-                       $this->fromChangeOps->add( 
$this->getStatementChangeOpFactory()->newRemoveStatementOp( 
$fromClaim->getGuid() ) );
+       private function generateStatementsChangeOps() {
+               foreach ( $this->fromItem->getStatements() as $fromStatement ) {
+                       $this->fromChangeOps->add( 
$this->getStatementChangeOpFactory()->newRemoveStatementOp( 
$fromStatement->getGuid() ) );
 
-                       $toClaim = clone $fromClaim;
-                       $toClaim->setGuid( null );
-                       $toMergeToClaim = false;
+                       $toStatement = clone $fromStatement;
+                       $toStatement->setGuid( null );
+                       $toMergeToStatement = $this->findEquivalentStatement( 
$toStatement );
 
-                       if ( $toClaim instanceof Statement ) {
-                               $toMergeToClaim = $this->findEquivalentClaim( 
$toClaim );
-                       }
-
-                       if ( $toMergeToClaim ) {
-                               $this->generateReferencesChangeOps( $toClaim, 
$toMergeToClaim );
+                       if ( $toMergeToStatement ) {
+                               $this->generateReferencesChangeOps( 
$toStatement, $toMergeToStatement );
                        } else {
-                               $this->toChangeOps->add( 
$this->getStatementChangeOpFactory()->newSetStatementOp( $toClaim ) );
+                               $this->toChangeOps->add( 
$this->getStatementChangeOpFactory()->newSetStatementOp( $toStatement ) );
                        }
                }
        }
 
        /**
-        * Finds a claim in the target entity with the same main snak and 
qualifiers as $fromStatement
+        * Finds a statement in the target entity with the same main snak and 
qualifiers as $fromStatement
         *
         * @param Statement $fromStatement
         *
-        * @return Claim|false Claim to merge reference into or false
+        * @return Statement|false Statement to merge reference into or false
         */
-       private function findEquivalentClaim( $fromStatement ) {
-               $fromHash = $this->getClaimHash( $fromStatement );
+       private function findEquivalentStatement( $fromStatement ) {
+               $fromHash = $this->getStatementHash( $fromStatement );
 
-               /** @var $claim Claim */
-               foreach ( $this->toItem->getClaims() as $claim ) {
-                       $toHash = $this->getClaimHash( $claim );
+               /** @var Statement $statement */
+               foreach ( $this->toItem->getStatements() as $statement ) {
+                       $toHash = $this->getStatementHash( $statement );
                        if ( $toHash === $fromHash ) {
-                               return $claim;
+                               return $statement;
                        }
                }
+
                return false;
        }
 
@@ -302,7 +298,7 @@
         *
         * @return string combined hash of the Mainsnak and Qualifiers
         */
-       private function getClaimHash( Statement $statement ) {
+       private function getStatementHash( Statement $statement ) {
                return $statement->getMainSnak()->getHash() . 
$statement->getQualifiers()->getHash();
        }
 

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie5b258d1a873707b9102ec11945e181224329da5
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Bene <benestar.wikime...@gmail.com>

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

Reply via email to