Skip to content

Commit 70f2065

Browse files
committed
Make differs/patchers required by MediaInfo public
1 parent 7247aa0 commit 70f2065

10 files changed

+25
-57
lines changed

src/Diff/Internal/FingerprintPatcher.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77
use Wikibase\DataModel\Term\Fingerprint;
88

99
/**
10-
* TODO: Class should be public.
11-
* TODO: Should this support actual edit conflict detection?
12-
*
1310
* Package private.
1411
*
1512
* @since 1.0

src/Diff/Internal/SiteLinkListPatcher.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@
1010
use Wikibase\DataModel\SiteLinkList;
1111

1212
/**
13-
* TODO: Class should be public.
14-
* TODO: Should this support actual edit conflict detection?
15-
*
1613
* Package private.
1714
*
1815
* @license GPL-2.0+

src/Diff/ItemPatcher.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
use Wikibase\DataModel\Entity\Item;
88
use Wikibase\DataModel\Services\Diff\Internal\FingerprintPatcher;
99
use Wikibase\DataModel\Services\Diff\Internal\SiteLinkListPatcher;
10-
use Wikibase\DataModel\Services\Diff\Internal\StatementListPatcher;
1110

1211
/**
1312
* @since 1.0
@@ -76,10 +75,10 @@ private function patchItem( Item $item, EntityDiff $patch ) {
7675
) );
7776
}
7877

79-
$item->setStatements( $this->statementListPatcher->getPatchedStatementList(
78+
$this->statementListPatcher->patchStatementList(
8079
$item->getStatements(),
8180
$patch->getClaimsDiff()
82-
) );
81+
);
8382
}
8483

8584
}

src/Diff/PropertyPatcher.php

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,6 @@
66
use Wikibase\DataModel\Entity\EntityDocument;
77
use Wikibase\DataModel\Entity\Property;
88
use Wikibase\DataModel\Services\Diff\Internal\FingerprintPatcher;
9-
use Wikibase\DataModel\Services\Diff\Internal\StatementListPatcher;
109

1110
/**
1211
* @since 1.0
@@ -62,10 +61,10 @@ private function assertIsProperty( EntityDocument $property ) {
6261
private function patchProperty( Property $property, EntityDiff $patch ) {
6362
$this->fingerprintPatcher->patchFingerprint( $property->getFingerprint(), $patch );
6463

65-
$property->setStatements( $this->statementListPatcher->getPatchedStatementList(
64+
$this->statementListPatcher->patchStatementList(
6665
$property->getStatements(),
6766
$patch->getClaimsDiff()
68-
) );
67+
);
6968
}
7069

7170
}
Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace Wikibase\DataModel\Services\Diff\Internal;
3+
namespace Wikibase\DataModel\Services\Diff;
44

55
use Diff\Differ\MapDiffer;
66
use Diff\DiffOp\Diff\Diff;
@@ -9,11 +9,7 @@
99
use Wikibase\DataModel\Statement\StatementList;
1010

1111
/**
12-
* TODO: Class must be public.
13-
*
14-
* Package private.
15-
*
16-
* @since 1.0
12+
* @since 3.6
1713
*
1814
* @license GPL-2.0+
1915
* @author Jeroen De Dauw < jeroendedauw@gmail.com >

src/Diff/Internal/StatementListPatcher.php renamed to src/Diff/StatementListPatcher.php

Lines changed: 2 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,18 @@
11
<?php
22

3-
namespace Wikibase\DataModel\Services\Diff\Internal;
3+
namespace Wikibase\DataModel\Services\Diff;
44

55
use Diff\DiffOp\Diff\Diff;
66
use Diff\DiffOp\DiffOp;
77
use Diff\DiffOp\DiffOpAdd;
88
use Diff\DiffOp\DiffOpChange;
99
use Diff\DiffOp\DiffOpRemove;
1010
use Diff\Patcher\PatcherException;
11-
use InvalidArgumentException;
1211
use Wikibase\DataModel\Statement\Statement;
1312
use Wikibase\DataModel\Statement\StatementList;
1413

1514
/**
16-
* TODO: Class must be public.
17-
* TODO: Should this support actual edit conflict detection?
18-
*
19-
* Package private.
20-
*
21-
* @since 1.0
15+
* @since 3.6
2216
*
2317
* @license GPL-2.0+
2418
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
@@ -64,19 +58,4 @@ public function patchStatementList( StatementList $statements, Diff $patch ) {
6458
}
6559
}
6660

67-
/**
68-
* @deprecated since 3.6, use patchStatementList instead
69-
*
70-
* @param StatementList $statements
71-
* @param Diff $patch
72-
*
73-
* @throws InvalidArgumentException
74-
* @return StatementList
75-
*/
76-
public function getPatchedStatementList( StatementList $statements, Diff $patch ) {
77-
$patched = clone $statements;
78-
$this->patchStatementList( $patched, $patch );
79-
return $patched;
80-
}
81-
8261
}
Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<?php
22

3-
namespace Wikibase\DataModel\Services\Diff\Internal;
3+
namespace Wikibase\DataModel\Services\Diff;
44

