On Tuesday 03 May 2005 09:18, Andreas Jung wrote: > I have an utility registered as > > <utility > provides="textindexng.interfaces.ILexicon" > factory="textindexng.lexicon.LexiconFactory" > name="txng.lexicons.default" > > /> > > trying to create a new Lexicon instance through > > lexicon zapi.createObject(None, 'txng.lexicons.default') > > does not work (Zope 2.8, Five) because the factory does not seem > to be registered for IFactory.
Right. Because the directive immediately instantiates the utility. > Adding > > <utility > provides="zope.component.interfaces.IFactory" > component="textindexng.lexicon.LexionFactory" > name="txng.lexicons.default" > /> > > resolves the issue. But why is the explicit declaration of the factory > necessary? IMO the first declaration implies the second one. So this > looks like configuration overhead to me...thoughts? Well, this is totally different. Here you register a factory called "txng.lexicons.default", not a utility! So getUtility() will not work. Regards, Stephan -- Stephan Richter CBU Physics & Chemistry (B.S.) / Tufts Physics (Ph.D. student) Web2k - Web Software Design, Development and Training _______________________________________________ Zope3-users mailing list [email protected] http://mail.zope.org/mailman/listinfo/zope3-users
