[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