X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=o2dms%2Fdomain%2Fdms_repo.py;h=4a63a852be43e5a7600f08d551db7afbbbc1cc04;hb=6c304dfab28ffd1bbe69b9ada3d11e8fbbde014b;hp=f199a3c186083dc39c53c25c5b467ec8ce2e1c8d;hpb=5e02e76308e1677fb106572b885a366eb6c0fbec;p=pti%2Fo2.git diff --git a/o2dms/domain/dms_repo.py b/o2dms/domain/dms_repo.py index f199a3c..4a63a85 100644 --- a/o2dms/domain/dms_repo.py +++ b/o2dms/domain/dms_repo.py @@ -17,6 +17,53 @@ from typing import List, Set from o2dms.domain import dms +class NfDeploymentRepository(abc.ABC): + def __init__(self): + self.seen = set() # type: Set[dms.NfDeployment] + + def add(self, nfdeployment: dms.NfDeployment): + self._add(nfdeployment) + self.seen.add(nfdeployment) + + def get(self, nfdeployment_id) -> dms.NfDeployment: + nfdeployment = self._get(nfdeployment_id) + if nfdeployment: + self.seen.add(nfdeployment) + return nfdeployment + + def list(self) -> List[dms.NfDeployment]: + return self._list() + + def update(self, id, **kwargs): + self._update(id, **kwargs) + + def delete(self, nfdeployment_id): + self._delete(nfdeployment_id) + + def count(self, **kwargs): + return self._count(**kwargs) + + @abc.abstractmethod + def _add(self, nfdeployment: dms.NfDeployment): + raise NotImplementedError + + @abc.abstractmethod + def _get(self, nfdeployment_id) -> dms.NfDeployment: + raise NotImplementedError + + @abc.abstractmethod + def _update(self, id, **kwargs): + raise NotImplementedError + + @abc.abstractmethod + def _delete(self, nfdeployment_id): + raise NotImplementedError + + @abc.abstractmethod + def _count(self, **kwargs): + raise NotImplementedError + + class NfDeploymentDescRepository(abc.ABC): def __init__(self): self.seen = set() # type: Set[dms.NfDeploymentDesc] @@ -34,8 +81,14 @@ class NfDeploymentDescRepository(abc.ABC): def list(self) -> List[dms.NfDeploymentDesc]: return self._list() - def update(self, nfdeployment_descriptor: dms.NfDeploymentDesc): - self._update(nfdeployment_descriptor) + def update(self, id, **kwargs): + self._update(id, **kwargs) + + def delete(self, nfdeployment_descriptor_id): + self._delete(nfdeployment_descriptor_id) + + def count(self, **kwargs): + return self._count(**kwargs) @abc.abstractmethod def _add(self, nfdeployment_descriptor: dms.NfDeploymentDesc): @@ -46,5 +99,53 @@ class NfDeploymentDescRepository(abc.ABC): raise NotImplementedError @abc.abstractmethod - def _update(self, nfdeployment_descriptor: dms.NfDeploymentDesc): + def _update(self, id, **kwargs): + raise NotImplementedError + + @abc.abstractmethod + def _delete(self, nfdeployment_descriptor_id): + raise NotImplementedError + + @abc.abstractmethod + def _count(self, **kwargs): + raise NotImplementedError + + +class NfOCloudVResourceRepository(abc.ABC): + def __init__(self): + self.seen = set() # type: Set[dms.NfOCloudVResource] + + def add(self, nfocloudvres: dms.NfOCloudVResource): + self._add(nfocloudvres) + self.seen.add(nfocloudvres) + + def get(self, nfocloudvres_id) -> dms.NfOCloudVResource: + nfocloudvres = self._get(nfocloudvres_id) + if nfocloudvres: + self.seen.add(nfocloudvres) + return nfocloudvres + + def list(self) -> List[dms.NfOCloudVResource]: + return self._list() + + def update(self, nfocloudvres_id, **kwargs): + self._update(nfocloudvres_id, **kwargs) + + def delete(self, nfocloudvres_id): + self._delete(nfocloudvres_id) + + @abc.abstractmethod + def _add(self, nfocloudvres: dms.NfOCloudVResource): + raise NotImplementedError + + @abc.abstractmethod + def _get(self, nfocloudvres_id) -> dms.NfOCloudVResource: + raise NotImplementedError + + @abc.abstractmethod + def _update(self, nfocloudvres_id, **kwargs): + raise NotImplementedError + + @abc.abstractmethod + def _delete(self, nfocloudvres_id): raise NotImplementedError