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