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

Reply via email to