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]