Author: eric
Date: Fri Jan  7 13:59:15 2011
New Revision: 1056319

URL: http://svn.apache.org/viewvc?rev=1056319&view=rev
Log:
MailboxException MessageRangeException extend java.lang.Exception (MAILBOX-29)

Modified:
    
james/server/trunk/lmtpserver/src/main/java/org/apache/james/lmtpserver/DataLineLMTPMessageHookHandler.java
    
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/SieveMailet.java
    
james/server/trunk/mailets/src/main/java/org/apache/james/transport/matchers/AbstractStorageQuota.java
    
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ListCmdHandler.java
    
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RetrCmdHandler.java
    
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RsetCmdHandler.java
    
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java
    
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/TopCmdHandler.java
    
james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java

Modified: 
james/server/trunk/lmtpserver/src/main/java/org/apache/james/lmtpserver/DataLineLMTPMessageHookHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/lmtpserver/src/main/java/org/apache/james/lmtpserver/DataLineLMTPMessageHookHandler.java?rev=1056319&r1=1056318&r2=1056319&view=diff
==============================================================================
--- 
james/server/trunk/lmtpserver/src/main/java/org/apache/james/lmtpserver/DataLineLMTPMessageHookHandler.java
 (original)
+++ 
james/server/trunk/lmtpserver/src/main/java/org/apache/james/lmtpserver/DataLineLMTPMessageHookHandler.java
 Fri Jan  7 13:59:15 2011
@@ -33,6 +33,7 @@ import org.apache.james.core.MimeMessage
 import org.apache.james.core.MimeMessageInputStream;
 import org.apache.james.core.MimeMessageInputStreamSource;
 import org.apache.james.lifecycle.api.LifecycleUtil;
+import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxPath;
 import org.apache.james.mailbox.MailboxSession;
@@ -173,11 +174,12 @@ public class DataLineLMTPMessageHookHand
 
             } catch (MessagingException e) {
                 session.getLogger().info("Unexpected error handling DATA 
stream", e);
-
+                response = new SMTPResponse(SMTPRetCode.LOCAL_ERROR, 
DSNStatus.getStatus(DSNStatus.TRANSIENT, DSNStatus.UNDEFINED_STATUS) + " 
Temporary error deliver message to " + recipient);
+            } catch (MailboxException e) {
+                session.getLogger().info("Unexpected error handling DATA 
stream", e);
                 response = new SMTPResponse(SMTPRetCode.LOCAL_ERROR, 
DSNStatus.getStatus(DSNStatus.TRANSIENT, DSNStatus.UNDEFINED_STATUS) + " 
Temporary error deliver message to " + recipient);
             } catch (UsersRepositoryException e) {
                 session.getLogger().info("Unexpected error handling DATA 
stream", e);
-
                 response = new SMTPResponse(SMTPRetCode.LOCAL_ERROR, 
DSNStatus.getStatus(DSNStatus.TRANSIENT, DSNStatus.UNDEFINED_STATUS) + " 
Temporary error deliver message to " + recipient);
             }
             session.writeResponse(response);

Modified: 
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/SieveMailet.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/SieveMailet.java?rev=1056319&r1=1056318&r2=1056319&view=diff
==============================================================================
--- 
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/SieveMailet.java
 (original)
+++ 
james/server/trunk/mailets/src/main/java/org/apache/james/transport/mailets/SieveMailet.java
 Fri Jan  7 13:59:15 2011
@@ -26,7 +26,9 @@ import javax.mail.MessagingException;
 import javax.mail.internet.MimeMessage;
 
 import org.apache.james.core.MimeMessageInputStream;
+import org.apache.james.mailbox.BadCredentialsException;
 import org.apache.james.mailbox.MailboxConstants;
+import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxPath;
 import org.apache.james.mailbox.MailboxSession;
@@ -153,7 +155,14 @@ public class SieveMailet extends SieveMa
                         throw new MessagingException("Unable to 
accessUsersRepository", e);
                     }
 
-                    final MailboxSession session = 
mailboxManager.createSystemSession(user, new 
MailetContextLog(getMailetContext()));
+                    MailboxSession session;
+                    try {
+                        session = mailboxManager.createSystemSession(user, new 
MailetContextLog(getMailetContext()));
+                    } catch (BadCredentialsException e) {
+                        throw new MessagingException("Unable to authenticate 
to mailbox", e);
+                    } catch (MailboxException e) {
+                        throw new MessagingException("Can not access mailbox", 
e);
+                    }
 
                     // start processing request
                     mailboxManager.startProcessingRequest(session);
@@ -179,9 +188,15 @@ public class SieveMailet extends SieveMa
                         }
 
                         mailbox.appendMessage(new 
MimeMessageInputStream(mail), new Date(), session, true, null);
+                    } catch (MailboxException e) {
+                        throw new MessagingException("Unable to access 
mailbox.", e);
                     } finally {
                         session.close();
-                        mailboxManager.logout(session, true);
+                        try {
+                            mailboxManager.logout(session, true);
+                        } catch (MailboxException e) {
+                            throw new MessagingException("Can logout from 
mailbox", e);
+                        }
 
                         // stop processing request
                         mailboxManager.endProcessingRequest(session);

Modified: 
james/server/trunk/mailets/src/main/java/org/apache/james/transport/matchers/AbstractStorageQuota.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/mailets/src/main/java/org/apache/james/transport/matchers/AbstractStorageQuota.java?rev=1056319&r1=1056318&r2=1056319&view=diff
==============================================================================
--- 
james/server/trunk/mailets/src/main/java/org/apache/james/transport/matchers/AbstractStorageQuota.java
 (original)
+++ 
james/server/trunk/mailets/src/main/java/org/apache/james/transport/matchers/AbstractStorageQuota.java
 Fri Jan  7 13:59:15 2011
@@ -27,6 +27,8 @@ import javax.annotation.Resource;
 import javax.mail.MessagingException;
 
 import org.apache.commons.logging.Log;
+import org.apache.james.mailbox.BadCredentialsException;
+import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.MailboxPath;
 import org.apache.james.mailbox.MessageManager;
 import org.apache.james.mailbox.MailboxConstants;
@@ -93,95 +95,104 @@ abstract public class AbstractStorageQuo
      */    
     protected long getUsed(MailAddress recipient, Mail _) throws 
MessagingException {
         long size = 0;
-        MailboxSession session = 
manager.createSystemSession(getPrimaryName(recipient.getLocalPart()), new Log() 
{
+        MailboxSession session;
+        try {
+            session = 
manager.createSystemSession(getPrimaryName(recipient.getLocalPart()), new Log() 
{
 
-                       public void debug(Object arg0) {
-                               // just consume                                 
-                       }
-
-                       public void debug(Object arg0, Throwable arg1) {
-                               // just consume 
-                       }
-
-                       public void error(Object arg0) {
-                               log(arg0.toString());
-
-                       }
-
-                       public void error(Object arg0, Throwable arg1) {
-                               log(arg0.toString(),arg1);
-                       }
-
-                       public void fatal(Object arg0) {
-                               log(arg0.toString());
-                       }
-
-                       public void fatal(Object arg0, Throwable arg1) {
-                               log(arg0.toString(), arg1);                     
        
-                       }
-
-                       public void info(Object arg0) {
-                               log(arg0.toString());
-                       }
-
-                       public void info(Object arg0, Throwable arg1) {
-                               log(arg0.toString(), arg1);
-                               
-                       }
-
-                       public boolean isDebugEnabled() {
-                               return false;
-                       }
-
-                       public boolean isErrorEnabled() {
-                               return true;
-                       }
-
-                       public boolean isFatalEnabled() {
-                               return true;
-                       }
-
-                       public boolean isInfoEnabled() {
-                               return true;
-                       }
-
-                       public boolean isTraceEnabled() {
-                               return false;
-                       }
-
-                       public boolean isWarnEnabled() {
-                               return true;
-                       }
-
-                       public void trace(Object arg0) {
-                               // just consume                                 
-                       }
-
-                       public void trace(Object arg0, Throwable arg1) {
-                               // just consume                                 
-                       }
-
-                       public void warn(Object arg0) {
-                               log(arg0.toString());
-                       }
-
-                       public void warn(Object arg0, Throwable arg1) {
-                               log(arg0.toString(), arg1);
-                       }
-               
-        });
-        manager.startProcessingRequest(session);
-        MessageManager mailbox = manager.getMailbox(new 
MailboxPath(MailboxConstants.USER_NAMESPACE,
-                                            session.getUser().getUserName(), 
"INBOX"),
-                                            session);
-        Iterator<MessageResult> results = 
mailbox.getMessages(MessageRange.all(), new FetchGroupImpl(FetchGroup.MINIMAL), 
session);
-        
-        while (results.hasNext()) {
-               size += results.next().getSize();
+               public void debug(Object arg0) {
+                       // just consume                                 
+               }
+
+               public void debug(Object arg0, Throwable arg1) {
+                       // just consume 
+               }
+
+               public void error(Object arg0) {
+                       log(arg0.toString());
+
+               }
+
+               public void error(Object arg0, Throwable arg1) {
+                       log(arg0.toString(),arg1);
+               }
+
+               public void fatal(Object arg0) {
+                       log(arg0.toString());
+               }
+
+               public void fatal(Object arg0, Throwable arg1) {
+                       log(arg0.toString(), arg1);                             
+               }
+
+               public void info(Object arg0) {
+                       log(arg0.toString());
+               }
+
+               public void info(Object arg0, Throwable arg1) {
+                       log(arg0.toString(), arg1);
+                       
+               }
+
+               public boolean isDebugEnabled() {
+                       return false;
+               }
+
+               public boolean isErrorEnabled() {
+                       return true;
+               }
+
+               public boolean isFatalEnabled() {
+                       return true;
+               }
+
+               public boolean isInfoEnabled() {
+                       return true;
+               }
+
+               public boolean isTraceEnabled() {
+                       return false;
+               }
+
+               public boolean isWarnEnabled() {
+                       return true;
+               }
+
+               public void trace(Object arg0) {
+                       // just consume                                 
+               }
+
+               public void trace(Object arg0, Throwable arg1) {
+                       // just consume                                 
+               }
+
+               public void warn(Object arg0) {
+                       log(arg0.toString());
+               }
+
+               public void warn(Object arg0, Throwable arg1) {
+                       log(arg0.toString(), arg1);
+               }
+               
+            });
+            manager.startProcessingRequest(session);
+            MessageManager mailbox = manager.getMailbox(new 
MailboxPath(MailboxConstants.USER_NAMESPACE,
+                                                
session.getUser().getUserName(), "INBOX"),
+                                                session);
+            Iterator<MessageResult> results = 
mailbox.getMessages(MessageRange.all(), new FetchGroupImpl(FetchGroup.MINIMAL), 
session);
+            
+            while (results.hasNext()) {
+               size += results.next().getSize();
+            }
+            manager.endProcessingRequest(session);
+            manager.logout(session, true);
+        } catch (BadCredentialsException e) {
+            throw new MessagingException("Unable to authenticate to mailbox", 
e);
+        } catch (MailboxException e) {
+            throw new MessagingException("Unable to get used space from 
mailbox", e);
         }
-        manager.endProcessingRequest(session);
-        manager.logout(session, true);
+
         return size;
+
     }
 
     /**

Modified: 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ListCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ListCmdHandler.java?rev=1056319&r1=1056318&r2=1056319&view=diff
==============================================================================
--- 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ListCmdHandler.java
 (original)
+++ 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/ListCmdHandler.java
 Fri Jan  7 13:59:15 2011
@@ -24,13 +24,11 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import javax.mail.MessagingException;
-
+import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageRange;
 import org.apache.james.mailbox.MessageResult;
 import org.apache.james.mailbox.MessageResult.FetchGroup;
-import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.util.FetchGroupImpl;
 import org.apache.james.pop3server.POP3Response;
 import org.apache.james.pop3server.POP3Session;
@@ -116,7 +114,7 @@ public class ListCmdHandler implements C
                 } catch (NumberFormatException nfe) {
                     StringBuilder responseBuffer = new 
StringBuilder(64).append(parameters).append(" is not a valid number");
                     response = new POP3Response(POP3Response.ERR_RESPONSE, 
responseBuffer.toString());
-                } catch (MessagingException me) {
+                } catch (MailboxException me) {
                     response = new POP3Response(POP3Response.ERR_RESPONSE);
                 }
             }

Modified: 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RetrCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RetrCmdHandler.java?rev=1056319&r1=1056318&r2=1056319&view=diff
==============================================================================
--- 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RetrCmdHandler.java
 (original)
+++ 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RetrCmdHandler.java
 Fri Jan  7 13:59:15 2011
@@ -29,10 +29,9 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import javax.mail.MessagingException;
-
 import org.apache.james.mailbox.Content;
 import org.apache.james.mailbox.InputStreamContent;
+import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageRange;
 import org.apache.james.mailbox.MessageResult;
@@ -104,7 +103,7 @@ public class RetrCmdHandler implements C
                 }
             } catch (IOException ioe) {
                 response = new POP3Response(POP3Response.ERR_RESPONSE, "Error 
while retrieving message.");
-            } catch (MessagingException me) {
+            } catch (MailboxException me) {
                 response = new POP3Response(POP3Response.ERR_RESPONSE, "Error 
while retrieving message.");
             } catch (IndexOutOfBoundsException iob) {
                 StringBuilder responseBuffer = new 
StringBuilder(64).append("Message (").append(num).append(") does not exist.");

Modified: 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RsetCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RsetCmdHandler.java?rev=1056319&r1=1056318&r2=1056319&view=diff
==============================================================================
--- 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RsetCmdHandler.java
 (original)
+++ 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/RsetCmdHandler.java
 Fri Jan  7 13:59:15 2011
@@ -24,8 +24,7 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import javax.mail.MessagingException;
-
+import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageRange;
 import org.apache.james.mailbox.MessageResult;
@@ -77,7 +76,7 @@ public class RsetCmdHandler implements C
             }
             session.getState().put(POP3Session.UID_LIST, uids);
             session.getState().put(POP3Session.DELETED_UID_LIST, new 
ArrayList<Long>());
-        } catch (MessagingException e) {
+        } catch (MailboxException e) {
             // In the event of an exception being thrown there may or may not 
be
             // anything in userMailbox
             session.getLogger().error("Unable to STAT mail box ", e);

Modified: 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java?rev=1056319&r1=1056318&r2=1056319&view=diff
==============================================================================
--- 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java
 (original)
+++ 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/StatCmdHandler.java
 Fri Jan  7 13:59:15 2011
@@ -24,8 +24,7 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import javax.mail.MessagingException;
-
+import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageRange;
 import org.apache.james.mailbox.MessageResult;
@@ -73,7 +72,7 @@ public class StatCmdHandler implements C
                 }
                 StringBuilder responseBuffer = new 
StringBuilder(32).append(count).append(" ").append(size);
                 response = new POP3Response(POP3Response.OK_RESPONSE, 
responseBuffer.toString());
-            } catch (MessagingException me) {
+            } catch (MailboxException me) {
                 response = new POP3Response(POP3Response.ERR_RESPONSE);
             }
         } else {

Modified: 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/TopCmdHandler.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/TopCmdHandler.java?rev=1056319&r1=1056318&r2=1056319&view=diff
==============================================================================
--- 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/TopCmdHandler.java
 (original)
+++ 
james/server/trunk/pop3server/src/main/java/org/apache/james/pop3server/core/TopCmdHandler.java
 Fri Jan  7 13:59:15 2011
@@ -32,10 +32,9 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.List;
 
-import javax.mail.MessagingException;
-
 import org.apache.james.mailbox.Content;
 import org.apache.james.mailbox.InputStreamContent;
+import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.MessageRange;
 import org.apache.james.mailbox.MessageResult;
@@ -144,7 +143,7 @@ public class TopCmdHandler extends RetrC
                 }
             } catch (IOException ioe) {
                 response = new POP3Response(POP3Response.ERR_RESPONSE, "Error 
while retrieving message.");
-            } catch (MessagingException me) {
+            } catch (MailboxException me) {
                 response = new POP3Response(POP3Response.ERR_RESPONSE, "Error 
while retrieving message.");
             } catch (IndexOutOfBoundsException iob) {
                 StringBuilder exceptionBuffer = new 
StringBuilder(64).append("Message (").append(num).append(") does not exist.");

Modified: 
james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java?rev=1056319&r1=1056318&r2=1056319&view=diff
==============================================================================
--- 
james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
 (original)
+++ 
james/server/trunk/pop3server/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
 Fri Jan  7 13:59:15 2011
@@ -29,7 +29,6 @@ import java.util.Date;
 import java.util.List;
 
 import javax.mail.Flags;
-import javax.mail.MessagingException;
 
 import junit.framework.TestCase;
 
@@ -37,21 +36,22 @@ import org.apache.commons.logging.impl.S
 import org.apache.commons.net.pop3.POP3Client;
 import org.apache.commons.net.pop3.POP3MessageInfo;
 import org.apache.commons.net.pop3.POP3Reply;
-import org.apache.james.pop3server.netty.POP3Server;
-import org.apache.james.server.PortUtil;
-import org.apache.james.server.mock.MockJSR250Loader;
-import org.apache.james.server.mock.MockProtocolHandlerChain;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.api.mock.MockDNSService;
 import org.apache.james.filesystem.api.mock.MockFileSystem;
+import org.apache.james.mailbox.MailboxConstants;
+import org.apache.james.mailbox.MailboxException;
+import org.apache.james.mailbox.MailboxPath;
+import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.MessageManager;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxManager;
 import org.apache.james.mailbox.inmemory.InMemoryMailboxSessionMapperFactory;
 import org.apache.james.mailbox.inmemory.mail.InMemoryCachingUidProvider;
-import org.apache.james.mailbox.MailboxPath;
-import org.apache.james.mailbox.MessageManager;
-import org.apache.james.mailbox.MailboxConstants;
-import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.store.Authenticator;
+import org.apache.james.pop3server.netty.POP3Server;
+import org.apache.james.server.PortUtil;
+import org.apache.james.server.mock.MockJSR250Loader;
+import org.apache.james.server.mock.MockProtocolHandlerChain;
 import org.apache.james.user.api.UsersRepositoryException;
 import org.apache.james.user.lib.mock.MockUsersRepository;
 import org.apache.james.util.POP3BeforeSMTPHelper;
@@ -438,9 +438,7 @@ public class POP3ServerTest extends Test
         manager.deleteMailbox(mailboxPath, session);
     }
 
-    private void setupTestMails(MailboxSession session, MessageManager 
mailbox) throws MessagingException {
-       
-        
+    private void setupTestMails(MailboxSession session, MessageManager 
mailbox) throws MailboxException {
         mailbox.appendMessage(new ByteArrayInputStream(content), new Date(), 
session, true, new Flags());
         byte[] content2 = ("EMPTY").getBytes();
         mailbox.appendMessage(new ByteArrayInputStream(content2), new Date(), 
session, true, new Flags());



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

Reply via email to