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 no...@apache.org on 2010/09/06 19:19:20 UTC
svn commit: r993100 [2/3] - in /james/imap/trunk: api/
api/src/main/java/org/apache/james/imap/api/
api/src/main/java/org/apache/james/imap/api/process/
deployment/src/test/java/org/apache/james/imap/functional/ jcr/
jcr/src/main/java/org/apache/james/...
Modified: james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/MaildirStore.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/MaildirStore.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/MaildirStore.java (original)
+++ james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/MaildirStore.java Mon Sep 6 17:19:17 2010
@@ -21,10 +21,9 @@ package org.apache.james.imap.maildir;
import java.io.File;
import java.io.IOException;
-import org.apache.james.imap.api.MailboxPath;
-import org.apache.james.imap.api.display.HumanReadableText;
+import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxNotFoundException;
-import org.apache.james.imap.mailbox.StorageException;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.maildir.mail.model.MaildirMailbox;
import org.apache.james.imap.store.mail.model.Mailbox;
@@ -69,9 +68,9 @@ public class MaildirStore {
* @param user The owner of this mailbox
* @param folderName The name of the mailbox folder
* @return The Mailbox object populated with data from the file system
- * @throws StorageException If the mailbox folder doesn't exist or can't be read
+ * @throws MailboxException If the mailbox folder doesn't exist or can't be read
*/
- public Mailbox<Integer> loadMailbox(File root, String namespace, String user, String folderName) throws StorageException {
+ public Mailbox<Integer> loadMailbox(File root, String namespace, String user, String folderName) throws MailboxException {
String mailboxName = getMailboxNameFromFolderName(folderName);
return loadMailbox(new File(root, folderName), new MailboxPath(namespace, user, mailboxName));
}
@@ -81,10 +80,10 @@ public class MaildirStore {
* @param mailboxPath The path of the mailbox
* @return The Mailbox object populated with data from the file system
* @throws MailboxNotFoundException If the mailbox folder doesn't exist
- * @throws StorageException If the mailbox folder can't be read
+ * @throws MailboxException If the mailbox folder can't be read
*/
public Mailbox<Integer> loadMailbox(MailboxPath mailboxPath)
- throws MailboxNotFoundException, StorageException {
+ throws MailboxNotFoundException, MailboxException {
String folder = getFolderName(mailboxPath);
File f = new File(folder);
if (!f.isDirectory())
@@ -97,9 +96,9 @@ public class MaildirStore {
* @param mailboxFile File object referencing the folder for the mailbox
* @param mailboxPath The path of the mailbox
* @return The Mailbox object populated with data from the file system
- * @throws StorageException If the mailbox folder doesn't exist or can't be read
+ * @throws MailboxException If the mailbox folder doesn't exist or can't be read
*/
- public Mailbox<Integer> loadMailbox(File mailboxFile, MailboxPath mailboxPath) throws StorageException {
+ public Mailbox<Integer> loadMailbox(File mailboxFile, MailboxPath mailboxPath) throws MailboxException {
long uidValidity;
long lastUid;
MaildirFolder folder = new MaildirFolder(mailboxFile.getAbsolutePath());
@@ -107,7 +106,7 @@ public class MaildirStore {
uidValidity = folder.getUidValidity();
lastUid = folder.getLastUid();
} catch (IOException e) {
- throw new StorageException(HumanReadableText.SELECT, null);
+ throw new MailboxException("Unable to load Mailbox " + mailboxPath, e);
}
return new MaildirMailbox(mailboxPath, uidValidity, lastUid);
}
@@ -133,13 +132,13 @@ public class MaildirStore {
* The main maildir folder containing all mailboxes for one user
* @param user The user name of a mailbox
* @return A File object referencing the main maildir folder
- * @throws StorageException If the folder does not exist or is no directory
+ * @throws MailboxException If the folder does not exist or is no directory
*/
- public File getMailboxRootForUser(String user) throws StorageException {
+ public File getMailboxRootForUser(String user) throws MailboxException {
String path = userRoot(user);
File root = new File(path);
if (!root.isDirectory())
- throw new StorageException(HumanReadableText.MAILBOX_NOT_FOUND, null);
+ throw new MailboxException("Unable to load Mailbox for user " + user);
return root;
}
Modified: james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java (original)
+++ james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java Mon Sep 6 17:19:17 2010
@@ -27,10 +27,10 @@ import java.util.regex.Pattern;
import org.apache.commons.io.FileUtils;
import org.apache.commons.lang.NotImplementedException;
-import org.apache.james.imap.api.MailboxPath;
-import org.apache.james.imap.api.display.HumanReadableText;
+import org.apache.james.imap.mailbox.MailboxException;
+import org.apache.james.imap.mailbox.MailboxExistsException;
import org.apache.james.imap.mailbox.MailboxNotFoundException;
-import org.apache.james.imap.mailbox.StorageException;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.maildir.MaildirFolder;
import org.apache.james.imap.maildir.MaildirMessageName;
import org.apache.james.imap.maildir.MaildirStore;
@@ -59,26 +59,25 @@ public class MaildirMailboxMapper extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#delete(org.apache.james.imap.store.mail.model.Mailbox)
*/
- public void delete(Mailbox<Integer> mailbox) throws StorageException {
+ public void delete(Mailbox<Integer> mailbox) throws MailboxException {
String folderName = maildirStore.getFolderName(mailbox);
File folder = new File(folderName);
if (folder.isDirectory()) {
try {
FileUtils.deleteDirectory(folder);
} catch (IOException e) {
- throw new StorageException(HumanReadableText.DELETED_FAILED, e);
+ throw new MailboxException("Unable to delete Mailbox " + mailbox, e);
}
}
else
- throw new StorageException(HumanReadableText.DELETED_FAILED,
- new MailboxNotFoundException(mailbox.getName()));
+ throw new MailboxNotFoundException(mailbox.getName());
}
/*
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#deleteAll()
*/
- public void deleteAll() throws StorageException {
+ public void deleteAll() throws MailboxException {
// not used
throw new NotImplementedException();
}
@@ -87,7 +86,7 @@ public class MaildirMailboxMapper extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxById(java.lang.Object)
*/
- public Mailbox<Integer> findMailboxById(Integer mailboxId) throws StorageException,
+ public Mailbox<Integer> findMailboxById(Integer mailboxId) throws MailboxException,
MailboxNotFoundException {
// not used
throw new NotImplementedException();
@@ -98,7 +97,7 @@ public class MaildirMailboxMapper extend
* @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxByPath(org.apache.james.imap.api.MailboxPath)
*/
public Mailbox<Integer> findMailboxByPath(MailboxPath mailboxPath)
- throws StorageException, MailboxNotFoundException {
+ throws MailboxException, MailboxNotFoundException {
String folder = maildirStore.getFolderName(mailboxPath);
File f = new File(folder);
if (!f.isDirectory())
@@ -112,7 +111,7 @@ public class MaildirMailboxMapper extend
* @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxWithPathLike(org.apache.james.imap.api.MailboxPath)
*/
public List<Mailbox<Integer>> findMailboxWithPathLike(MailboxPath mailboxPath)
- throws StorageException {
+ throws MailboxException {
final Pattern searchPattern = Pattern.compile("[" + MaildirStore.maildirDelimiter + "]"
+ mailboxPath.getName().replace(".", "\\.").replace(MaildirStore.WILDCARD, ".*"));
FilenameFilter filter = MaildirMessageName.createRegexFilter(searchPattern);
@@ -136,7 +135,7 @@ public class MaildirMailboxMapper extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#hasChildren(org.apache.james.imap.store.mail.model.Mailbox)
*/
- public boolean hasChildren(Mailbox<Integer> mailbox) throws StorageException, MailboxNotFoundException {
+ public boolean hasChildren(Mailbox<Integer> mailbox) throws MailboxException, MailboxNotFoundException {
String searchString = mailbox.getName() + MaildirStore.maildirDelimiter + MaildirStore.WILDCARD;
List<Mailbox<Integer>> mailboxes = findMailboxWithPathLike(
new MailboxPath(mailbox.getNamespace(), mailbox.getUser(), searchString));
@@ -147,13 +146,13 @@ public class MaildirMailboxMapper extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#save(org.apache.james.imap.store.mail.model.Mailbox)
*/
- public void save(Mailbox<Integer> mailbox) throws StorageException {
+ public void save(Mailbox<Integer> mailbox) throws MailboxException {
try {
Mailbox<Integer> originalMailbox = getCachedMailbox(mailbox.getMailboxId());
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
if (originalMailbox.getName() != mailbox.getName()) {
if (folder.exists())
- throw new StorageException(HumanReadableText.MAILBOX_EXISTS, null);
+ throw new MailboxExistsException(mailbox.getName());
MaildirFolder originalFolder = maildirStore.createMaildirFolder(originalMailbox);
// renaming the INBOX means to move its contents to the new folder
@@ -161,7 +160,7 @@ public class MaildirMailboxMapper extend
File inboxFolder = originalFolder.getRootFile();
File newFolder = folder.getRootFile();
if (!newFolder.mkdirs())
- throw new StorageException(HumanReadableText.SAVE_FAILED, null);
+ throw new MailboxException("Failed to saveMailbox " + mailbox);
originalFolder.getCurFolder().renameTo(folder.getCurFolder());
originalFolder.getNewFolder().renameTo(folder.getNewFolder());
originalFolder.getTmpFolder().renameTo(folder.getTmpFolder());
@@ -177,7 +176,7 @@ public class MaildirMailboxMapper extend
}
else {
if (!originalFolder.getRootFile().renameTo(folder.getRootFile()))
- throw new StorageException(HumanReadableText.SAVE_FAILED,
+ throw new MailboxException("Failed to save Mailbox " + mailbox,
new IOException("Could not rename folder " + originalFolder));
}
}
@@ -187,17 +186,19 @@ public class MaildirMailboxMapper extend
if (!folder.exists()) {
boolean success = folder.getRootFile().mkdirs();
if (!success)
- throw new StorageException(HumanReadableText.SAVE_FAILED, null);
+ throw new MailboxException("Failed to save Mailbox " + mailbox);
success = folder.getCurFolder().mkdir();
success = success && folder.getNewFolder().mkdir();
success = success && folder.getTmpFolder().mkdir();
if (!success)
- throw new StorageException(HumanReadableText.SAVE_FAILED, new IOException("Needed folder structure can not be created"));
+ throw new MailboxException("Failed to save Mailbox " + mailbox, new IOException("Needed folder structure can not be created"));
+
}
try {
folder.setUidValidity(mailbox.getUidValidity());
} catch (IOException ioe) {
- throw new StorageException(HumanReadableText.SAVE_FAILED, ioe);
+ throw new MailboxException("Failed to save Mailbox " + mailbox, ioe);
+
}
}
@@ -236,7 +237,7 @@ public class MaildirMailboxMapper extend
try {
return mailboxCache.get(mailboxId);
} catch (IndexOutOfBoundsException e) {
- throw new MailboxNotFoundException(mailboxId);
+ throw new MailboxNotFoundException(String.valueOf(mailboxId));
}
}
Modified: james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMessageMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMessageMapper.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMessageMapper.java (original)
+++ james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMessageMapper.java Mon Sep 6 17:19:17 2010
@@ -35,11 +35,9 @@ import java.util.Map.Entry;
import javax.mail.util.SharedFileInputStream;
import org.apache.commons.io.FileUtils;
-import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MessageRange;
import org.apache.james.imap.mailbox.SearchQuery;
-import org.apache.james.imap.mailbox.StorageException;
import org.apache.james.imap.mailbox.MessageRange.Type;
import org.apache.james.imap.mailbox.SearchQuery.Criterion;
import org.apache.james.imap.mailbox.SearchQuery.NumericRange;
@@ -78,13 +76,9 @@ public class MaildirMessageMapper extend
* @see org.apache.james.imap.store.mail.MessageMapper#copy(org.apache.james.imap.store.mail.model.Mailbox, org.apache.james.imap.store.mail.model.MailboxMembership)
*/
public long copy(Mailbox<Integer> mailbox, MailboxMembership<Integer> original)
- throws StorageException {
- MaildirMessage theCopy;
- try {
- theCopy = new MaildirMessage(mailbox, (MaildirMessage) original);
- } catch (MailboxException e) {
- throw new StorageException(HumanReadableText.FAILURE_MAIL_PARSE, e);
- }
+ throws MailboxException {
+ MaildirMessage theCopy = new MaildirMessage(mailbox, (MaildirMessage) original);
+
return save(mailbox, theCopy);
}
@@ -92,14 +86,14 @@ public class MaildirMessageMapper extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#countMessagesInMailbox(org.apache.james.imap.store.mail.model.Mailbox)
*/
- public long countMessagesInMailbox(Mailbox<Integer> mailbox) throws StorageException {
+ public long countMessagesInMailbox(Mailbox<Integer> mailbox) throws MailboxException {
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
File newFolder = folder.getNewFolder();
File curFolder = folder.getCurFolder();
File[] newFiles = newFolder.listFiles();
File[] curFiles = curFolder.listFiles();
if (newFiles == null || curFiles == null)
- throw new StorageException(HumanReadableText.COUNT_FAILED,
+ throw new MailboxException("Unable to count messages in Mailbox " + mailbox,
new IOException("Not a valid Maildir folder: " + maildirStore.getFolderName(mailbox)));
int count = newFiles.length + curFiles.length;
return count;
@@ -109,14 +103,14 @@ public class MaildirMessageMapper extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#countUnseenMessagesInMailbox(org.apache.james.imap.store.mail.model.Mailbox)
*/
- public long countUnseenMessagesInMailbox(Mailbox<Integer> mailbox) throws StorageException {
+ public long countUnseenMessagesInMailbox(Mailbox<Integer> mailbox) throws MailboxException {
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
File newFolder = folder.getNewFolder();
File curFolder = folder.getCurFolder();
String[] unseenMessages = curFolder.list(MaildirMessageName.FILTER_UNSEEN_MESSAGES);
String[] newUnseenMessages = newFolder.list(MaildirMessageName.FILTER_UNSEEN_MESSAGES);
if (newUnseenMessages == null || unseenMessages == null)
- throw new StorageException(HumanReadableText.COUNT_FAILED,
+ throw new MailboxException("Unable to count unseen messages in Mailbox " + mailbox,
new IOException("Not a valid Maildir folder: " + maildirStore.getFolderName(mailbox)));
int count = newUnseenMessages.length + unseenMessages.length;
return count;
@@ -126,12 +120,12 @@ public class MaildirMessageMapper extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#delete(org.apache.james.imap.store.mail.model.Mailbox, org.apache.james.imap.store.mail.model.MailboxMembership)
*/
- public void delete(Mailbox<Integer> mailbox, MailboxMembership<Integer> message) throws StorageException {
+ public void delete(Mailbox<Integer> mailbox, MailboxMembership<Integer> message) throws MailboxException {
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
try {
folder.delete(message.getUid());
} catch (IOException e) {
- throw new StorageException(HumanReadableText.DELETED_FAILED, e);
+ throw new MailboxException("Unable to delete Message " + message + " in Mailbox " + mailbox, e);
}
}
@@ -140,7 +134,7 @@ public class MaildirMessageMapper extend
* @see org.apache.james.imap.store.mail.MessageMapper#findInMailbox(org.apache.james.imap.store.mail.model.Mailbox, org.apache.james.imap.mailbox.MessageRange)
*/
public List<MailboxMembership<Integer>> findInMailbox(Mailbox<Integer> mailbox, MessageRange set)
- throws StorageException {
+ throws MailboxException {
final List<MailboxMembership<Integer>> results;
final long from = set.getUidFrom();
final long to = set.getUidTo();
@@ -164,13 +158,13 @@ public class MaildirMessageMapper extend
}
private List<MailboxMembership<Integer>> findMessageInMailboxWithUID(Mailbox<Integer> mailbox, long uid)
- throws StorageException {
+ throws MailboxException {
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
MaildirMessageName messageName = null;
try {
messageName = folder.getMessageNameByUid(uid);
} catch (IOException e) {
- throw new StorageException(HumanReadableText.SEARCH_FAILED, e);
+ throw new MailboxException("Failure while search for Message with uid " + uid + " in Mailbox " + mailbox, e );
}
ArrayList<MailboxMembership<Integer>> messages = new ArrayList<MailboxMembership<Integer>>();
if (messageName != null) {
@@ -181,7 +175,7 @@ public class MaildirMessageMapper extend
}
private List<MailboxMembership<Integer>> findMessagesInMailboxBetweenUIDs(Mailbox<Integer> mailbox,
- FilenameFilter filter, long from, long to) throws StorageException {
+ FilenameFilter filter, long from, long to) throws MailboxException {
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
SortedMap<Long, MaildirMessageName> uidMap = null;
try {
@@ -190,7 +184,7 @@ public class MaildirMessageMapper extend
else
uidMap = folder.getUidMap(from, to);
} catch (IOException e) {
- throw new StorageException(HumanReadableText.SEARCH_FAILED, e);
+ throw new MailboxException("Failure while search for Messages in Mailbox " + mailbox, e );
}
ArrayList<MailboxMembership<Integer>> messages = new ArrayList<MailboxMembership<Integer>>();
for (Entry<Long, MaildirMessageName> entry : uidMap.entrySet()) {
@@ -203,7 +197,7 @@ public class MaildirMessageMapper extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#findMarkedForDeletionInMailbox(org.apache.james.imap.store.mail.model.Mailbox, org.apache.james.imap.mailbox.MessageRange)
*/
- public List<MailboxMembership<Integer>> findMarkedForDeletionInMailbox(Mailbox<Integer> mailbox, MessageRange set) throws StorageException {
+ public List<MailboxMembership<Integer>> findMarkedForDeletionInMailbox(Mailbox<Integer> mailbox, MessageRange set) throws MailboxException {
List<MailboxMembership<Integer>> results = new ArrayList<MailboxMembership<Integer>>();
final long from = set.getUidFrom();
final long to = set.getUidTo();
@@ -227,13 +221,13 @@ public class MaildirMessageMapper extend
}
private List<MailboxMembership<Integer>> findMessagesInMailbox(Mailbox<Integer> mailbox,
- FilenameFilter filter, int limit) throws StorageException {
+ FilenameFilter filter, int limit) throws MailboxException {
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
SortedMap<Long, MaildirMessageName> uidMap = null;
try {
uidMap = folder.getUidMap(filter, limit);
} catch (IOException e) {
- throw new StorageException(HumanReadableText.SEARCH_FAILED, e);
+ throw new MailboxException("Failure while search for Messages in Mailbox " + mailbox, e );
}
ArrayList<MailboxMembership<Integer>> filtered = new ArrayList<MailboxMembership<Integer>>(uidMap.size());
for (Entry<Long, MaildirMessageName> entry : uidMap.entrySet())
@@ -242,13 +236,13 @@ public class MaildirMessageMapper extend
}
private List<MailboxMembership<Integer>> findDeletedMessageInMailboxWithUID(
- Mailbox<Integer> mailbox, long uid) throws StorageException {
+ Mailbox<Integer> mailbox, long uid) throws MailboxException {
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
MaildirMessageName messageName = null;
try {
messageName = folder.getMessageNameByUid(uid);
} catch (IOException e) {
- throw new StorageException(HumanReadableText.SEARCH_FAILED, e);
+ throw new MailboxException("Failure while search for Messages in Mailbox " + mailbox, e );
}
ArrayList<MailboxMembership<Integer>> messages = new ArrayList<MailboxMembership<Integer>>();
if (MaildirMessageName.FILTER_DELETED_MESSAGES.accept(null, messageName.getFullName())) {
@@ -263,13 +257,13 @@ public class MaildirMessageMapper extend
* @see org.apache.james.imap.store.mail.MessageMapper#findRecentMessagesInMailbox(org.apache.james.imap.store.mail.model.Mailbox, int)
*/
public List<MailboxMembership<Integer>> findRecentMessagesInMailbox(Mailbox<Integer> mailbox, int limit)
- throws StorageException {
+ throws MailboxException {
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
SortedMap<Long, MaildirMessageName> recentMessageNames;
try {
recentMessageNames = folder.getRecentMessages(limit);
} catch (IOException e) {
- throw new StorageException(HumanReadableText.SEARCH_FAILED, e);
+ throw new MailboxException("Failure while search recent messages in Mailbox " + mailbox, e );
}
List<MailboxMembership<Integer>> recentMessages = new ArrayList<MailboxMembership<Integer>>(recentMessageNames.size());
for (Entry<Long, MaildirMessageName> entry : recentMessageNames.entrySet())
@@ -282,7 +276,7 @@ public class MaildirMessageMapper extend
* @see org.apache.james.imap.store.mail.MessageMapper#findFirstUnseenMessageUid(org.apache.james.imap.store.mail.model.Mailbox)
*/
public Long findFirstUnseenMessageUid(Mailbox<Integer> mailbox)
- throws StorageException {
+ throws MailboxException {
List<MailboxMembership<Integer>> result = findMessagesInMailbox(mailbox, MaildirMessageName.FILTER_UNSEEN_MESSAGES, 1);
if (result.isEmpty()) {
return null;
@@ -297,7 +291,7 @@ public class MaildirMessageMapper extend
* org.apache.james.imap.store.mail.model.MailboxMembership)
*/
public long save(Mailbox<Integer> mailbox, MailboxMembership<Integer> message)
- throws StorageException {
+ throws MailboxException {
MaildirMessage maildirMessage = (MaildirMessage) message;
MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
long uid = 0;
@@ -325,7 +319,7 @@ public class MaildirMessageMapper extend
fos.write(b, 0, len);
}
catch (IOException ioe) {
- throw new StorageException(HumanReadableText.SAVE_FAILED, ioe);
+ throw new MailboxException("Failure while save Message " + message + " in Mailbox " + mailbox, ioe );
}
finally {
try {
@@ -353,12 +347,12 @@ public class MaildirMessageMapper extend
} catch (IOException e) {
System.err.println(newMessageFile);
// TODO: Try copy and delete
- throw new StorageException(HumanReadableText.SAVE_FAILED, e);
+ throw new MailboxException("Failure while save Message " + message + " in Mailbox " + mailbox, e );
}
try {
uid = folder.appendMessage(newMessageFile.getName());
} catch (IOException e) {
- throw new StorageException(HumanReadableText.SAVE_FAILED, e);
+ throw new MailboxException("Failure while save Message " + message + " in Mailbox " + mailbox, e );
}
}
// the message already exists and its flags need to be updated (everything else is immutable)
@@ -374,7 +368,7 @@ public class MaildirMessageMapper extend
uid = message.getUid();
folder.update(uid, newMessageName);
} catch (IOException e) {
- throw new StorageException(HumanReadableText.SAVE_FAILED, e);
+ throw new MailboxException("Failure while save Message " + message + " in Mailbox " + mailbox, e );
}
}
return uid;
@@ -386,7 +380,7 @@ public class MaildirMessageMapper extend
* @see org.apache.james.imap.store.mail.MessageMapper#searchMailbox(org.apache.james.imap.store.mail.model.Mailbox, org.apache.james.imap.mailbox.SearchQuery)
*/
public Iterator<Long> searchMailbox(Mailbox<Integer> mailbox, SearchQuery query)
- throws StorageException {
+ throws MailboxException {
final List<Criterion> criteria = query.getCriterias();
boolean range = false;
int rangeLength = -1;
@@ -421,7 +415,7 @@ public class MaildirMessageMapper extend
try {
uidMap = folder.getUidMap(0, -1);
} catch (IOException e) {
- throw new StorageException(HumanReadableText.SEARCH_FAILED, e);
+ throw new MailboxException("Failure while search in Mailbox " + mailbox, e );
}
LinkedList<MailboxMembership<?>> messages = new LinkedList<MailboxMembership<?>>();
for (Entry<Long, MaildirMessageName> entry : uidMap.entrySet()) {
@@ -450,16 +444,16 @@ public class MaildirMessageMapper extend
* @param mailbox The mailbox which the message resides in
* @param messageName The name of the message
* @return the {@link MaildirMessage} filled with data from the respective file
- * @throws StorageException if there was an error parsing the message or the message could not be found
+ * @throws MailboxException if there was an error parsing the message or the message could not be found
*/
private MaildirMessage loadMessage(Mailbox<Integer> mailbox, MaildirMessageName messageName, Long uid)
- throws StorageException {
+ throws MailboxException {
MaildirMessage message = null;
try {
File messageFile = messageName.getFile();
message = parseMessage(messageFile, mailbox);
} catch (IOException e) {
- throw new StorageException(HumanReadableText.FAILURE_MAIL_PARSE, e);
+ throw new MailboxException("Parsing of message failed in Mailbox " + mailbox, e );
}
message.setFlags(messageName.getFlags());
message.setInternalDate(messageName.getInternalDate());
Modified: james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/model/MaildirMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/model/MaildirMailbox.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/model/MaildirMailbox.java (original)
+++ james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/model/MaildirMailbox.java Mon Sep 6 17:19:17 2010
@@ -1,169 +1,169 @@
-/****************************************************************
- * Licensed to the Apache Software Foundation (ASF) under one *
- * or more contributor license agreements. See the NOTICE file *
- * distributed with this work for additional information *
- * regarding copyright ownership. The ASF licenses this file *
- * to you under the Apache License, Version 2.0 (the *
- * "License"); you may not use this file except in compliance *
- * with the License. You may obtain a copy of the License at *
- * *
- * http://www.apache.org/licenses/LICENSE-2.0 *
- * *
- * Unless required by applicable law or agreed to in writing, *
- * software distributed under the License is distributed on an *
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
- * KIND, either express or implied. See the License for the *
- * specific language governing permissions and limitations *
- * under the License. *
- ****************************************************************/
-package org.apache.james.imap.maildir.mail.model;
-
-import org.apache.james.imap.api.MailboxPath;
-import org.apache.james.imap.store.mail.model.Mailbox;
-
-public class MaildirMailbox implements Mailbox<Integer> {
-
- private Integer id = null;
- private String namespace;
- private String user;
- private String name;
- private long lastUid;
- private long uidValidity;
-
- public MaildirMailbox(MailboxPath path, long uidValidity, long lastUid) {
- this.namespace = path.getNamespace();
- this.user = path.getUser();
- this.name = path.getName();
- this.uidValidity = uidValidity;
- this.lastUid = lastUid;
- }
-
- public MaildirMailbox(Mailbox<Integer> mailbox) {
- this.id = mailbox.getMailboxId();
- this.namespace = mailbox.getNamespace();
- this.user = mailbox.getUser();
- this.name = mailbox.getName();
- this.lastUid = mailbox.getLastUid();
- this.uidValidity = mailbox.getUidValidity();
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.imap.store.mail.model.Mailbox#consumeUid()
- */
- public void consumeUid() {
- lastUid++;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.imap.store.mail.model.Mailbox#getLastUid()
- */
- public long getLastUid() {
- return lastUid;
- }
-
- public void setMailboxId(Integer id) {
- this.id = id;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.imap.store.mail.model.Mailbox#getMailboxId()
- */
- public Integer getMailboxId() {
- return id;
- }
-
- /* (non-Javadoc)
- * @see org.apache.james.imap.store.mail.model.Mailbox#getNamespace()
- */
- public String getNamespace() {
- return namespace;
- }
-
- /* (non-Javadoc)
- * @see org.apache.james.imap.store.mail.model.Mailbox#setNamespace(java.lang.String)
- */
- public void setNamespace(String namespace) {
- this.namespace = namespace;
- }
-
- /* (non-Javadoc)
- * @see org.apache.james.imap.store.mail.model.Mailbox#getUser()
- */
- public String getUser() {
- return user;
- }
-
- /* (non-Javadoc)
- * @see org.apache.james.imap.store.mail.model.Mailbox#setUser(java.lang.String)
- */
- public void setUser(String user) {
- this.user = user;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.imap.store.mail.model.Mailbox#getName()
- */
- public String getName() {
- return name;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.imap.store.mail.model.Mailbox#setName(java.lang.String)
- */
- public void setName(String name) {
- this.name = name;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.imap.store.mail.model.Mailbox#getUidValidity()
- */
- public long getUidValidity() {
- return uidValidity;
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#equals(java.lang.Object)
- */
- public boolean equals(Object obj) {
- if (obj == this) {
- return true;
- }
- if (obj instanceof MaildirMailbox) {
- if (id == ((MaildirMailbox) obj).getMailboxId()) {
- return true;
- }
- }
- return false;
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#hashCode()
- */
- @Override
- public int hashCode() {
- final int PRIME = 31;
- int result = 1;
- result = PRIME * result + namespace.hashCode();
- result = PRIME * result + user.hashCode();
- result = PRIME * result + name.hashCode();
- return result;
- }
-
- /*
- * (non-Javadoc)
- * @see java.lang.Object#toString()
- */
- @Override
- public String toString() {
- return namespace + ":" + user + ":" + name;
- }
-
-}
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.imap.maildir.mail.model;
+
+import org.apache.james.imap.mailbox.MailboxPath;
+import org.apache.james.imap.store.mail.model.Mailbox;
+
+public class MaildirMailbox implements Mailbox<Integer> {
+
+ private Integer id = null;
+ private String namespace;
+ private String user;
+ private String name;
+ private long lastUid;
+ private long uidValidity;
+
+ public MaildirMailbox(MailboxPath path, long uidValidity, long lastUid) {
+ this.namespace = path.getNamespace();
+ this.user = path.getUser();
+ this.name = path.getName();
+ this.uidValidity = uidValidity;
+ this.lastUid = lastUid;
+ }
+
+ public MaildirMailbox(Mailbox<Integer> mailbox) {
+ this.id = mailbox.getMailboxId();
+ this.namespace = mailbox.getNamespace();
+ this.user = mailbox.getUser();
+ this.name = mailbox.getName();
+ this.lastUid = mailbox.getLastUid();
+ this.uidValidity = mailbox.getUidValidity();
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.imap.store.mail.model.Mailbox#consumeUid()
+ */
+ public void consumeUid() {
+ lastUid++;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.imap.store.mail.model.Mailbox#getLastUid()
+ */
+ public long getLastUid() {
+ return lastUid;
+ }
+
+ public void setMailboxId(Integer id) {
+ this.id = id;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.imap.store.mail.model.Mailbox#getMailboxId()
+ */
+ public Integer getMailboxId() {
+ return id;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.james.imap.store.mail.model.Mailbox#getNamespace()
+ */
+ public String getNamespace() {
+ return namespace;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.james.imap.store.mail.model.Mailbox#setNamespace(java.lang.String)
+ */
+ public void setNamespace(String namespace) {
+ this.namespace = namespace;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.james.imap.store.mail.model.Mailbox#getUser()
+ */
+ public String getUser() {
+ return user;
+ }
+
+ /* (non-Javadoc)
+ * @see org.apache.james.imap.store.mail.model.Mailbox#setUser(java.lang.String)
+ */
+ public void setUser(String user) {
+ this.user = user;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.imap.store.mail.model.Mailbox#getName()
+ */
+ public String getName() {
+ return name;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.imap.store.mail.model.Mailbox#setName(java.lang.String)
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.imap.store.mail.model.Mailbox#getUidValidity()
+ */
+ public long getUidValidity() {
+ return uidValidity;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see java.lang.Object#equals(java.lang.Object)
+ */
+ public boolean equals(Object obj) {
+ if (obj == this) {
+ return true;
+ }
+ if (obj instanceof MaildirMailbox) {
+ if (id == ((MaildirMailbox) obj).getMailboxId()) {
+ return true;
+ }
+ }
+ return false;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see java.lang.Object#hashCode()
+ */
+ @Override
+ public int hashCode() {
+ final int PRIME = 31;
+ int result = 1;
+ result = PRIME * result + namespace.hashCode();
+ result = PRIME * result + user.hashCode();
+ result = PRIME * result + name.hashCode();
+ return result;
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see java.lang.Object#toString()
+ */
+ @Override
+ public String toString() {
+ return namespace + ":" + user + ":" + name;
+ }
+
+}
Modified: james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/model/MaildirMessage.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/model/MaildirMessage.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/model/MaildirMessage.java (original)
+++ james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/model/MaildirMessage.java Mon Sep 6 17:19:17 2010
@@ -28,7 +28,6 @@ import java.util.List;
import javax.mail.Flags;
import org.apache.commons.lang.NotImplementedException;
-import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.maildir.MaildirMessageName;
import org.apache.james.imap.store.mail.model.AbstractMessage;
@@ -152,7 +151,7 @@ public class MaildirMessage extends Abst
try {
this.rawFullContent = new ByteArrayInputStream(StreamUtils.toByteArray(message.getFullContent()));
} catch (IOException e) {
- throw new MailboxException(HumanReadableText.FAILURE_MAIL_PARSE,e);
+ throw new MailboxException("Parsing of message failed",e);
}
this.bodyStartOctet = (int) (message.getFullContentOctets() - message.getBodyOctets());
Modified: james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/user/MaildirSubscriptionMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/user/MaildirSubscriptionMapper.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/user/MaildirSubscriptionMapper.java (original)
+++ james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/user/MaildirSubscriptionMapper.java Mon Sep 6 17:19:17 2010
@@ -30,8 +30,6 @@ import java.util.HashSet;
import java.util.List;
import java.util.Set;
-import org.apache.james.imap.api.display.HumanReadableText;
-import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.SubscriptionException;
import org.apache.james.imap.maildir.user.model.MaildirSubscription;
import org.apache.james.imap.store.transaction.NonTransactionalMapper;
@@ -60,7 +58,7 @@ public class MaildirSubscriptionMapper e
try {
writeSubscriptions(new File(createFolderNameFromUser(subscription.getUser())), subscriptionNames);
} catch (IOException e) {
- throw new SubscriptionException(HumanReadableText.GENERIC_SUBSCRIPTION_FAILURE);
+ throw new SubscriptionException(e);
}
}
}
@@ -88,7 +86,7 @@ public class MaildirSubscriptionMapper e
try {
subscriptionNames = readSubscriptions(userRoot);
} catch (IOException e) {
- throw new SubscriptionException(HumanReadableText.GENERIC_SUBSCRIPTION_FAILURE);
+ throw new SubscriptionException(e);
}
if (subscriptionNames.contains(mailbox))
return new MaildirSubscription(user, mailbox);
@@ -107,7 +105,7 @@ public class MaildirSubscriptionMapper e
try {
writeSubscriptions(new File(createFolderNameFromUser(subscription.getUser())), subscriptionNames);
} catch (IOException e) {
- throw new SubscriptionException(HumanReadableText.GENERIC_SUBSCRIPTION_FAILURE);
+ throw new SubscriptionException(e);
}
}
}
@@ -141,7 +139,7 @@ public class MaildirSubscriptionMapper e
try {
subscriptionNames = readSubscriptions(userRoot);
} catch (IOException e) {
- throw new SubscriptionException(HumanReadableText.GENERIC_SUBSCRIPTION_FAILURE);
+ throw new SubscriptionException(e);
}
return subscriptionNames;
}
Modified: james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java (original)
+++ james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java Mon Sep 6 17:19:17 2010
@@ -19,11 +19,10 @@
package org.apache.james.imap.inmemory;
-import org.apache.james.imap.api.MailboxPath;
import org.apache.james.imap.inmemory.mail.model.InMemoryMailbox;
import org.apache.james.imap.mailbox.MailboxException;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.mailbox.MailboxSession;
-import org.apache.james.imap.mailbox.StorageException;
import org.apache.james.imap.mailbox.util.MailboxEventDispatcher;
import org.apache.james.imap.store.Authenticator;
import org.apache.james.imap.store.MailboxSessionMapperFactory;
@@ -43,7 +42,7 @@ public class InMemoryMailboxManager exte
}
@Override
- protected void doCreateMailbox(MailboxPath mailboxPath, MailboxSession session) throws StorageException {
+ protected void doCreateMailbox(MailboxPath mailboxPath, MailboxSession session) throws MailboxException {
InMemoryMailbox mailbox = new InMemoryMailbox(randomId(), mailboxPath, randomUidValidity());
try {
mailboxSessionMapperFactory.getMailboxMapper(session).save(mailbox);
Modified: james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java (original)
+++ james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java Mon Sep 6 17:19:17 2010
@@ -23,10 +23,10 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
-import org.apache.james.imap.api.MailboxPath;
import org.apache.james.imap.inmemory.mail.model.InMemoryMailbox;
+import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxNotFoundException;
-import org.apache.james.imap.mailbox.StorageException;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.store.mail.MailboxMapper;
import org.apache.james.imap.store.mail.model.Mailbox;
import org.apache.james.imap.store.transaction.NonTransactionalMapper;
@@ -46,7 +46,7 @@ public class InMemoryMailboxMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#delete(org.apache.james.imap.store.mail.model.Mailbox)
*/
- public void delete(Mailbox<Long> mailbox) throws StorageException {
+ public void delete(Mailbox<Long> mailbox) throws MailboxException {
mailboxesById.remove(mailbox.getMailboxId());
}
@@ -54,7 +54,7 @@ public class InMemoryMailboxMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#deleteAll()
*/
- public void deleteAll() throws StorageException {
+ public void deleteAll() throws MailboxException {
mailboxesById.clear();
}
@@ -63,10 +63,10 @@ public class InMemoryMailboxMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxById(java.lang.Object)
*/
- public Mailbox<Long> findMailboxById(Long mailboxId) throws StorageException, MailboxNotFoundException {
+ public Mailbox<Long> findMailboxById(Long mailboxId) throws MailboxException, MailboxNotFoundException {
Mailbox<Long> mailbox = mailboxesById.get(mailboxesById);
if (mailbox == null) {
- throw new MailboxNotFoundException(mailboxId);
+ throw new MailboxNotFoundException(String.valueOf(mailboxId));
} else {
return mailbox;
}
@@ -76,7 +76,7 @@ public class InMemoryMailboxMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxByName(java.lang.String)
*/
- public synchronized Mailbox<Long> findMailboxByPath(MailboxPath path) throws StorageException, MailboxNotFoundException {
+ public synchronized Mailbox<Long> findMailboxByPath(MailboxPath path) throws MailboxException, MailboxNotFoundException {
Mailbox<Long> result = null;
for (final InMemoryMailbox mailbox:mailboxesById.values()) {
MailboxPath mp = new MailboxPath(mailbox.getNamespace(), mailbox.getUser(), mailbox.getName());
@@ -96,7 +96,7 @@ public class InMemoryMailboxMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxWithNameLike(java.lang.String)
*/
- public List<Mailbox<Long>> findMailboxWithPathLike(MailboxPath path) throws StorageException {
+ public List<Mailbox<Long>> findMailboxWithPathLike(MailboxPath path) throws MailboxException {
final String regex = path.getName().replace("%", ".*");
List<Mailbox<Long>> results = new ArrayList<Mailbox<Long>>();
for (final InMemoryMailbox mailbox:mailboxesById.values()) {
@@ -111,7 +111,7 @@ public class InMemoryMailboxMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#save(org.apache.james.imap.store.mail.model.Mailbox)
*/
- public void save(Mailbox<Long> mailbox) throws StorageException {
+ public void save(Mailbox<Long> mailbox) throws MailboxException {
mailboxesById.put(mailbox.getMailboxId(), (InMemoryMailbox) mailbox);
}
@@ -126,7 +126,7 @@ public class InMemoryMailboxMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#hasChildren(org.apache.james.imap.store.mail.model.Mailbox)
*/
- public boolean hasChildren(Mailbox<Long> mailbox) throws StorageException,
+ public boolean hasChildren(Mailbox<Long> mailbox) throws MailboxException,
MailboxNotFoundException {
String mailboxName = mailbox.getName() + delimiter;
for (final InMemoryMailbox box:mailboxesById.values()) {
Modified: james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMessageMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMessageMapper.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMessageMapper.java (original)
+++ james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMessageMapper.java Mon Sep 6 17:19:17 2010
@@ -1,3 +1,22 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
package org.apache.james.imap.inmemory.mail;
import java.util.ArrayList;
@@ -9,9 +28,9 @@ import java.util.concurrent.ConcurrentHa
import org.apache.james.imap.inmemory.mail.model.InMemoryMailbox;
import org.apache.james.imap.inmemory.mail.model.SimpleMailboxMembership;
+import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MessageRange;
import org.apache.james.imap.mailbox.SearchQuery;
-import org.apache.james.imap.mailbox.StorageException;
import org.apache.james.imap.store.MailboxMembershipComparator;
import org.apache.james.imap.store.SearchQueryIterator;
import org.apache.james.imap.store.mail.MessageMapper;
@@ -41,7 +60,7 @@ public class InMemoryMessageMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#countMessagesInMailbox()
*/
- public long countMessagesInMailbox(Mailbox<Long> mailbox) throws StorageException {
+ public long countMessagesInMailbox(Mailbox<Long> mailbox) throws MailboxException {
return getMembershipByUidForMailbox(mailbox).size();
}
@@ -49,7 +68,7 @@ public class InMemoryMessageMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#countUnseenMessagesInMailbox()
*/
- public long countUnseenMessagesInMailbox(Mailbox<Long> mailbox) throws StorageException {
+ public long countUnseenMessagesInMailbox(Mailbox<Long> mailbox) throws MailboxException {
long count = 0;
for(MailboxMembership<Long> member:getMembershipByUidForMailbox(mailbox).values()) {
if (!member.isSeen()) {
@@ -63,7 +82,7 @@ public class InMemoryMessageMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#delete(org.apache.james.imap.store.mail.model.MailboxMembership)
*/
- public void delete(Mailbox<Long> mailbox, MailboxMembership<Long> message) throws StorageException {
+ public void delete(Mailbox<Long> mailbox, MailboxMembership<Long> message) throws MailboxException {
getMembershipByUidForMailbox(mailbox).remove(message.getUid());
}
@@ -72,7 +91,7 @@ public class InMemoryMessageMapper exten
* @see org.apache.james.imap.store.mail.MessageMapper#findInMailbox(java.lang.Object, org.apache.james.imap.mailbox.MessageRange)
*/
@SuppressWarnings("unchecked")
- public List<MailboxMembership<Long>> findInMailbox(Mailbox<Long> mailbox, MessageRange set) throws StorageException {
+ public List<MailboxMembership<Long>> findInMailbox(Mailbox<Long> mailbox, MessageRange set) throws MailboxException {
final List<MailboxMembership<Long>> results;
final MessageRange.Type type = set.getType();
switch (type) {
@@ -115,7 +134,7 @@ public class InMemoryMessageMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#findMarkedForDeletionInMailbox(org.apache.james.imap.mailbox.MessageRange)
*/
- public List<MailboxMembership<Long>> findMarkedForDeletionInMailbox(Mailbox<Long> mailbox, MessageRange set) throws StorageException {
+ public List<MailboxMembership<Long>> findMarkedForDeletionInMailbox(Mailbox<Long> mailbox, MessageRange set) throws MailboxException {
final List<MailboxMembership<Long>> results = findInMailbox(mailbox, set);
for(final Iterator<MailboxMembership<Long>> it=results.iterator();it.hasNext();) {
if (!it.next().isDeleted()) {
@@ -129,7 +148,7 @@ public class InMemoryMessageMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#findRecentMessagesInMailbox()
*/
- public List<MailboxMembership<Long>> findRecentMessagesInMailbox(Mailbox<Long> mailbox,int limit) throws StorageException {
+ public List<MailboxMembership<Long>> findRecentMessagesInMailbox(Mailbox<Long> mailbox,int limit) throws MailboxException {
final List<MailboxMembership<Long>> results = new ArrayList<MailboxMembership<Long>>();
for(MailboxMembership<Long> member:getMembershipByUidForMailbox(mailbox).values()) {
if (member.isRecent()) {
@@ -147,7 +166,7 @@ public class InMemoryMessageMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#findFirstUnseenMessageUid(org.apache.james.imap.store.mail.model.Mailbox)
*/
- public Long findFirstUnseenMessageUid(Mailbox<Long> mailbox) throws StorageException {
+ public Long findFirstUnseenMessageUid(Mailbox<Long> mailbox) throws MailboxException {
List<MailboxMembership<Long>> memberships = new ArrayList<MailboxMembership<Long>>(getMembershipByUidForMailbox(mailbox).values());
Collections.sort(memberships, MailboxMembershipComparator.INSTANCE);
for (int i = 0; i < memberships.size(); i++) {
@@ -163,7 +182,7 @@ public class InMemoryMessageMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#save(org.apache.james.imap.store.mail.model.MailboxMembership)
*/
- public long save(Mailbox<Long> mailbox, MailboxMembership<Long> message) throws StorageException {
+ public long save(Mailbox<Long> mailbox, MailboxMembership<Long> message) throws MailboxException {
getMembershipByUidForMailbox(mailbox).put(message.getUid(), message);
return message.getUid();
}
@@ -173,7 +192,7 @@ public class InMemoryMessageMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#searchMailbox(org.apache.james.imap.store.mail.model.Mailbox, org.apache.james.imap.mailbox.SearchQuery)
*/
- public Iterator<Long> searchMailbox(Mailbox<Long> mailbox, SearchQuery query) throws StorageException {
+ public Iterator<Long> searchMailbox(Mailbox<Long> mailbox, SearchQuery query) throws MailboxException {
List<MailboxMembership<?>> memberships = new ArrayList<MailboxMembership<?>>(getMembershipByUidForMailbox(mailbox).values());
Collections.sort(memberships, MailboxMembershipComparator.INSTANCE);
@@ -196,7 +215,7 @@ public class InMemoryMessageMapper exten
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#copy(org.apache.james.imap.store.mail.model.Mailbox, org.apache.james.imap.store.mail.model.MailboxMembership)
*/
- public long copy(Mailbox<Long> mailbox, MailboxMembership<Long> original) throws StorageException {
+ public long copy(Mailbox<Long> mailbox, MailboxMembership<Long> original) throws MailboxException {
((InMemoryMailbox) mailbox).consumeUid();
SimpleMailboxMembership membership = new SimpleMailboxMembership(mailbox.getMailboxId(), mailbox.getLastUid(), (SimpleMailboxMembership) original);
return save(mailbox, membership);
Modified: james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/model/InMemoryMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/model/InMemoryMailbox.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/model/InMemoryMailbox.java (original)
+++ james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/model/InMemoryMailbox.java Mon Sep 6 17:19:17 2010
@@ -21,7 +21,7 @@ package org.apache.james.imap.inmemory.m
import java.util.concurrent.atomic.AtomicLong;
-import org.apache.james.imap.api.MailboxPath;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.store.mail.model.Mailbox;
/**
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractMailboxProcessor.java Mon Sep 6 17:19:17 2010
@@ -24,11 +24,9 @@ import java.util.Iterator;
import javax.mail.Flags;
import javax.mail.MessagingException;
-import org.apache.commons.logging.Log;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.MailboxPath;
import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.ImapResponseMessage;
@@ -37,12 +35,11 @@ import org.apache.james.imap.api.message
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.api.process.SelectedMailbox;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.mailbox.MessageManager;
import org.apache.james.imap.mailbox.MailboxConstants;
import org.apache.james.imap.mailbox.MailboxException;
-import org.apache.james.imap.mailbox.MailboxExistsException;
import org.apache.james.imap.mailbox.MailboxManager;
-import org.apache.james.imap.mailbox.MailboxNotFoundException;
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.mailbox.MessageRange;
import org.apache.james.imap.mailbox.MessageResult;
@@ -81,38 +78,7 @@ abstract public class AbstractMailboxPro
doProcess(message, command, tag, responder, session);
}
- protected void no(final ImapCommand command, final String tag,
- final Responder responder, final MessagingException e, ImapSession session) {
- final Log logger = session.getLog();
- final ImapResponseMessage response;
- if (e instanceof MailboxExistsException) {
- response = factory.taggedNo(tag, command,
- HumanReadableText.FAILURE_MAILBOX_EXISTS);
- } else if (e instanceof MailboxNotFoundException) {
- response = factory.taggedNo(tag, command,
- HumanReadableText.FAILURE_NO_SUCH_MAILBOX);
- } else {
- if (logger != null) {
- logger.info(e.getMessage());
- logger.debug("Processing failed:", e);
- }
- final HumanReadableText key;
- if (e instanceof MailboxException) {
- final MailboxException mailboxException = (MailboxException) e;
- final HumanReadableText exceptionKey = mailboxException.getKey();
- if (exceptionKey == null) {
- key = HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING;
- } else {
- key = exceptionKey;
- }
- } else {
- key = HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING;
- }
- response = factory.taggedNo(tag, command, key);
- }
- responder.respond(response);
- }
-
+
final void doProcess(final ImapRequest message, final ImapCommand command,
final String tag, Responder responder, ImapSession session) {
if (!command.validForState(session.getState())) {
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AbstractSelectionProcessor.java Mon Sep 6 17:19:17 2010
@@ -25,7 +25,6 @@ import java.util.List;
import javax.mail.Flags;
import org.apache.james.imap.api.ImapCommand;
-import org.apache.james.imap.api.MailboxPath;
import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponse;
@@ -34,6 +33,7 @@ import org.apache.james.imap.api.message
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.api.process.SelectedMailbox;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.mailbox.MessageManager;
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxManager;
@@ -84,7 +84,7 @@ abstract class AbstractSelectionProcesso
responder.respond(statusResponseFactory.taggedNo(tag, command,
HumanReadableText.FAILURE_NO_SUCH_MAILBOX));
} catch (MailboxException e) {
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.SELECT);
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/AppendProcessor.java Mon Sep 6 17:19:17 2010
@@ -28,7 +28,6 @@ import javax.mail.Flags;
import org.apache.commons.logging.Log;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.MailboxPath;
import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponse;
@@ -36,12 +35,12 @@ import org.apache.james.imap.api.message
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.api.process.SelectedMailbox;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.mailbox.MessageManager;
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxManager;
import org.apache.james.imap.mailbox.MailboxNotFoundException;
import org.apache.james.imap.mailbox.MailboxSession;
-import org.apache.james.imap.mailbox.StorageException;
import org.apache.james.imap.message.request.AppendRequest;
import org.apache.james.imap.processor.base.ImapSessionUtils;
@@ -87,7 +86,7 @@ public class AppendProcessor extends Abs
cosume(messageIn);
// Some other issue
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
@@ -144,11 +143,12 @@ public class AppendProcessor extends Abs
// Indicates that the mailbox does not exist
// So TRY CREATE
tryCreate(session, tag, command, responder, e);
- } catch (StorageException e) {
+ /*} catch (StorageException e) {
taggedBad(command, tag, responder, e.getKey());
+ */
} catch (MailboxException e) {
// Some other issue
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.SAVE_FAILED);
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CloseProcessor.java Mon Sep 6 17:19:17 2010
@@ -21,6 +21,7 @@ package org.apache.james.imap.processor;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapMessage;
+import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
import org.apache.james.imap.api.process.ImapProcessor;
@@ -50,20 +51,20 @@ public class CloseProcessor extends Abst
MessageManager mailbox = getSelectedMailbox(session);
final MailboxSession mailboxSession = ImapSessionUtils.getMailboxSession(session);
if (mailbox.isWriteable(mailboxSession)) {
-
- mailbox.expunge(MessageRange.all(), mailboxSession);
- session.deselect();
- // TODO: the following comment was present in the code before
- // refactoring
- // TODO: doesn't seem to match the implementation
- // TODO: check that implementation is correct
- // Don't send unsolicited responses on close.
- unsolicitedResponses(session, responder, false);
- okComplete(command, tag, responder);
+ mailbox.expunge(MessageRange.all(), mailboxSession);
+ session.deselect();
+ // TODO: the following comment was present in the code before
+ // refactoring
+ // TODO: doesn't seem to match the implementation
+ // TODO: check that implementation is correct
+ // Don't send unsolicited responses on close.
+ unsolicitedResponses(session, responder, false);
+ okComplete(command, tag, responder);
}
+
} catch (MailboxException e) {
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CopyProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CopyProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CopyProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CopyProcessor.java Mon Sep 6 17:19:17 2010
@@ -21,7 +21,6 @@ package org.apache.james.imap.processor;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.MailboxPath;
import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.IdRange;
import org.apache.james.imap.api.message.request.ImapRequest;
@@ -32,6 +31,7 @@ import org.apache.james.imap.api.process
import org.apache.james.imap.api.process.SelectedMailbox;
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxManager;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.mailbox.MessageRange;
import org.apache.james.imap.message.request.CopyRequest;
@@ -85,7 +85,7 @@ public class CopyProcessor extends Abstr
okComplete(command, tag, responder);
}
} catch (MailboxException e) {
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CreateProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CreateProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CreateProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/CreateProcessor.java Mon Sep 6 17:19:17 2010
@@ -21,13 +21,15 @@ package org.apache.james.imap.processor;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.MailboxPath;
+import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.api.process.ImapSession;
import org.apache.james.imap.mailbox.MailboxException;
+import org.apache.james.imap.mailbox.MailboxExistsException;
import org.apache.james.imap.mailbox.MailboxManager;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.message.request.CreateRequest;
import org.apache.james.imap.processor.base.ImapSessionUtils;
@@ -52,8 +54,10 @@ public class CreateProcessor extends Abs
mailboxManager.createMailbox(mailboxPath, ImapSessionUtils.getMailboxSession(session));
unsolicitedResponses(session, responder, false);
okComplete(command, tag, responder);
+ } catch (MailboxExistsException e) {
+ no(command, tag, responder, HumanReadableText.MAILBOX_EXISTS);
} catch (MailboxException e) {
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DeleteProcessor.java Mon Sep 6 17:19:17 2010
@@ -21,7 +21,7 @@ package org.apache.james.imap.processor;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.MailboxPath;
+import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
import org.apache.james.imap.api.process.ImapProcessor;
@@ -29,6 +29,8 @@ import org.apache.james.imap.api.process
import org.apache.james.imap.api.process.SelectedMailbox;
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxManager;
+import org.apache.james.imap.mailbox.MailboxNotFoundException;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.message.request.DeleteRequest;
import org.apache.james.imap.processor.base.ImapSessionUtils;
@@ -57,8 +59,11 @@ public class DeleteProcessor extends Abs
mailboxManager.deleteMailbox(mailboxPath, ImapSessionUtils.getMailboxSession(session));
unsolicitedResponses(session, responder, false);
okComplete(command, tag, responder);
+ } catch (MailboxNotFoundException e) {
+ no(command, tag, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX);
+
} catch (MailboxException e) {
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ExpungeProcessor.java Mon Sep 6 17:19:17 2010
@@ -71,7 +71,7 @@ public class ExpungeProcessor extends Ab
okComplete(command, tag, responder);
}
} catch (MailboxException e) {
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java Mon Sep 6 17:19:17 2010
@@ -25,7 +25,6 @@ import java.util.Collection;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.MailboxPath;
import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
@@ -34,6 +33,7 @@ import org.apache.james.imap.api.process
import org.apache.james.imap.mailbox.MailboxConstants;
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxManager;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.mailbox.MailboxQuery;
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.mailbox.SubscriptionException;
@@ -133,14 +133,7 @@ public class LSubProcessor extends Abstr
} catch (SubscriptionException e) {
session.getLog().debug("Subscription failed", e);
- final HumanReadableText exceptionKey = e.getKey();
- final HumanReadableText displayTextKey;
- if (exceptionKey == null) {
- displayTextKey = HumanReadableText.GENERIC_LSUB_FAILURE;
- } else {
- displayTextKey = exceptionKey;
- }
- no(command, tag, responder, displayTextKey);
+ no(command, tag, responder, HumanReadableText.GENERIC_LSUB_FAILURE);
} catch (MailboxException e) {
session.getLog().debug("Subscription failed", e);
final HumanReadableText displayTextKey = HumanReadableText.GENERIC_LSUB_FAILURE;
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ListProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ListProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ListProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/ListProcessor.java Mon Sep 6 17:19:17 2010
@@ -25,7 +25,7 @@ import java.util.List;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.MailboxPath;
+import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.ImapResponseMessage;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
@@ -35,6 +35,7 @@ import org.apache.james.imap.mailbox.Mai
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxManager;
import org.apache.james.imap.mailbox.MailboxMetaData;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.mailbox.MailboxQuery;
import org.apache.james.imap.mailbox.MailboxMetaData.Children;
import org.apache.james.imap.mailbox.util.SimpleMailboxMetaData;
@@ -154,7 +155,7 @@ public class ListProcessor extends Abstr
okComplete(command, tag, responder);
} catch (MailboxException e) {
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.SEARCH_FAILED);
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LoginProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LoginProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LoginProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LoginProcessor.java Mon Sep 6 17:19:17 2010
@@ -21,7 +21,6 @@ package org.apache.james.imap.processor;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.MailboxPath;
import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
@@ -31,6 +30,7 @@ import org.apache.james.imap.mailbox.Bad
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxExistsException;
import org.apache.james.imap.mailbox.MailboxManager;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.message.request.LoginRequest;
import org.apache.james.imap.processor.base.ImapSessionUtils;
@@ -103,7 +103,7 @@ public class LoginProcessor extends Abst
}
} catch (MailboxException e) {
session.getLog().debug("Login failed", e);
- no(command, tag, responder, e.getKey());
+ no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LogoutProcessor.java Mon Sep 6 17:19:17 2010
@@ -21,6 +21,7 @@ package org.apache.james.imap.processor;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapMessage;
+import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
import org.apache.james.imap.api.process.ImapProcessor;
@@ -51,7 +52,7 @@ public class LogoutProcessor extends Abs
bye(responder);
okComplete(command, tag, responder);
} catch (MailboxException e) {
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/RenameProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/RenameProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/RenameProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/RenameProcessor.java Mon Sep 6 17:19:17 2010
@@ -21,7 +21,6 @@ package org.apache.james.imap.processor;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapMessage;
-import org.apache.james.imap.api.MailboxPath;
import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.request.ImapRequest;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
@@ -31,6 +30,7 @@ import org.apache.james.imap.mailbox.Mai
import org.apache.james.imap.mailbox.MailboxExistsException;
import org.apache.james.imap.mailbox.MailboxManager;
import org.apache.james.imap.mailbox.MailboxNotFoundException;
+import org.apache.james.imap.mailbox.MailboxPath;
import org.apache.james.imap.message.request.RenameRequest;
import org.apache.james.imap.processor.base.ImapSessionUtils;
@@ -59,9 +59,9 @@ public class RenameProcessor extends Abs
} catch (MailboxExistsException e) {
no(command, tag, responder, HumanReadableText.FAILURE_MAILBOX_EXISTS);
} catch (MailboxNotFoundException e) {
- no(command, tag, responder, HumanReadableText.FAILURE_NO_SUCH_MAILBOX);
+ no(command, tag, responder, HumanReadableText.MAILBOX_NOT_FOUND);
} catch (MailboxException e) {
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.GENERIC_FAILURE_DURING_PROCESSING);
}
}
}
Modified: james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java?rev=993100&r1=993099&r2=993100&view=diff
==============================================================================
--- james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java (original)
+++ james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SearchProcessor.java Mon Sep 6 17:19:17 2010
@@ -30,6 +30,7 @@ import javax.mail.Flags.Flag;
import org.apache.james.imap.api.ImapCommand;
import org.apache.james.imap.api.ImapConstants;
import org.apache.james.imap.api.ImapMessage;
+import org.apache.james.imap.api.display.HumanReadableText;
import org.apache.james.imap.api.message.IdRange;
import org.apache.james.imap.api.message.request.DayMonthYear;
import org.apache.james.imap.api.message.request.ImapRequest;
@@ -77,7 +78,7 @@ public class SearchProcessor extends Abs
unsolicitedResponses(session, responder, omitExpunged, useUids);
okComplete(command, tag, responder);
} catch (MailboxException e) {
- no(command, tag, responder, e, session);
+ no(command, tag, responder, HumanReadableText.SEARCH_FAILED);
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org