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

Reply via email to