[Checkins] SVN: Products.CMFCore/trunk/Products/CMFCore/ - removed obsolete MemberData factory lookup

Yvo Schubbe y.2011 at wcm-solutions.de
Tue Feb 22 11:38:50 EST 2011


Log message for revision 120516:
  - removed obsolete MemberData factory lookup

Changed:
  U   Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
  U   Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py
  U   Products.CMFCore/trunk/Products/CMFCore/tests/test_MemberDataTool.py
  U   Products.CMFCore/trunk/Products/CMFCore/tool.zcml

-=-
Modified: Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt	2011-02-22 16:14:58 UTC (rev 120515)
+++ Products.CMFCore/trunk/Products/CMFCore/CHANGES.txt	2011-02-22 16:38:50 UTC (rev 120516)
@@ -4,6 +4,10 @@
 2.3.0-alpha (unreleased)
 ------------------------
 
+- MemberDataTool: Removed obsolete MemberData factory lookup.
+  This feature was added in CMF 2.2, but now the MemberAdapter should be
+  overridden instead.
+
 - MemberDataTool: Split up MemberData class.
   The old MemberData API is now provided by the new MemberAdapter. The
   persistent MemberData objects are just used for storing member data.

Modified: Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py	2011-02-22 16:14:58 UTC (rev 120515)
+++ Products.CMFCore/trunk/Products/CMFCore/MemberDataTool.py	2011-02-22 16:38:50 UTC (rev 120516)
@@ -27,9 +27,6 @@
 from Persistence import Persistent
 from zope.component import adapts
 from zope.component import getMultiAdapter
-from zope.component import queryUtility
-from zope.component.factory import Factory
-from zope.component.interfaces import IFactory
 from zope.interface import implements
 from ZPublisher.Converters import type_converters
 
@@ -226,9 +223,7 @@
     def __init__(self, id):
         self.id = id
 
-memberFactory = Factory(MemberData)
 
-
 class MemberAdapter(object):
 
     """Member data adapter.
@@ -243,15 +238,8 @@
         self._user = user
         self._tool = tool
         self.__parent__ = aq_parent(aq_inner(user))
-
         id = user.getId()
-        members = tool._members
-        if not id in members:
-            member_factory = queryUtility(IFactory, u'MemberData')
-            if member_factory is None:
-                member_factory = MemberData
-            members[id] = member_factory(id)
-        self._md = members[id]
+        self._md = tool._members.setdefault(id, MemberData(id))
 
     security.declarePrivate('notifyModified')
     def notifyModified(self):

Modified: Products.CMFCore/trunk/Products/CMFCore/tests/test_MemberDataTool.py
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tests/test_MemberDataTool.py	2011-02-22 16:14:58 UTC (rev 120515)
+++ Products.CMFCore/trunk/Products/CMFCore/tests/test_MemberDataTool.py	2011-02-22 16:38:50 UTC (rev 120516)
@@ -17,10 +17,7 @@
 import Testing
 
 import Acquisition
-from zope.component import provideUtility
-from zope.component.interfaces import IFactory
 from zope.interface.verify import verifyClass
-from zope.testing.cleanup import cleanUp
 
 
 class DummyUserFolder(Acquisition.Implicit):
@@ -136,9 +133,6 @@
         self.mdtool = DummyMemberDataTool()
         self.aclu = DummyUserFolder()
 
-    def tearDown(self):
-        cleanUp()
-
     def test_interfaces(self):
         from AccessControl.interfaces import IUser
         from Products.CMFCore.interfaces import IMember
@@ -166,22 +160,7 @@
         self.assertEqual(list(user.roles), ['NewRole'])
         self.assertEqual(list(user.domains), ['newdomain'])
 
-    def test_switching_memberdata_factory(self):
-        from Products.CMFCore.MemberDataTool import MemberData
 
-        user1 = DummyUser('dummy', '', [], []).__of__(self.aclu)
-        member = self._makeOne(user1, self.mdtool)
-        self.assertEqual(getattr(member._md, 'iamnew', None), None)
-
-        class NewMemberData(MemberData):
-            iamnew = 'yes'
-        provideUtility(NewMemberData, IFactory, 'MemberData')
-
-        user2 = DummyUser('dummy2', '', [], []).__of__(self.aclu)
-        member = self._makeOne(user2, self.mdtool)
-        self.assertEqual(getattr(member._md, 'iamnew', None), 'yes')
-
-
 def test_suite():
     return unittest.TestSuite((
         unittest.makeSuite(MemberDataToolTests),

Modified: Products.CMFCore/trunk/Products/CMFCore/tool.zcml
===================================================================
--- Products.CMFCore/trunk/Products/CMFCore/tool.zcml	2011-02-22 16:14:58 UTC (rev 120515)
+++ Products.CMFCore/trunk/Products/CMFCore/tool.zcml	2011-02-22 16:38:50 UTC (rev 120516)
@@ -36,11 +36,6 @@
       global="False"
       />
 
-  <utility
-      component=".MemberDataTool.memberFactory"
-      name="MemberData"
-      />
-
   <adapter factory=".MemberDataTool.MemberAdapter"/>
 
   <adapter factory=".WorkflowTool.DefaultWorkflowStatus" />



More information about the checkins mailing list