Thiemo Mättig (WMDE) has uploaded a new change for review.
https://gerrit.wikimedia.org/r/256709
Change subject: Inject StatementGrouper from EntityViewFactory to the views
......................................................................
Inject StatementGrouper from EntityViewFactory to the views
This is one step forward towards I5facc55.
Bug: T119596
Change-Id: I21d38620de6ff3cff7aefa2c015d56af05755bbb
---
M view/src/EntityViewFactory.php
M view/src/ItemView.php
M view/src/PropertyView.php
M view/tests/phpunit/ItemViewTest.php
M view/tests/phpunit/PropertyViewTest.php
5 files changed, 37 insertions(+), 12 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase
refs/changes/09/256709/1
diff --git a/view/src/EntityViewFactory.php b/view/src/EntityViewFactory.php
index d0e5652..5f289ba 100644
--- a/view/src/EntityViewFactory.php
+++ b/view/src/EntityViewFactory.php
@@ -7,6 +7,7 @@
use Language;
use SiteStore;
use Wikibase\DataModel\Services\Lookup\LabelDescriptionLookup;
+use Wikibase\DataModel\Services\Statement\Grouper\NullStatementGrouper;
use Wikibase\LanguageFallbackChain;
use Wikibase\Lib\LanguageNameLookup;
use Wikibase\Lib\SnakFormatter;
@@ -155,6 +156,10 @@
EditSectionGenerator $editSectionGenerator
) {
$entityTermsView = $this->newEntityTermsView( $languageCode,
$editSectionGenerator );
+
+ // TODO: Group statements into actual sections, including an
identifiers section.
+ $statementGrouper = new NullStatementGrouper();
+
$statementSectionsView = $this->newStatementSectionsView(
$languageCode,
$fallbackChain,
@@ -181,6 +186,7 @@
return new ItemView(
$this->templateFactory,
$entityTermsView,
+ $statementGrouper,
$statementSectionsView,
$language,
$siteLinksView,
@@ -190,6 +196,7 @@
return new PropertyView(
$this->templateFactory,
$entityTermsView,
+ $statementGrouper,
$statementSectionsView,
$this->dataTypeFactory,
$language
diff --git a/view/src/ItemView.php b/view/src/ItemView.php
index 0078386..2c9c3e8 100644
--- a/view/src/ItemView.php
+++ b/view/src/ItemView.php
@@ -6,6 +6,7 @@
use Language;
use Wikibase\DataModel\Entity\Item;
use Wikibase\DataModel\Services\Statement\Grouper\NullStatementGrouper;
+use Wikibase\DataModel\Services\Statement\Grouper\StatementGrouper;
use Wikibase\EntityRevision;
use Wikibase\View\Template\TemplateFactory;
@@ -22,14 +23,14 @@
class ItemView extends EntityView {
/**
+ * @var StatementGrouper
+ */
+ private $statementGrouper;
+
+ /**
* @var StatementSectionsView
*/
private $statementSectionsView;
-
- /**
- * @var string[]
- */
- private $siteLinkGroups;
/**
* @var SiteLinksView
@@ -37,10 +38,16 @@
private $siteLinksView;
/**
+ * @var string[]
+ */
+ private $siteLinkGroups;
+
+ /**
* @see EntityView::__construct
*
* @param TemplateFactory $templateFactory
* @param EntityTermsView $entityTermsView
+ * @param StatementGrouper $statementGrouper
* @param StatementSectionsView $statementSectionsView
* @param Language $language
* @param SiteLinksView $siteLinksView
@@ -49,6 +56,7 @@
public function __construct(
TemplateFactory $templateFactory,
EntityTermsView $entityTermsView,
+ StatementGrouper $statementGrouper,
StatementSectionsView $statementSectionsView,
Language $language,
SiteLinksView $siteLinksView,
@@ -56,9 +64,10 @@
) {
parent::__construct( $templateFactory, $entityTermsView,
$language );
+ $this->statementGrouper = $statementGrouper;
$this->statementSectionsView = $statementSectionsView;
- $this->siteLinkGroups = $siteLinkGroups;
$this->siteLinksView = $siteLinksView;
+ $this->siteLinkGroups = $siteLinkGroups;
}
/**
@@ -72,9 +81,7 @@
}
$html = parent::getMainHtml( $entityRevision );
- // TODO: Group statements into actual sections, including an
identifiers section.
- $grouper = new NullStatementGrouper();
- $statementLists = $grouper->groupStatements(
$item->getStatements() );
+ $statementLists = $this->statementGrouper->groupStatements(
$item->getStatements() );
$html .= $this->statementSectionsView->getHtml( $statementLists
);
return $html;
diff --git a/view/src/PropertyView.php b/view/src/PropertyView.php
index 57bdce0..34b8878 100644
--- a/view/src/PropertyView.php
+++ b/view/src/PropertyView.php
@@ -8,6 +8,7 @@
use Language;
use Wikibase\DataModel\Entity\Property;
use Wikibase\DataModel\Services\Statement\Grouper\NullStatementGrouper;
+use Wikibase\DataModel\Services\Statement\Grouper\StatementGrouper;
use Wikibase\EntityRevision;
use Wikibase\View\Template\TemplateFactory;
@@ -24,6 +25,11 @@
class PropertyView extends EntityView {
/**
+ * @var StatementGrouper
+ */
+ private $statementGrouper;
+
+ /**
* @var StatementSectionsView
*/
private $statementSectionsView;
@@ -36,6 +42,7 @@
/**
* @param TemplateFactory $templateFactory
* @param EntityTermsView $entityTermsView
+ * @param StatementGrouper $statementGrouper
* @param StatementSectionsView $statementSectionsView
* @param DataTypeFactory $dataTypeFactory
* @param Language $language
@@ -43,12 +50,14 @@
public function __construct(
TemplateFactory $templateFactory,
EntityTermsView $entityTermsView,
+ StatementGrouper $statementGrouper,
StatementSectionsView $statementSectionsView,
DataTypeFactory $dataTypeFactory,
Language $language
) {
parent::__construct( $templateFactory, $entityTermsView,
$language );
+ $this->statementGrouper = $statementGrouper;
$this->statementSectionsView = $statementSectionsView;
$this->dataTypeFactory = $dataTypeFactory;
}
@@ -66,9 +75,7 @@
$html = parent::getMainHtml( $entityRevision );
$html .= $this->getHtmlForDataType( $this->getDataType(
$property ) );
- // TODO: Group statements into actual sections, including an
identifiers section.
- $grouper = new NullStatementGrouper();
- $statementLists = $grouper->groupStatements(
$property->getStatements() );
+ $statementLists = $this->statementGrouper->groupStatements(
$property->getStatements() );
$html .= $this->statementSectionsView->getHtml( $statementLists
);
$footer = wfMessage( 'wikibase-property-footer' );
diff --git a/view/tests/phpunit/ItemViewTest.php
b/view/tests/phpunit/ItemViewTest.php
index 2ba7bc6..e66d064 100644
--- a/view/tests/phpunit/ItemViewTest.php
+++ b/view/tests/phpunit/ItemViewTest.php
@@ -5,6 +5,7 @@
use Wikibase\DataModel\Entity\EntityId;
use Wikibase\DataModel\Entity\Item;
use Wikibase\DataModel\Entity\ItemId;
+use Wikibase\DataModel\Services\Statement\Grouper\NullStatementGrouper;
use Wikibase\DataModel\Statement\StatementList;
use Wikibase\View\ItemView;
use Wikibase\View\Template\TemplateFactory;
@@ -55,6 +56,7 @@
$this->getMockBuilder( 'Wikibase\View\EntityTermsView' )
->disableOriginalConstructor()
->getMock(),
+ new NullStatementGrouper(),
$this->getMockBuilder(
'Wikibase\View\StatementSectionsView' )
->disableOriginalConstructor()
->getMock(),
diff --git a/view/tests/phpunit/PropertyViewTest.php
b/view/tests/phpunit/PropertyViewTest.php
index 20cabe8..e553706 100644
--- a/view/tests/phpunit/PropertyViewTest.php
+++ b/view/tests/phpunit/PropertyViewTest.php
@@ -8,6 +8,7 @@
use Wikibase\DataModel\Entity\EntityId;
use Wikibase\DataModel\Entity\Property;
use Wikibase\DataModel\Entity\PropertyId;
+use Wikibase\DataModel\Services\Statement\Grouper\NullStatementGrouper;
use Wikibase\DataModel\Statement\Statement;
use Wikibase\DataModel\Statement\StatementList;
use Wikibase\View\PropertyView;
@@ -78,6 +79,7 @@
$this->getMockBuilder( 'Wikibase\View\EntityTermsView' )
->disableOriginalConstructor()
->getMock(),
+ new NullStatementGrouper(),
$this->getMockBuilder(
'Wikibase\View\StatementSectionsView' )
->disableOriginalConstructor()
->getMock(),
--
To view, visit https://gerrit.wikimedia.org/r/256709
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I21d38620de6ff3cff7aefa2c015d56af05755bbb
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/Wikibase
Gerrit-Branch: master
Gerrit-Owner: Thiemo Mättig (WMDE) <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits