[MediaWiki-commits] [Gerrit] Track label usage with fallback from Lua. - change (mediawiki...Wikibase)

2015-06-10 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged.

Change subject: Track label usage with fallback from Lua.
..


Track label usage with fallback from Lua.

This change removed code that has become redundant by moving usage
tracking away from the rendering logic into decorators for the
lookup logic.

In addition, this change includes several modifications to test cases
to ensure that the SnakFormatter decorator is applied and configured
correctly.

Bug: T93056
Change-Id: I89abc34fe17d9be4377e65ef90f584836a47446f
---
M client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
M client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
M client/includes/DataAccess/Scribunto/SnakSerializationRenderer.php
M client/includes/DataAccess/Scribunto/WikibaseLuaEntityBindings.php
M client/includes/Usage/UsageAccumulator.php
M 
client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibraryTest.php
M 
client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
M 
client/tests/phpunit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php
M 
client/tests/phpunit/includes/DataAccess/Scribunto/WikibaseLuaEntityBindingsTest.php
M client/tests/phpunit/includes/Usage/UsageAccumulatorContractTester.php
10 files changed, 59 insertions(+), 160 deletions(-)

Approvals:
  Addshore: Looks good to me, approved
  jenkins-bot: Verified



diff --git 
a/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php 
b/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
index 1d6e1f9..9c99c4b 100644
--- 
a/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
+++ 
b/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
@@ -1,13 +1,14 @@
 getLanguageFallbackChainFactory()->newFromLanguage(
+   $wgContLang,
+   LanguageFallbackChainFactory::FALLBACK_SELF | 
LanguageFallbackChainFactory::FALLBACK_VARIANTS
+   );
+
$formatterOptions = new FormatterOptions( array( 
SnakFormatter::OPT_LANG => $wgContLang->getCode() ) );
-   $usageAccumulator = new ParserOutputUsageAccumulator( 
$this->getParser()->getOutput() );
 
$snakFormatter = new UsageTrackingSnakFormatter(

$wikibaseClient->getSnakFormatterFactory()->getSnakFormatter(
-   SnakFormatter::FORMAT_WIKI, $formatterOptions
+   SnakFormatter::FORMAT_WIKI,
+   $formatterOptions
),
-   $usageAccumulator,
-   array( $wgContLang->getCode() ) //FIXME: fallback
+   $this->getUsageAccumulator(),
+   $languageFallbackChain->getFetchLanguageCodes()
);
 
$entityLookup = $wikibaseClient->getStore()->getEntityLookup();
@@ -71,12 +77,18 @@
return new WikibaseLuaEntityBindings(
$entityStatementsRenderer,
$wikibaseClient->getEntityIdParser(),
-   $usageAccumulator,
$wikibaseClient->getSettings()->getSetting( 
'siteGlobalID' )
);
}
 
