Index: src/main/java/org/apache/james/fetchmail/FetchMail.java =================================================================== --- src/main/java/org/apache/james/fetchmail/FetchMail.java (révision 988610) +++ src/main/java/org/apache/james/fetchmail/FetchMail.java (copie de travail) @@ -30,12 +30,13 @@ import java.util.Map; import java.util.Properties; -import javax.annotation.Resource; import javax.mail.MessagingException; import javax.mail.Session; +import javax.security.auth.login.Configuration; import org.apache.commons.configuration.ConfigurationException; import org.apache.commons.configuration.HierarchicalConfiguration; +import org.apache.commons.configuration.HierarchicalConfiguration.Node; import org.apache.commons.logging.Log; import org.apache.james.api.dnsservice.DNSService; import org.apache.james.api.user.UsersRepository; @@ -448,20 +449,21 @@ if (accounts.getKeys().hasNext() == false) throw new ConfigurationException("Missing section."); - // Create an Account for every configured account - Iterator accountsChildren = accounts.getKeys(); - + List accountsChildren = accounts.getRoot().getChildren(); int i = 0; - while (accountsChildren.hasNext()){ - String accountsChildName = accountsChildren.next(); - HierarchicalConfiguration accountsChild = accounts.configurationAt(accountsChildName); + // Create an Account for every configured account + for (Node accountsChild: accountsChildren) { + + String accountsChildName = accountsChild.getName(); + + HierarchicalConfiguration accountsChildConfig = accounts.configurationAt(accountsChildName); if ("alllocal".equals(accountsChildName)) { // is dynamic, save the parameters for accounts to // be created when the task is triggered getParsedDynamicAccountParameters().add( - new ParsedDynamicAccountParameters(i, accountsChild)); + new ParsedDynamicAccountParameters(i, accountsChildConfig)); continue; } @@ -473,12 +475,12 @@ new Account( i, parsedConfiguration, - accountsChild.getString("[@user]"), - accountsChild.getString("[@password]"), - accountsChild.getString("[@recipient]"), - accountsChild.getBoolean( + accountsChildConfig.getString("[@user]"), + accountsChildConfig.getString("[@password]"), + accountsChildConfig.getString("[@recipient]"), + accountsChildConfig.getBoolean( "[@ignorercpt-header]"), - accountsChild.getString("[@customrcpt-header]",""), + accountsChildConfig.getString("[@customrcpt-header]",""), getSession())); continue; } @@ -654,18 +656,15 @@ } - @Resource(name="dnsserver") public void setDNSService(DNSService dns) { this.dnsServer = dns; } - @Resource(name="James") public void setMailServer(MailServer mailserver) { this.fieldServer = mailserver; } - @Resource(name="localusersrepository") public void setUsersRepository(UsersRepository urepos) { this.fieldLocalUsers = urepos; } Index: src/main/java/org/apache/james/fetchmail/FetchScheduler.java =================================================================== --- src/main/java/org/apache/james/fetchmail/FetchScheduler.java (révision 988805) +++ src/main/java/org/apache/james/fetchmail/FetchScheduler.java (copie de travail) @@ -75,8 +75,7 @@ private UsersRepository urepos; - - + private Log logger; @Resource(name="scheduler") @@ -105,7 +104,6 @@ this.logger = logger; } - public final void configure(HierarchicalConfiguration config) throws ConfigurationException{ this.conf = config; } @@ -127,11 +125,14 @@ Long interval = fetchConf.getLong("interval"); FetchMail fetcher = new FetchMail(); + fetcher.setLog(logger); - fetcher.configure(fetchConf); fetcher.setDNSService(dns); fetcher.setMailServer(mailserver); fetcher.setUsersRepository(urepos); + + fetcher.configure(fetchConf); + // initialize scheduling schedulers.add(scheduler.scheduleWithFixedDelay(fetcher, 0, interval, TimeUnit.MILLISECONDS)); } Index: src/main/java/org/apache/james/fetchmail/MessageProcessor.java =================================================================== --- src/main/java/org/apache/james/fetchmail/MessageProcessor.java (révision 988610) +++ src/main/java/org/apache/james/fetchmail/MessageProcessor.java (copie de travail) @@ -886,10 +886,9 @@ * @param recipient * @return boolean */ - @SuppressWarnings("deprecation") protected boolean isLocalRecipient(MailAddress recipient) { - return isLocalServer(recipient) && getLocalUsers().contains(recipient.getUser()); + return isLocalServer(recipient) && getLocalUsers().contains(recipient.toString()); } /** Index: src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java =================================================================== --- src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java (révision 988610) +++ src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java (copie de travail) @@ -357,7 +357,7 @@ recipientNotFound.getBoolean("[@leaveonserver]")); setMarkRecipientNotFoundSeen( recipientNotFound.getBoolean("[@markseen]")); - setDefaultDomainName(conf.getString("defaultdomain")); + setDefaultDomainName(conf.getString("defaultdomain", "localhost")); setFetchAll(conf.getBoolean("fetchall"));