Author: eric
Date: Tue Aug 31 10:48:03 2010
New Revision: 991150

URL: http://svn.apache.org/viewvc?rev=991150&view=rev
Log:
Fetchmail is now working again (JAMES-1038)

Modified:
    
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
    
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
    
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
    
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java

Modified: 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java?rev=991150&r1=991149&r2=991150&view=diff
==============================================================================
--- 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
 (original)
+++ 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchMail.java
 Tue Aug 31 10:48:03 2010
@@ -33,9 +33,11 @@ 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 +450,21 @@ public class FetchMail implements Runnab
         if (accounts.getKeys().hasNext() == false)
             throw new ConfigurationException("Missing <account> section.");
 
-        // Create an Account for every configured account
-        Iterator<String> accountsChildren = accounts.getKeys();
-        
+        List<Node> 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))
             {
                 // <allLocal> 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 +476,12 @@ public class FetchMail implements Runnab
                     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;
             }

Modified: 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java?rev=991150&r1=991149&r2=991150&view=diff
==============================================================================
--- 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
 (original)
+++ 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/FetchScheduler.java
 Tue Aug 31 10:48:03 2010
@@ -75,8 +75,7 @@ public class FetchScheduler implements F
 
 
     private UsersRepository urepos;
-
-
+    
     private Log logger;
 
     @Resource(name="scheduler")
@@ -105,7 +104,6 @@ public class FetchScheduler implements F
         this.logger = logger;
     }
     
-    
     public final void configure(HierarchicalConfiguration config) throws 
ConfigurationException{
         this.conf = config;
     }
@@ -127,11 +125,14 @@ public class FetchScheduler implements F
                 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));
             }

Modified: 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java?rev=991150&r1=991149&r2=991150&view=diff
==============================================================================
--- 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
 (original)
+++ 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/MessageProcessor.java
 Tue Aug 31 10:48:03 2010
@@ -886,10 +886,9 @@ public class MessageProcessor extends Pr
      * @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());
     }
     
     /**

Modified: 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java?rev=991150&r1=991149&r2=991150&view=diff
==============================================================================
--- 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
 (original)
+++ 
james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ParsedConfiguration.java
 Tue Aug 31 10:48:03 2010
@@ -357,7 +357,7 @@ class ParsedConfiguration
             recipientNotFound.getBoolean("[...@leaveonserver]"));
         setMarkRecipientNotFoundSeen(
             recipientNotFound.getBoolean("[...@markseen]"));
-        setDefaultDomainName(conf.getString("defaultdomain"));
+        setDefaultDomainName(conf.getString("defaultdomain", "localhost"));
 
         setFetchAll(conf.getBoolean("fetchall"));
 



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to