Addshore has uploaded a new change for review.
https://gerrit.wikimedia.org/r/226745
Change subject: Remove LibSerializerFactory from ResultBuilder
......................................................................
Remove LibSerializerFactory from ResultBuilder
This completes / fixes the issue
Bug: T104180
Change-Id: I1ae7badf0792a67dc87d0411142ec7882a1e03db
---
M repo/includes/LinkedData/EntityDataSerializationService.php
M repo/includes/api/ApiHelperFactory.php
M repo/includes/api/ResultBuilder.php
M repo/includes/specials/SpecialEntityData.php
M repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php
M repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
M repo/tests/phpunit/includes/api/ApiHelperFactoryTest.php
M repo/tests/phpunit/includes/api/ResultBuilderTest.php
M repo/tests/phpunit/includes/specials/SpecialEntityDataTest.php
9 files changed, 14 insertions(+), 128 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/45/226745/1
diff --git a/repo/includes/LinkedData/EntityDataSerializationService.php
b/repo/includes/LinkedData/EntityDataSerializationService.php
index b05258b..7c53d98 100644
--- a/repo/includes/LinkedData/EntityDataSerializationService.php
+++ b/repo/includes/LinkedData/EntityDataSerializationService.php
@@ -16,8 +16,6 @@
use Wikibase\DataModel\Entity\EntityId;
use Wikibase\DataModel\SerializerFactory;
use Wikibase\EntityRevision;
-use Wikibase\Lib\Serializers\SerializationOptions;
-use Wikibase\Lib\Serializers\LibSerializerFactory;
use Wikibase\Lib\Store\EntityLookup;
use Wikibase\Lib\Store\EntityRedirect;
use Wikibase\Lib\Store\EntityTitleLookup;
@@ -83,11 +81,6 @@
private $entityTitleLookup;
/**
- * @var LibSerializerFactory
- */
- private $libSerializerFactory;
-
- /**
* @var SerializerFactory
*/
private $serializerFactory;
@@ -122,7 +115,6 @@
* @param string $rdfDataURI
* @param EntityLookup $entityLookup
* @param EntityTitleLookup $entityTitleLookup
- * @param LibSerializerFactory $libSerializerFactory
* @param PropertyDataTypeLookup $propertyLookup
* @param EntityDataFormatProvider $entityDataFormatProvider
* @param SiteList $sites
@@ -136,7 +128,6 @@
$rdfDataURI,
EntityLookup $entityLookup,
EntityTitleLookup $entityTitleLookup,
- LibSerializerFactory $libSerializerFactory,
PropertyDataTypeLookup $propertyLookup,
SiteList $sites,
EntityDataFormatProvider $entityDataFormatProvider,
@@ -147,7 +138,6 @@
$this->rdfDataURI = $rdfDataURI;
$this->entityLookup = $entityLookup;
$this->entityTitleLookup = $entityTitleLookup;
- $this->libSerializerFactory = $libSerializerFactory;
$this->serializerFactory = $serializerFactory;
$this->propertyLookup = $propertyLookup;
$this->sites = $sites;
@@ -459,7 +449,6 @@
$resultBuilder = new ResultBuilder(
$res,
$this->entityTitleLookup,
- $this->libSerializerFactory,
$this->serializerFactory,
$this->siteStore,
$this->propertyLookup,
diff --git a/repo/includes/api/ApiHelperFactory.php
b/repo/includes/api/ApiHelperFactory.php
index f402b99..8eb8a01 100644
--- a/repo/includes/api/ApiHelperFactory.php
+++ b/repo/includes/api/ApiHelperFactory.php
@@ -10,8 +10,6 @@
use Wikibase\EditEntityFactory;
use Wikibase\EntityFactory;
use Wikibase\Lib\Localizer\ExceptionLocalizer;
-use Wikibase\Lib\Serializers\SerializationOptions;
-use Wikibase\Lib\Serializers\LibSerializerFactory;
use Wikibase\Lib\Store\EntityRevisionLookup;
use Wikibase\Lib\Store\EntityTitleLookup;
use Wikibase\SummaryFormatter;
@@ -91,15 +89,13 @@
* Returns a ResultBuilder wrapping the ApiResult of the given API
module.
*
* @param ApiBase $api
- * @param SerializationOptions $defaultOptions
*
* @return ResultBuilder
*/
- public function getResultBuilder( ApiBase $api, SerializationOptions
$defaultOptions = null ) {
+ public function getResultBuilder( ApiBase $api ) {
return new ResultBuilder(
$api->getResult(),
$this->titleLookup,
- $this->newLibSerializerFactory( $defaultOptions ),
$this->newSerializerFactory(),
$this->siteStore,
$this->dataTypeLookup,
@@ -119,21 +115,6 @@
$api,
$this->exceptionLocalizer,
$api->getLanguage()
- );
- }
-
- /**
- * Returns a serializer factory to be used when constructing API
results.
- *
- * @param SerializationOptions $defaultOptions
- *
- * @return LibSerializerFactory
- */
- public function newLibSerializerFactory( SerializationOptions
$defaultOptions = null ) {
- return new LibSerializerFactory(
- $defaultOptions,
- $this->dataTypeLookup,
- $this->entityFactory
);
}
diff --git a/repo/includes/api/ResultBuilder.php
b/repo/includes/api/ResultBuilder.php
index b006b00..42b0696 100644
--- a/repo/includes/api/ResultBuilder.php
+++ b/repo/includes/api/ResultBuilder.php
@@ -14,16 +14,12 @@
use Wikibase\DataModel\Reference;
use Wikibase\DataModel\SerializerFactory;
use Wikibase\DataModel\Statement\StatementList;
-use Wikibase\DataModel\Term\AliasGroup;
use Wikibase\DataModel\Term\AliasGroupList;
-use Wikibase\DataModel\Term\Term;
use Wikibase\DataModel\SiteLinkList;
use Wikibase\DataModel\Term\TermList;
use Wikibase\EntityRevision;
use Wikibase\LanguageFallbackChain;
-use Wikibase\Lib\Serializers\EntitySerializer;
use Wikibase\Lib\Serializers\SerializationOptions;
-use Wikibase\Lib\Serializers\LibSerializerFactory;
use Wikibase\Lib\Store\EntityTitleLookup;
/**
@@ -46,11 +42,6 @@
* @var int
*/
private $missingEntityCounter;
-
- /**
- * @var LibSerializerFactory
- */
- private $libSerializerFactory;
/**
* @var SerializerFactory
@@ -90,7 +81,6 @@
/**
* @param ApiResult $result
* @param EntityTitleLookup $entityTitleLookup
- * @param LibSerializerFactory $libSerializerFactory
* @param SerializerFactory $serializerFactory
* @param SiteStore $siteStore
* @param PropertyDataTypeLookup $dataTypeLookup
@@ -101,7 +91,6 @@
public function __construct(
$result,
EntityTitleLookup $entityTitleLookup,
- LibSerializerFactory $libSerializerFactory,
SerializerFactory $serializerFactory,
SiteStore $siteStore,
PropertyDataTypeLookup $dataTypeLookup,
@@ -113,29 +102,12 @@
$this->result = $result;
$this->entityTitleLookup = $entityTitleLookup;
- $this->libSerializerFactory = $libSerializerFactory;
$this->serializerFactory = $serializerFactory;
$this->missingEntityCounter = -1;
$this->isRawMode = $isRawMode;
$this->siteStore = $siteStore;
$this->dataTypeLookup = $dataTypeLookup;
$this->modifier = new SerializationModifier();
- }
-
- /**
- * Returns the serialization options used by this ResultBuilder.
- * This can be used to modify the options.
- *
- * @return SerializationOptions
- */
- public function getOptions() {
- if ( !$this->options ) {
- $this->options = new SerializationOptions();
- $this->options->setIndexTags( $this->isRawMode );
- $this->options->setOption(
EntitySerializer::OPT_SORT_ORDER, EntitySerializer::SORT_NONE );
- }
-
- return $this->options;
}
/**
diff --git a/repo/includes/specials/SpecialEntityData.php
b/repo/includes/specials/SpecialEntityData.php
index 0e2e98c..4be8383 100644
--- a/repo/includes/specials/SpecialEntityData.php
+++ b/repo/includes/specials/SpecialEntityData.php
@@ -5,8 +5,6 @@
use DataValues\Serializers\DataValueSerializer;
use HttpError;
use Wikibase\DataModel\SerializerFactory;
-use Wikibase\Lib\Serializers\SerializationOptions;
-use Wikibase\Lib\Serializers\LibSerializerFactory;
use Wikibase\Repo\LinkedData\EntityDataFormatProvider;
use Wikibase\Repo\LinkedData\EntityDataRequestHandler;
use Wikibase\Repo\LinkedData\EntityDataSerializationService;
@@ -82,13 +80,6 @@
$titleLookup = $wikibaseRepo->getEntityTitleLookup();
$entityIdParser = $wikibaseRepo->getEntityIdParser();
- $serializationOptions = new SerializationOptions();
- $libSerializerFactory = new LibSerializerFactory(
- $serializationOptions,
- $wikibaseRepo->getPropertyDataTypeLookup(),
- $wikibaseRepo->getEntityFactory()
- );
-
$entityDataFormatProvider = new EntityDataFormatProvider();
$serializerFactory = new SerializerFactory(
new DataValueSerializer(),
@@ -101,7 +92,6 @@
$this->getPageTitle()->getCanonicalURL() . '/',
$wikibaseRepo->getStore()->getEntityLookup(),
$titleLookup,
- $libSerializerFactory,
$wikibaseRepo->getPropertyDataTypeLookup(),
$wikibaseRepo->getSiteStore()->getSites(),
$entityDataFormatProvider,
diff --git
a/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php
b/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php
index b49c428..2cad7b2 100644
--- a/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php
+++ b/repo/tests/phpunit/includes/LinkedData/EntityDataRequestHandlerTest.php
@@ -14,8 +14,6 @@
use Wikibase\DataModel\Entity\BasicEntityIdParser;
use Wikibase\DataModel\Entity\EntityId;
use Wikibase\DataModel\SerializerFactory;
-use Wikibase\Lib\Serializers\SerializationOptions;
-use Wikibase\Lib\Serializers\LibSerializerFactory;
use Wikibase\Repo\LinkedData\EntityDataFormatProvider;
use Wikibase\Repo\LinkedData\EntityDataRequestHandler;
use Wikibase\Repo\LinkedData\EntityDataSerializationService;
@@ -88,8 +86,6 @@
$propertyLookup = $this->getMock(
'Wikibase\DataModel\Entity\PropertyDataTypeLookup' );
- $serializerOptions = new SerializationOptions();
- $libSerializerFactory = new LibSerializerFactory(
$serializerOptions, $dataTypeLookup );
$entityDataFormatProvider = new EntityDataFormatProvider();
$serializerFactory = new SerializerFactory(
new DataValueSerializer(),
@@ -102,7 +98,6 @@
EntityDataSerializationServiceTest::URI_DATA,
$mockRepository,
$titleLookup,
- $libSerializerFactory,
$propertyLookup,
new SiteList(),
$entityDataFormatProvider,
diff --git
a/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
b/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
index 8ed02b9..2a11fca 100644
---
a/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
+++
b/repo/tests/phpunit/includes/LinkedData/EntityDataSerializationServiceTest.php
@@ -14,8 +14,6 @@
use Wikibase\DataModel\SerializerFactory;
use Wikibase\DataModel\Snak\PropertyValueSnak;
use Wikibase\EntityRevision;
-use Wikibase\Lib\Serializers\SerializationOptions;
-use Wikibase\Lib\Serializers\LibSerializerFactory;
use Wikibase\Lib\Store\EntityLookup;
use Wikibase\Lib\Store\EntityRedirect;
use Wikibase\RedirectRevision;
@@ -98,8 +96,6 @@
->method( 'getDataTypeIdForProperty' )
->will( $this->returnValue( 'string' ) );
- $serializerOptions = new SerializationOptions();
- $libSerializerFactory = new LibSerializerFactory(
$serializerOptions, $dataTypeLookup );
$serializerFactory = new SerializerFactory(
new DataValueSerializer(),
SerializerFactory::OPTION_SERIALIZE_MAIN_SNAKS_WITHOUT_HASH +
@@ -111,7 +107,6 @@
self::URI_DATA,
$entityLookup,
$titleLookup,
- $libSerializerFactory,
$dataTypeLookup,
new SiteList(),
new EntityDataFormatProvider(),
diff --git a/repo/tests/phpunit/includes/api/ApiHelperFactoryTest.php
b/repo/tests/phpunit/includes/api/ApiHelperFactoryTest.php
index c54886a..d39d7cb 100644
--- a/repo/tests/phpunit/includes/api/ApiHelperFactoryTest.php
+++ b/repo/tests/phpunit/includes/api/ApiHelperFactoryTest.php
@@ -84,13 +84,6 @@
$this->assertInstanceOf( 'Wikibase\Repo\Api\ApiErrorReporter',
$errorReporter );
}
- public function testNewSerializerFactory() {
- $factory = $this->newApiHelperFactory();
-
- $serializerFactory = $factory->newLibSerializerFactory();
- $this->assertInstanceOf(
'Wikibase\Lib\Serializers\LibSerializerFactory', $serializerFactory );
- }
-
public function testGetEntitySavingHelper() {
$factory = $this->newApiHelperFactory();
diff --git a/repo/tests/phpunit/includes/api/ResultBuilderTest.php
b/repo/tests/phpunit/includes/api/ResultBuilderTest.php
index f4b415d..b0df065 100644
--- a/repo/tests/phpunit/includes/api/ResultBuilderTest.php
+++ b/repo/tests/phpunit/includes/api/ResultBuilderTest.php
@@ -6,7 +6,6 @@
use DataValues\Serializers\DataValueSerializer;
use DataValues\StringValue;
use Wikibase\LanguageFallbackChainFactory;
-use Wikibase\Lib\Serializers\EntitySerializer;
use Wikibase\Repo\Api\ResultBuilder;
use Wikibase\DataModel\Entity\Item;
use Wikibase\DataModel\Entity\ItemId;
@@ -25,8 +24,6 @@
use Wikibase\DataModel\Term\Term;
use Wikibase\DataModel\Term\TermList;
use Wikibase\EntityRevision;
-use Wikibase\Lib\Serializers\SerializationOptions;
-use Wikibase\Lib\Serializers\LibSerializerFactory;
use Wikibase\Test\MockSiteStore;
/**
@@ -47,7 +44,7 @@
return new ApiResult( false );
}
- protected function getResultBuilder( $result, $options = null,
$isRawMode = false ) {
+ protected function getResultBuilder( $result, $isRawMode = false ) {
$mockTitle = $this->getMockBuilder( '\Title' )
->disableOriginalConstructor()
->getMock();
@@ -73,11 +70,6 @@
return 'DtIdFor_' .
$propertyId->getSerialization();
} ) );
- // @todo inject EntityFactory and SiteStore
- $libSerializerFactory = new LibSerializerFactory(
- null, //no serialization options
- $mockPropertyDataTypeLookup
- );
$serializerFactory = new SerializerFactory(
new DataValueSerializer(),
SerializerFactory::OPTION_SERIALIZE_MAIN_SNAKS_WITHOUT_HASH +
@@ -87,18 +79,11 @@
$builder = new ResultBuilder(
$result,
$mockEntityTitleLookup,
- $libSerializerFactory,
$serializerFactory,
new MockSiteStore(),
$mockPropertyDataTypeLookup,
$isRawMode
);
-
- if ( is_array( $options ) ) {
- $builder->getOptions()->setOptions( $options );
- } elseif ( $options instanceof SerializationOptions ) {
- $builder->getOptions()->merge( $options );
- }
return $builder;
}
@@ -471,10 +456,7 @@
$entityRevision = new EntityRevision( $item, 33,
'20131126202923' );
- $serializationOptions = new SerializationOptions();
- $serializationOptions->setIndexTags( $isRawMode );
-
- $resultBuilder = $this->getResultBuilder( $result, null,
$isRawMode );
+ $resultBuilder = $this->getResultBuilder( $result, $isRawMode );
$resultBuilder->addEntityRevision( 'Q1230000', $entityRevision
);
$data = $result->getResultData();
@@ -632,7 +614,7 @@
$filterLangCodes = array_keys( $fallbackChains );
$result = $this->getDefaultResult();
- $resultBuilder = $this->getResultBuilder( $result, null,
$indexedMode );
+ $resultBuilder = $this->getResultBuilder( $result, $indexedMode
);
$resultBuilder->addEntityRevision(
null,
$entityRevision,
@@ -747,7 +729,7 @@
$siteIds = array( 'enwiki' );
$result = $this->getDefaultResult();
- $resultBuilder = $this->getResultBuilder( $result, null, true );
+ $resultBuilder = $this->getResultBuilder( $result, true );
$resultBuilder->addEntityRevision( null, $entityRevision,
$props, $siteIds );
$expected = array( 'entities' => array(
@@ -978,7 +960,7 @@
);
$path = array( 'entities', 'Q1' );
- $resultBuilder = $this->getResultBuilder( $result, null,
$rawMode );
+ $resultBuilder = $this->getResultBuilder( $result, $rawMode );
$resultBuilder->addAliasGroupList( $aliasGroupList, $path );
$data = $result->getResultData();
@@ -1047,7 +1029,7 @@
);
$path = array( 'entities', 'Q1' );
- $resultBuilder = $this->getResultBuilder( $result, null,
$isRawMode );
+ $resultBuilder = $this->getResultBuilder( $result, $isRawMode );
$resultBuilder->addSiteLinkList( $siteLinkList, $path );
$data = $result->getResultData();
@@ -1183,7 +1165,7 @@
);
}
- $resultBuilder = $this->getResultBuilder( $result, null,
$isRawMode );
+ $resultBuilder = $this->getResultBuilder( $result, $isRawMode );
$resultBuilder->addClaims( array( $statement ), $path );
$data = $result->getResultData();
@@ -1198,7 +1180,7 @@
$result = $this->getDefaultResult();
$expected = array( 'claim' => $statementSerialization );
- $resultBuilder = $this->getResultBuilder( $result, null,
$isRawMode );
+ $resultBuilder = $this->getResultBuilder( $result, $isRawMode );
$resultBuilder->addClaim( $statement );
$data = $result->getResultData();
@@ -1403,7 +1385,7 @@
) )
);
- $resultBuilder = $this->getResultBuilder( $result, null,
$isRawMode );
+ $resultBuilder = $this->getResultBuilder( $result, $isRawMode );
$resultBuilder->addReference( $reference );
$data = $result->getResultData();
@@ -1587,7 +1569,7 @@
*/
public function testSetList( $path, $name, array $values, $tag,
$indexed, $expected ) {
$result = $this->getDefaultResult();
- $builder = $this->getResultBuilder( $result, null, $indexed );
+ $builder = $this->getResultBuilder( $result, $indexed );
$builder->setList( $path, $name, $values, $tag );
$data = $result->getResultData();
@@ -1651,7 +1633,7 @@
*/
public function testSetValue( $path, $name, $value, $indexed, $expected
) {
$result = $this->getDefaultResult();
- $builder = $this->getResultBuilder( $result, null, $indexed );
+ $builder = $this->getResultBuilder( $result, $indexed );
$builder->setValue( $path, $name, $value );
$data = $result->getResultData();
@@ -1734,7 +1716,7 @@
*/
public function testAppendValue( $path, $key, $value, $tag, $indexed,
$expected ) {
$result = $this->getDefaultResult();
- $builder = $this->getResultBuilder( $result, null, $indexed );
+ $builder = $this->getResultBuilder( $result, $indexed );
$builder->appendValue( $path, $key, $value, $tag );
$data = $result->getResultData();
diff --git a/repo/tests/phpunit/includes/specials/SpecialEntityDataTest.php
b/repo/tests/phpunit/includes/specials/SpecialEntityDataTest.php
index 9bc408c..31fa259 100644
--- a/repo/tests/phpunit/includes/specials/SpecialEntityDataTest.php
+++ b/repo/tests/phpunit/includes/specials/SpecialEntityDataTest.php
@@ -4,6 +4,7 @@
use DataValues\Serializers\DataValueSerializer;
use FauxRequest;
+use FauxResponse;
use HttpError;
use OutputPage;
use SiteList;
@@ -12,14 +13,11 @@
use Wikibase\DataModel\Entity\BasicEntityIdParser;
use Wikibase\DataModel\Entity\EntityId;
use Wikibase\DataModel\SerializerFactory;
-use Wikibase\Lib\Serializers\SerializationOptions;
-use Wikibase\Lib\Serializers\LibSerializerFactory;
use Wikibase\Repo\LinkedData\EntityDataFormatProvider;
use Wikibase\Repo\LinkedData\EntityDataRequestHandler;
use Wikibase\Repo\LinkedData\EntityDataSerializationService;
use Wikibase\Repo\LinkedData\EntityDataUriManager;
use Wikibase\Repo\Specials\SpecialEntityData;
-use Wikibase\Repo\WikibaseRepo;
/**
* @covers Wikibase\Repo\Specials\SpecialEntityData
@@ -66,14 +64,6 @@
->method( 'getDataTypeIdForProperty' )
->will( $this->returnValue( 'string' ) );
- $entityFactory =
WikibaseRepo::getDefaultInstance()->getEntityFactory();
-
- $libSerializerFactory = new LibSerializerFactory(
- new SerializationOptions(),
- $dataTypeLookup,
- $entityFactory
- );
-
$entityDataFormatProvider = new EntityDataFormatProvider();
$serializerFactory = new SerializerFactory(
new DataValueSerializer(),
@@ -86,7 +76,6 @@
self::URI_DATA,
$mockRepository,
$titleLookup,
- $libSerializerFactory,
$dataTypeLookup,
new SiteList(),
$entityDataFormatProvider,
--
To view, visit https://gerrit.wikimedia.org/r/226745
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I1ae7badf0792a67dc87d0411142ec7882a1e03db
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits