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 er...@apache.org on 2010/12/13 16:40:09 UTC
svn commit: r1045179 - in /james/mailbox/trunk:
store/src/main/java/org/apache/james/mailbox/store/
store/src/main/java/org/apache/james/mailbox/store/mail/
torque/src/main/java/org/apache/james/mailbox/torque/
Author: eric
Date: Mon Dec 13 15:40:09 2010
New Revision: 1045179
URL: http://svn.apache.org/viewvc?rev=1045179&view=rev
Log:
Add a list method on MailboxManager to obtain all the existing mailboxpath (MAILBOX-19)
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/MailboxMapper.java
james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/TorqueMailboxManager.java
Modified: james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java?rev=1045179&r1=1045178&r2=1045179&view=diff
==============================================================================
--- james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java (original)
+++ james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java Mon Dec 13 15:40:09 2010
@@ -73,7 +73,7 @@ public abstract class StoreMailboxManage
private final Authenticator authenticator;
private final static Random RANDOM = new Random();
- private Log log = LogFactory.getLog("org.apache.james.imap");
+ private Log log = LogFactory.getLog("org.apache.james.mailbox");
private MailboxPathLocker locker;
@@ -430,6 +430,21 @@ public abstract class StoreMailboxManage
// do nothing
}
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.mailbox.MailboxManager#list(org.apache.james.mailbox.MailboxSession)
+ */
+ public List<MailboxPath> list(MailboxSession session) throws MailboxException {
+ List<MailboxPath> mList = new ArrayList<MailboxPath>();
+ List<Mailbox<Id>> mailboxes = mailboxSessionMapperFactory.getMailboxMapper(session).list();
+ for (int i = 0; i < mailboxes.size(); i++) {
+ Mailbox<Id> m = mailboxes.get(i);
+ mList.add(new MailboxPath(m.getNamespace(), m.getUser(), m.getName()));
+ }
+ return Collections.unmodifiableList(mList);
+
+ }
Modified: james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/MailboxMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/MailboxMapper.java?rev=1045179&r1=1045178&r2=1045179&view=diff
==============================================================================
--- james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/MailboxMapper.java (original)
+++ james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/MailboxMapper.java Mon Dec 13 15:40:09 2010
@@ -81,4 +81,12 @@ public interface MailboxMapper<Id> exten
*/
public abstract boolean hasChildren(Mailbox<Id> mailbox)
throws MailboxException, MailboxNotFoundException;
+
+ /**
+ * Return a unmodifable {@link List} of all {@link Mailbox}
+ *
+ * @return mailboxList
+ * @throws MailboxException
+ */
+ public abstract List<Mailbox<Id>> list() throws MailboxException;
}
\ No newline at end of file
Modified: james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/TorqueMailboxManager.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/TorqueMailboxManager.java?rev=1045179&r1=1045178&r2=1045179&view=diff
==============================================================================
--- james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/TorqueMailboxManager.java (original)
+++ james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/TorqueMailboxManager.java Mon Dec 13 15:40:09 2010
@@ -471,5 +471,27 @@ public class TorqueMailboxManager implem
}
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.mailbox.MailboxManager#list(org.apache.james.mailbox.MailboxSession)
+ */
+ public List<MailboxPath> list(MailboxSession session) throws MailboxException {
+ Criteria c = new Criteria();
+ c.setAll();
+ try {
+ List<MailboxPath> pList = new ArrayList<MailboxPath>();
+ List mailboxes = MailboxRowPeer.doSelect(c);
+ for (int i = 0; i < mailboxes.size(); i++) {
+ final MailboxRow mailboxRow = (MailboxRow) mailboxes.get(i);
+ final MailboxPath sPath = getMailboxPath(mailboxRow.getName());
+ pList.add(sPath);
+ }
+ return pList;
+ } catch (TorqueException e) {
+ throw new MailboxException("select of all mailboxes failed", e);
+
+ }
+ }
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org