From 85d2b4ca47809d367873027f05ebb2249343eaf8 Mon Sep 17 00:00:00 2001
From: Jean-Paul Smets <jp@nexedi.com>
Date: Sun, 8 Feb 2004 19:42:57 +0000
Subject: [PATCH] *** empty log message ***

git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@443 20353a03-c40f-0410-a6d1-a30d3c3de9de
---
 product/CMFActivity/Activity/ZODBDict.py | 118 -----------------------
 1 file changed, 118 deletions(-)
 delete mode 100755 product/CMFActivity/Activity/ZODBDict.py

diff --git a/product/CMFActivity/Activity/ZODBDict.py b/product/CMFActivity/Activity/ZODBDict.py
deleted file mode 100755
index e34dd92883..0000000000
--- a/product/CMFActivity/Activity/ZODBDict.py
+++ /dev/null
@@ -1,118 +0,0 @@
-##############################################################################
-#
-# Copyright (c) 2002 Nexedi SARL and Contributors. All Rights Reserved.
-#                    Jean-Paul Smets-Solanes <jp@nexedi.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsability of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# garantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
-#
-##############################################################################
-
-from BTrees.OOBTree import OOBTree
-from BTrees.OIBTree import OITreeSet
-from Products.CMFActivity.ActivityTool import registerActivity
-from RAMDict import RAMDict
-
-from zLOG import LOG
-
-class ZODBDict(RAMDict):
-  """
-    A simple OOBTree based queue. It should be compatible with transactions
-    and provide sequentiality. Should not create conflict
-    because use of OOBTree.
-  """
-
-  def initialize(self, activity_tool):
-    # This is the only moment when
-    # we can set some global variables related
-    # to the ZODB context
-    if not self.is_initialized:
-      RAMDict.initialize(self, activity_tool)
-      if getattr(activity_tool.activity_data, 'message_dict', None) is None:
-        activity_tool.activity_data.message_dict = OOBTree()
-      if getattr(activity_tool.activity_data, 'activable_set', None) is None:
-        activity_tool.activity_data.activable_set = OITreeSet()
-
-  def queueMessage(self, activity_tool, m):
-    message_dict = activity_tool.activity_data.message_dict
-    activable_set = activity_tool.activity_data.activable_set
-    if not message_dict.has_key(m.object_path):
-      message_dict[m.object_path] = OOBTree()
-    #message_dict[m.object_path][m.method_id] = self.dumpMessage(m)
-    message_dict[m.object_path][m.method_id] = m
-    activable_set.insert(m.object_path) # Add to set
-
-  def dequeueMessage(self, activity_tool, processing_node):
-    message_dict = activity_tool.activity_data.message_dict
-    activable_set = activity_tool.activity_data.activable_set
-    # We never erase BTree items a this point
-    # with the hope it reduces the risk of conflict
-    if len(activable_set) > 0:
-      object_path = activable_set[0]
-      object_dict = message_dict[object_path]
-      for key, m in object_dict.items():
-        #if m.validate(self, activity_tool):
-        if 1:
-          #activity_tool.invoke(self.loadMessage(m))
-          activity_tool.invoke(m)
-          del object_dict[key]
-          return 0
-      # We only reach this point if there are no more messages
-      activable_set.remove(object_path)
-    return 1
-
-  def hasActivity(self, activity_tool, object, method_id=None, **kw):
-    message_dict = activity_tool.activity_data.message_dict
-    activable_set = activity_tool.activity_data.activable_set
-    my_object_path = object.getPhysicalPath()
-    if my_object_path in activable_set:
-      object_dict = message_dict[object_path]
-      if len(object_dict) > 0:
-        return 1
-    return 0
-
-  def flush(self, activity_tool, object_path, invoke=0, method_id=None, **kw):
-    """
-      object_path is a tuple
-    """
-    message_dict = activity_tool.activity_data.message_dict
-    activable_set = activity_tool.activity_data.activable_set
-    #LOG('CMFActivity ZODBDict: ', 0, str(object_path))
-    if object_path in activable_set:
-      object_dict = message_dict[object_path]
-      activable_set.remove(object_path)
-      for key, m in object_dict.items():
-        #LOG('CMFActivity ZODBDict: ', 0, 'flushing object %s' % '/'.join(m.object_path))
-        #if invoke: activity_tool.invoke(self.loadMessage(m))
-        if invoke: activity_tool.invoke(m)
-        del object_dict[key]
-
-  def getMessageList(self, activity_tool, processing_node=None):
-    message_dict = activity_tool.activity_data.message_dict
-    activable_set = activity_tool.activity_data.activable_set
-    result = []
-    for object_path in activable_set:
-      object_dict = message_dict[object_path]
-      #result = result + list(map(lambda m: self.loadMessage(m),object_dict.values()))
-      result = result + list(object_dict.values())
-    return result
-
-registerActivity(ZODBDict)
-- 
2.30.9