From d8f8fc2554adead07280a546e461aef7a70d69ca Mon Sep 17 00:00:00 2001
From: Stefano Borini <sborini@enthought.com>
Date: Wed, 9 Aug 2017 10:03:59 +0100
Subject: [PATCH] Added init of persistent state

---
 force_bdss/core_mco_driver.py                                | 5 +++--
 .../dummy_notification_listener.py                           | 3 +++
 .../notification_listeners/base_notification_listener.py     | 3 +++
 .../base_notification_listener_factory.py                    | 3 ---
 4 files changed, 9 insertions(+), 5 deletions(-)

diff --git a/force_bdss/core_mco_driver.py b/force_bdss/core_mco_driver.py
index d140f06..6b33dea 100644
--- a/force_bdss/core_mco_driver.py
+++ b/force_bdss/core_mco_driver.py
@@ -58,8 +58,9 @@ class CoreMCODriver(BaseCoreDriver):
     def _listeners_default(self):
         listeners = []
 
-        print(self.factory_registry.notification_listener_factories)
         for factory in self.factory_registry.notification_listener_factories:
-            listeners.append(factory.create_listener())
+            listener = factory.create_listener()
+            listener.init_persistent_state(None)
+            listeners.append(listener)
 
         return listeners
diff --git a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener.py b/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener.py
index bfa1a10..27fe660 100644
--- a/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener.py
+++ b/force_bdss/core_plugins/dummy/dummy_notification_listener/dummy_notification_listener.py
@@ -4,3 +4,6 @@ from force_bdss.api import BaseNotificationListener
 class DummyNotificationListener(BaseNotificationListener):
     def deliver(self, model, message):
         print(message)
+
+    def init_persistent_state(self, model):
+        print("Initializing persistent state")
diff --git a/force_bdss/notification_listeners/base_notification_listener.py b/force_bdss/notification_listeners/base_notification_listener.py
index 32293b3..a43d4f2 100644
--- a/force_bdss/notification_listeners/base_notification_listener.py
+++ b/force_bdss/notification_listeners/base_notification_listener.py
@@ -27,3 +27,6 @@ class BaseNotificationListener(ABCHasStrictTraits):
     @abc.abstractmethod
     def deliver(self, model, message):
         pass
+
+    def init_persistent_state(self, model):
+        pass
diff --git a/force_bdss/notification_listeners/base_notification_listener_factory.py b/force_bdss/notification_listeners/base_notification_listener_factory.py
index 18389a3..ffbe464 100644
--- a/force_bdss/notification_listeners/base_notification_listener_factory.py
+++ b/force_bdss/notification_listeners/base_notification_listener_factory.py
@@ -34,6 +34,3 @@ class BaseNotificationListenerFactory(ABCHasStrictTraits):
     @abc.abstractmethod
     def create_model(self, model_data=None):
         """"""
-
-    def init_persistent_state(self):
-        pass
-- 
GitLab