[MediaWiki-commits] [Gerrit] Major refactoring of ClaimDifferenceVisualizer - change (mediawiki...Wikibase)

2015-04-07 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Major refactoring of ClaimDifferenceVisualizer
..


Major refactoring of ClaimDifferenceVisualizer

PS1 was a major refactoring but is now obsolete because of Adrian's
refactoring. I redid my refactoring. Now it's a minor one.

* Simpler variable names.
* Refactoring to avoid some warnings in PHPStorm.
* Drop non-informative doc lines.

Change-Id: Ia49bdcce115a34f9f9416a2ad0bd67008d475b02
---
M repo/includes/Diff/ClaimDifferenceVisualizer.php
M repo/includes/Diff/DiffOpValueFormatter.php
M repo/includes/Diff/DifferencesSnakVisualizer.php
3 files changed, 75 insertions(+), 85 deletions(-)

Approvals:
  Hoo man: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/repo/includes/Diff/ClaimDifferenceVisualizer.php 
b/repo/includes/Diff/ClaimDifferenceVisualizer.php
index d261357..4edf0ec 100644
--- a/repo/includes/Diff/ClaimDifferenceVisualizer.php
+++ b/repo/includes/Diff/ClaimDifferenceVisualizer.php
@@ -7,12 +7,9 @@
 use Diff\DiffOp\DiffOpAdd;
 use Diff\DiffOp\DiffOpChange;
 use Diff\DiffOp\DiffOpRemove;
-use Message;
-use RuntimeException;
 use Wikibase\DataModel\Claim\Claim;
 use Wikibase\DataModel\Snak\Snak;
