Update watcher worker
[pti/o2.git] / o2ims / adapter / ocloud_repository.py
index 8a547fe..32dced9 100644 (file)
 #  See the License for the specific language governing permissions and
 #  limitations under the License.
 
-import abc
-from typing import Set
+from typing import List
 # from o2ims.adapter import orm
 from o2ims.domain import ocloud
-
-
-class OcloudRepository(abc.ABC):
-    def __init__(self):
-        self.seen = set()  # type: Set[ocloud.Ocloud]
-
-    def add(self, ocloud: ocloud.Ocloud):
-        self._add(ocloud)
-        self.seen.add(ocloud)
-
-    def get(self, ocloudid) -> ocloud.Ocloud:
-        ocloud = self._get(ocloudid)
-        if ocloud:
-            self.seen.add(ocloud)
-        return ocloud
-
-    def update(self, ocloud: ocloud.Ocloud):
-        self._update(ocloud)
-
-    # def update_fields(self, ocloudid: str, updatefields: dict):
-    #     self._update(ocloudid, updatefields)
-
-    @abc.abstractmethod
-    def _add(self, ocloud: ocloud.Ocloud):
-        raise NotImplementedError
-
-    @abc.abstractmethod
-    def _get(self, ocloudid) -> ocloud.Ocloud:
-        raise NotImplementedError
-
-    @abc.abstractmethod
-    def _update(self, ocloud: ocloud.Ocloud):
-        raise NotImplementedError
+from o2ims.domain.ocloud_repo import OcloudRepository
 
 
 class OcloudSqlAlchemyRepository(OcloudRepository):
@@ -64,18 +31,9 @@ class OcloudSqlAlchemyRepository(OcloudRepository):
         return self.session.query(ocloud.Ocloud).filter_by(
             oCloudId=ocloudid).first()
 
+    def _list(self) -> List[ocloud.Ocloud]:
+        return self.session.query(ocloud.Ocloud).order_by(
+            ocloud.Ocloud.name).all()
+
     def _update(self, ocloud: ocloud.Ocloud):
         self.session.add(ocloud)
-
-    # def _update_fields(self, ocloudid: str, updatefields: dict):
-    #     dmslist = updatefields.pop("deploymentManagers", None)
-    #     if dmslist:
-    #         self._update_dms_list(dmslist)
-    #     if updatefields:
-    #         self.session.query(ocloud.Ocloud).filter_by(
-    # oCloudId=ocloudid).update(updatefields)
-
-    # def _update_dms_list(self, dms_list: list):
-    #     for dms in dms_list or []:
-    #         self.session.query(ocloud.DeploymentManager).filter_by(
-    # deploymentManagerId=dms.deploymentManagerId).update(dms)