Add get detail of a resource to API; remove the dependency of the domain in the view...
[pti/o2.git] / o2ims / domain / ocloud_repo.py
index 2c486bd..b224a68 100644 (file)
@@ -25,8 +25,8 @@ class OcloudRepository(abc.ABC):
         self._add(ocloud)\r
         self.seen.add(ocloud)\r
 \r
-    def get(self, ocloudid) -> ocloud.Ocloud:\r
-        ocloud = self._get(ocloudid)\r
+    def get(self, ocloud_id) -> ocloud.Ocloud:\r
+        ocloud = self._get(ocloud_id)\r
         if ocloud:\r
             self.seen.add(ocloud)\r
         return ocloud\r
@@ -36,6 +36,7 @@ class OcloudRepository(abc.ABC):
 \r
     def update(self, ocloud: ocloud.Ocloud):\r
         self._update(ocloud)\r
+        self.seen.add(ocloud)\r
 \r
     # def update_fields(self, ocloudid: str, updatefields: dict):\r
     #     self._update(ocloudid, updatefields)\r
@@ -45,9 +46,184 @@ class OcloudRepository(abc.ABC):
         raise NotImplementedError\r
 \r
     @abc.abstractmethod\r
-    def _get(self, ocloudid) -> ocloud.Ocloud:\r
+    def _get(self, ocloud_id) -> ocloud.Ocloud:\r
         raise NotImplementedError\r
 \r
     @abc.abstractmethod\r
     def _update(self, ocloud: ocloud.Ocloud):\r
         raise NotImplementedError\r
+\r
+\r
+class ResourceTypeRepository(abc.ABC):\r
+    def __init__(self):\r
+        self.seen = set()  # type: Set[ocloud.ResourceType]\r
+\r
+    def add(self, resource_type: ocloud.ResourceType):\r
+        self._add(resource_type)\r
+        self.seen.add(resource_type)\r
+\r
+    def get(self, resource_type_id) -> ocloud.ResourceType:\r
+        resource_type = self._get(resource_type_id)\r
+        if resource_type:\r
+            self.seen.add(resource_type)\r
+        return resource_type\r
+\r
+    def list(self) -> List[ocloud.ResourceType]:\r
+        return self._list()\r
+\r
+    def update(self, resource_type: ocloud.ResourceType):\r
+        self._update(resource_type)\r
+        self.seen.add(resource_type)\r
+\r
+    @abc.abstractmethod\r
+    def _add(self, resource_type: ocloud.ResourceType):\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _get(self, resource_type_id) -> ocloud.ResourceType:\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _update(self, resource_type: ocloud.ResourceType):\r
+        raise NotImplementedError\r
+\r
+\r
+class ResourcePoolRepository(abc.ABC):\r
+    def __init__(self):\r
+        self.seen = set()  # type: Set[ocloud.ResourcePool]\r
+\r
+    def add(self, resource_pool: ocloud.ResourcePool):\r
+        self._add(resource_pool)\r
+        self.seen.add(resource_pool)\r
+\r
+    def get(self, resource_pool_id) -> ocloud.ResourcePool:\r
+        resource_pool = self._get(resource_pool_id)\r
+        if resource_pool:\r
+            self.seen.add(resource_pool)\r
+        return resource_pool\r
+\r
+    def list(self) -> List[ocloud.ResourcePool]:\r
+        return self._list()\r
+\r
+    def update(self, resource_pool: ocloud.ResourcePool):\r
+        self._update(resource_pool)\r
+        self.seen.add(resource_pool)\r
+\r
+    @abc.abstractmethod\r
+    def _add(self, resource_pool: ocloud.ResourcePool):\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _get(self, resource_pool_id) -> ocloud.ResourcePool:\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _update(self, resource_pool: ocloud.ResourcePool):\r
+        raise NotImplementedError\r
+\r
+\r
+class ResourceRepository(abc.ABC):\r
+    def __init__(self):\r
+        self.seen = set()  # type: Set[ocloud.Resource]\r
+\r
+    def add(self, resource: ocloud.Resource):\r
+        self._add(resource)\r
+        self.seen.add(resource)\r
+\r
+    def get(self, resource_id) -> ocloud.Resource:\r
+        resource = self._get(resource_id)\r
+        if resource:\r
+            self.seen.add(resource)\r
+        return resource\r
+\r
+    def list(self, resourcepool_id) -> List[ocloud.Resource]:\r
+        return self._list(resourcepool_id)\r
+\r
+    def update(self, resource: ocloud.Resource):\r
+        self._update(resource)\r
+        self.seen.add(resource)\r
+\r
+    @abc.abstractmethod\r
+    def _add(self, resource: ocloud.Resource):\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _get(self, resource_id) -> ocloud.Resource:\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _update(self, resource: ocloud.Resource):\r
+        raise NotImplementedError\r
+\r
+\r
+class DeploymentManagerRepository(abc.ABC):\r
+    def __init__(self):\r
+        self.seen = set()  # type: Set[ocloud.DeploymentManager]\r
+\r
+    def add(self, deployment_manager: ocloud.DeploymentManager):\r
+        self._add(deployment_manager)\r
+        self.seen.add(deployment_manager)\r
+\r
+    def get(self, deployment_manager_id) -> ocloud.DeploymentManager:\r
+        deployment_manager = self._get(deployment_manager_id)\r
+        if deployment_manager:\r
+            self.seen.add(deployment_manager)\r
+        return deployment_manager\r
+\r
+    def list(self) -> List[ocloud.DeploymentManager]:\r
+        return self._list()\r
+\r
+    def update(self, deployment_manager: ocloud.DeploymentManager):\r
+        self._update(deployment_manager)\r
+\r
+    @abc.abstractmethod\r
+    def _add(self, deployment_manager: ocloud.DeploymentManager):\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _get(self, deployment_manager_id) -> ocloud.DeploymentManager:\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _update(self, deployment_manager: ocloud.DeploymentManager):\r
+        raise NotImplementedError\r
+\r
+\r
+class SubscriptionRepository(abc.ABC):\r
+    def __init__(self):\r
+        self.seen = set()  # type: Set[ocloud.Subscription]\r
+\r
+    def add(self, subscription: ocloud.Subscription):\r
+        self._add(subscription)\r
+        self.seen.add(subscription)\r
+\r
+    def get(self, subscription_id) -> ocloud.Subscription:\r
+        subscription = self._get(subscription_id)\r
+        if subscription:\r
+            self.seen.add(subscription)\r
+        return subscription\r
+\r
+    def list(self) -> List[ocloud.Subscription]:\r
+        return self._list()\r
+\r
+    def update(self, subscription: ocloud.Subscription):\r
+        self._update(subscription)\r
+\r
+    def delete(self, subscription_id):\r
+        self._delete(subscription_id)\r
+\r
+    @abc.abstractmethod\r
+    def _add(self, subscription: ocloud.Subscription):\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _get(self, subscription_id) -> ocloud.Subscription:\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _update(self, subscription: ocloud.Subscription):\r
+        raise NotImplementedError\r
+\r
+    @abc.abstractmethod\r
+    def _delete(self, subscription_id):\r
+        raise NotImplementedError\r