[ 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. -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]