X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2ims%2Fservice%2Funit_of_work.py;fp=o2ims%2Fservice%2Funit_of_work.py;h=a06e9e07833cd775a2d54d7278030cc7427696cb;hb=8be81dfad35b08c4de77168e885bb18253069771;hp=40e0f7629c71da9ec88232fcc496916fcae7d082;hpb=bff814cb30e501eb1e54aecb8110a78d41e7bdb0;p=pti%2Fo2.git diff --git a/o2ims/service/unit_of_work.py b/o2ims/service/unit_of_work.py index 40e0f76..a06e9e0 100644 --- a/o2ims/service/unit_of_work.py +++ b/o2ims/service/unit_of_work.py @@ -15,16 +15,14 @@ # pylint: disable=attribute-defined-outside-init from __future__ import annotations import abc -from sqlalchemy import create_engine -from sqlalchemy.orm import sessionmaker -from sqlalchemy.orm.session import Session -from o2ims import config -from o2ims.adapter import ocloud_repository +from o2ims.domain.ocloud_repo import OcloudRepository +from o2ims.domain.stx_repo import StxObjectRepository class AbstractUnitOfWork(abc.ABC): - oclouds: ocloud_repository.OcloudRepository + oclouds: OcloudRepository + stxobjects: StxObjectRepository def __enter__(self): return self @@ -47,32 +45,3 @@ class AbstractUnitOfWork(abc.ABC): @abc.abstractmethod def rollback(self): raise NotImplementedError - - -DEFAULT_SESSION_FACTORY = sessionmaker( - bind=create_engine( - config.get_postgres_uri(), - isolation_level="REPEATABLE READ", - ) -) - - -class SqlAlchemyUnitOfWork(AbstractUnitOfWork): - def __init__(self, session_factory=DEFAULT_SESSION_FACTORY): - self.session_factory = session_factory - - def __enter__(self): - self.session = self.session_factory() # type: Session - self.oclouds = ocloud_repository\ - .OcloudSqlAlchemyRepository(self.session) - return super().__enter__() - - def __exit__(self, *args): - super().__exit__(*args) - self.session.close() - - def _commit(self): - self.session.commit() - - def rollback(self): - self.session.rollback()