Addshore has uploaded a new change for review.

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

Change subject: Remove LibSerializers in EntityParserOutputGeneFactory
......................................................................

Remove LibSerializers in EntityParserOutputGeneFactory

Change-Id: I632833a6091ce0608cdb1240831756656400da03
---
M repo/includes/EntityParserOutputGeneratorFactory.php
M repo/includes/ParserOutputJsConfigBuilder.php
M repo/tests/phpunit/includes/ParserOutputJsConfigBuilderTest.php
3 files changed, 12 insertions(+), 55 deletions(-)


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

diff --git a/repo/includes/EntityParserOutputGeneratorFactory.php 
b/repo/includes/EntityParserOutputGeneratorFactory.php
index ce28add..79c13df 100644
--- a/repo/includes/EntityParserOutputGeneratorFactory.php
+++ b/repo/includes/EntityParserOutputGeneratorFactory.php
@@ -106,7 +106,7 @@
         * @return ParserOutputJsConfigBuilder
         */
        private function newParserOutputJsConfigBuilder() {
-               return new ParserOutputJsConfigBuilder( new 
SerializationOptions() );
+               return new ParserOutputJsConfigBuilder();
        }
 
        /**
diff --git a/repo/includes/ParserOutputJsConfigBuilder.php 
b/repo/includes/ParserOutputJsConfigBuilder.php
index 3a161b6..92beb9e 100644
--- a/repo/includes/ParserOutputJsConfigBuilder.php
+++ b/repo/includes/ParserOutputJsConfigBuilder.php
@@ -2,10 +2,10 @@
 
 namespace Wikibase;
 
+use DataValues\Serializers\DataValueSerializer;
 use FormatJson;
 use Wikibase\DataModel\Entity\Entity;
-use Wikibase\Lib\Serializers\SerializationOptions;
-use Wikibase\Lib\Serializers\LibSerializerFactory;
+use Wikibase\DataModel\SerializerFactory;
 
 /**
  * @since 0.5
@@ -16,27 +16,17 @@
  * @author Daniel Werner
  * @author Daniel Kinzler
  * @author Katie Filbert < [email protected] >
+ * @author Adam Shorland
  */
 class ParserOutputJsConfigBuilder {
 
        /**
-        * @var SerializationOptions
-        */
-       private $serializationOptions;
-
-       /**
-        * @var LibSerializerFactory
+        * @var SerializerFactory
         */
        private $serializerFactory;
 
-       /**
-        * @param SerializationOptions $serializationOptions
-        */
-       public function __construct(
-               SerializationOptions $serializationOptions
-       ) {
-               $this->serializationOptions = $serializationOptions;
-               $this->serializerFactory = new LibSerializerFactory();
+       public function __construct() {
+               $this->serializerFactory = new SerializerFactory( new 
DataValueSerializer() );
        }
 
        /**
@@ -67,12 +57,9 @@
         * @return string
         */
        private function getSerializedEntity( Entity $entity ) {
-               $serializer = $this->serializerFactory->newSerializerForEntity(
-                       $entity->getType(),
-                       $this->serializationOptions
-               );
+               $serializer = $this->serializerFactory->newEntitySerializer();
 
-               return $serializer->getSerialized( $entity );
+               return $serializer->serialize( $entity );
        }
 
 }
diff --git a/repo/tests/phpunit/includes/ParserOutputJsConfigBuilderTest.php 
b/repo/tests/phpunit/includes/ParserOutputJsConfigBuilderTest.php
index 7808f3e..5cb79f2 100644
--- a/repo/tests/phpunit/includes/ParserOutputJsConfigBuilderTest.php
+++ b/repo/tests/phpunit/includes/ParserOutputJsConfigBuilderTest.php
@@ -2,7 +2,6 @@
 
 namespace Wikibase\Test;
 
-use Language;
 use MediaWikiTestCase;
 use Wikibase\DataModel\Entity\Entity;
 use Wikibase\DataModel\Entity\EntityIdValue;
@@ -10,8 +9,6 @@
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\DataModel\Entity\PropertyId;
 use Wikibase\DataModel\Snak\PropertyValueSnak;
-use Wikibase\LanguageFallbackChain;
-use Wikibase\LanguageFallbackChainFactory;
 use Wikibase\Lib\Serializers\SerializationOptions;
 use Wikibase\Lib\Serializers\LibSerializerFactory;
 use Wikibase\ParserOutputJsConfigBuilder;
@@ -33,7 +30,7 @@
         * @dataProvider buildProvider
         */
        public function testBuild( Entity $entity ) {
-               $configBuilder = $this->getConfigBuilder( 'en', array( 'de', 
'en', 'es', 'fr' ) );
+               $configBuilder = $this->getConfigBuilder();
                $configVars = $configBuilder->build( $entity );
 
                $this->assertInternalType( 'array', $configVars );
@@ -62,37 +59,10 @@
                );
        }
 
-       private function getConfigBuilder( $languageCode, array $languageCodes 
) {
-               $configBuilder = new ParserOutputJsConfigBuilder(
-                       $this->getSerializationOptions( $languageCode, 
$languageCodes )
-               );
+       private function getConfigBuilder() {
+               $configBuilder = new ParserOutputJsConfigBuilder();
 
                return $configBuilder;
-       }
-
-       /**
-        * @param string $langCode
-        *
-        * @return LanguageFallbackChain
-        */
-       private function getLanguageFallbackChain( $langCode ) {
-               $languageFallbackChainFactory = new 
LanguageFallbackChainFactory();
-
-               $languageFallbackChain = 
$languageFallbackChainFactory->newFromLanguage(
-                       Language::factory( $langCode )
-               );
-
-               return $languageFallbackChain;
-       }
-
-       private function getSerializationOptions( $langCode, $langCodes ) {
-               $fallbackChain = $this->getLanguageFallbackChain( $langCode );
-               $langCodes = $langCodes + array( $langCode => $fallbackChain );
-
-               $options = new SerializationOptions();
-               $options->setLanguages( $langCodes );
-
-               return $options;
        }
 
        private function getMainItem() {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I632833a6091ce0608cdb1240831756656400da03
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Addshore <[email protected]>

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

Reply via email to