Addshore has uploaded a new change for review.

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

Change subject: Remove more services from ApiWikibase
......................................................................

Remove more services from ApiWikibase

EntityStore, ErrorReporter, EntityTitleLookup

These services and the getters for these services
have been moved down the chain of classes,
removing even more from the large ApiWikibase

Change-Id: I54b900287201db53ec9028306f9a6211dc050d1e
---
M repo/includes/api/ApiWikibase.php
M repo/includes/api/ModifyClaim.php
M repo/includes/api/ModifyEntity.php
3 files changed, 35 insertions(+), 32 deletions(-)


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

diff --git a/repo/includes/api/ApiWikibase.php 
b/repo/includes/api/ApiWikibase.php
index fa78f53..da27bf3 100644
--- a/repo/includes/api/ApiWikibase.php
+++ b/repo/includes/api/ApiWikibase.php
@@ -17,7 +17,6 @@
 use Wikibase\Lib\Localizer\ExceptionLocalizer;
 use Wikibase\Lib\Store\BadRevisionException;
 use Wikibase\Lib\Store\EntityRevisionLookup;
-use Wikibase\Lib\Store\EntityStore;
 use Wikibase\Lib\Store\EntityTitleLookup;
 use Wikibase\Lib\Store\StorageException;
 use Wikibase\Lib\Store\UnresolvedRedirectException;
@@ -69,11 +68,6 @@
        private $entityRevisionLookup;
 
        /**
-        * @var EntityStore
-        */
-       private $entityStore;
-
-       /**
         * @var SummaryFormatter
         */
        private $summaryFormatter;
@@ -111,7 +105,6 @@
                // NOTE: use uncached lookup for write mode!
                $uncached = $this->isWriteMode() ? 'uncached' : '';
                $this->entityRevisionLookup = 
$wikibaseRepo->getEntityRevisionLookup( $uncached );
-               $this->entityStore = $wikibaseRepo->getEntityStore();
 
                $this->summaryFormatter = $wikibaseRepo->getSummaryFormatter();
 
@@ -132,20 +125,6 @@
        }
 
        /**
-        * @return ApiErrorReporter
-        */
-       protected function getErrorReporter() {
-               return $this->errorReporter;
-       }
-
-       /**
-        * @return EntityStore
-        */
-       protected function getEntityStore() {
-               return $this->entityStore;
-       }
-
-       /**
         * @return EntityRevisionLookup
         */
        protected function getEntityRevisionLookup() {
@@ -157,13 +136,6 @@
         */
        protected function getIdParser() {
                return $this->idParser;
-       }
-
-       /**
-        * @return EntityTitleLookup
-        */
-       protected function getTitleLookup() {
-               return $this->titleLookup;
        }
 
        /**
diff --git a/repo/includes/api/ModifyClaim.php 
b/repo/includes/api/ModifyClaim.php
index 5e41650..6d1a6d2 100644
--- a/repo/includes/api/ModifyClaim.php
+++ b/repo/includes/api/ModifyClaim.php
@@ -44,11 +44,14 @@
        public function __construct( ApiMain $mainModule, $moduleName, 
$modulePrefix = '' ) {
                parent::__construct( $mainModule, $moduleName, $modulePrefix );
 
+               $wikibaseRepo = WikibaseRepo::getDefaultInstance();
+               $apiHelperFactory = $wikibaseRepo->getApiHelperFactory( 
$this->getContext() );
+
                $this->modificationHelper = new StatementModificationHelper(
-                       
WikibaseRepo::getDefaultInstance()->getSnakConstructionService(),
-                       WikibaseRepo::getDefaultInstance()->getEntityIdParser(),
-                       
WikibaseRepo::getDefaultInstance()->getClaimGuidValidator(),
-                       $this->getErrorReporter()
+                       $wikibaseRepo->getSnakConstructionService(),
+                       $wikibaseRepo->getEntityIdParser(),
+                       $wikibaseRepo->getClaimGuidValidator(),
+                       $apiHelperFactory->getErrorReporter( $this )
                );
 
                $this->guidParser = 
WikibaseRepo::getDefaultInstance()->getStatementGuidParser();
diff --git a/repo/includes/api/ModifyEntity.php 
b/repo/includes/api/ModifyEntity.php
index 4ff37a3..f9dd8db 100644
--- a/repo/includes/api/ModifyEntity.php
+++ b/repo/includes/api/ModifyEntity.php
@@ -17,6 +17,8 @@
 use Wikibase\DataModel\Entity\ItemId;
 use Wikibase\EntityRevision;
 use Wikibase\Lib\Store\EntityRevisionLookup;
+use Wikibase\Lib\Store\EntityStore;
+use Wikibase\Lib\Store\EntityTitleLookup;
 use Wikibase\Lib\Store\SiteLinkLookup;
 use Wikibase\Lib\Store\StorageException;
 use Wikibase\Repo\SiteLinkTargetProvider;
@@ -50,6 +52,16 @@
         * @var SiteLinkLookup
         */
        protected $siteLinkLookup;
+
+       /**
+        * @var EntityTitleLookup
+        */
+       private $titleLookup;
+
+       /**
+        * @var EntityStore
+        */
+       private $entityStore;
 
        /**
         * @since 0.5
@@ -94,12 +106,28 @@
                        $settings->getSetting( 'specialSiteLinkGroups' )
                );
 
+               $this->entityStore = $wikibaseRepo->getEntityStore();
+               $this->titleLookup = $wikibaseRepo->getEntityTitleLookup();
                $this->siteLinkGroups = $settings->getSetting( 'siteLinkGroups' 
);
                $this->siteLinkLookup = 
$wikibaseRepo->getStore()->newSiteLinkStore();
                $this->badgeItems = $settings->getSetting( 'badgeItems' );
        }
 
        /**
+        * @return EntityTitleLookup
+        */
+       protected function getTitleLookup() {
+               return $this->titleLookup;
+       }
+
+       /**
+        * @return EntityStore
+        */
+       protected function getEntityStore() {
+               return $this->entityStore;
+       }
+
+       /**
         * Get the entity using the id, site and title params passed to the api
         *
         * @param array $params

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I54b900287201db53ec9028306f9a6211dc050d1e
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