WMDE-leszek has uploaded a new change for review. ( https://gerrit.wikimedia.org/r/353323 )
Change subject: Renamed DispatchingServiceFactory to DispatchingServiceContainer ...................................................................... Renamed DispatchingServiceFactory to DispatchingServiceContainer Just so it better fits the naming convention in the Data Access component. Change-Id: I9a8366e458bcfb2bd9312379bff04ba48dd29c52 --- M client/includes/WikibaseClient.php M client/tests/phpunit/includes/Store/Sql/DirectSqlStoreTest.php R data-access/src/DispatchingServiceContainer.php M data-access/src/DispatchingServiceWiring.php R data-access/tests/phpunit/DispatchingServiceContainerTest.php M data-access/tests/phpunit/DispatchingServiceWiringTest.php 6 files changed, 48 insertions(+), 45 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/Wikibase refs/changes/23/353323/1 diff --git a/client/includes/WikibaseClient.php b/client/includes/WikibaseClient.php index c74751c..db7a8e7 100644 --- a/client/includes/WikibaseClient.php +++ b/client/includes/WikibaseClient.php @@ -45,7 +45,7 @@ use Wikibase\Client\Serializer\ForbiddenSerializer; use Wikibase\Client\Store\TitleFactory; use Wikibase\ClientStore; -use Wikibase\DataAccess\DispatchingServiceFactory; +use Wikibase\DataAccess\DispatchingServiceContainer; use Wikibase\DataAccess\MultipleRepositoryAwareWikibaseServices; use Wikibase\DataAccess\RepositoryServiceContainerFactory; use Wikibase\DataAccess\WikibaseServices; @@ -381,13 +381,16 @@ */ public function getWikibaseServices() { if ( $this->wikibaseServices === null ) { - $factory = new DispatchingServiceFactory( + $dispatchingServiceContainer = new DispatchingServiceContainer( $this->getRepositoryServiceContainerFactory(), $this->repositoryDefinitions ); - $factory->loadWiringFiles( $this->settings->getSetting( 'dispatchingServiceWiringFiles' ) ); + $dispatchingServiceContainer->loadWiringFiles( $this->settings->getSetting( 'dispatchingServiceWiringFiles' ) ); - $this->wikibaseServices = new MultipleRepositoryAwareWikibaseServices( $factory, $factory ); + $this->wikibaseServices = new MultipleRepositoryAwareWikibaseServices( + $dispatchingServiceContainer, + $dispatchingServiceContainer + ); } return $this->wikibaseServices; diff --git a/client/tests/phpunit/includes/Store/Sql/DirectSqlStoreTest.php b/client/tests/phpunit/includes/Store/Sql/DirectSqlStoreTest.php index 25bdd55..3b2545e 100644 --- a/client/tests/phpunit/includes/Store/Sql/DirectSqlStoreTest.php +++ b/client/tests/phpunit/includes/Store/Sql/DirectSqlStoreTest.php @@ -7,7 +7,7 @@ use Wikibase\Client\Usage\UsageLookup; use Wikibase\Client\Usage\UsageTracker; use Wikibase\Client\WikibaseClient; -use Wikibase\DataAccess\DispatchingServiceFactory; +use Wikibase\DataAccess\DispatchingServiceContainer; use Wikibase\DataAccess\MultipleRepositoryAwareWikibaseServices; use Wikibase\DataAccess\RepositoryServiceContainerFactory; use Wikibase\DataModel\Entity\ItemIdParser; @@ -58,18 +58,18 @@ ->disableOriginalConstructor() ->getMock(); - $dispatchingServiceFactory = new DispatchingServiceFactory( + $dispatchingServiceContainer = new DispatchingServiceContainer( $containerFactory, $repositoryDefinitions ); - $dispatchingServiceFactory->defineService( 'EntityPrefetcher', function() { + $dispatchingServiceContainer->defineService( 'EntityPrefetcher', function() { return new NullEntityPrefetcher(); } ); - $dispatchingServiceFactory->defineService( 'EntityRevisionLookup', function() { + $dispatchingServiceContainer->defineService( 'EntityRevisionLookup', function() { return $this->getMock( EntityRevisionLookup::class ); } ); - $dispatchingServiceFactory->defineService( 'PropertyInfoLookup', function() { + $dispatchingServiceContainer->defineService( 'PropertyInfoLookup', function() { return new MockPropertyInfoLookup(); } ); @@ -80,7 +80,7 @@ new EntityIdComposer( [] ), new EntityNamespaceLookup( [] ), new MultipleRepositoryAwareWikibaseServices( - $dispatchingServiceFactory, + $dispatchingServiceContainer, $this->getMock( EntityStoreWatcher::class ) ), wfWikiID(), diff --git a/data-access/src/DispatchingServiceFactory.php b/data-access/src/DispatchingServiceContainer.php similarity index 97% rename from data-access/src/DispatchingServiceFactory.php rename to data-access/src/DispatchingServiceContainer.php index c4f13f6..ad7a8f4 100644 --- a/data-access/src/DispatchingServiceFactory.php +++ b/data-access/src/DispatchingServiceContainer.php @@ -25,7 +25,7 @@ * * @license GPL-2.0+ */ -class DispatchingServiceFactory extends ServiceContainer implements DispatchingDataAccessServices, EntityStoreWatcher { +class DispatchingServiceContainer extends ServiceContainer implements DispatchingDataAccessServices, EntityStoreWatcher { /** * @var RepositoryServiceContainerFactory diff --git a/data-access/src/DispatchingServiceWiring.php b/data-access/src/DispatchingServiceWiring.php index 89c5840..11258c2 100644 --- a/data-access/src/DispatchingServiceWiring.php +++ b/data-access/src/DispatchingServiceWiring.php @@ -1,6 +1,6 @@ <?php -use Wikibase\DataAccess\DispatchingServiceFactory; +use Wikibase\DataAccess\DispatchingServiceContainer; use Wikibase\Lib\Interactors\DispatchingTermSearchInteractorFactory; use Wikibase\Lib\Store\DispatchingEntityInfoBuilderFactory; use Wikibase\Lib\Store\DispatchingEntityPrefetcher; @@ -14,37 +14,37 @@ return [ - 'EntityInfoBuilderFactory' => function( DispatchingServiceFactory $dispatchingServiceFactory ) { + 'EntityInfoBuilderFactory' => function( DispatchingServiceContainer $dispatchingServiceFactory ) { return new DispatchingEntityInfoBuilderFactory( $dispatchingServiceFactory->getServiceMap( 'EntityInfoBuilderFactory' ) ); }, - 'EntityPrefetcher' => function( DispatchingServiceFactory $dispatchingServiceFactory ) { + 'EntityPrefetcher' => function( DispatchingServiceContainer $dispatchingServiceFactory ) { return new DispatchingEntityPrefetcher( $dispatchingServiceFactory->getServiceMap( 'EntityPrefetcher' ) ); }, - 'EntityRevisionLookup' => function( DispatchingServiceFactory $dispatchingServiceFactory ) { + 'EntityRevisionLookup' => function( DispatchingServiceContainer $dispatchingServiceFactory ) { return new DispatchingEntityRevisionLookup( $dispatchingServiceFactory->getServiceMap( 'EntityRevisionLookup' ) ); }, - 'PropertyInfoLookup' => function( DispatchingServiceFactory $dispatchingServiceFactory ) { + 'PropertyInfoLookup' => function( DispatchingServiceContainer $dispatchingServiceFactory ) { return new DispatchingPropertyInfoLookup( $dispatchingServiceFactory->getServiceMap( 'PropertyInfoLookup' ) ); }, - 'TermBuffer' => function( DispatchingServiceFactory $dispatchingServiceFactory ) { + 'TermBuffer' => function( DispatchingServiceContainer $dispatchingServiceFactory ) { return new DispatchingTermBuffer( $dispatchingServiceFactory->getServiceMap( 'PrefetchingTermLookup' ) ); }, - 'TermSearchInteractorFactory' => function( DispatchingServiceFactory $dispatchingServiceFactory ) { + 'TermSearchInteractorFactory' => function( DispatchingServiceContainer $dispatchingServiceFactory ) { $repoSpecificFactories = $dispatchingServiceFactory->getServiceMap( 'TermSearchInteractorFactory' ); $entityTypeToRepoMapping = $dispatchingServiceFactory->getEntityTypeToRepoMapping(); diff --git a/data-access/tests/phpunit/DispatchingServiceFactoryTest.php b/data-access/tests/phpunit/DispatchingServiceContainerTest.php similarity index 79% rename from data-access/tests/phpunit/DispatchingServiceFactoryTest.php rename to data-access/tests/phpunit/DispatchingServiceContainerTest.php index b09b7b1..229d678 100644 --- a/data-access/tests/phpunit/DispatchingServiceFactoryTest.php +++ b/data-access/tests/phpunit/DispatchingServiceContainerTest.php @@ -3,7 +3,7 @@ namespace Wikibase\DataAccess\Tests; use Prophecy\Argument; -use Wikibase\DataAccess\DispatchingServiceFactory; +use Wikibase\DataAccess\DispatchingServiceContainer; use Wikibase\DataAccess\RepositoryServiceContainer; use Wikibase\DataAccess\RepositoryServiceContainerFactory; use Wikibase\DataModel\Entity\EntityRedirect; @@ -14,13 +14,13 @@ use Wikibase\Lib\RepositoryDefinitions; /** - * @covers Wikibase\DataAccess\DispatchingServiceFactory + * @covers Wikibase\DataAccess\DispatchingServiceContainer * * @group Wikibase * * @license GPL-2.0+ */ -class DispatchingServiceFactoryTest extends \PHPUnit_Framework_TestCase { +class DispatchingServiceContainerTest extends \PHPUnit_Framework_TestCase { private function getRepositoryDefinition( $repositoryName, array $customSettings ) { return [ $repositoryName => array_merge( @@ -35,23 +35,23 @@ } public function testGetServiceNames_ReturnsNameOfDefinedService() { - $factory = new DispatchingServiceFactory( + $container = new DispatchingServiceContainer( $this->dummy( RepositoryServiceContainerFactory::class ), new RepositoryDefinitions( $this->getRepositoryDefinition( '', [] ) ) ); - $factory->defineService( + $container->defineService( 'SomeService', function () { return $this->someService( 'does not matter' ); } ); - $this->assertContains( 'SomeService', $factory->getServiceNames() ); + $this->assertContains( 'SomeService', $container->getServiceNames() ); } - private function newDispatchingServiceFactory( RepositoryServiceContainerFactory $containerFactory ) { - return new DispatchingServiceFactory( + private function newDispatchingServiceContainer( RepositoryServiceContainerFactory $containerFactory ) { + return new DispatchingServiceContainer( $containerFactory, new RepositoryDefinitions( array_merge( $this->getRepositoryDefinition( '', [ 'entity-types' => [ Item::ENTITY_TYPE ] ] ), @@ -75,9 +75,9 @@ $rscFactory = $this->prophesize( RepositoryServiceContainerFactory::class ); $rscFactory->newContainer( '' )->willReturn( $localContainer ); $rscFactory->newContainer( 'foo' )->willReturn( $fooContainer ); - $dispatchingFactory = $this->newDispatchingServiceFactory( $rscFactory->reveal() ); + $dispatchingServiceContainer = $this->newDispatchingServiceContainer( $rscFactory->reveal() ); - $serviceMap = $dispatchingFactory->getServiceMap( $someServiceName ); + $serviceMap = $dispatchingServiceContainer->getServiceMap( $someServiceName ); $expectedServiceMap = [ '' => $localService, @@ -87,21 +87,21 @@ } public function testGetService_AlwaysReturnsTheSameService() { - $factory = new DispatchingServiceFactory( + $container = new DispatchingServiceContainer( $this->dummy( RepositoryServiceContainerFactory::class ), new RepositoryDefinitions( $this->getRepositoryDefinition( '', [] ) ) ); $someService = $this->someService( 'some service instance' ); - $factory->defineService( + $container->defineService( 'some-service', function () use ( $someService ) { return $someService; } ); - $serviceOne = $factory->getService( 'some-service' ); - $serviceTwo = $factory->getService( 'some-service' ); + $serviceOne = $container->getService( 'some-service' ); + $serviceTwo = $container->getService( 'some-service' ); $this->assertSame( $someService, $serviceOne ); $this->assertSame( $someService, $serviceTwo ); @@ -110,13 +110,13 @@ public function testEntityUpdatedDelegatesEventToContainerOfRelevantRepository() { $localContainer = $this->prophesize( RepositoryServiceContainer::class ); $fooContainer = $this->prophesize( RepositoryServiceContainer::class ); - $factory = $this->newDispatchingServiceFactory( + $dispatchingServiceContainer = $this->newDispatchingServiceContainer( $this->createRepositoryServiceContainerFactory( [ '' => $localContainer->reveal(), 'foo' => $fooContainer->reveal() ] ) ); - $factory->entityUpdated( new EntityRevision( new Item( new ItemId( 'foo:Q123' ) ) ) ); + $dispatchingServiceContainer->entityUpdated( new EntityRevision( new Item( new ItemId( 'foo:Q123' ) ) ) ); $fooContainer->entityUpdated( new EntityRevision( new Item( new ItemId( 'foo:Q123' ) ) ) @@ -127,13 +127,13 @@ public function testEntityDeletedDelegatesEventToContainerOfRelevantRepository() { $localContainer = $this->prophesize( RepositoryServiceContainer::class ); $fooContainer = $this->prophesize( RepositoryServiceContainer::class ); - $factory = $this->newDispatchingServiceFactory( + $dispatchingServiceContainer = $this->newDispatchingServiceContainer( $this->createRepositoryServiceContainerFactory( [ '' => $localContainer->reveal(), 'foo' => $fooContainer->reveal() ] ) ); - $factory->entityDeleted( new ItemId( 'foo:Q123' ) ); + $dispatchingServiceContainer->entityDeleted( new ItemId( 'foo:Q123' ) ); $fooContainer->entityDeleted( new ItemId( 'foo:Q123' ) )->shouldHaveBeenCalled(); $localContainer->entityDeleted( Argument::any() )->shouldNotHaveBeenCalled(); @@ -142,13 +142,13 @@ public function testRedirectUpdatedDelegatesEventToContainerOfRelevantRepository() { $localContainer = $this->prophesize( RepositoryServiceContainer::class ); $fooContainer = $this->prophesize( RepositoryServiceContainer::class ); - $factory = $this->newDispatchingServiceFactory( + $dispatchingServiceContainer = $this->newDispatchingServiceContainer( $this->createRepositoryServiceContainerFactory( [ '' => $localContainer->reveal(), 'foo' => $fooContainer->reveal() ] ) ); - $factory->redirectUpdated( + $dispatchingServiceContainer->redirectUpdated( new EntityRedirect( new ItemId( 'foo:Q1' ), new ItemId( 'foo:Q2' ) ), 100 ); @@ -165,7 +165,7 @@ } public function testGetEntityTypeToRepoMapping() { - $factory = $this->newDispatchingServiceFactory( + $dispatchingServiceContainer = $this->newDispatchingServiceContainer( $this->dummy( RepositoryServiceContainerFactory::class ) ); @@ -174,7 +174,7 @@ Item::ENTITY_TYPE => '', Property::ENTITY_TYPE => 'foo', ], - $factory->getEntityTypeToRepoMapping() + $dispatchingServiceContainer->getEntityTypeToRepoMapping() ); } diff --git a/data-access/tests/phpunit/DispatchingServiceWiringTest.php b/data-access/tests/phpunit/DispatchingServiceWiringTest.php index a4f7b24..78c9789 100644 --- a/data-access/tests/phpunit/DispatchingServiceWiringTest.php +++ b/data-access/tests/phpunit/DispatchingServiceWiringTest.php @@ -3,7 +3,7 @@ namespace Wikibase\DataAccess\Tests; use Wikibase\Client\WikibaseClient; -use Wikibase\DataAccess\DispatchingServiceFactory; +use Wikibase\DataAccess\DispatchingServiceContainer; use Wikibase\DataAccess\RepositoryServiceContainerFactory; use Wikibase\DataModel\Entity\BasicEntityIdParser; use Wikibase\DataModel\Services\Entity\EntityPrefetcher; @@ -41,10 +41,10 @@ } /** - * @return DispatchingServiceFactory + * @return DispatchingServiceContainer */ private function getDispatchingServiceFactory() { - $factory = new DispatchingServiceFactory( + $dispatchingServiceContainer = new DispatchingServiceContainer( $this->getRepositoryServiceContainerFactory(), new RepositoryDefinitions( [ '' => [ 'database' => false, @@ -54,8 +54,8 @@ ] ] ) ); - $factory->loadWiringFiles( [ __DIR__ . '/../../src/DispatchingServiceWiring.php' ] ); - return $factory; + $dispatchingServiceContainer->loadWiringFiles( [ __DIR__ . '/../../src/DispatchingServiceWiring.php' ] ); + return $dispatchingServiceContainer; } public function provideServices() { -- To view, visit https://gerrit.wikimedia.org/r/353323 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9a8366e458bcfb2bd9312379bff04ba48dd29c52 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/extensions/Wikibase Gerrit-Branch: master Gerrit-Owner: WMDE-leszek <leszek.mani...@wikimedia.de> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits