[Erp5-report] r19171 - in /erp5/trunk/products/CMFActivity: ActivityBuffer.py ActivityTool.py

nobody at svn.erp5.org nobody at svn.erp5.org
Fri Feb 8 13:35:37 CET 2008


Author: vincent
Date: Fri Feb  8 13:35:36 2008
New Revision: 19171

URL: http://svn.erp5.org?rev=19171&view=rev
Log:
Do not duplicate data when possible.

Modified:
    erp5/trunk/products/CMFActivity/ActivityBuffer.py
    erp5/trunk/products/CMFActivity/ActivityTool.py

Modified: erp5/trunk/products/CMFActivity/ActivityBuffer.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFActivity/ActivityBuffer.py?rev=19171&r1=19170&r2=19171&view=diff
==============================================================================
--- erp5/trunk/products/CMFActivity/ActivityBuffer.py (original)
+++ erp5/trunk/products/CMFActivity/ActivityBuffer.py Fri Feb  8 13:35:36 2008
@@ -76,12 +76,12 @@
   # at end of transaction
   def _beginAndHook(self, activity_tool):
     # LOG('ActivityBuffer', 0, '_begin %r' % (self,))
-    from ActivityTool import activity_list
+    from ActivityTool import activity_dict
     self.requires_prepare = 1
     try:
 
       # Reset registration for each transaction.
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         activity.registerActivityBuffer(self)
 
       # In Zope 2.8 (ZODB 3.4), use beforeCommitHook instead of

Modified: erp5/trunk/products/CMFActivity/ActivityTool.py
URL: http://svn.erp5.org/erp5/trunk/products/CMFActivity/ActivityTool.py?rev=19171&r1=19170&r2=19171&view=diff
==============================================================================
--- erp5/trunk/products/CMFActivity/ActivityTool.py (original)
+++ erp5/trunk/products/CMFActivity/ActivityTool.py Fri Feb  8 13:35:36 2008
@@ -78,7 +78,6 @@
 
 # Activity Registration
 activity_dict = {}
-activity_list = []
 
 # Here go ActivityBuffer instances
 # Structure:
@@ -92,7 +91,6 @@
   # class and create instance for each activity
   #LOG('Init Activity', 0, str(activity.__name__))
   activity_instance = activity()
-  activity_list.append(activity_instance)
   activity_dict[activity.__name__] = activity_instance
 
 class Message:
@@ -349,7 +347,7 @@
       global is_initialized
       from Activity import RAMQueue, RAMDict, SQLQueue, SQLDict
       # Initialize each queue
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         activity.initialize(self)
       is_initialized = 1
       
@@ -606,7 +604,7 @@
       if not is_initialized: self.initialize()
 
       # Call distribute on each queue
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         activity.distribute(aq_inner(self), node_count)
 
     security.declarePublic('tic')
@@ -644,14 +642,14 @@
 
       try:
         # Wakeup each queue
-        for activity in activity_list:
+        for activity in activity_dict.itervalues():
           activity.wakeup(inner_self, processing_node)
 
         # Process messages on each queue in round robin
         has_awake_activity = 1
         while has_awake_activity:
           has_awake_activity = 0
-          for activity in activity_list:
+          for activity in activity_dict.itervalues():
             activity.tic(inner_self, processing_node) # Transaction processing is the responsability of the activity
             has_awake_activity = has_awake_activity or activity.isAwake(inner_self, processing_node)
       finally:
@@ -667,7 +665,7 @@
         obj = args[0]
       else:
         obj = self
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         if activity.hasActivity(aq_inner(self), obj, **kw):
           return 1
       return 0
@@ -746,19 +744,19 @@
         object_path = obj
       else:
         object_path = obj.getPhysicalPath()
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         activity.flush(aq_inner(self), object_path, invoke=invoke, **kw)
 
     def start(self, **kw):
       global is_initialized
       if not is_initialized: self.initialize()
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         activity.start(aq_inner(self), **kw)
 
     def stop(self, **kw):
       global is_initialized
       if not is_initialized: self.initialize()
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         activity.stop(aq_inner(self), **kw)
 
     def invoke(self, message):
@@ -933,7 +931,7 @@
       # Obtain all pending messages.
       message_list = []
       if keep:
-        for activity in activity_list:
+        for activity in activity_dict.itervalues():
           if hasattr(activity, 'dumpMessageList'):
             try:
               message_list.extend(activity.dumpMessageList(self))
@@ -990,7 +988,7 @@
       if not is_initialized: self.initialize()
 
       message_list = []
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         try:
           message_list += activity.getMessageList(aq_inner(self),**kw)
         except AttributeError:
@@ -1003,7 +1001,7 @@
         Return the number of messages which match the given tag.
       """
       message_count = 0
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         message_count += activity.countMessageWithTag(aq_inner(self), value)
       return message_count
 
@@ -1020,7 +1018,7 @@
         message_uid : activities with a particular uid
       """
       message_count = 0
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         message_count += activity.countMessage(aq_inner(self), **kw)
       return message_count
 
@@ -1048,7 +1046,7 @@
       if not is_initialized: self.initialize()
       message_list = []
       method_id = "_validate_%s" % validator_id
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         method = getattr(activity, method_id, None)
         if method is not None:
           result = method(aq_inner(self), message, validation_value)
@@ -1060,7 +1058,7 @@
     def timeShift(self, delay):
       global is_initialized
       if not is_initialized: self.initialize()
-      for activity in activity_list:
+      for activity in activity_dict.itervalues():
         activity.timeShift(aq_inner(self), delay)
 
 InitializeClass(ActivityTool)




More information about the Erp5-report mailing list