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 rd...@apache.org on 2008/12/29 23:26:43 UTC
svn commit: r730006 - in
/james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa:
JPAMailbox.java om/BaseMailboxRow.java om/MailboxMapper.java
om/MessageMapper.java
Author: rdonkin
Date: Mon Dec 29 14:26:43 2008
New Revision: 730006
URL: http://svn.apache.org/viewvc?rev=730006&view=rev
Log:
Use mailbox ID for queries
Modified:
james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java
james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/BaseMailboxRow.java
james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/MailboxMapper.java
james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/MessageMapper.java
Modified: james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java?rev=730006&r1=730005&r2=730006&view=diff
==============================================================================
--- james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java (original)
+++ james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java Mon Dec 29 14:26:43 2008
@@ -91,7 +91,7 @@
public int getMessageCount(MailboxSession mailboxSession)
throws MailboxManagerException {
try {
- return messageMapper.countMessages(getMailboxRow().getMailboxId());
+ return messageMapper.countMessages(mailboxId);
} catch (Exception e) {
throw new MailboxManagerException(e);
}
@@ -115,7 +115,7 @@
long uid = mailbox.getLastUid();
MessageRow messageRow = new MessageRow();
- messageRow.setMailboxId(getMailboxRow().getMailboxId());
+ messageRow.setMailboxId(mailboxId);
messageRow.setUid(uid);
messageRow.setInternalDate(internalDate);
@@ -200,15 +200,15 @@
}
private MailboxRow reserveNextUid() throws MailboxManagerException {
- final MailboxRow myMailboxRow;
+ final MailboxRow mailboxRow;
try {
- myMailboxRow = messageMapper.consumeNextUid(getMailboxRow().getMailboxId());
+ mailboxRow = messageMapper.consumeNextUid(mailboxId);
} catch (TorqueException e) {
throw new MailboxManagerException(e);
} catch (SQLException e) {
throw new MailboxManagerException(e);
}
- return myMailboxRow;
+ return mailboxRow;
}
@@ -216,7 +216,6 @@
MailboxSession mailboxSession) throws MailboxManagerException {
UidRange range = uidRangeForMessageSet(set);
try {
- final long mailboxId = getMailboxRow().getMailboxId();
List rows = mapper.findInMailbox(set, mailboxId);
return getMessages(fetchGroup, range, rows);
} catch (TorqueException e) {
@@ -272,8 +271,7 @@
public long[] recent(boolean reset, MailboxSession mailboxSession)
throws MailboxManagerException {
try {
- final MailboxRow mailboxRow = getMailboxRow();
- final List messageRows = messageMapper.findRecent(mailboxRow);
+ final List messageRows = messageMapper.findRecent(mailboxId);
final long[] results = new long[messageRows.size()];
int count = 0;
for (Iterator it = messageRows.iterator(); it.hasNext();) {
@@ -282,7 +280,7 @@
}
if (reset) {
- messageMapper.resetRecent(mailboxRow.getMailboxId());
+ messageMapper.resetRecent(mailboxId);
}
return results;
} catch (TorqueException e) {
@@ -293,7 +291,7 @@
public MessageResult getFirstUnseen(FetchGroup fetchGroup,
MailboxSession mailboxSession) throws MailboxManagerException {
try {
- List messageRows = messageMapper.findUnseen(getMailboxRow());
+ List messageRows = messageMapper.findUnseen(mailboxId);
if (messageRows.size() > 0) {
MessageResult messageResult = fillMessageResult(
(MessageRow) messageRows.get(0), fetchGroup);
@@ -316,7 +314,7 @@
throws MailboxManagerException {
try {
final int count = messageMapper.countMessages(
- new Flags(Flags.Flag.SEEN), false, getMailboxRow().getMailboxId());
+ new Flags(Flags.Flag.SEEN), false, mailboxId);
return count;
} catch (TorqueException e) {
throw new MailboxManagerException(e);
@@ -334,9 +332,7 @@
throws MailboxManagerException {
try {
// TODO put this into a serializable transaction
- final MailboxRow mailboxRow = getMailboxRow();
-
- final List messageRows = mapper.findMarkedForDeletionInMailbox(set, mailboxRow);
+ final List messageRows = mapper.findMarkedForDeletionInMailbox(set, mailboxId);
final long[] uids = uids(messageRows);
final OrFetchGroup orFetchGroup = new OrFetchGroup(fetchGroup,
FetchGroup.FLAGS);
@@ -378,7 +374,7 @@
MailboxSession mailboxSession) throws MailboxManagerException {
try {
// TODO put this into a serializeable transaction
- final List messageRows = mapper.findInMailbox(set, getMailboxRow().getMailboxId());
+ final List messageRows = mapper.findInMailbox(set, mailboxId);
UidRange uidRange = uidRangeForMessageSet(set);
getUidChangeTracker().found(uidRange,
MessageRowUtils.toMessageFlags(messageRows));
@@ -414,8 +410,7 @@
}
}
- public void addListener(MailboxListener listener)
- throws MailboxManagerException {
+ public void addListener(MailboxListener listener) throws MailboxManagerException {
tracker.addMailboxListener(listener);
}
@@ -423,8 +418,7 @@
tracker.removeMailboxListener(mailboxListener);
}
- public long getUidValidity(MailboxSession mailboxSession)
- throws MailboxManagerException {
+ public long getUidValidity(MailboxSession mailboxSession) throws MailboxManagerException {
try {
final long result = getMailboxRow().getUidValidity();
return result;
@@ -434,8 +428,7 @@
}
- public long getUidNext(MailboxSession mailboxSession)
- throws MailboxManagerException {
+ public long getUidNext(MailboxSession mailboxSession) throws MailboxManagerException {
try {
MailboxRow mailbox = getMailboxRow();
if (mailbox != null) {
@@ -454,7 +447,7 @@
return tracker;
}
- protected MailboxRow getMailboxRow() throws TorqueException {
+ private MailboxRow getMailboxRow() throws TorqueException {
return mapper.findById(mailboxId);
}
@@ -500,7 +493,7 @@
public void copyTo(MessageRange set, JPAMailbox toMailbox,
MailboxSession session) throws MailboxManagerException {
try {
- List rows = mapper.findInMailbox(set, getMailboxRow().getMailboxId());
+ List rows = mapper.findInMailbox(set, mailboxId);
toMailbox.copy(rows, session);
} catch (TorqueException e) {
throw new MailboxManagerException(e);
@@ -528,7 +521,7 @@
long uid = mailbox.getLastUid();
MessageRow newRow = new MessageRow();
- newRow.setMailboxId(getMailboxRow().getMailboxId());
+ newRow.setMailboxId(mailboxId);
newRow.setUid(uid);
newRow.setInternalDate(fromRow.getInternalDate());
newRow.setSize(fromRow.getSize());
Modified: james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/BaseMailboxRow.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/BaseMailboxRow.java?rev=730006&r1=730005&r2=730006&view=diff
==============================================================================
--- james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/BaseMailboxRow.java (original)
+++ james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/BaseMailboxRow.java Mon Dec 29 14:26:43 2008
@@ -240,7 +240,7 @@
* @return the collection of associated objects
* @throws TorqueException
*/
- public List getMessageRows() throws TorqueException {
+ List getMessageRows() throws TorqueException {
if (collMessageRows == null) {
collMessageRows = getMessageRows(new Criteria(10));
}
Modified: james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/MailboxMapper.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/MailboxMapper.java?rev=730006&r1=730005&r2=730006&view=diff
==============================================================================
--- james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/MailboxMapper.java (original)
+++ james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/MailboxMapper.java Mon Dec 29 14:26:43 2008
@@ -70,10 +70,6 @@
Criteria.GREATER_THAN));
}
- public MailboxRow refresh(MailboxRow mailboxRow) throws TorqueException {
- return MailboxRowPeer.retrieveByPK(mailboxRow.getPrimaryKey());
- }
-
public int countOnName(String mailboxName) throws TorqueException {
int count;
Criteria c = new Criteria();
@@ -91,14 +87,13 @@
return rows;
}
- public List findMarkedForDeletionInMailbox(final MessageRange set, final MailboxRow mailboxRow) throws TorqueException, MailboxManagerException {
- final Criteria c = criteriaForMessageSet(set);
- c.addJoin(MessageRowPeer.MAILBOX_ID, MessageFlagsPeer.MAILBOX_ID);
- c.addJoin(MessageRowPeer.UID, MessageFlagsPeer.UID);
- c.add(MessageRowPeer.MAILBOX_ID, mailboxRow.getMailboxId());
- c.add(MessageFlagsPeer.DELETED, true);
-
- final List messageRows = mailboxRow.getMessageRows(c);
+ public List findMarkedForDeletionInMailbox(final MessageRange set, final long mailboxId) throws TorqueException, MailboxManagerException {
+ final Criteria criteria = criteriaForMessageSet(set);
+ criteria.addJoin(MessageRowPeer.MAILBOX_ID, MessageFlagsPeer.MAILBOX_ID);
+ criteria.addJoin(MessageRowPeer.UID, MessageFlagsPeer.UID);
+ criteria.add(MessageFlagsPeer.DELETED, true);
+ criteria.add(MessageRowPeer.MAILBOX_ID, mailboxId);
+ final List messageRows = MessageRowPeer.doSelect(criteria);
return messageRows;
}
Modified: james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/MessageMapper.java
URL: http://svn.apache.org/viewvc/james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/MessageMapper.java?rev=730006&r1=730005&r2=730006&view=diff
==============================================================================
--- james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/MessageMapper.java (original)
+++ james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/om/MessageMapper.java Mon Dec 29 14:26:43 2008
@@ -145,31 +145,34 @@
MessageRowPeer.doDelete(todelc);
}
- public List findUnseen(MailboxRow row) throws TorqueException {
- Criteria c = new Criteria();
- c.addAscendingOrderByColumn(MessageRowPeer.UID);
- c.setLimit(1);
- c.setSingleRecord(true);
+ public List findUnseen(final long mailboxId) throws TorqueException {
+ Criteria criteria = new Criteria();
+ criteria.addAscendingOrderByColumn(MessageRowPeer.UID);
+ criteria.setLimit(1);
+ criteria.setSingleRecord(true);
- c.addJoin(MessageFlagsPeer.MAILBOX_ID,
+ criteria.addJoin(MessageFlagsPeer.MAILBOX_ID,
MessageRowPeer.MAILBOX_ID);
- c.addJoin(MessageRowPeer.UID, MessageFlagsPeer.UID);
+ criteria.addJoin(MessageRowPeer.UID, MessageFlagsPeer.UID);
- MessageMapper.addFlagsToCriteria(new Flags(Flags.Flag.SEEN),
- false, c);
- List messageRows = row.getMessageRows(c);
+ MessageMapper.addFlagsToCriteria(new Flags(Flags.Flag.SEEN), false, criteria);
+ criteria.add(MessageRowPeer.MAILBOX_ID, mailboxId);
+
+ final List messageRows = MessageRowPeer.doSelect(criteria);
return messageRows;
}
- public List findRecent(final MailboxRow mailboxRow) throws TorqueException {
- final Criteria criterion = new Criteria();
- criterion.addJoin(MessageFlagsPeer.MAILBOX_ID,
+ public List findRecent(final long mailboxId) throws TorqueException {
+ final Criteria criteria = new Criteria();
+ criteria.addJoin(MessageFlagsPeer.MAILBOX_ID,
MessageRowPeer.MAILBOX_ID);
- criterion.addJoin(MessageRowPeer.UID, MessageFlagsPeer.UID);
+ criteria.addJoin(MessageRowPeer.UID, MessageFlagsPeer.UID);
MessageMapper.addFlagsToCriteria(new Flags(Flags.Flag.RECENT), true,
- criterion);
- final List messageRows = mailboxRow.getMessageRows(criterion);
+ criteria);
+ criteria.add(MessageRowPeer.MAILBOX_ID, mailboxId);
+
+ final List messageRows = MessageRowPeer.doSelect(criteria);
return messageRows;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org