Hi Bernd, i did such changes in the DNSRBLHandler .. Maybe you look there ( It should be in the comment).. I think we should use such method to get better "api" for writing tests etc.. It also sems cleaner to me!
bye Norman Am Donnerstag, den 29.06.2006, 07:48 +0000 schrieb Bernd Fondermann (JIRA): > [ > http://issues.apache.org/jira/browse/JAMES-494?page=comments#action_12418403 > ] > > Bernd Fondermann commented on JAMES-494: > ---------------------------------------- > > Anyone having any objections starting this? > For me, the JNDI part is a separate task so I would leave this out in the > first place. > > > Refactor the service methods to inject services via setters > > ----------------------------------------------------------- > > > > Key: JAMES-494 > > URL: http://issues.apache.org/jira/browse/JAMES-494 > > Project: James > > Type: Sub-task > > > Versions: 2.4.0 > > Reporter: Stefano Bagnara > > Assignee: Bernd Fondermann > > Fix For: 2.4.0 > > > > > Nothing worth more than an example: > > Here is the current service method of the SMTPServer: > > public void service( final ServiceManager manager ) throws ServiceException > > { > > super.service( manager ); > > serviceManager = manager; > > mailetcontext = (MailetContext) > > manager.lookup("org.apache.mailet.MailetContext"); > > mailServer = (MailServer) manager.lookup(MailServer.ROLE); > > users = (UsersRepository) manager.lookup(UsersRepository.ROLE); > > dnsServer = (DNSServer) manager.lookup(DNSServer.ROLE); > > } > > We could change it to > > public void service( final ServiceManager manager ) throws ServiceException > > { > > super.service( manager ); > > serviceManager = manager; > > setMailetContext((MailetContext) > > manager.lookup("org.apache.mailet.MailetContext")); > > setMailServer((MailServer) manager.lookup(MailServer.ROLE)); > > setUsersRepository((UsersRepository) > > manager.lookup(UsersRepository.ROLE)); > > setDNSServer((DNSServer) manager.lookup(DNSServer.ROLE)); > > } > > and add the above setters. > > This way we can fill dependencies of SMTPServer without using the > > Serviceable interface and the ServiceManager component. > > Later we'll move the whole service method and Serviceable interface to the > > specific Avalon extension of the "container-agnostic" SMTPServer. >
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil