Removed application host

This commit is contained in:
2021-03-19 14:15:53 +01:00
parent 132d2805ee
commit e2e763a424
46 changed files with 210 additions and 281 deletions

View File

@@ -15,7 +15,7 @@ __title__ = 'cpl.dependency_injection'
__author__ = 'Sven Heidemann'
__license__ = 'MIT'
__copyright__ = 'Copyright (c) 2020 - 2021 sh-edraft.de'
__version__ = '2021.4.1.post13'
__version__ = '2021.4.1.post14'
from collections import namedtuple
@@ -25,4 +25,4 @@ from .service_provider import ServiceProvider
from .service_provider_abc import ServiceProviderABC
VersionInfo = namedtuple('VersionInfo', 'major minor micro')
version_info = VersionInfo(major='2021', minor='04', micro='01-13')
version_info = VersionInfo(major='2021', minor='04', micro='01-14')

View File

@@ -13,13 +13,14 @@ from cpl.environment.environment_abc import ApplicationEnvironmentABC
class ServiceProvider(ServiceProviderABC):
def __init__(self, app_runtime: ApplicationRuntimeABC):
def __init__(self, config: ConfigurationABC, runtime: ApplicationRuntimeABC):
"""
Service for service providing
:param app_runtime:
:param runtime:
"""
ServiceProviderABC.__init__(self)
self._app_runtime: ApplicationRuntimeABC = app_runtime
self._configuration: ConfigurationABC = config
self._runtime: ApplicationRuntimeABC = runtime
self._database_context: Optional[DatabaseContextABC] = None
self._transient_services: dict[Type[ServiceABC], Callable[ServiceABC]] = {}
@@ -38,19 +39,19 @@ class ServiceProvider(ServiceProviderABC):
parameter = param[1]
if parameter.name != 'self' and parameter.annotation != Parameter.empty:
if issubclass(parameter.annotation, ApplicationRuntimeABC):
params.append(self._app_runtime)
params.append(self._runtime)
elif issubclass(parameter.annotation, ApplicationEnvironmentABC):
params.append(self._app_runtime.configuration.environment)
params.append(self._configuration.environment)
elif issubclass(parameter.annotation, DatabaseContextABC):
params.append(self._database_context)
elif issubclass(parameter.annotation, ConfigurationModelABC):
params.append(self._app_runtime.configuration.get_configuration(parameter.annotation))
params.append(self._configuration.get_configuration(parameter.annotation))
elif issubclass(parameter.annotation, ConfigurationABC):
params.append(self._app_runtime.configuration)
params.append(self._configuration)
elif issubclass(parameter.annotation, ServiceProviderABC):
params.append(self)