Jeroen De Dauw has uploaded a new change for review.

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

Change subject: Remove usage of deprecated Entity methods
......................................................................

Remove usage of deprecated Entity methods

Two issues remain in this code:

* Code only works with items and properties (this is now explicit,
while before it would just break for entities with statements). This
is the issue described in 
https://lists.wikimedia.org/pipermail/wikidata-tech/2014-June/000489.html
And can be fixed as follows 
https://lists.wikimedia.org/pipermail/wikidata-tech/2014-August/000546.html

* The deprecated Claims class is still used. This forces transformation
from StatementList to Claims to StatementList, which is a waste of resources.

Change-Id: I37843beca7de1a629c3da392644a8abe21866473
---
M repo/includes/ChangeOp/ChangeOpClaimRemove.php
1 file changed, 12 insertions(+), 5 deletions(-)


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

diff --git a/repo/includes/ChangeOp/ChangeOpClaimRemove.php 
b/repo/includes/ChangeOp/ChangeOpClaimRemove.php
index 6084a14..ddc2d53 100644
--- a/repo/includes/ChangeOp/ChangeOpClaimRemove.php
+++ b/repo/includes/ChangeOp/ChangeOpClaimRemove.php
@@ -6,7 +6,11 @@
 use ValueValidators\Result;
 use Wikibase\DataModel\Claim\Claims;
 use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Entity\Item;
+use Wikibase\DataModel\Entity\Property;
+use Wikibase\DataModel\Entity\PropertyId;
 use Wikibase\DataModel\Snak\Snak;
+use Wikibase\DataModel\Statement\StatementList;
 use Wikibase\Summary;
 
 /**
@@ -53,11 +57,14 @@
         * @see ChangeOp::apply()
         */
        public function apply( Entity $entity, Summary $summary = null ) {
-               $claims = new Claims( $entity->getClaims() );
-
-               $this->removeClaim( $claims, $summary );
-
-               $entity->setClaims( $claims );
+               if ( $entity instanceof Item || $entity instanceof Property ) {
+                       $claims = new Claims( $entity->getStatements() );
+                       $this->removeClaim( $claims, $summary );
+                       $entity->setStatements( new StatementList( $claims ) );
+               }
+               else {
+                       throw new InvalidArgumentException( 'This code only 
works with items and properties' );
+               }
 
                return true;
        }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I37843beca7de1a629c3da392644a8abe21866473
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Jeroen De Dauw <jeroended...@gmail.com>

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

Reply via email to