Add subscription and notification for resource changes; fix a bug while pserver node...
[pti/o2.git] / o2app / adapter / unit_of_work.py
index e488542..facfc45 100644 (file)
@@ -24,6 +24,9 @@ from o2common.service.unit_of_work import AbstractUnitOfWork
 from o2ims.adapter import ocloud_repository\r
 from o2dms.adapter import dms_repository\r
 \r
+from o2common.helper import o2logging\r
+logger = o2logging.get_logger(__name__)\r
+\r
 DEFAULT_SESSION_FACTORY = sessionmaker(\r
     bind=create_engine(\r
         config.get_postgres_uri(),\r
@@ -70,26 +73,27 @@ class SqlAlchemyUnitOfWork(AbstractUnitOfWork):
 \r
     def _collect_new_events(self):\r
         for entry in self.oclouds.seen:\r
-            while entry.events:\r
+            # while hasattr(entry, 'events') and len(entry.events) > 0:\r
+            while entry.events is not None and len(entry.events) > 0:\r
                 yield entry.events.pop(0)\r
         for entry in self.resource_pools.seen:\r
-            while entry.events:\r
+            while entry.events is not None and len(entry.events) > 0:\r
                 yield entry.events.pop(0)\r
         for entry in self.resources.seen:\r
-            while entry.events:\r
+            while entry.events is not None and len(entry.events) > 0:\r
                 yield entry.events.pop(0)\r
         for entry in self.resource_types.seen:\r
-            while entry.events:\r
+            while hasattr(entry, 'events') and len(entry.events) > 0:\r
                 yield entry.events.pop(0)\r
         for entry in self.deployment_managers.seen:\r
-            while entry.events:\r
+            while hasattr(entry, 'events') and len(entry.events) > 0:\r
                 yield entry.events.pop(0)\r
         for entry in self.nfdeployment_descs.seen:\r
-            while entry.events:\r
+            while hasattr(entry, 'events') and len(entry.events) > 0:\r
                 yield entry.events.pop(0)\r
         for entry in self.nfdeployments.seen:\r
-            while entry.events:\r
+            while hasattr(entry, 'events') and len(entry.events) > 0:\r
                 yield entry.events.pop(0)\r
         for entry in self.ocloudvresources.seen:\r
-            while entry.events:\r
+            while hasattr(entry, 'events') and len(entry.events) > 0:\r
                 yield entry.events.pop(0)\r