initial commit of MemoryOms class

This commit is contained in:
Michael Becker 2023-11-25 22:24:20 -05:00
parent 545d38b93d
commit d7cb7dc88d
2 changed files with 36 additions and 0 deletions

35
mocha/oms/MemoryOms.py Normal file
View File

@ -0,0 +1,35 @@
from ..core import *
from ..oms import Oms
class MemoryOms(Oms):
def __init__(self):
self.__current_tenant = None
self.__instances = dict()
self.__tenants = dict()
def get_instance_by_key(self, key : InstanceKey):
return self.__instances[key.to_tuple()]
# def get_instance_by_global_identifier(self, global_identifier : Guid):
def create_tenant(self, tenant_name : str):
if tenant_name in self.__tenants:
raise NameError("tenant with specified name already exists")
self.__tenants[tenant_name] = TenantReference(tenant_name, None)
def select_tenant(self, tenant : TenantReference):
self.__current_tenant = tenant
def release_tenant(self):
self.__current_tenant = None
def get_current_tenant(self):
return self.__current_tenant
def get_tenant_by_name(self, tenant_name : str):
if tenant_name in self.__tenants:
return self.__tenants[tenant_name]
return None

View File

@ -1,3 +1,4 @@
from .Oms import Oms from .Oms import Oms
from .DatabaseOms import DatabaseOms from .DatabaseOms import DatabaseOms
from .MemoryOms import MemoryOms
from .MySQLDatabaseOms import MySQLDatabaseOms from .MySQLDatabaseOms import MySQLDatabaseOms