You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by fe...@apache.org on 2011/04/04 16:59:14 UTC

svn commit: r1088657 [5/9] - in /james/server/trunk: container-spring/src/main/java/org/apache/james/container/spring/bean/factory/mailrepositorystore/ core/src/main/java/org/apache/james/core/ data-api/src/main/java/org/apache/james/domainlist/api/ da...

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=1088657&r1=1088656&r2=1088657&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 Mon Apr  4 14:59:11 2011
@@ -17,8 +17,6 @@
  * under the License.                                           *
  ****************************************************************/
 
-
- 
 package org.apache.james.fetchmail;
 
 import java.net.UnknownHostException;
@@ -39,87 +37,77 @@ import org.apache.mailet.MailAddress;
 import org.slf4j.Logger;
 
 /**
- * <p>Parses and validates an 
- * <code>org.apache.avalon.framework.configuration.Configuration</code>.</p>
- * 
- * <p>Creation Date: 27-May-03</p>
- * 
+ * <p>
+ * Parses and validates an
+ * <code>org.apache.avalon.framework.configuration.Configuration</code>.
+ * </p>
  */
-class ParsedConfiguration
-{
+class ParsedConfiguration {
     /**
      * The logger.
      */
     private Logger fieldLogger;
-    
+
     /**
      * The name of the folder to fetch from the javamail provider
-     *
+     * 
      */
-    private String fieldJavaMailFolderName = "INBOX";    
-    
+    private String fieldJavaMailFolderName = "INBOX";
 
     /**
      * The name of the javamail provider we want to user (pop3,imap,nntp,etc...)
-     *
+     * 
      */
     private String fieldJavaMailProviderName = "pop3";
 
-
     /**
      * Returns the javaMailFolderName.
+     * 
      * @return String
      */
-    public String getJavaMailFolderName()
-    {
+    public String getJavaMailFolderName() {
         return fieldJavaMailFolderName;
     }
 
-
     /**
      * Returns the javaMailProviderName.
+     * 
      * @return String
      */
-    public String getJavaMailProviderName()
-    {
+    public String getJavaMailProviderName() {
         return fieldJavaMailProviderName;
     }
 
-
     /**
      * Sets the javaMailFolderName.
-     * @param javaMailFolderName The javaMailFolderName to set
+     * 
+     * @param javaMailFolderName
+     *            The javaMailFolderName to set
      */
-    protected void setJavaMailFolderName(String javaMailFolderName)
-    {
+    protected void setJavaMailFolderName(String javaMailFolderName) {
         fieldJavaMailFolderName = javaMailFolderName;
     }
 
-
     /**
      * Sets the javaMailProviderName.
-     * @param javaMailProviderName The javaMailProviderName to set
+     * 
+     * @param javaMailProviderName
+     *            The javaMailProviderName to set
      */
-    protected void setJavaMailProviderName(String javaMailProviderName)
-    {
+    protected void setJavaMailProviderName(String javaMailProviderName) {
         fieldJavaMailProviderName = javaMailProviderName;
     }
 
-
-    
-    
     /**
-     * Fetch both old (seen) and new messages from the mailserver.  The default
+     * Fetch both old (seen) and new messages from the mailserver. The default
      * is to fetch only messages the server are not marked as seen.
      */
     private boolean fieldFetchAll = false;
 
-
     /**
      * The unique, identifying name for this task
      */
     private String fieldFetchTaskName;
-    
 
     /**
      * The server host name for this fetch task
@@ -127,179 +115,171 @@ class ParsedConfiguration
     private String fieldHost;
 
     /**
-     * Keep retrieved messages on the remote mailserver.  Normally, messages
-     * are deleted from the folder on the mailserver after they have been retrieved
+     * Keep retrieved messages on the remote mailserver. Normally, messages are
+     * deleted from the folder on the mailserver after they have been retrieved
      */
     private boolean fieldLeave = false;
-    
+
     /**
-     * Keep blacklisted messages on the remote mailserver.  Normally, messages
+     * Keep blacklisted messages on the remote mailserver. Normally, messages
      * are kept in the folder on the mailserver if they have been rejected
      */
     private boolean fieldLeaveBlacklisted = true;
-    
+
     /**
-     * Keep messages for remote recipients on the remote mailserver.  Normally,
-     * messages are kept in the folder on the mailserver if they have been 
+     * Keep messages for remote recipients on the remote mailserver. Normally,
+     * messages are kept in the folder on the mailserver if they have been
      * rejected.
      */
-    private boolean fieldLeaveRemoteRecipient = true;    
-    
+    private boolean fieldLeaveRemoteRecipient = true;
+
     /**
-     * Keep messages for undefined users on the remote mailserver.  Normally, 
-     * messages are kept in the folder on the mailserver if they have been 
+     * Keep messages for undefined users on the remote mailserver. Normally,
+     * messages are kept in the folder on the mailserver if they have been
      * rejected.
      */
     private boolean fieldLeaveUserUndefined = true;
-    
+
     /**
-     * Keep undeliverable messages on the remote mailserver.  Normally, 
-     * messages are kept in the folder on the mailserver if they cannot 
-     * be delivered.
+     * Keep undeliverable messages on the remote mailserver. Normally, messages
+     * are kept in the folder on the mailserver if they cannot be delivered.
      */
-    private boolean fieldLeaveUndeliverable = true;            
-    
+    private boolean fieldLeaveUndeliverable = true;
 
     /**
-     * Mark retrieved messages on the remote mailserver as seen.  Normally, 
+     * Mark retrieved messages on the remote mailserver as seen. Normally,
      * messages are marked as seen after they have been retrieved
      */
     private boolean fieldMarkSeen = true;
-    
+
     /**
-     * Mark blacklisted messages on the remote mailserver as seen.  Normally, 
+     * Mark blacklisted messages on the remote mailserver as seen. Normally,
      * messages are not marked as seen if they have been rejected
      */
     private boolean fieldMarkBlacklistedSeen = false;
-    
+
     /**
-     * Mark remote recipient messages on the remote mailserver as seen. Normally, 
-     * messages are not marked as seen if they have been rejected
+     * Mark remote recipient messages on the remote mailserver as seen.
+     * Normally, messages are not marked as seen if they have been rejected
      */
-    private boolean fieldMarkRemoteRecipientSeen = false;    
-    
+    private boolean fieldMarkRemoteRecipientSeen = false;
+
     /**
      * Mark messages for undefined users on the remote mail server as seen.
      * Normally, messages are not marked as seen if they have been rejected.
      */
     private boolean fieldMarkUserUndefinedSeen = false;
-    
+
     /**
-     * Mark undeliverable messages on the remote mail server as seen.
-     * Normally, messages are not marked as seen if they are undeliverable.
+     * Mark undeliverable messages on the remote mail server as seen. Normally,
+     * messages are not marked as seen if they are undeliverable.
      */
-    private boolean fieldMarkUndeliverableSeen = false; 
-    
+    private boolean fieldMarkUndeliverableSeen = false;
+
     /**
-     * Defer processing of messages for which the intended recipient cannot
-     * be determined to the next pass.
+     * Defer processing of messages for which the intended recipient cannot be
+     * determined to the next pass.
      */
-    private boolean fieldDeferRecipientNotFound = false;                 
-
+    private boolean fieldDeferRecipientNotFound = false;
 
     /**
      * Recurse folders if available?
      */
     private boolean fieldRecurse = false;
-    
-    
 
     /**
      * The domain part to use to complete partial addresses
      */
-    private String fieldDefaultDomainName; 
-    
+    private String fieldDefaultDomainName;
+
     /**
-     * Only accept mail for defined recipients.
-     * All other mail is rejected.
+     * Only accept mail for defined recipients. All other mail is rejected.
      */
     private boolean fieldRejectUserUndefined;
-    
+
     /**
-     * The index of the received header to use to compute the remote address
-     * and remote host name for a message. This is 0 based and defaults to -1.
+     * The index of the received header to use to compute the remote address and
+     * remote host name for a message. This is 0 based and defaults to -1.
      */
     private int fieldRemoteReceivedHeaderIndex = -1;
-    
+
     /**
      * Keep messages with an invalid received header on the remote mailserver.
-     * Normally, messages are kept in the folder on the mailserver if they have been
-     * rejected
+     * Normally, messages are kept in the folder on the mailserver if they have
+     * been rejected
      */
     private boolean fieldLeaveRemoteReceivedHeaderInvalid = true;
-    
+
     /**
-     * Mark messages with an invalid received header on the remote mailserver as 
-     * seen.  Normally, messages are not marked as seen if they have been rejected.
+     * Mark messages with an invalid received header on the remote mailserver as
+     * seen. Normally, messages are not marked as seen if they have been
+     * rejected.
      */
     private boolean fieldMarkRemoteReceivedHeaderInvalidSeen = false;
-    
+
     /**
      * Reject messages with an invalid received header.
      */
-    private boolean fieldRejectRemoteReceivedHeaderInvalid;                
-    
+    private boolean fieldRejectRemoteReceivedHeaderInvalid;
+
     /**
      * Reject messages for which a recipient could not be determined.
      */
     private boolean fieldRejectRecipientNotFound;
-    
+
     /**
      * Leave messages on the server for which a recipient could not be
      * determined.
      */
-    private boolean fieldLeaveRecipientNotFound; 
-    
+    private boolean fieldLeaveRecipientNotFound;
+
     /**
      * Mark as seen messages on the server for which a recipient could not be
      * determined.
      */
-    private boolean fieldMarkRecipientNotFoundSeen;       
-    
+    private boolean fieldMarkRecipientNotFoundSeen;
+
     /**
      * Reject mail for blacklisted users
      */
     private boolean fieldRejectBlacklisted;
 
     /**
-     * Only accept mail for local recipients.
-     * All other mail is rejected.
+     * Only accept mail for local recipients. All other mail is rejected.
      */
-    private boolean fieldRejectRemoteRecipient;    
+    private boolean fieldRejectRemoteRecipient;
 
     /**
      * The Set of MailAddresses for whom mail should be rejected
-     */    
-    private Set<MailAddress> fieldBlacklist; 
+     */
+    private Set<MailAddress> fieldBlacklist;
 
     /**
-     * The maximum message size limit
-     * 0 means no limit.
+     * The maximum message size limit 0 means no limit.
      */
     private int fieldMaxMessageSizeLimit = 0;
-    
+
     /**
      * Reject mail exceeding the maximum message size limit
      */
     private boolean fieldRejectMaxMessageSizeExceeded;
-    
+
     /**
      * Leave messages on the server that exceed the maximum message size limit.
      */
-    private boolean fieldLeaveMaxMessageSizeExceeded; 
-    
+    private boolean fieldLeaveMaxMessageSizeExceeded;
+
     /**
      * Mark as seen messages on the server that exceed the maximum message size
      * limit.
      */
-    private boolean fieldMarkMaxMessageSizeExceededSeen;        
-    
-   /**
+    private boolean fieldMarkMaxMessageSizeExceededSeen;
+
+    /**
      * The Local Users repository
      */
-    private UsersRepository fieldLocalUsers;    
-    
-    
+    private UsersRepository fieldLocalUsers;
+
     /**
      * The DNSService
      */
@@ -309,55 +289,45 @@ class ParsedConfiguration
 
     private DomainList domainList;
 
-
-
     /**
      * Constructor for ParsedConfiguration.
      */
-    private ParsedConfiguration()
-    {
+    private ParsedConfiguration() {
         super();
     }
-    
+
     /**
      * Constructor for ParsedConfiguration.
+     * 
      * @param configuration
      * @param logger
      * @param localUsers
      * @param dnsServer
      * @throws ConfigurationException
      */
-    public ParsedConfiguration(HierarchicalConfiguration configuration, Logger logger, UsersRepository localUsers,DNSService dnsServer, DomainList domainList, MailQueue queue) throws ConfigurationException
-    {
+    public ParsedConfiguration(HierarchicalConfiguration configuration, Logger logger, UsersRepository localUsers, DNSService dnsServer, DomainList domainList, MailQueue queue) throws ConfigurationException {
         this();
         setLogger(logger);
-        setLocalUsers(localUsers);   
+        setLocalUsers(localUsers);
         setDNSServer(dnsServer);
         setDomainList(domainList);
         setMailQueue(queue);
         configure(configuration);
     }
-    
-    
-    protected void configure(HierarchicalConfiguration conf) throws ConfigurationException
-    {
+
+    protected void configure(HierarchicalConfiguration conf) throws ConfigurationException {
         setHost(conf.getString("host"));
 
         setFetchTaskName(conf.getString("[@name]"));
-        setJavaMailProviderName(
-            conf.getString("javaMailProviderName"));
+        setJavaMailProviderName(conf.getString("javaMailProviderName"));
         setJavaMailFolderName(conf.getString("javaMailFolderName"));
         setRecurse(conf.getBoolean("recursesubfolders"));
 
         HierarchicalConfiguration recipientNotFound = conf.configurationAt("recipientnotfound");
-        setDeferRecipientNotFound(
-            recipientNotFound.getBoolean("[@defer]"));
-        setRejectRecipientNotFound(
-            recipientNotFound.getBoolean("[@reject]"));
-        setLeaveRecipientNotFound(
-            recipientNotFound.getBoolean("[@leaveonserver]"));
-        setMarkRecipientNotFoundSeen(
-            recipientNotFound.getBoolean("[@markseen]"));
+        setDeferRecipientNotFound(recipientNotFound.getBoolean("[@defer]"));
+        setRejectRecipientNotFound(recipientNotFound.getBoolean("[@reject]"));
+        setLeaveRecipientNotFound(recipientNotFound.getBoolean("[@leaveonserver]"));
+        setMarkRecipientNotFoundSeen(recipientNotFound.getBoolean("[@markseen]"));
         setDefaultDomainName(conf.getString("defaultdomain", "localhost"));
 
         setFetchAll(conf.getBoolean("fetchall"));
@@ -367,811 +337,791 @@ class ParsedConfiguration
         setMarkSeen(fetched.getBoolean("[@markseen]"));
 
         HierarchicalConfiguration remoterecipient = conf.configurationAt("remoterecipient");
-        setRejectRemoteRecipient(
-            remoterecipient.getBoolean("[@reject]"));
-        setLeaveRemoteRecipient(
-            remoterecipient.getBoolean("[@leaveonserver]"));
-        setMarkRemoteRecipientSeen(
-            remoterecipient.getBoolean("[@markseen]"));
+        setRejectRemoteRecipient(remoterecipient.getBoolean("[@reject]"));
+        setLeaveRemoteRecipient(remoterecipient.getBoolean("[@leaveonserver]"));
+        setMarkRemoteRecipientSeen(remoterecipient.getBoolean("[@markseen]"));
 
         HierarchicalConfiguration blacklist = conf.configurationAt("blacklist");
-        setBlacklist(conf.getString("blacklist",""));
+        setBlacklist(conf.getString("blacklist", ""));
         setRejectBlacklisted(blacklist.getBoolean("[@reject]"));
         setLeaveBlacklisted(blacklist.getBoolean("[@leaveonserver]"));
         setMarkBlacklistedSeen(blacklist.getBoolean("[@markseen]"));
 
         HierarchicalConfiguration userundefined = conf.configurationAt("userundefined");
         setRejectUserUndefined(userundefined.getBoolean("[@reject]"));
-        setLeaveUserUndefined(
-            userundefined.getBoolean("[@leaveonserver]"));
-        setMarkUserUndefinedSeen(
-            userundefined.getBoolean("[@markseen]"));
+        setLeaveUserUndefined(userundefined.getBoolean("[@leaveonserver]"));
+        setMarkUserUndefinedSeen(userundefined.getBoolean("[@markseen]"));
 
         HierarchicalConfiguration undeliverable = conf.configurationAt("undeliverable");
-        setLeaveUndeliverable(
-            undeliverable.getBoolean("[@leaveonserver]"));
-        setMarkUndeliverableSeen(
-            undeliverable.getBoolean("[@markseen]"));
+        setLeaveUndeliverable(undeliverable.getBoolean("[@leaveonserver]"));
+        setMarkUndeliverableSeen(undeliverable.getBoolean("[@markseen]"));
 
-        if (conf.getKeys("remotereceivedheader").hasNext())
-        {
+        if (conf.getKeys("remotereceivedheader").hasNext()) {
             HierarchicalConfiguration remotereceivedheader = conf.configurationAt("remotereceivedheader");
 
-            setRemoteReceivedHeaderIndex(
-                remotereceivedheader.getInt("[@index]"));
-            setRejectRemoteReceivedHeaderInvalid(
-                remotereceivedheader.getBoolean("[@reject]"));
-            setLeaveRemoteReceivedHeaderInvalid(
-                remotereceivedheader.getBoolean("[@leaveonserver]"));
-            setMarkRemoteReceivedHeaderInvalidSeen(
-                remotereceivedheader.getBoolean("[@markseen]"));
-        }            
+            setRemoteReceivedHeaderIndex(remotereceivedheader.getInt("[@index]"));
+            setRejectRemoteReceivedHeaderInvalid(remotereceivedheader.getBoolean("[@reject]"));
+            setLeaveRemoteReceivedHeaderInvalid(remotereceivedheader.getBoolean("[@leaveonserver]"));
+            setMarkRemoteReceivedHeaderInvalidSeen(remotereceivedheader.getBoolean("[@markseen]"));
+        }
 
-        if (conf.getKeys("maxmessagesize").hasNext())
-        {
+        if (conf.getKeys("maxmessagesize").hasNext()) {
             HierarchicalConfiguration maxmessagesize = conf.configurationAt("maxmessagesize");
 
-            setMaxMessageSizeLimit(
-                maxmessagesize.getInt("[@limit]") * 1024);
-            setRejectMaxMessageSizeExceeded(
-                maxmessagesize.getBoolean("[@reject]"));
-            setLeaveMaxMessageSizeExceeded(
-                maxmessagesize.getBoolean("[@leaveonserver]"));
-            setMarkMaxMessageSizeExceededSeen(
-                maxmessagesize.getBoolean("[@markseen]"));
+            setMaxMessageSizeLimit(maxmessagesize.getInt("[@limit]") * 1024);
+            setRejectMaxMessageSizeExceeded(maxmessagesize.getBoolean("[@reject]"));
+            setLeaveMaxMessageSizeExceeded(maxmessagesize.getBoolean("[@leaveonserver]"));
+            setMarkMaxMessageSizeExceededSeen(maxmessagesize.getBoolean("[@markseen]"));
         }
 
-        if (getLogger().isDebugEnabled())
-        {
-            getLogger().info(
-                "Configured FetchMail fetch task " + getFetchTaskName());
+        if (getLogger().isDebugEnabled()) {
+            getLogger().info("Configured FetchMail fetch task " + getFetchTaskName());
         }
     }
 
-
-        
-    
     /**
      * Returns the fetchAll.
+     * 
      * @return boolean
      */
-    public boolean isFetchAll()
-    {
+    public boolean isFetchAll() {
         return fieldFetchAll;
     }
 
     /**
      * Returns the fetchTaskName.
+     * 
      * @return String
      */
-    public String getFetchTaskName()
-    {
+    public String getFetchTaskName() {
         return fieldFetchTaskName;
     }
 
     /**
      * Returns the host.
+     * 
      * @return String
      */
-    public String getHost()
-    {
+    public String getHost() {
         return fieldHost;
     }
 
     /**
      * Returns the keep.
+     * 
      * @return boolean
      */
-    public boolean isLeave()
-    {
+    public boolean isLeave() {
         return fieldLeave;
     }
 
     /**
      * Returns the markSeen.
+     * 
      * @return boolean
      */
-    public boolean isMarkSeen()
-    {
+    public boolean isMarkSeen() {
         return fieldMarkSeen;
     }
-    
+
     /**
-     * Answers true if the folder should be opened read only.
-     * For this to be true the configuration options must not require
-     * folder updates.
+     * Answers true if the folder should be opened read only. For this to be
+     * true the configuration options must not require folder updates.
      * 
      * @return boolean
      */
-    protected boolean isOpenReadOnly()
-    {
-        return isLeave()
-            && !isMarkSeen()
-            && isLeaveBlacklisted()
-            && !isMarkBlacklistedSeen()
-            && isLeaveRemoteRecipient()
-            && !isMarkRemoteRecipientSeen()
-            && isLeaveUserUndefined()
-            && !isMarkUserUndefinedSeen()
-            && isLeaveUndeliverable()
-            && !isMarkUndeliverableSeen()
-            && isLeaveMaxMessageSizeExceeded()
-            && !isMarkMaxMessageSizeExceededSeen()              
-            && isLeaveRemoteReceivedHeaderInvalid()
-            && !isMarkRemoteReceivedHeaderInvalidSeen()             
-            ;
-    }   
+    protected boolean isOpenReadOnly() {
+        return isLeave() && !isMarkSeen() && isLeaveBlacklisted() && !isMarkBlacklistedSeen() && isLeaveRemoteRecipient() && !isMarkRemoteRecipientSeen() && isLeaveUserUndefined() && !isMarkUserUndefinedSeen() && isLeaveUndeliverable() && !isMarkUndeliverableSeen()
+                && isLeaveMaxMessageSizeExceeded() && !isMarkMaxMessageSizeExceededSeen() && isLeaveRemoteReceivedHeaderInvalid() && !isMarkRemoteReceivedHeaderInvalidSeen();
+    }
 
     /**
      * Returns the recurse.
+     * 
      * @return boolean
      */
-    public boolean isRecurse()
-    {
+    public boolean isRecurse() {
         return fieldRecurse;
     }
 
     /**
      * Sets the fetchAll.
-     * @param fetchAll The fetchAll to set
+     * 
+     * @param fetchAll
+     *            The fetchAll to set
      */
-    protected void setFetchAll(boolean fetchAll)
-    {
+    protected void setFetchAll(boolean fetchAll) {
         fieldFetchAll = fetchAll;
     }
 
     /**
      * Sets the fetchTaskName.
-     * @param fetchTaskName The fetchTaskName to set
+     * 
+     * @param fetchTaskName
+     *            The fetchTaskName to set
      */
-    protected void setFetchTaskName(String fetchTaskName)
-    {
+    protected void setFetchTaskName(String fetchTaskName) {
         fieldFetchTaskName = fetchTaskName;
     }
 
     /**
      * Sets the host.
-     * @param host The host to set
+     * 
+     * @param host
+     *            The host to set
      */
-    protected void setHost(String host)
-    {
+    protected void setHost(String host) {
         fieldHost = host;
     }
 
     /**
      * Sets the keep.
-     * @param keep The keep to set
+     * 
+     * @param keep
+     *            The keep to set
      */
-    protected void setLeave(boolean keep)
-    {
+    protected void setLeave(boolean keep) {
         fieldLeave = keep;
     }
 
     /**
      * Sets the markSeen.
-     * @param markSeen The markSeen to set
+     * 
+     * @param markSeen
+     *            The markSeen to set
      */
-    protected void setMarkSeen(boolean markSeen)
-    {
+    protected void setMarkSeen(boolean markSeen) {
         fieldMarkSeen = markSeen;
     }
 
     /**
      * Sets the recurse.
-     * @param recurse The recurse to set
+     * 
+     * @param recurse
+     *            The recurse to set
      */
-    protected void setRecurse(boolean recurse)
-    {
+    protected void setRecurse(boolean recurse) {
         fieldRecurse = recurse;
     }
 
     /**
      * Returns the logger.
+     * 
      * @return Logger
      */
-    public Logger getLogger()
-    {
+    public Logger getLogger() {
         return fieldLogger;
     }
 
     /**
      * Sets the logger.
-     * @param logger The logger to set
+     * 
+     * @param logger
+     *            The logger to set
      */
-    protected void setLogger(Logger logger)
-    {
+    protected void setLogger(Logger logger) {
         fieldLogger = logger;
     }
 
-/**
- * Returns the localUsers.
- * @return UsersRepository
- */
-public UsersRepository getLocalUsers()
-{
-    return fieldLocalUsers;
-}
-
-/**
- * Sets the localUsers.
- * @param localUsers The localUsers to set
- */
-protected void setLocalUsers(UsersRepository localUsers)
-{
-    fieldLocalUsers = localUsers;
-}
-
+    /**
+     * Returns the localUsers.
+     * 
+     * @return UsersRepository
+     */
+    public UsersRepository getLocalUsers() {
+        return fieldLocalUsers;
+    }
 
-/**
- * Return the DNSService
- * @return dnsServer The DNSService
- */
-public DNSService getDNSServer()
-{
-    return dnsServer;
-}
+    /**
+     * Sets the localUsers.
+     * 
+     * @param localUsers
+     *            The localUsers to set
+     */
+    protected void setLocalUsers(UsersRepository localUsers) {
+        fieldLocalUsers = localUsers;
+    }
 
+    /**
+     * Return the DNSService
+     * 
+     * @return dnsServer The DNSService
+     */
+    public DNSService getDNSServer() {
+        return dnsServer;
+    }
 
-/**
- * Set the DNSService
- * @param dnsServer The dnsServer to use
- */
-protected void setDNSServer(DNSService dnsServer)
-{
-    this.dnsServer = dnsServer;
-}
+    /**
+     * Set the DNSService
+     * 
+     * @param dnsServer
+     *            The dnsServer to use
+     */
+    protected void setDNSServer(DNSService dnsServer) {
+        this.dnsServer = dnsServer;
+    }
 
     /**
      * Returns the keepRejected.
+     * 
      * @return boolean
      */
-    public boolean isLeaveBlacklisted()
-    {
+    public boolean isLeaveBlacklisted() {
         return fieldLeaveBlacklisted;
     }
 
     /**
      * Returns the markRejectedSeen.
+     * 
      * @return boolean
      */
-    public boolean isMarkBlacklistedSeen()
-    {
+    public boolean isMarkBlacklistedSeen() {
         return fieldMarkBlacklistedSeen;
     }
 
     /**
      * Sets the keepRejected.
-     * @param keepRejected The keepRejected to set
+     * 
+     * @param keepRejected
+     *            The keepRejected to set
      */
-    protected void setLeaveBlacklisted(boolean keepRejected)
-    {
+    protected void setLeaveBlacklisted(boolean keepRejected) {
         fieldLeaveBlacklisted = keepRejected;
     }
 
     /**
      * Sets the markRejectedSeen.
-     * @param markRejectedSeen The markRejectedSeen to set
+     * 
+     * @param markRejectedSeen
+     *            The markRejectedSeen to set
      */
-    protected void setMarkBlacklistedSeen(boolean markRejectedSeen)
-    {
+    protected void setMarkBlacklistedSeen(boolean markRejectedSeen) {
         fieldMarkBlacklistedSeen = markRejectedSeen;
     }
 
     /**
      * Returns the blacklist.
+     * 
      * @return Set
      */
-    public Set<MailAddress> getBlacklist()
-    {
+    public Set<MailAddress> getBlacklist() {
         return fieldBlacklist;
     }
 
     /**
      * Sets the blacklist.
-     * @param blacklist The blacklist to set
+     * 
+     * @param blacklist
+     *            The blacklist to set
      */
-    protected void setBlacklist(Set<MailAddress> blacklist)
-    {
+    protected void setBlacklist(Set<MailAddress> blacklist) {
         fieldBlacklist = blacklist;
     }
-    
+
     /**
      * Sets the blacklist.
-     * @param blacklistValue The blacklist to set
+     * 
+     * @param blacklistValue
+     *            The blacklist to set
      */
-    protected void setBlacklist(String blacklistValue)
-        throws ConfigurationException
-    {
+    protected void setBlacklist(String blacklistValue) throws ConfigurationException {
         StringTokenizer st = new StringTokenizer(blacklistValue, ", \t", false);
         Set<MailAddress> blacklist = new HashSet<MailAddress>();
         String token = null;
-        while (st.hasMoreTokens())
-        {
-            try
-            {
+        while (st.hasMoreTokens()) {
+            try {
                 token = st.nextToken();
                 blacklist.add(new MailAddress(token));
-            }
-            catch (ParseException pe)
-            {
-                throw new ConfigurationException(
-                    "Invalid blacklist mail address specified: " + token);
+            } catch (ParseException pe) {
+                throw new ConfigurationException("Invalid blacklist mail address specified: " + token);
             }
         }
         setBlacklist(blacklist);
-    }   
+    }
 
     /**
      * Returns the localRecipientsOnly.
+     * 
      * @return boolean
      */
-    public boolean isRejectUserUndefined()
-    {
+    public boolean isRejectUserUndefined() {
         return fieldRejectUserUndefined;
     }
 
     /**
      * Sets the localRecipientsOnly.
-     * @param localRecipientsOnly The localRecipientsOnly to set
+     * 
+     * @param localRecipientsOnly
+     *            The localRecipientsOnly to set
      */
-    protected void setRejectUserUndefined(boolean localRecipientsOnly)
-    {
+    protected void setRejectUserUndefined(boolean localRecipientsOnly) {
         fieldRejectUserUndefined = localRecipientsOnly;
     }
 
     /**
      * Returns the markExternalSeen.
+     * 
      * @return boolean
      */
-    public boolean isMarkUserUndefinedSeen()
-    {
+    public boolean isMarkUserUndefinedSeen() {
         return fieldMarkUserUndefinedSeen;
     }
 
     /**
      * Sets the markExternalSeen.
-     * @param markExternalSeen The markExternalSeen to set
+     * 
+     * @param markExternalSeen
+     *            The markExternalSeen to set
      */
-    protected void setMarkUserUndefinedSeen(boolean markExternalSeen)
-    {
+    protected void setMarkUserUndefinedSeen(boolean markExternalSeen) {
         fieldMarkUserUndefinedSeen = markExternalSeen;
     }
 
     /**
      * Returns the leaveExternal.
+     * 
      * @return boolean
      */
-    public boolean isLeaveUserUndefined()
-    {
+    public boolean isLeaveUserUndefined() {
         return fieldLeaveUserUndefined;
     }
 
     /**
      * Sets the leaveExternal.
-     * @param leaveExternal The leaveExternal to set
+     * 
+     * @param leaveExternal
+     *            The leaveExternal to set
      */
-    protected void setLeaveUserUndefined(boolean leaveExternal)
-    {
+    protected void setLeaveUserUndefined(boolean leaveExternal) {
         fieldLeaveUserUndefined = leaveExternal;
     }
 
     /**
      * Returns the leaveRemoteRecipient.
+     * 
      * @return boolean
      */
-    public boolean isLeaveRemoteRecipient()
-    {
+    public boolean isLeaveRemoteRecipient() {
         return fieldLeaveRemoteRecipient;
     }
 
     /**
      * Returns the markRemoteRecipientSeen.
+     * 
      * @return boolean
      */
-    public boolean isMarkRemoteRecipientSeen()
-    {
+    public boolean isMarkRemoteRecipientSeen() {
         return fieldMarkRemoteRecipientSeen;
     }
 
     /**
      * Sets the leaveRemoteRecipient.
-     * @param leaveRemoteRecipient The leaveRemoteRecipient to set
+     * 
+     * @param leaveRemoteRecipient
+     *            The leaveRemoteRecipient to set
      */
-    protected void setLeaveRemoteRecipient(boolean leaveRemoteRecipient)
-    {
+    protected void setLeaveRemoteRecipient(boolean leaveRemoteRecipient) {
         fieldLeaveRemoteRecipient = leaveRemoteRecipient;
     }
 
     /**
      * Sets the markRemoteRecipientSeen.
-     * @param markRemoteRecipientSeen The markRemoteRecipientSeen to set
+     * 
+     * @param markRemoteRecipientSeen
+     *            The markRemoteRecipientSeen to set
      */
-    protected void setMarkRemoteRecipientSeen(boolean markRemoteRecipientSeen)
-    {
+    protected void setMarkRemoteRecipientSeen(boolean markRemoteRecipientSeen) {
         fieldMarkRemoteRecipientSeen = markRemoteRecipientSeen;
     }
 
     /**
      * Returns the rejectRemoteRecipient.
+     * 
      * @return boolean
      */
-    public boolean isRejectRemoteRecipient()
-    {
+    public boolean isRejectRemoteRecipient() {
         return fieldRejectRemoteRecipient;
     }
 
     /**
      * Sets the rejectRemoteRecipient.
-     * @param rejectRemoteRecipient The rejectRemoteRecipient to set
+     * 
+     * @param rejectRemoteRecipient
+     *            The rejectRemoteRecipient to set
      */
-    protected void setRejectRemoteRecipient(boolean rejectRemoteRecipient)
-    {
+    protected void setRejectRemoteRecipient(boolean rejectRemoteRecipient) {
         fieldRejectRemoteRecipient = rejectRemoteRecipient;
     }
 
     /**
      * Returns the defaultDomainName. Lazy initializes if required.
+     * 
      * @return String
      */
-    public String getDefaultDomainName()
-    {
+    public String getDefaultDomainName() {
         String defaultDomainName = null;
-        if (null == (defaultDomainName = getDefaultDomainNameBasic()))
-        {
+        if (null == (defaultDomainName = getDefaultDomainNameBasic())) {
             updateDefaultDomainName();
             return getDefaultDomainName();
-        }   
+        }
         return defaultDomainName;
     }
-    
+
     /**
      * Returns the defaultDomainName.
+     * 
      * @return String
      */
-    private String getDefaultDomainNameBasic()
-    {
+    private String getDefaultDomainNameBasic() {
         return fieldDefaultDomainName;
-    }   
+    }
 
     /**
      * Validates and sets the defaultDomainName.
-     * @param defaultDomainName The defaultDomainName to set
+     * 
+     * @param defaultDomainName
+     *            The defaultDomainName to set
      */
-    protected void setDefaultDomainName(String defaultDomainName) throws ConfigurationException
-    {
+    protected void setDefaultDomainName(String defaultDomainName) throws ConfigurationException {
         validateDefaultDomainName(defaultDomainName);
         setDefaultDomainNameBasic(defaultDomainName);
     }
 
     /**
      * Sets the defaultDomainName.
-     * @param defaultDomainName The defaultDomainName to set
+     * 
+     * @param defaultDomainName
+     *            The defaultDomainName to set
      */
-    private void setDefaultDomainNameBasic(String defaultDomainName)
-    {
+    private void setDefaultDomainNameBasic(String defaultDomainName) {
         fieldDefaultDomainName = defaultDomainName;
     }
 
     /**
      * Validates the defaultDomainName.
-     * @param defaultDomainName The defaultDomainName to validate
+     * 
+     * @param defaultDomainName
+     *            The defaultDomainName to validate
      */
-    protected void validateDefaultDomainName(String defaultDomainName) throws ConfigurationException
-    {
+    protected void validateDefaultDomainName(String defaultDomainName) throws ConfigurationException {
         try {
-            if (!getDomainList().containsDomain(defaultDomainName))
-            {
-                throw new ConfigurationException(
-                    "Default domain name is not a local server: "
-                        + defaultDomainName);
+            if (!getDomainList().containsDomain(defaultDomainName)) {
+                throw new ConfigurationException("Default domain name is not a local server: " + defaultDomainName);
             }
         } catch (DomainListException e) {
             throw new ConfigurationException("Unable to access DomainList", e);
         }
     }
-    
+
     /**
      * Computes the defaultDomainName.
      */
-    protected String computeDefaultDomainName()
-    {
+    protected String computeDefaultDomainName() {
         String hostName = null;
-        try
-        {
+        try {
             hostName = getDNSServer().getLocalHost().getCanonicalHostName();
-        }
-        catch (UnknownHostException ue)
-        {
+        } catch (UnknownHostException ue) {
             hostName = "localhost";
         }
         return hostName;
-    }   
-    
+    }
+
     /**
      * Updates the defaultDomainName.
      */
-    protected void updateDefaultDomainName()
-    {
+    protected void updateDefaultDomainName() {
         setDefaultDomainNameBasic(computeDefaultDomainName());
-    }   
+    }
 
     /**
      * Returns the leaveUndeliverable.
+     * 
      * @return boolean
      */
-    public boolean isLeaveUndeliverable()
-    {
+    public boolean isLeaveUndeliverable() {
         return fieldLeaveUndeliverable;
     }
 
     /**
      * Returns the markUndeliverableSeen.
+     * 
      * @return boolean
      */
-    public boolean isMarkUndeliverableSeen()
-    {
+    public boolean isMarkUndeliverableSeen() {
         return fieldMarkUndeliverableSeen;
     }
 
     /**
      * Sets the leaveUndeliverable.
-     * @param leaveUndeliverable The leaveUndeliverable to set
+     * 
+     * @param leaveUndeliverable
+     *            The leaveUndeliverable to set
      */
-    protected void setLeaveUndeliverable(boolean leaveUndeliverable)
-    {
+    protected void setLeaveUndeliverable(boolean leaveUndeliverable) {
         fieldLeaveUndeliverable = leaveUndeliverable;
     }
 
     /**
      * Sets the markUndeliverableSeen.
-     * @param markUndeliverableSeen The markUndeliverableSeen to set
+     * 
+     * @param markUndeliverableSeen
+     *            The markUndeliverableSeen to set
      */
-    protected void setMarkUndeliverableSeen(boolean markUndeliverableSeen)
-    {
+    protected void setMarkUndeliverableSeen(boolean markUndeliverableSeen) {
         fieldMarkUndeliverableSeen = markUndeliverableSeen;
     }
 
     /**
      * Returns the rejectBlacklisted.
+     * 
      * @return boolean
      */
-    public boolean isRejectBlacklisted()
-    {
+    public boolean isRejectBlacklisted() {
         return fieldRejectBlacklisted;
     }
 
     /**
      * Sets the rejectBlacklisted.
-     * @param rejectBlacklisted The rejectBlacklisted to set
+     * 
+     * @param rejectBlacklisted
+     *            The rejectBlacklisted to set
      */
-    protected void setRejectBlacklisted(boolean rejectBlacklisted)
-    {
+    protected void setRejectBlacklisted(boolean rejectBlacklisted) {
         fieldRejectBlacklisted = rejectBlacklisted;
     }
 
     /**
      * Returns the leaveRecipientNotFound.
+     * 
      * @return boolean
      */
-    public boolean isLeaveRecipientNotFound()
-    {
+    public boolean isLeaveRecipientNotFound() {
         return fieldLeaveRecipientNotFound;
     }
 
     /**
      * Returns the markRecipientNotFoundSeen.
+     * 
      * @return boolean
      */
-    public boolean isMarkRecipientNotFoundSeen()
-    {
+    public boolean isMarkRecipientNotFoundSeen() {
         return fieldMarkRecipientNotFoundSeen;
     }
 
     /**
      * Returns the rejectRecipientNotFound.
+     * 
      * @return boolean
      */
-    public boolean isRejectRecipientNotFound()
-    {
+    public boolean isRejectRecipientNotFound() {
         return fieldRejectRecipientNotFound;
     }
 
     /**
      * Sets the leaveRecipientNotFound.
-     * @param leaveRecipientNotFound The leaveRecipientNotFound to set
+     * 
+     * @param leaveRecipientNotFound
+     *            The leaveRecipientNotFound to set
      */
-    protected void setLeaveRecipientNotFound(boolean leaveRecipientNotFound)
-    {
+    protected void setLeaveRecipientNotFound(boolean leaveRecipientNotFound) {
         fieldLeaveRecipientNotFound = leaveRecipientNotFound;
     }
 
     /**
      * Sets the markRecipientNotFoundSeen.
-     * @param markRecipientNotFoundSeen The markRecipientNotFoundSeen to set
+     * 
+     * @param markRecipientNotFoundSeen
+     *            The markRecipientNotFoundSeen to set
      */
-    protected void setMarkRecipientNotFoundSeen(boolean markRecipientNotFoundSeen)
-    {
+    protected void setMarkRecipientNotFoundSeen(boolean markRecipientNotFoundSeen) {
         fieldMarkRecipientNotFoundSeen = markRecipientNotFoundSeen;
     }
 
     /**
      * Sets the rejectRecipientNotFound.
-     * @param rejectRecipientNotFound The rejectRecipientNotFound to set
+     * 
+     * @param rejectRecipientNotFound
+     *            The rejectRecipientNotFound to set
      */
-    protected void setRejectRecipientNotFound(boolean rejectRecipientNotFound)
-    {
+    protected void setRejectRecipientNotFound(boolean rejectRecipientNotFound) {
         fieldRejectRecipientNotFound = rejectRecipientNotFound;
     }
 
     /**
      * Returns the deferRecipientNotFound.
+     * 
      * @return boolean
      */
-    public boolean isDeferRecipientNotFound()
-    {
+    public boolean isDeferRecipientNotFound() {
         return fieldDeferRecipientNotFound;
     }
 
     /**
      * Sets the deferRecipientNotFound.
-     * @param deferRecipientNotFound The deferRecepientNotFound to set
+     * 
+     * @param deferRecipientNotFound
+     *            The deferRecepientNotFound to set
      */
-    protected void setDeferRecipientNotFound(boolean deferRecipientNotFound)
-    {
+    protected void setDeferRecipientNotFound(boolean deferRecipientNotFound) {
         fieldDeferRecipientNotFound = deferRecipientNotFound;
     }
 
     /**
      * Returns the remoteReceivedHeaderIndex.
+     * 
      * @return int
      */
-    public int getRemoteReceivedHeaderIndex()
-    {
+    public int getRemoteReceivedHeaderIndex() {
         return fieldRemoteReceivedHeaderIndex;
     }
 
     /**
      * Sets the remoteReceivedHeaderIndex.
-     * @param remoteReceivedHeaderIndex The remoteReceivedHeaderIndex to set
+     * 
+     * @param remoteReceivedHeaderIndex
+     *            The remoteReceivedHeaderIndex to set
      */
-    protected void setRemoteReceivedHeaderIndex(int remoteReceivedHeaderIndex)
-    {
+    protected void setRemoteReceivedHeaderIndex(int remoteReceivedHeaderIndex) {
         fieldRemoteReceivedHeaderIndex = remoteReceivedHeaderIndex;
     }
 
     /**
      * Returns the leaveMaxMessageSize.
+     * 
      * @return boolean
      */
-    public boolean isLeaveMaxMessageSizeExceeded()
-    {
+    public boolean isLeaveMaxMessageSizeExceeded() {
         return fieldLeaveMaxMessageSizeExceeded;
     }
 
     /**
      * Returns the markMaxMessageSizeSeen.
+     * 
      * @return boolean
      */
-    public boolean isMarkMaxMessageSizeExceededSeen()
-    {
+    public boolean isMarkMaxMessageSizeExceededSeen() {
         return fieldMarkMaxMessageSizeExceededSeen;
     }
 
     /**
      * Returns the maxMessageSizeLimit.
+     * 
      * @return int
      */
-    public int getMaxMessageSizeLimit()
-    {
+    public int getMaxMessageSizeLimit() {
         return fieldMaxMessageSizeLimit;
     }
 
     /**
      * Returns the rejectMaxMessageSize.
+     * 
      * @return boolean
      */
-    public boolean isRejectMaxMessageSizeExceeded()
-    {
+    public boolean isRejectMaxMessageSizeExceeded() {
         return fieldRejectMaxMessageSizeExceeded;
     }
 
     /**
      * Sets the leaveMaxMessageSize.
-     * @param leaveMaxMessageSize The leaveMaxMessageSize to set
+     * 
+     * @param leaveMaxMessageSize
+     *            The leaveMaxMessageSize to set
      */
-    protected void setLeaveMaxMessageSizeExceeded(boolean leaveMaxMessageSize)
-    {
+    protected void setLeaveMaxMessageSizeExceeded(boolean leaveMaxMessageSize) {
         fieldLeaveMaxMessageSizeExceeded = leaveMaxMessageSize;
     }
 
     /**
      * Sets the markMaxMessageSizeSeen.
-     * @param markMaxMessageSizeSeen The markMaxMessageSizeSeen to set
+     * 
+     * @param markMaxMessageSizeSeen
+     *            The markMaxMessageSizeSeen to set
      */
-    protected void setMarkMaxMessageSizeExceededSeen(boolean markMaxMessageSizeSeen)
-    {
+    protected void setMarkMaxMessageSizeExceededSeen(boolean markMaxMessageSizeSeen) {
         fieldMarkMaxMessageSizeExceededSeen = markMaxMessageSizeSeen;
     }
 
     /**
      * Sets the maxMessageSizeLimit.
-     * @param maxMessageSizeLimit The maxMessageSizeLimit to set
+     * 
+     * @param maxMessageSizeLimit
+     *            The maxMessageSizeLimit to set
      */
-    protected void setMaxMessageSizeLimit(int maxMessageSizeLimit)
-    {
+    protected void setMaxMessageSizeLimit(int maxMessageSizeLimit) {
         fieldMaxMessageSizeLimit = maxMessageSizeLimit;
     }
 
     /**
      * Sets the rejectMaxMessageSize.
-     * @param rejectMaxMessageSize The rejectMaxMessageSize to set
+     * 
+     * @param rejectMaxMessageSize
+     *            The rejectMaxMessageSize to set
      */
-    protected void setRejectMaxMessageSizeExceeded(boolean rejectMaxMessageSize)
-    {
+    protected void setRejectMaxMessageSizeExceeded(boolean rejectMaxMessageSize) {
         fieldRejectMaxMessageSizeExceeded = rejectMaxMessageSize;
     }
 
     /**
      * Returns the leaveRemoteReceivedHeaderInvalid.
+     * 
      * @return boolean
      */
-    public boolean isLeaveRemoteReceivedHeaderInvalid()
-    {
+    public boolean isLeaveRemoteReceivedHeaderInvalid() {
         return fieldLeaveRemoteReceivedHeaderInvalid;
     }
 
     /**
      * Returns the markRemoteReceivedHeaderInvalidSeen.
+     * 
      * @return boolean
      */
-    public boolean isMarkRemoteReceivedHeaderInvalidSeen()
-    {
+    public boolean isMarkRemoteReceivedHeaderInvalidSeen() {
         return fieldMarkRemoteReceivedHeaderInvalidSeen;
     }
 
     /**
      * Returns the rejectRemoteReceivedHeaderInvalid.
+     * 
      * @return boolean
      */
-    public boolean isRejectRemoteReceivedHeaderInvalid()
-    {
+    public boolean isRejectRemoteReceivedHeaderInvalid() {
         return fieldRejectRemoteReceivedHeaderInvalid;
     }
 
     /**
      * Sets the leaveRemoteReceivedHeaderInvalid.
-     * @param leaveRemoteReceivedHeaderInvalid The leaveRemoteReceivedHeaderInvalid to set
+     * 
+     * @param leaveRemoteReceivedHeaderInvalid
+     *            The leaveRemoteReceivedHeaderInvalid to set
      */
-    protected void setLeaveRemoteReceivedHeaderInvalid(boolean leaveRemoteReceivedHeaderInvalid)
-    {
-        fieldLeaveRemoteReceivedHeaderInvalid =
-            leaveRemoteReceivedHeaderInvalid;
+    protected void setLeaveRemoteReceivedHeaderInvalid(boolean leaveRemoteReceivedHeaderInvalid) {
+        fieldLeaveRemoteReceivedHeaderInvalid = leaveRemoteReceivedHeaderInvalid;
     }
 
     /**
      * Sets the markRemoteReceivedHeaderInvalidSeen.
-     * @param markRemoteReceivedHeaderInvalidSeen The markRemoteReceivedHeaderInvalidSeen to set
+     * 
+     * @param markRemoteReceivedHeaderInvalidSeen
+     *            The markRemoteReceivedHeaderInvalidSeen to set
      */
-    protected void setMarkRemoteReceivedHeaderInvalidSeen(boolean markRemoteReceivedHeaderInvalidSeen)
-    {
-        fieldMarkRemoteReceivedHeaderInvalidSeen =
-            markRemoteReceivedHeaderInvalidSeen;
+    protected void setMarkRemoteReceivedHeaderInvalidSeen(boolean markRemoteReceivedHeaderInvalidSeen) {
+        fieldMarkRemoteReceivedHeaderInvalidSeen = markRemoteReceivedHeaderInvalidSeen;
     }
 
     /**
      * Sets the rejectRemoteReceivedHeaderInvalid.
-     * @param rejectRemoteReceivedHeaderInvalid The rejectRemoteReceivedHeaderInvalid to set
+     * 
+     * @param rejectRemoteReceivedHeaderInvalid
+     *            The rejectRemoteReceivedHeaderInvalid to set
      */
-    protected void setRejectRemoteReceivedHeaderInvalid(boolean rejectRemoteReceivedHeaderInvalid)
-    {
-        fieldRejectRemoteReceivedHeaderInvalid =
-            rejectRemoteReceivedHeaderInvalid;
+    protected void setRejectRemoteReceivedHeaderInvalid(boolean rejectRemoteReceivedHeaderInvalid) {
+        fieldRejectRemoteReceivedHeaderInvalid = rejectRemoteReceivedHeaderInvalid;
     }
-    
+
     public void setMailQueue(MailQueue queue) {
         this.queue = queue;
     }
-    
+
     public MailQueue getMailQueue() {
         return queue;
     }
@@ -1179,7 +1129,7 @@ protected void setDNSServer(DNSService d
     public DomainList getDomainList() {
         return domainList;
     }
-    
+
     public void setDomainList(DomainList domainList) {
         this.domainList = domainList;
     }

Modified: james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ProcessorAbstract.java
URL: http://svn.apache.org/viewvc/james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ProcessorAbstract.java?rev=1088657&r1=1088656&r2=1088657&view=diff
==============================================================================
--- james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ProcessorAbstract.java (original)
+++ james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/ProcessorAbstract.java Mon Apr  4 14:59:11 2011
@@ -17,8 +17,6 @@
  * under the License.                                           *
  ****************************************************************/
 
-
- 
 package org.apache.james.fetchmail;
 
 import java.util.List;
@@ -34,557 +32,545 @@ import org.apache.mailet.MailAddress;
 import org.slf4j.Logger;
 
 /**
- * <p>Class <code>ProcessorAbstract</code> is an abstract class that
- * provides support for JavaMail processors. Concrete implementations are
- * required to implement the abstract method <code>void process()</code> to
- * process a JavaMail element.</p>
+ * <p>
+ * Class <code>ProcessorAbstract</code> is an abstract class that provides
+ * support for JavaMail processors. Concrete implementations are required to
+ * implement the abstract method <code>void process()</code> to process a
+ * JavaMail element.
+ * </p>
  * 
- * <p>Typically, processors are chained. A Store processor delegates to a Folder
- * processor that delegates to a Message processor.</p>
+ * <p>
+ * Typically, processors are chained. A Store processor delegates to a Folder
+ * processor that delegates to a Message processor.
+ * </p>
  * 
- * <p><code>ProcessorAbstract</code> wraps an Account - see 
- * <code>org.apache.james.fetchmail.Account</code>
- * - providing contextual information about the environment for the processor.</p> 
+ * <p>
+ * <code>ProcessorAbstract</code> wraps an Account - see
+ * <code>org.apache.james.fetchmail.Account</code> - providing contextual
+ * information about the environment for the processor.
+ * </p>
  */
-abstract public class ProcessorAbstract
-{
+abstract public class ProcessorAbstract {
     /**
-     * The prefix to place in front of any mail attributes used by this Processor.
-     */ 
+     * The prefix to place in front of any mail attributes used by this
+     * Processor.
+     */
     private String fieldAttributePrefix;
-    
+
     /**
      * The Account for this task
      */
-    private Account fieldAccount;       
+    private Account fieldAccount;
 
     /**
      * Constructor for ProcessorAbstract.
      */
-    private ProcessorAbstract()
-    {
+    private ProcessorAbstract() {
         super();
     }
-    
+
     /**
      * Constructor for ProcessorAbstract.
-     * @param account The <code>Account</code> to be processed 
+     * 
+     * @param account
+     *            The <code>Account</code> to be processed
      */
-    protected ProcessorAbstract(Account account)
-    {
+    protected ProcessorAbstract(Account account) {
         this();
-        setAccount(account);        
-    }   
-    
+        setAccount(account);
+    }
+
     /**
      * Returns the defaultDomainName.
+     * 
      * @return String
      */
-    protected String getDefaultDomainName()
-    {
+    protected String getDefaultDomainName() {
         return getConfiguration().getDefaultDomainName();
     }
-    
+
     /**
      * Returns the defaultLocalPart.
      * 
      * @return String
      */
-    protected String getDefaultLocalPart()
-    {
+    protected String getDefaultLocalPart() {
         // TODO Consider making this configurable
         return "FETCHMAIL-SERVICE";
-    }    
-    
+    }
+
     /**
      * Returns the message ids. of messages for which processing has been
      * deferred as the recipient could not be found
+     * 
      * @return List
      */
-    protected List<String> getDeferredRecipientNotFoundMessageIDs()
-    {
+    protected List<String> getDeferredRecipientNotFoundMessageIDs() {
         return getAccount().getDeferredRecipientNotFoundMessageIDs();
-    }    
-    
+    }
+
     /**
      * Returns the fetchTaskName.
+     * 
      * @return String
      */
-    protected String getFetchTaskName()
-    {
+    protected String getFetchTaskName() {
         return getConfiguration().getFetchTaskName();
-    }   
-
+    }
 
     /**
      * Returns the host.
+     * 
      * @return String
      */
-    protected String getHost()
-    {
+    protected String getHost() {
         return getConfiguration().getHost();
     }
 
-
     /**
      * Returns the javaMailFolderName.
+     * 
      * @return String
      */
-    protected String getJavaMailFolderName()
-    {
+    protected String getJavaMailFolderName() {
         return getConfiguration().getJavaMailFolderName();
     }
 
-
-
     /**
      * Returns the javaMailProviderName.
+     * 
      * @return String
      */
-    protected String getJavaMailProviderName()
-    {
+    protected String getJavaMailProviderName() {
         return getConfiguration().getJavaMailProviderName();
     }
 
-
-
     /**
      * Returns the logger.
+     * 
      * @return Logger
      */
-    protected Logger getLogger()
-    {
+    protected Logger getLogger() {
         return getConfiguration().getLogger();
     }
 
-
     /**
      * Returns the password.
+     * 
      * @return String
      */
-    protected String getPassword()
-    {
+    protected String getPassword() {
         return getAccount().getPassword();
     }
 
-
     /**
      * Returns the recipient.
+     * 
      * @return MailAddress
      */
-    protected MailAddress getRecipient()
-    {
+    protected MailAddress getRecipient() {
         return getAccount().getRecipient();
     }
-    
+
     /**
      * Method getRemoteReceivedHeaderIndex.
+     * 
      * @return int
      */
-    protected int getRemoteReceivedHeaderIndex()
-    {
-        return getConfiguration().getRemoteReceivedHeaderIndex();    
+    protected int getRemoteReceivedHeaderIndex() {
+        return getConfiguration().getRemoteReceivedHeaderIndex();
     }
 
     /**
      * Returns the DNSService
+     * 
      * @return DNSService
      */
-    protected DNSService getDNSServer()
-    {
+    protected DNSService getDNSServer() {
         return getConfiguration().getDNSServer();
     }
-    
+
     /**
      * Returns the session.
+     * 
      * @return Session
      */
-    protected Session getSession()
-    {
+    protected Session getSession() {
         return getAccount().getSession();
-    }    
-    
+    }
+
     /**
      * Returns the repository of local users.
+     * 
      * @return UsersRepository
      */
-    protected UsersRepository getLocalUsers()
-    {
+    protected UsersRepository getLocalUsers() {
         return getConfiguration().getLocalUsers();
-    }   
-
+    }
 
     /**
      * Returns the user.
+     * 
      * @return String
      */
-    protected String getUser()
-    {
+    protected String getUser() {
         return getAccount().getUser();
     }
 
-
     /**
      * Returns the fetchAll.
+     * 
      * @return boolean
      */
-    protected boolean isFetchAll()
-    {
+    protected boolean isFetchAll() {
         return getConfiguration().isFetchAll();
     }
 
-
     /**
      * Returns the isDeferRecipientNotFound.
+     * 
      * @return boolean
      */
-    protected boolean isDeferRecipientNotFound()
-    {
+    protected boolean isDeferRecipientNotFound() {
         return getConfiguration().isDeferRecipientNotFound();
     }
-    
+
     /**
      * Returns the ignoreOriginalRecipient.
+     * 
      * @return boolean
      */
-    protected boolean isIgnoreRecipientHeader()
-    {
+    protected boolean isIgnoreRecipientHeader() {
         return getAccount().isIgnoreRecipientHeader();
     }
 
     /**
      * Returns the customRecipientHeader.
+     * 
      * @return String
      */
-    protected String getCustomRecipientHeader()
-    {
+    protected String getCustomRecipientHeader() {
         return getAccount().getCustomRecipientHeader();
     }
 
     /**
      * Returns the leave.
+     * 
      * @return boolean
      */
-    protected boolean isLeave()
-    {
+    protected boolean isLeave() {
         return getConfiguration().isLeave();
     }
 
-
     /**
      * Returns the markSeen.
+     * 
      * @return boolean
      */
-    protected boolean isMarkSeen()
-    {
+    protected boolean isMarkSeen() {
         return getConfiguration().isMarkSeen();
     }
-    
+
     /**
      * Returns the leaveBlacklisted.
+     * 
      * @return boolean
      */
-    protected boolean isLeaveBlacklisted()
-    {
+    protected boolean isLeaveBlacklisted() {
         return getConfiguration().isLeaveBlacklisted();
     }
-    
+
     /**
      * Returns the leaveRemoteRecipient.
+     * 
      * @return boolean
      */
-    protected boolean isLeaveRemoteRecipient()
-    {
+    protected boolean isLeaveRemoteRecipient() {
         return getConfiguration().isLeaveRemoteRecipient();
-    }   
-    
+    }
+
     /**
      * Returns the leaveUserUndefinded.
+     * 
      * @return boolean
      */
-    protected boolean isLeaveUserUndefined()
-    {
+    protected boolean isLeaveUserUndefined() {
         return getConfiguration().isLeaveUserUndefined();
     }
-    
+
     /**
      * Returns the leaveRemoteReceivedHeaderInvalid.
+     * 
      * @return boolean
      */
-    protected boolean isLeaveRemoteReceivedHeaderInvalid()
-    {
+    protected boolean isLeaveRemoteReceivedHeaderInvalid() {
         return getConfiguration().isLeaveRemoteReceivedHeaderInvalid();
-    }    
-    
+    }
+
     /**
      * Returns the LeaveMaxMessageSizeExceeded.
+     * 
      * @return boolean
      */
-    protected boolean isLeaveMaxMessageSizeExceeded()
-    {
+    protected boolean isLeaveMaxMessageSizeExceeded() {
         return getConfiguration().isLeaveMaxMessageSizeExceeded();
-    }    
-    
+    }
+
     /**
      * Returns the leaveUndeliverable.
+     * 
      * @return boolean
      */
-    protected boolean isLeaveUndeliverable()
-    {
+    protected boolean isLeaveUndeliverable() {
         return getConfiguration().isLeaveUndeliverable();
-    }       
+    }
 
     /**
      * Returns the RejectUserUndefinded.
+     * 
      * @return boolean
      */
-    protected boolean isRejectUserUndefined()
-    {
+    protected boolean isRejectUserUndefined() {
         return getConfiguration().isRejectUserUndefined();
     }
-    
+
     /**
      * Returns the RejectRemoteReceivedHeaderInvalid.
+     * 
      * @return boolean
      */
-    protected boolean isRejectRemoteReceivedHeaderInvalid()
-    {
+    protected boolean isRejectRemoteReceivedHeaderInvalid() {
         return getConfiguration().isRejectRemoteReceivedHeaderInvalid();
-    }    
-    
+    }
+
     /**
      * Returns the RejectMaxMessageSizeExceeded.
+     * 
      * @return boolean
      */
-    protected boolean isRejectMaxMessageSizeExceeded()
-    {
+    protected boolean isRejectMaxMessageSizeExceeded() {
         return getConfiguration().isRejectMaxMessageSizeExceeded();
-    }    
-    
+    }
+
     /**
      * Returns the RejectUserBlacklisted.
+     * 
      * @return boolean
      */
-    protected boolean isRejectBlacklisted()
-    {
+    protected boolean isRejectBlacklisted() {
         return getConfiguration().isRejectBlacklisted();
-    }   
-    
+    }
+
     /**
      * Returns the RejectRemoteRecipient.
+     * 
      * @return boolean
      */
-    protected boolean isRejectRemoteRecipient()
-    {
+    protected boolean isRejectRemoteRecipient() {
         return getConfiguration().isRejectRemoteRecipient();
     }
-    
+
     /**
      * Returns the markBlacklistedSeen.
+     * 
      * @return boolean
      */
-    protected boolean isMarkBlacklistedSeen()
-    {
+    protected boolean isMarkBlacklistedSeen() {
         return getConfiguration().isMarkBlacklistedSeen();
     }
-    
+
     /**
      * Returns the markRecipientNotFoundSeen.
+     * 
      * @return boolean
      */
-    protected boolean isMarkRecipientNotFoundSeen()
-    {
+    protected boolean isMarkRecipientNotFoundSeen() {
         return getConfiguration().isMarkRecipientNotFoundSeen();
     }
-    
+
     /**
      * Returns the leaveRecipientNotFound.
+     * 
      * @return boolean
      */
-    protected boolean isLeaveRecipientNotFound()
-    {
+    protected boolean isLeaveRecipientNotFound() {
         return getConfiguration().isLeaveRecipientNotFound();
     }
-    
+
     /**
      * Returns the rejectRecipientNotFound.
+     * 
      * @return boolean
      */
-    protected boolean isRejectRecipientNotFound()
-    {
+    protected boolean isRejectRecipientNotFound() {
         return getConfiguration().isRejectRecipientNotFound();
-    }       
+    }
 
     /**
      * Returns the markRemoteRecipientSeen.
+     * 
      * @return boolean
      */
-    protected boolean isMarkRemoteRecipientSeen()
-    {
+    protected boolean isMarkRemoteRecipientSeen() {
         return getConfiguration().isMarkRemoteRecipientSeen();
-    }   
-    
+    }
+
     /**
      * Returns the markUserUndefindedSeen.
+     * 
      * @return boolean
      */
-    protected boolean isMarkUserUndefinedSeen()
-    {
+    protected boolean isMarkUserUndefinedSeen() {
         return getConfiguration().isMarkUserUndefinedSeen();
     }
-    
+
     /**
      * Returns the markRemoteReceivedHeaderInvalidSeen.
+     * 
      * @return boolean
      */
-    protected boolean isMarkRemoteReceivedHeaderInvalidSeen()
-    {
+    protected boolean isMarkRemoteReceivedHeaderInvalidSeen() {
         return getConfiguration().isMarkRemoteReceivedHeaderInvalidSeen();
-    }    
-    
+    }
+
     /**
      * Returns the MarkMaxMessageSizeExceededSeen.
+     * 
      * @return boolean
      */
-    protected boolean isMarkMaxMessageSizeExceededSeen()
-    {
+    protected boolean isMarkMaxMessageSizeExceededSeen() {
         return getConfiguration().isMarkMaxMessageSizeExceededSeen();
-    }    
-    
+    }
+
     /**
      * Returns the markUndeliverableSeen.
+     * 
      * @return boolean
      */
-    protected boolean isMarkUndeliverableSeen()
-    {
+    protected boolean isMarkUndeliverableSeen() {
         return getConfiguration().isMarkUndeliverableSeen();
     }
-    
+
     /**
-     * Answers true if the folder should be opened read only.
-     * For this to be true... 
-     * - isKeep() must be true
-     * - isMarkSeen() must be false
+     * Answers true if the folder should be opened read only. For this to be
+     * true... - isKeep() must be true - isMarkSeen() must be false
+     * 
      * @return boolean
      */
-    protected boolean isOpenReadOnly()
-    {
+    protected boolean isOpenReadOnly() {
         return getConfiguration().isOpenReadOnly();
-    }   
-
+    }
 
     /**
      * Returns the recurse.
+     * 
      * @return boolean
      */
-    protected boolean isRecurse()
-    {
+    protected boolean isRecurse() {
         return getConfiguration().isRecurse();
     }
 
-
-    
-    
     /**
      * Process the mail elements of the receiver
      */
     abstract public void process() throws MessagingException;
-    
+
     /**
      * Returns the blacklist.
+     * 
      * @return Set
      */
-    protected Set<MailAddress> getBlacklist()
-    {
+    protected Set<MailAddress> getBlacklist() {
         return getConfiguration().getBlacklist();
     }
-    
+
     /**
-     * Returns the <code>ParsedConfiguration</code> from the <code>Account</code>.
+     * Returns the <code>ParsedConfiguration</code> from the
+     * <code>Account</code>.
+     * 
      * @return ParsedConfiguration
      */
-    protected ParsedConfiguration getConfiguration()
-    {
+    protected ParsedConfiguration getConfiguration() {
         return getAccount().getParsedConfiguration();
-    }    
+    }
 
     /**
      * Returns a lazy initialised attributePrefix.
+     * 
      * @return String
      */
-    protected String getAttributePrefix()
-    {
+    protected String getAttributePrefix() {
         String value = null;
-        if (null == (value = getAttributePrefixBasic()))
-        {
+        if (null == (value = getAttributePrefixBasic())) {
             updateAttributePrefix();
             return getAttributePrefix();
-        }    
+        }
         return value;
     }
-    
+
     /**
      * Returns the attributePrefix.
+     * 
      * @return String
      */
-    private String getAttributePrefixBasic()
-    {
+    private String getAttributePrefixBasic() {
         return fieldAttributePrefix;
     }
-    
+
     /**
      * Returns the computed attributePrefix.
+     * 
      * @return String
      */
-    protected String computeAttributePrefix()
-    {
+    protected String computeAttributePrefix() {
         return getClass().getPackage().getName() + ".";
-    }       
+    }
 
     /**
      * Sets the attributePrefix.
-     * @param attributePrefix The attributePrefix to set
+     * 
+     * @param attributePrefix
+     *            The attributePrefix to set
      */
-    protected void setAttributePrefix(String attributePrefix)
-    {
+    protected void setAttributePrefix(String attributePrefix) {
         fieldAttributePrefix = attributePrefix;
     }
-    
+
     /**
      * Updates the attributePrefix.
      */
-    protected void updateAttributePrefix()
-    {
+    protected void updateAttributePrefix() {
         setAttributePrefix(computeAttributePrefix());
-    }    
+    }
 
     /**
      * Returns the account.
+     * 
      * @return Account
      */
-    public Account getAccount()
-    {
+    public Account getAccount() {
         return fieldAccount;
     }
 
     /**
      * Sets the account.
-     * @param account The account to set
+     * 
+     * @param account
+     *            The account to set
      */
-    protected void setAccount(Account account)
-    {
+    protected void setAccount(Account account) {
         fieldAccount = account;
     }
-    
+
     /**
      * Returns the getMaxMessageSizeLimit.
+     * 
      * @return int
      */
-    protected int getMaxMessageSizeLimit()
-    {
+    protected int getMaxMessageSizeLimit() {
         return getConfiguration().getMaxMessageSizeLimit();
     }
-    
+
     protected MailQueue getMailQueue() {
         return getConfiguration().getMailQueue();
     }

Modified: james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/StoreProcessor.java
URL: http://svn.apache.org/viewvc/james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/StoreProcessor.java?rev=1088657&r1=1088656&r2=1088657&view=diff
==============================================================================
--- james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/StoreProcessor.java (original)
+++ james/server/trunk/fetchmail/src/main/java/org/apache/james/fetchmail/StoreProcessor.java Mon Apr  4 14:59:11 2011
@@ -17,8 +17,6 @@
  * under the License.                                           *
  ****************************************************************/
 
-
- 
 package org.apache.james.fetchmail;
 
 import javax.mail.Folder;
@@ -26,34 +24,31 @@ import javax.mail.MessagingException;
 import javax.mail.Store;
 
 /**
- * <p>Class <code>StoreProcessor</code> connects to a message store, gets the
- * target Folder and delegates its processing to <code>FolderProcessor</code>.</p>
+ * Class <code>StoreProcessor</code> connects to a message store, gets the
+ * target Folder and delegates its processing to <code>FolderProcessor</code>.
  */
-public class StoreProcessor extends ProcessorAbstract
-{
+public class StoreProcessor extends ProcessorAbstract {
     /**
      * Constructor for StoreProcessor.
-     * @param account 
+     * 
+     * @param account
      */
-    protected StoreProcessor(Account account)
-    {
-        super(account);        
+    protected StoreProcessor(Account account) {
+        super(account);
     }
-    
+
     /**
      * Method process connects to a Folder in a Message Store, creates a
-     * <code>FolderProcessor</code> and runs it to process the messages in
-     * the Folder.
+     * <code>FolderProcessor</code> and runs it to process the messages in the
+     * Folder.
      * 
      * @see org.apache.james.fetchmail.ProcessorAbstract#process()
      */
-    public void process() throws MessagingException
-    {
+    public void process() throws MessagingException {
         Store store = null;
         Folder folder = null;
 
-        StringBuilder logMessageBuffer =
-            new StringBuilder("Starting fetching mail from server '");
+        StringBuilder logMessageBuffer = new StringBuilder("Starting fetching mail from server '");
         logMessageBuffer.append(getHost());
         logMessageBuffer.append("' for user '");
         logMessageBuffer.append(getUser());
@@ -62,15 +57,12 @@ public class StoreProcessor extends Proc
         logMessageBuffer.append("'");
         getLogger().info(logMessageBuffer.toString());
 
-        try
-        {
+        try {
             // Get a Store object
             store = getSession().getStore(getJavaMailProviderName());
 
             // Connect
-            if (getHost() != null
-                || getUser() != null
-                || getPassword() != null)
+            if (getHost() != null || getUser() != null || getPassword() != null)
                 store.connect(getHost(), getUser(), getPassword());
             else
                 store.connect();
@@ -83,28 +75,16 @@ public class StoreProcessor extends Proc
             // Process the Folder
             new FolderProcessor(folder, getAccount()).process();
 
-        }
-        catch (MessagingException ex)
-        {
-            getLogger().error(
-                "A MessagingException has terminated processing of this Folder",
-                ex);
-        }
-        finally
-        {
-            try
-            {
+        } catch (MessagingException ex) {
+            getLogger().error("A MessagingException has terminated processing of this Folder", ex);
+        } finally {
+            try {
                 if (null != store && store.isConnected())
                     store.close();
+            } catch (MessagingException ex) {
+                getLogger().error("A MessagingException occured while closing the Store", ex);
             }
-            catch (MessagingException ex)
-            {
-                getLogger().error(
-                    "A MessagingException occured while closing the Store",
-                    ex);
-            }
-            logMessageBuffer =
-                new StringBuilder("Finished fetching mail from server '");
+            logMessageBuffer = new StringBuilder("Finished fetching mail from server '");
             logMessageBuffer.append(getHost());
             logMessageBuffer.append("' for user '");
             logMessageBuffer.append(getUser());

Modified: james/server/trunk/file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java
URL: http://svn.apache.org/viewvc/james/server/trunk/file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java?rev=1088657&r1=1088656&r2=1088657&view=diff
==============================================================================
--- james/server/trunk/file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java (original)
+++ james/server/trunk/file/src/main/java/org/apache/james/domainlist/xml/XMLDomainList.java Mon Apr  4 14:59:11 2011
@@ -17,8 +17,6 @@
  * under the License.                                           *
  ****************************************************************/
 
-
-
 package org.apache.james.domainlist.xml;
 
 import java.util.ArrayList;
@@ -31,79 +29,84 @@ import org.apache.james.domainlist.api.D
 import org.apache.james.domainlist.lib.AbstractDomainList;
 import org.apache.james.lifecycle.api.Configurable;
 
-
 /**
  * Mimic the old behavoir of JAMES
  */
-public class XMLDomainList extends AbstractDomainList implements Configurable{
-    
+public class XMLDomainList extends AbstractDomainList implements Configurable {
+
     private List<String> domainNames = new ArrayList<String>();
-    
+
     private boolean managementDisabled = false;
-    
+
     /*
      * (non-Javadoc)
-     * @see org.apache.james.lifecycle.Configurable#configure(org.apache.commons.configuration.HierarchicalConfiguration)
+     * 
+     * @see
+     * org.apache.james.lifecycle.Configurable#configure(org.apache.commons.
+     * configuration.HierarchicalConfiguration)
      */
     @SuppressWarnings("unchecked")
     public void configure(HierarchicalConfiguration config) throws ConfigurationException {
         super.configure(config);
-        List<String> serverNameConfs = config.getList( "domainnames.domainname" );
-        for ( int i = 0; i < serverNameConfs.size(); i++ ) {
+        List<String> serverNameConfs = config.getList("domainnames.domainname");
+        for (int i = 0; i < serverNameConfs.size(); i++) {
             try {
-                addDomain( serverNameConfs.get(i));
+                addDomain(serverNameConfs.get(i));
             } catch (DomainListException e) {
                 throw new ConfigurationException("Unable to add domain to memory", e);
             }
         }
-        
+
         managementDisabled = true;
 
-        
     }
-   
-   
-    
-    
+
     /**
      * @see org.apache.james.domainlist.lib.AbstractDomainList#getDomainListInternal()
      */
     protected List<String> getDomainListInternal() {
-        
+
         return new ArrayList<String>(domainNames);
     }
 
     /**
      * @see org.apache.james.domainlist.api.DomainList#containsDomain(java.lang.String)
      */
-    public boolean containsDomain(String domains) throws DomainListException{
+    public boolean containsDomain(String domains) throws DomainListException {
         return domainNames.contains(domains);
     }
 
     /*
      * (non-Javadoc)
-     * @see org.apache.james.domainlist.api.DomainList#addDomain(java.lang.String)
+     * 
+     * @see
+     * org.apache.james.domainlist.api.DomainList#addDomain(java.lang.String)
      */
-    public void addDomain(String domain) throws DomainListException{
-        // TODO: Remove later. Temporary fix to get sure no domains can be added to the XMLDomainList
-        if (managementDisabled) throw new DomainListException("Read-Only DomainList implementation");
-        
+    public void addDomain(String domain) throws DomainListException {
+        // TODO: Remove later. Temporary fix to get sure no domains can be added
+        // to the XMLDomainList
+        if (managementDisabled)
+            throw new DomainListException("Read-Only DomainList implementation");
+
         String newDomain = domain.toLowerCase(Locale.US);
         if (containsDomain(newDomain) == false) {
             domainNames.add(newDomain);
         }
-        
-    }
 
+    }
 
     /*
      * (non-Javadoc)
-     * @see org.apache.james.domainlist.api.DomainList#removeDomain(java.lang.String)
+     * 
+     * @see
+     * org.apache.james.domainlist.api.DomainList#removeDomain(java.lang.String)
      */
     public void removeDomain(String domain) throws DomainListException {
-        // TODO: Remove later. Temporary fix to get sure no domains can be added to the XMLDomainList
-        if (managementDisabled) throw new DomainListException("Read-Only DomainList implementation");
-       
+        // TODO: Remove later. Temporary fix to get sure no domains can be added
+        // to the XMLDomainList
+        if (managementDisabled)
+            throw new DomainListException("Read-Only DomainList implementation");
+
         domainNames.remove(domain.toLowerCase(Locale.US));
     }
 }

Modified: james/server/trunk/file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
URL: http://svn.apache.org/viewvc/james/server/trunk/file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java?rev=1088657&r1=1088656&r2=1088657&view=diff
==============================================================================
--- james/server/trunk/file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java (original)
+++ james/server/trunk/file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java Mon Apr  4 14:59:11 2011
@@ -17,8 +17,6 @@
  * under the License.                                           *
  ****************************************************************/
 
-
-
 package org.apache.james.mailrepository.file;
 
 import java.io.IOException;
@@ -46,35 +44,39 @@ import org.apache.james.repository.file.
 import org.apache.mailet.Mail;
 
 /**
+ * <p>
  * Implementation of a MailRepository on a FileSystem.
- *
+ * </p>
+ * <p>
  * Requires a configuration element in the .conf.xml file of the form:
+ * 
+ * <pre>
  *  &lt;repository destinationURL="file://path-to-root-dir-for-repository"
  *              type="MAIL"
  *              model="SYNCHRONOUS"/&gt;
+ * </pre>
+ * 
  * Requires a logger called MailRepository.
- *
- * @version 1.0.0, 24/04/1999
+ * </p>
  */
-public class FileMailRepository
-    extends AbstractMailRepository {
+public class FileMailRepository extends AbstractMailRepository {
 
     private FilePersistentStreamRepository streamRepository;
     private FilePersistentObjectRepository objectRepository;
     private String destination;
     private Set keys;
     private boolean fifo;
-    private boolean cacheKeys; // experimental: for use with write mostly repositories such as spam and error
+    private boolean cacheKeys; // experimental: for use with write mostly
+                               // repositories such as spam and error
     private FileSystem fs;
 
-    @Resource(name="filesystem")
+    @Resource(name = "filesystem")
     public void setFileSystem(FileSystem fs) {
         this.fs = fs;
     }
-    
+
     @Override
-    protected void doConfigure(HierarchicalConfiguration config)
-            throws org.apache.commons.configuration.ConfigurationException {
+    protected void doConfigure(HierarchicalConfiguration config) throws org.apache.commons.configuration.ConfigurationException {
         super.doConfigure(config);
         destination = config.getString("[@destinationURL]");
         if (getLogger().isDebugEnabled()) {
@@ -85,10 +87,8 @@ public class FileMailRepository
         // ignore model
     }
 
-
     @PostConstruct
-    public void init()
-            throws Exception {
+    public void init() throws Exception {
         try {
             DefaultConfigurationBuilder reposConfiguration = new DefaultConfigurationBuilder();
 
@@ -98,36 +98,37 @@ public class FileMailRepository
             objectRepository.setFileSystem(fs);
             objectRepository.configure(reposConfiguration);
             objectRepository.init();
-            
+
             streamRepository = new FilePersistentStreamRepository();
             streamRepository.setLog(getLogger());
             streamRepository.setFileSystem(fs);
             streamRepository.configure(reposConfiguration);
             streamRepository.init();
-            
-            if (cacheKeys) keys = Collections.synchronizedSet(new HashSet());
 
-            //Finds non-matching pairs and deletes the extra files
+            if (cacheKeys)
+                keys = Collections.synchronizedSet(new HashSet());
+
+            // Finds non-matching pairs and deletes the extra files
             HashSet streamKeys = new HashSet();
-            for (Iterator i = streamRepository.list(); i.hasNext(); ) {
+            for (Iterator i = streamRepository.list(); i.hasNext();) {
                 streamKeys.add(i.next());
             }
             HashSet objectKeys = new HashSet();
-            for (Iterator i = objectRepository.list(); i.hasNext(); ) {
+            for (Iterator i = objectRepository.list(); i.hasNext();) {
                 objectKeys.add(i.next());
             }
 
-            Collection strandedStreams = (Collection)streamKeys.clone();
+            Collection strandedStreams = (Collection) streamKeys.clone();
             strandedStreams.removeAll(objectKeys);
-            for (Iterator i = strandedStreams.iterator(); i.hasNext(); ) {
-                String key = (String)i.next();
+            for (Iterator i = strandedStreams.iterator(); i.hasNext();) {
+                String key = (String) i.next();
                 remove(key);
             }
 
-            Collection strandedObjects = (Collection)objectKeys.clone();
+            Collection strandedObjects = (Collection) objectKeys.clone();
             strandedObjects.removeAll(streamKeys);
-            for (Iterator i = strandedObjects.iterator(); i.hasNext(); ) {
-                String key = (String)i.next();
+            for (Iterator i = strandedObjects.iterator(); i.hasNext();) {
+                String key = (String) i.next();
                 remove(key);
             }
 
@@ -135,21 +136,17 @@ public class FileMailRepository
                 // Next get a list from the object repository
                 // and use that for the list of keys
                 keys.clear();
-                for (Iterator i = objectRepository.list(); i.hasNext(); ) {
+                for (Iterator i = objectRepository.list(); i.hasNext();) {
                     keys.add(i.next());
                 }
             }
             if (getLogger().isDebugEnabled()) {
-                StringBuffer logBuffer =
-                    new StringBuffer(128)
-                            .append(getClass().getName())
-                            .append(" created in ")
-                            .append(destination);
+                StringBuffer logBuffer = new StringBuffer(128).append(getClass().getName()).append(" created in ").append(destination);
                 getLogger().debug(logBuffer.toString());
             }
         } catch (Exception e) {
             final String message = "Failed to retrieve Store component:" + e.getMessage();
-            getLogger().error( message, e );
+            getLogger().error(message, e);
             throw e;
         }
     }
@@ -176,28 +173,21 @@ public class FileMailRepository
             MimeMessageWrapper wrapper = (MimeMessageWrapper) message;
             if (DEEP_DEBUG) {
                 System.out.println("Retrieving from: " + wrapper.getSourceId());
-                StringBuffer debugBuffer =
-                    new StringBuffer(64)
-                            .append("Saving to:       ")
-                            .append(destination)
-                            .append("/")
-                            .append(mc.getName());
+                StringBuffer debugBuffer = new StringBuffer(64).append("Saving to:       ").append(destination).append("/").append(mc.getName());
                 System.out.println(debugBuffer.toString());
                 System.out.println("Modified: " + wrapper.isModified());
             }
-            StringBuffer destinationBuffer =
-                new StringBuffer(128)
-                    .append(destination)
-                    .append("/")
-                    .append(mc.getName());
+            StringBuffer destinationBuffer = new StringBuffer(128).append(destination).append("/").append(mc.getName());
             if (destinationBuffer.toString().equals(wrapper.getSourceId())) {
                 if (!wrapper.isModified()) {
-                    //We're trying to save to the same place, and it's not modified... we shouldn't save.
-                    //More importantly, if we try to save, we will create a 0-byte file since we're
-                    //retrying to retrieve from a file we'll be overwriting.
+                    // We're trying to save to the same place, and it's not
+                    // modified... we shouldn't save.
+                    // More importantly, if we try to save, we will create a
+                    // 0-byte file since we're
+                    // retrying to retrieve from a file we'll be overwriting.
                     saveStream = false;
                 }
-                
+
                 // its an update
                 update = true;
             }
@@ -206,11 +196,12 @@ public class FileMailRepository
             OutputStream out = null;
             try {
                 if (update && message instanceof MimeMessageWrapper) {
-                    // we need to force the loading of the message from the stream as we want to override the old message
-                    ((MimeMessageWrapper)message).loadMessage();
+                    // we need to force the loading of the message from the
+                    // stream as we want to override the old message
+                    ((MimeMessageWrapper) message).loadMessage();
                     out = streamRepository.put(key);
 
-                    ((MimeMessageWrapper)message).writeTo(out, out, null, true);
+                    ((MimeMessageWrapper) message).writeTo(out, out, null, true);
 
                 } else {
                     out = streamRepository.put(key);
@@ -218,12 +209,12 @@ public class FileMailRepository
 
                 }
 
-
             } finally {
-                if (out != null) out.close();
+                if (out != null)
+                    out.close();
             }
         }
-        //Always save the header information
+        // Always save the header information
         objectRepository.put(key, mc);
     }
 
@@ -238,16 +229,12 @@ public class FileMailRepository
             Mail mc = null;
             try {
                 mc = (Mail) objectRepository.get(key);
-            } 
-            catch (RuntimeException re){
+            } catch (RuntimeException re) {
                 StringBuffer exceptionBuffer = new StringBuffer(128);
-                if(re.getCause() instanceof Error){
-                    exceptionBuffer.append("Error when retrieving mail, not deleting: ")
-                            .append(re.toString());
-                }else{
-                    exceptionBuffer.append("Exception retrieving mail: ")
-                            .append(re.toString())
-                            .append(", so we're deleting it.");
+                if (re.getCause() instanceof Error) {
+                    exceptionBuffer.append("Error when retrieving mail, not deleting: ").append(re.toString());
+                } else {
+                    exceptionBuffer.append("Exception retrieving mail: ").append(re.toString()).append(", so we're deleting it.");
                     remove(key);
                 }
                 final String errorMessage = exceptionBuffer.toString();
@@ -265,33 +252,36 @@ public class FileMailRepository
         }
     }
 
-
     /**
      * @see org.apache.james.mailrepository.lib.AbstractMailRepository#internalRemove(String)
      */
     protected void internalRemove(String key) throws MessagingException {
-        if (keys != null) keys.remove(key);
+        if (keys != null)
+            keys.remove(key);
         streamRepository.remove(key);
         objectRepository.remove(key);
     }
 
-
     /**
      * @see org.apache.james.mailrepository.api.MailRepository#list()
      */
     public Iterator list() {
-        // Fix ConcurrentModificationException by cloning 
+        // Fix ConcurrentModificationException by cloning
         // the keyset before getting an iterator
         final ArrayList clone;
-        if (keys != null) synchronized(keys) {
-            clone = new ArrayList(keys);
-        } else {
+        if (keys != null)
+            synchronized (keys) {
+                clone = new ArrayList(keys);
+            }
+        else {
             clone = new ArrayList();
-            for (Iterator i = objectRepository.list(); i.hasNext(); ) {
+            for (Iterator i = objectRepository.list(); i.hasNext();) {
                 clone.add(i.next());
             }
         }
-        if (fifo) Collections.sort(clone); // Keys is a HashSet; impose FIFO for apps that need it
+        if (fifo)
+            Collections.sort(clone); // Keys is a HashSet; impose FIFO for apps
+                                     // that need it
         return clone.iterator();
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org