/**
+* @return ParserOutputUsageAccumulator
+*/
+   public function getUsageAccumulator() {
+   return new ParserOutputUsageAccumulator( 
$this->getParser()->getOutput() );
+   }
+
+   /**
 * Register mw.wikibase.lua library
 *
 * @since 0.5
diff --git 
a/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php 
b/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
index 41f4076..b3c8efd 100644
--- a/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
+++ b/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
@@ -2,6 +2,7 @@
 
 use Deserializers\Exceptions\DeserializationException;
 use ValueFormatters\FormatterOptions;
+use Wikibase\Client\Usage\UsageTrackingSnakFormatter;
 use Wikibase\Client\Usage\UsageTrackingTermLookup;
 use Wikibase\Client\DataAccess\Scribunto\EntityAccessor;
 use Wikibase\Client\DataAccess\Scribunto\SnakSerializationRenderer;
@@ -162,10 +163,16 @@
private function newSnakSerializationRenderer() {
$wikibaseClient = WikibaseClient::getDefaultInstance();
 
-   $formatterOptions = new FormatterOptions( array( 'language' => 
$this->getLanguage() ) );
+   $formatterOptions = new FormatterOptions( array(
+   SnakFormatter::OPT_LANG => 
$this->getLanguage()->getCode()
+   ) );
 
-   $snakFormatter = 
$wikibaseClient->getSnakFormatterFactory()->getSnakFormatter(
-   SnakFormatter::FORMAT_WIKI, $formatterOptions
+  

[MediaWiki-commits] [Gerrit] Track label usage with fallback from Lua. - change (mediawiki...Wikibase)

2015-05-11 Thread Daniel Kinzler (Code Review)
Daniel Kinzler has uploaded a new change for review.

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

Change subject: Track label usage with fallback from Lua.
..

Track label usage with fallback from Lua.

This change removed code that has become redundant by moving usage
tracking away from the rendering logic into decorators for the
lookup logic.

In addition, this change includes several modifications to test cases
to ensure that the SnakFormatter decorator is applied and configured
correctly.

Bug: T93056
Change-Id: I89abc34fe17d9be4377e65ef90f584836a47446f
---
M client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
M client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
M client/includes/DataAccess/Scribunto/SnakSerializationRenderer.php
M client/includes/DataAccess/Scribunto/WikibaseLuaEntityBindings.php
M client/includes/Usage/UsageAccumulator.php
M 
client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibraryTest.php
M 
client/tests/phpunit/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibraryTest.php
M 
client/tests/phpunit/includes/DataAccess/Scribunto/SnakSerializationRendererTest.php
M 
client/tests/phpunit/includes/DataAccess/Scribunto/WikibaseLuaEntityBindingsTest.php
M client/tests/phpunit/includes/Usage/UsageAccumulatorContractTester.php
10 files changed, 59 insertions(+), 136 deletions(-)


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

diff --git 
a/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php 
b/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
index 1d6e1f9..9c99c4b 100644
--- 
a/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
+++ 
b/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseEntityLibrary.php
@@ -1,13 +1,14 @@
 getLanguageFallbackChainFactory()->newFromLanguage(
+   $wgContLang,
+   LanguageFallbackChainFactory::FALLBACK_SELF | 
LanguageFallbackChainFactory::FALLBACK_VARIANTS
+   );
+
$formatterOptions = new FormatterOptions( array( 
SnakFormatter::OPT_LANG => $wgContLang->getCode() ) );
-   $usageAccumulator = new ParserOutputUsageAccumulator( 
$this->getParser()->getOutput() );
 
$snakFormatter = new UsageTrackingSnakFormatter(

$wikibaseClient->getSnakFormatterFactory()->getSnakFormatter(
-   SnakFormatter::FORMAT_WIKI, $formatterOptions
+   SnakFormatter::FORMAT_WIKI,
+   $formatterOptions
),
-   $usageAccumulator,
-   array( $wgContLang->getCode() ) //FIXME: fallback
+   $this->getUsageAccumulator(),
+   $languageFallbackChain->getFetchLanguageCodes()
);
 
$entityLookup = $wikibaseClient->getStore()->getEntityLookup();
@@ -71,12 +77,18 @@
return new WikibaseLuaEntityBindings(
$entityStatementsRenderer,
$wikibaseClient->getEntityIdParser(),
-   $usageAccumulator,
$wikibaseClient->getSettings()->getSetting( 
'siteGlobalID' )
);
}
 
/**
+* @return ParserOutputUsageAccumulator
+*/
+   public function getUsageAccumulator() {
+   return new ParserOutputUsageAccumulator( 
$this->getParser()->getOutput() );
+   }
+
+   /**
 * Register mw.wikibase.lua library
 *
 * @since 0.5
diff --git 
a/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php 
b/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
index 153bfbe..2c69131 100644
--- a/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
+++ b/client/includes/DataAccess/Scribunto/Scribunto_LuaWikibaseLibrary.php
@@ -2,6 +2,7 @@
 
 use Deserializers\Exceptions\DeserializationException;
 use ValueFormatters\FormatterOptions;
+use Wikibase\Client\Usage\UsageTrackingSnakFormatter;
 use Wikibase\Client\Usage\UsageTrackingTermLookup;
 use Wikibase\Lib\SnakFormatter;
 use Wikibase\Client\DataAccess\Scribunto\EntityAccessor;
@@ -102,10 +103,16 @@
private function newSnakSerializationRenderer() {
$wikibaseClient = WikibaseClient::getDefaultInstance();
 
-   $formatterOptions = new FormatterOptions( array( 'language' => 
$this->getLanguage() ) );
+   $formatterOptions = new FormatterOptions( array(
+   SnakFormatter::OPT_LANG => 
$this->getLanguage()->getCode()
+   ) );
 
-   $snakFormatter = 
$wikibaseClient->getSnakFormatterFactory()->getSnakFormatter(
-   SnakFormatter::FORMAT_WI