55
use Diff\DiffOp\AtomicDiffOp;
66
use Diff\DiffOp\Diff\Diff;
@@ -11,8 +11,6 @@
1111
use Wikibase\DataModel\Term\TermList;
1212

1313
/**
14-
* Package private.
15-
*
1614
* @since 3.6
1715
*
1816
* @license GPL-2.0+

tests/unit/Diff/Internal/StatementListDifferTest.php renamed to tests/unit/Diff/StatementListDifferTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
<?php
22

3-
namespace Wikibase\DataModel\Services\Tests\Diff\Internal;
3+
namespace Wikibase\DataModel\Services\Tests\Diff;
44

55
use DataValues\StringValue;
66
use Diff\DiffOp\Diff\Diff;
77
use Diff\DiffOp\DiffOpAdd;
88
use Diff\DiffOp\DiffOpChange;
99
use Diff\DiffOp\DiffOpRemove;
10-
use Wikibase\DataModel\Services\Diff\Internal\StatementListDiffer;
10+
use Wikibase\DataModel\Services\Diff\StatementListDiffer;
1111
use Wikibase\DataModel\Snak\PropertyValueSnak;
1212
use Wikibase\DataModel\Statement\Statement;
1313
use Wikibase\DataModel\Statement\StatementList;
1414

1515
/**
16-
* @covers Wikibase\DataModel\Services\Diff\Internal\StatementListDiffer
16+
* @covers Wikibase\DataModel\Services\Diff\StatementListDiffer
1717
*
1818
* @license GPL-2.0+
1919
* @author Jeroen De Dauw < jeroendedauw@gmail.com >

tests/unit/Diff/Internal/StatementListPatcherTest.php renamed to tests/unit/Diff/StatementListPatcherTest.php

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
<?php
22

3-
namespace Wikibase\DataModel\Services\Tests\Diff\Internal;
3+
namespace Wikibase\DataModel\Services\Tests\Diff;
44

55
use DataValues\StringValue;
66
use Diff\DiffOp\Diff\Diff;
77
use Diff\DiffOp\DiffOpAdd;
88
use Diff\DiffOp\DiffOpChange;
99
use Diff\DiffOp\DiffOpRemove;
10-
use Wikibase\DataModel\Services\Diff\Internal\StatementListPatcher;
10+
use Wikibase\DataModel\Services\Diff\StatementListPatcher;
1111
use Wikibase\DataModel\Snak\PropertyNoValueSnak;
1212
use Wikibase\DataModel\Snak\PropertySomeValueSnak;
1313
use Wikibase\DataModel\Snak\PropertyValueSnak;
1414
use Wikibase\DataModel\Statement\Statement;
1515
use Wikibase\DataModel\Statement\StatementList;
1616

1717
/**
18-
* @covers Wikibase\DataModel\Services\Diff\Internal\StatementListPatcher
18+
* @covers Wikibase\DataModel\Services\Diff\StatementListPatcher
1919
*
2020
* @license GPL-2.0+
2121
* @author Jeroen De Dauw < jeroendedauw@gmail.com >
@@ -112,11 +112,14 @@ public function testGivenEmptyDiff_listIsReturnedAsIs() {
112112
$this->assertListResultsFromPatch( $statements, $statements, new Diff() );
113113
}
114114

115-
private function assertListResultsFromPatch( StatementList $expected, StatementList $original, Diff $patch ) {
115+
private function assertListResultsFromPatch(
116+
StatementList $expected,
117+
StatementList $statements,
118+
Diff $patch
119+
) {
116120
$patcher = new StatementListPatcher();
117-
$clone = clone $original;
118-
$this->assertEquals( $expected, $patcher->getPatchedStatementList( $original, $patch ) );
119-
$this->assertEquals( $clone, $original, 'original must not change' );
121+
$patcher->patchStatementList( $statements, $patch );
122+
$this->assertEquals( $expected, $statements );
120123
}
121124

122125
public function testFoo() {

tests/unit/Diff/Internal/TermListPatcherTest.php renamed to tests/unit/Diff/TermListPatcherTest.php

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
<?php
22

3-
namespace Wikibase\DataModel\Services\Tests\Diff\Internal;
3+
namespace Wikibase\DataModel\Services\Tests\Diff;
44

55
use Diff\DiffOp\Diff\Diff;
66
use Diff\DiffOp\DiffOpAdd;
77
use Diff\DiffOp\DiffOpChange;
88
use Diff\DiffOp\DiffOpRemove;
99
use PHPUnit_Framework_TestCase;
10-
use Wikibase\DataModel\Services\Diff\Internal\TermListPatcher;
10+
use Wikibase\DataModel\Services\Diff\TermListPatcher;
1111
use Wikibase\DataModel\Term\Term;
1212
use Wikibase\DataModel\Term\TermList;
1313

1414
/**
15-
* @covers Wikibase\DataModel\Services\Diff\Internal\TermListPatcher
15+
* @covers Wikibase\DataModel\Services\Diff\TermListPatcher
1616
*
1717
* @license GPL-2.0+
1818
* @author Bene* < benestar.wikimedia@gmail.com >

0 commit comments

Comments
 (0)