Page MenuHomePhabricator

Create WikibaseServices container that makes of the container of DispatchingServices
Closed, ResolvedPublic

Description

WikibaseServices provides instances of data access services. Those of service for which the "dispatching pattern" applies, should use instances provided by the configured DispatchingServiceFactory instances.

Dispatching pattern here means the pattern when there is an instance of the service that has the knowledge of service instances configured for single repositories. Dispatching service delegates its actions to repository-specific instance based on the input. See DispatchingEntityRevisionLookup or DispatchingTermBuffer for examples of services following this pattern.

The "outer" container will itself provide services to which the dispatching pattern does not apply.

In the long run, use of DispatchingServiceFactory in WikibaseRepo/WikibaseClient should be replaced in favour of the WikibaseServices container.

Event Timeline

Change 353322 had a related patch set (by WMDE-leszek) published:
[mediawiki/extensions/Wikibase@master] Rename EntityDataRetrievalServiceFactory to DispatchingDataAccessServices

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

Change 353299 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Add WikibaseServices interface and the "dispatching-aware" implementation

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

Change 355450 had a related patch set uploaded (by WMDE-leszek; owner: WMDE-leszek):
[mediawiki/extensions/Wikibase@master] Renamed EntityDataRetrievalServiceFactory to DataAccessServices

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

Change 355450 merged by jenkins-bot:
[mediawiki/extensions/Wikibase@master] Renamed EntityDataRetrievalServiceFactory to DataAccessServices

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

Change 353322 abandoned by WMDE-leszek:
Rename EntityDataRetrievalServiceFactory to DispatchingDataAccessServices

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

WMDE-leszek claimed this task.