Jeroen De Dauw has uploaded a new change for review.

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

Change subject: Stop using Entity in SpecialModifyTerm::getValue
......................................................................

Stop using Entity in SpecialModifyTerm::getValue

Change-Id: I1643868bfdd157c0df62911ab8533eb086d74f07
---
M repo/includes/specials/SpecialModifyTerm.php
M repo/includes/specials/SpecialSetAliases.php
M repo/includes/specials/SpecialSetDescription.php
M repo/includes/specials/SpecialSetLabel.php
4 files changed, 29 insertions(+), 14 deletions(-)


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

diff --git a/repo/includes/specials/SpecialModifyTerm.php 
b/repo/includes/specials/SpecialModifyTerm.php
index 7575212..505b01d 100644
--- a/repo/includes/specials/SpecialModifyTerm.php
+++ b/repo/includes/specials/SpecialModifyTerm.php
@@ -11,6 +11,8 @@
 use Wikibase\DataModel\Entity\Entity;
 use Wikibase\DataModel\Entity\Item;
 use Wikibase\DataModel\Entity\Property;
+use Wikibase\DataModel\Term\Fingerprint;
+use Wikibase\DataModel\Term\FingerprintProvider;
 use Wikibase\Lib\ContentLanguages;
 use Wikibase\Repo\WikibaseRepo;
 use Wikibase\Summary;
@@ -187,9 +189,8 @@
                if ( $this->languageCode === null ) {
                        $this->languageCode = $this->getLanguage()->getCode();
                }
-               if ( $this->value === null ) {
-                       $this->value = $this->getValue( $entity, 
$this->languageCode );
-               }
+
+               $this->setValueIfNull( $entity );
 
                $valueinput = Html::input(
                        'value',
@@ -261,6 +262,17 @@
                }
        }
 
+       private function setValueIfNull( FingerprintProvider 
$fingerprintProvider = null ) {
+               if ( $this->value === null ) {
+                       if ( $fingerprintProvider === null ) {
+                               $this->value = '';
+                       }
+                       else {
+                               $this->value = $this->getValue( 
$fingerprintProvider->getFingerprint(), $this->languageCode );
+                       }
+               }
+       }
+
        /**
         * Returning the posted value of the request.
         *
@@ -275,12 +287,12 @@
         *
         * @since 0.5
         *
-        * @param Entity|null $entity
+        * @param Fingerprint $fingerprint
         * @param string $languageCode
         *
         * @return string
         */
-       abstract protected function getValue( $entity, $languageCode );
+       abstract protected function getValue( Fingerprint $fingerprint, 
$languageCode );
 
        /**
         * Setting the value of the entity name by the given language
diff --git a/repo/includes/specials/SpecialSetAliases.php 
b/repo/includes/specials/SpecialSetAliases.php
index ea5dafd..e76df75 100644
--- a/repo/includes/specials/SpecialSetAliases.php
+++ b/repo/includes/specials/SpecialSetAliases.php
@@ -3,6 +3,7 @@
 namespace Wikibase\Repo\Specials;
 
 use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Term\Fingerprint;
 use Wikibase\Summary;
 
 /**
@@ -37,13 +38,13 @@
         *
         * @since 0.4
         *
-        * @param Entity $entity
+        * @param Fingerprint $fingerprint
         * @param string $languageCode
         *
         * @return string
         */
-       protected function getValue( $entity, $languageCode ) {
-               return $entity === null ? '' : implode( '|', 
$entity->getAliases( $languageCode ) );
+       protected function getValue( Fingerprint $fingerprint, $languageCode ) {
+               return implode( '|', $fingerprint->getAliasGroup( $languageCode 
)->getAliases() );
        }
 
        /**
diff --git a/repo/includes/specials/SpecialSetDescription.php 
b/repo/includes/specials/SpecialSetDescription.php
index c64f6f9..25eaf99 100644
--- a/repo/includes/specials/SpecialSetDescription.php
+++ b/repo/includes/specials/SpecialSetDescription.php
@@ -3,6 +3,7 @@
 namespace Wikibase\Repo\Specials;
 
 use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Term\Fingerprint;
 use Wikibase\Summary;
 
 /**
@@ -37,13 +38,13 @@
         *
         * @since 0.4
         *
-        * @param Entity $entity
+        * @param Fingerprint $fingerprint
         * @param string $languageCode
         *
         * @return string
         */
-       protected function getValue( $entity, $languageCode ) {
-               return $entity === null ? '' : $entity->getDescription( 
$languageCode );
+       protected function getValue( Fingerprint $fingerprint, $languageCode ) {
+               return $fingerprint->getDescription( $languageCode )->getText();
        }
 
        /**
diff --git a/repo/includes/specials/SpecialSetLabel.php 
b/repo/includes/specials/SpecialSetLabel.php
index 68825ac..6055113 100644
--- a/repo/includes/specials/SpecialSetLabel.php
+++ b/repo/includes/specials/SpecialSetLabel.php
@@ -3,6 +3,7 @@
 namespace Wikibase\Repo\Specials;
 
 use Wikibase\DataModel\Entity\Entity;
+use Wikibase\DataModel\Term\Fingerprint;
 use Wikibase\Summary;
 
 /**
@@ -37,13 +38,13 @@
         *
         * @since 0.4
         *
-        * @param Entity $entity
+        * @param Fingerprint $fingerprint
         * @param string $languageCode
         *
         * @return string
         */
-       protected function getValue( $entity, $languageCode ) {
-               return $entity === null ? '' : $entity->getLabel( $languageCode 
);
+       protected function getValue( Fingerprint $fingerprint, $languageCode ) {
+               return $fingerprint->getLabel( $languageCode )->getText();
        }
 
        /**

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1643868bfdd157c0df62911ab8533eb086d74f07
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Jeroen De Dauw <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to