-use Wikibase\DataModel\Snak\SnakList;
-use Wikibase\Lib\EntityIdFormatter;
+use Wikibase\DataModel\Snak\Snaks;
 use Wikibase\Lib\Serializers\ClaimSerializer;
 
 /**
@@ -26,6 +23,7 @@
  * @author Adam Shorland
  * @author Daniel Kinzler
  * @author Adrian Heine  adrian.he...@wikimedia.de 
+ * @author Thiemo Mättig
  */
 class ClaimDifferenceVisualizer {
 
@@ -55,12 +53,13 @@
 
/**
 * Generates HTML of a claim change.
+*
 * @since 0.4
 *
 * @param ClaimDifference $claimDifference
 * @param Claim $baseClaim The new claim, if it exists; otherwise, the 
old claim
 *
-* @return string
+* @return string HTML
 */
public function visualizeClaimChange( ClaimDifference $claimDifference, 
Claim $baseClaim ) {
$newestMainSnak = $baseClaim-getMainSnak();
@@ -93,7 +92,7 @@
 
$referenceChanges = $claimDifference-getReferenceChanges();
if ( $referenceChanges !== null ) {
-   $html .= $this-visualizeSnakListChanges(
+   $html .= $this-visualizeReferenceChanges(
$referenceChanges,
$oldestMainSnak,
$newestMainSnak
@@ -110,7 +109,7 @@
 *
 * @param Claim $claim
 *
-* @return string
+* @return string HTML
 */
public function visualizeNewClaim( Claim $claim ) {
$claimDiffer = new ClaimDiffer( new ListDiffer() );
@@ -125,7 +124,7 @@
 *
 * @param Claim $claim
 *
-* @return string
+* @return string HTML
 */
public function visualizeRemovedClaim( Claim $claim ) {
$claimDiffer = new ClaimDiffer( new ListDiffer() );
@@ -134,15 +133,11 @@
}
 
/**
-* Get Html for a main snak change
-*
-* @since 0.4
-*
 * @param DiffOpChange $mainSnakChange
 * @param Snak $oldestMainSnak The old main snak, if present; 
otherwise, the new main snak
 * @param Snak $newestMainSnak The new main snak, if present; 
otherwise, the old main snak
 *
-* @return string
+* @return string HTML
 */
private function visualizeMainSnakChange(
DiffOpChange $mainSnakChange,
@@ -161,21 +156,13 @@
}
 
/**
-* Get Html for rank change
-*
-* @since 0.4
-*
 * @param DiffOpChange $rankChange
 * @param Snak $oldestMainSnak The old main snak, if present; 
otherwise, the new main snak
 * @param Snak $newestMainSnak The new main snak, if present; 
otherwise, the old main snak
 *
-* @return string
+* @return string HTML
 */
-   private function visualizeRankChange(
-   DiffOpChange $rankChange,
-   Snak $oldestMainSnak,
-   Snak $newestMainSnak
-   ) {
+   private function visualizeRankChange( DiffOpChange $rankChange, Snak 
$oldestMainSnak, Snak $newestMainSnak ) {
$msg = wfMessage( 'wikibase-diffview-rank' )-inLanguage( 
$this-languageCode );
$header = $msg-parse();
 
@@ -212,23 +199,13 @@
}
 
/**
-* Get Html for snaklist changes
-*
-* @since 0.4
-*
 * @param Diff $changes
-* @param Message $breadCrumb
 * @param Snak $oldestMainSnak The old main snak, if present; 
otherwise, the new main snak
 * @param Snak $newestMainSnak The new main snak, if present; 
otherwise, the old main snak
 *
-* @return string
-   

[MediaWiki-commits] [Gerrit] Major refactoring of ClaimDifferenceVisualizer - change (mediawiki...Wikibase)

2015-01-29 Thread WMDE
Thiemo Mättig (WMDE) has uploaded a new change for review.

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

Change subject: Major refactoring of ClaimDifferenceVisualizer
..

Major refactoring of ClaimDifferenceVisualizer

Major changes:
* Added crucial null check to getSnakValueHeader.
* Drop dead code from visualizeRankChange. Note that the object can't
  be of an other type but DiffOpChange.
* Introduced formatSnak and formatReference. Both add strong type
  checks that did not happened before (the old code just called
  getSnaks and getPropertyId on something that was known to be
  mixed).
* Replaced getSnakListValues with formatReference. Main reason for
  this refactoring is to avoid duplicate code.

Other changes:
* protected by default.
* Drop @since tags from private stuff.
* Simplify code, e.g. by using the short ?: operator.
* Split long lines.

Change-Id: Ia49bdcce115a34f9f9416a2ad0bd67008d475b02
---
M repo/includes/Diff/ClaimDifferenceVisualizer.php
1 file changed, 124 insertions(+), 139 deletions(-)


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

diff --git a/repo/includes/Diff/ClaimDifferenceVisualizer.php 
b/repo/includes/Diff/ClaimDifferenceVisualizer.php
index f77ee4a..253a6a1 100644
--- a/repo/includes/Diff/ClaimDifferenceVisualizer.php
+++ b/repo/includes/Diff/ClaimDifferenceVisualizer.php
@@ -15,8 +15,8 @@
 use ValueFormatters\ValueFormatter;
 use Wikibase\DataModel\Claim\Claim;
 use Wikibase\DataModel\Entity\EntityId;
+use Wikibase\DataModel\Reference;
 use Wikibase\DataModel\Snak\Snak;
-use Wikibase\DataModel\Snak\SnakList;
 use Wikibase\Lib\Serializers\ClaimSerializer;
 use Wikibase\Lib\SnakFormatter;
 
@@ -30,6 +30,7 @@
  * @author Katie Filbert  aude.w...@gmail.com 
  * @author Adam Shorland
  * @author Daniel Kinzler
+ * @author Thiemo Mättig
  */
 class ClaimDifferenceVisualizer {
 
@@ -54,8 +55,6 @@
private $languageCode;
 
/**
-* Constructor.
-*
 * @since 0.4
 *
 * @param ValueFormatter $propertyIdFormatter Formatter for IDs, must 
generate HTML.
@@ -103,35 +102,37 @@
 * @return string
 */
public function visualizeClaimChange( ClaimDifference $claimDifference, 
Claim $baseClaim ) {
+   $oldSnak = null;
$html = '';
 
if ( $claimDifference-getMainSnakChange() !== null ) {
+   $oldSnak = 
$claimDifference-getMainSnakChange()-getOldValue();
$html .= $this-visualizeMainSnakChange( 
$claimDifference-getMainSnakChange() );
-   $oldMainSnak = 
$claimDifference-getMainSnakChange()-getOldValue();
-   } else {
-   $oldMainSnak = null;
}
 
-   if ( $claimDifference-getRankChange() !== null ) {
+   $rankChange = $claimDifference-getRankChange();
+   if ( $rankChange !== null ) {
$html .= $this-visualizeRankChange(
-   $claimDifference-getRankChange(),
-   $oldMainSnak,
+   $rankChange,
+   $oldSnak,
$baseClaim-getMainSnak()
);
}
 
-   if ( $claimDifference-getQualifierChanges() !== null ) {
+   $qualifierChanges = $claimDifference-getQualifierChanges();
+   if ( $qualifierChanges !== null ) {
$html .= $this-visualizeQualifierChanges(
-   $claimDifference-getQualifierChanges(),
-   $oldMainSnak,
+   $qualifierChanges,
+   $oldSnak,
$baseClaim-getMainSnak()
);
}
 
-   if ( $claimDifference-getReferenceChanges() !== null ) {
-   $html .= $this-visualizeSnakListChanges(
-   $claimDifference-getReferenceChanges(),
-   $oldMainSnak,
+   $referenceChanges = $claimDifference-getReferenceChanges();
+   if ( $referenceChanges !== null ) {
+   $html .= $this-visualizeReferenceChanges(
+   $referenceChanges,
+   $oldSnak,
$baseClaim-getMainSnak(),
wfMessage( 'wikibase-diffview-reference' 
)-inLanguage( $this-languageCode )
);
@@ -173,24 +174,18 @@
/**
 * Get Html for a main snak change
 *
-* @since 0.4
-*
 * @param DiffOpChange $mainSnakChange
 *
 * @return string
 */
-   protected function visualizeMainSnakChange( DiffOpChange