Modified: 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java?rev=696828&r1=696827&r2=696828&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
 (original)
+++ 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
 Thu Sep 18 14:44:56 2008
@@ -71,7 +71,7 @@
 public class TorqueMailbox extends AbstractLogEnabled implements Mailbox {
 
     private Log log;
-    
+
     private boolean open = true;
 
     private MailboxRow mailboxRow;
@@ -79,10 +79,11 @@
     private final UidChangeTracker tracker;
 
     private final ReadWriteLock lock;
-    
+
     private final MessageSearches searches;
-    
-    TorqueMailbox(final MailboxRow mailboxRow, final ReadWriteLock lock, final 
Log log) {
+
+    TorqueMailbox(final MailboxRow mailboxRow, final ReadWriteLock lock,
+            final Log log) {
         this.searches = new MessageSearches();
         setLog(log);
         this.mailboxRow = mailboxRow;
@@ -95,7 +96,8 @@
         return mailboxRow.getName();
     }
 
-    public int getMessageCount(MailboxSession mailboxSession) throws 
MailboxManagerException {
+    public int getMessageCount(MailboxSession mailboxSession)
+            throws MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
@@ -114,7 +116,8 @@
     }
 
     public MessageResult appendMessage(MimeMessage message, Date internalDate,
-            FetchGroup fetchGroup, MailboxSession mailboxSession) throws 
MailboxManagerException {
+            FetchGroup fetchGroup, MailboxSession mailboxSession)
+            throws MailboxManagerException {
 
         try {
             checkAccess();
@@ -127,7 +130,8 @@
                     // exclusive
                     // Uid
                     // TODO create own message_id and assign uid later
-                    // at the moment it could lead to the situation that uid 5 
is
+                    // at the moment it could lead to the situation that uid 5
+                    // is
                     // inserted long before 4, when
                     // mail 4 is big and comes over a slow connection.
                     long uid = myMailboxRow.getLastUid();
@@ -141,14 +145,15 @@
                     final int size = size(message);
                     messageRow.setSize(size);
                     populateFlags(message, messageRow);
-                    
+
                     addHeaders(message, messageRow);
 
                     MessageBody mb = populateBody(message);
                     messageRow.addMessageBody(mb);
 
                     save(messageRow);
-                    MessageResult messageResult = 
fillMessageResult(messageRow, fetchGroup);
+                    MessageResult messageResult = fillMessageResult(messageRow,
+                            fetchGroup);
                     getUidChangeTracker().found(messageResult);
                     return messageResult;
                 } catch (Exception e) {
@@ -163,18 +168,21 @@
         }
     }
 
-    private void populateFlags(MimeMessage message, MessageRow messageRow) 
throws MessagingException, TorqueException {
+    private void populateFlags(MimeMessage message, MessageRow messageRow)
+            throws MessagingException, TorqueException {
         final Flags flags = message.getFlags();
         buildFlags(messageRow, flags);
     }
 
-    private void buildFlags(MessageRow messageRow, final Flags flags) throws 
TorqueException {
+    private void buildFlags(MessageRow messageRow, final Flags flags)
+            throws TorqueException {
         MessageFlags messageFlags = new MessageFlags();
         messageFlags.setFlags(flags);
         messageRow.addMessageFlags(messageFlags);
     }
 
-    private MessageBody populateBody(MimeMessage message) throws IOException, 
MessagingException {
+    private MessageBody populateBody(MimeMessage message) throws IOException,
+            MessagingException {
         MessageBody mb = new MessageBody();
 
         InputStream is = message.getInputStream();
@@ -184,11 +192,12 @@
         return mb;
     }
 
-    private void addHeaders(MimeMessage message, MessageRow messageRow) throws 
MessagingException, TorqueException {
+    private void addHeaders(MimeMessage message, MessageRow messageRow)
+            throws MessagingException, TorqueException {
         int line_number = 0;
 
         for (Enumeration lines = message.getAllHeaderLines(); lines
-        .hasMoreElements();) {
+                .hasMoreElements();) {
             String line = (String) lines.nextElement();
             int colon = line.indexOf(": ");
             if (colon > 0) {
@@ -203,7 +212,8 @@
         }
     }
 
-    private int size(MimeMessage message) throws IOException, 
MessagingException {
+    private int size(MimeMessage message) throws IOException,
+            MessagingException {
         // TODO very ugly size mesurement
         ByteArrayOutputStream sizeBos = new ByteArrayOutputStream();
         message.writeTo(new CRLFOutputStream(sizeBos));
@@ -211,7 +221,8 @@
         return size;
     }
 
-    private void save(MessageRow messageRow) throws TorqueException, 
InterruptedException {
+    private void save(MessageRow messageRow) throws TorqueException,
+            InterruptedException {
         try {
             lock.writeLock().acquire();
             messageRow.save();
@@ -220,7 +231,8 @@
         }
     }
 
-    private MailboxRow reserveNextUid() throws InterruptedException, 
MailboxManagerException {
+    private MailboxRow reserveNextUid() throws InterruptedException,
+            MailboxManagerException {
         final MailboxRow myMailboxRow;
         try {
             lock.writeLock().acquire();
@@ -242,14 +254,16 @@
         if (set.getType() == MessageRange.TYPE_ALL) {
             // empty Criteria = everything
         } else if (set.getType() == MessageRange.TYPE_UID) {
-            
+
             if (set.getUidFrom() == set.getUidTo()) {
                 criteria.add(MessageRowPeer.UID, set.getUidFrom());
             } else {
-                Criteria.Criterion 
criterion1=criteria.getNewCriterion(MessageRowPeer.UID, new 
Long(set.getUidFrom()),
+                Criteria.Criterion criterion1 = criteria.getNewCriterion(
+                        MessageRowPeer.UID, new Long(set.getUidFrom()),
                         Criteria.GREATER_EQUAL);
                 if (set.getUidTo() > 0) {
-                    Criteria.Criterion 
criterion2=criteria.getNewCriterion(MessageRowPeer.UID, new 
Long(set.getUidTo()),
+                    Criteria.Criterion criterion2 = criteria.getNewCriterion(
+                            MessageRowPeer.UID, new Long(set.getUidTo()),
                             Criteria.LESS_EQUAL);
                     criterion1.and(criterion2);
                 }
@@ -262,8 +276,8 @@
         return criteria;
     }
 
-    public Iterator getMessages(final MessageRange set, FetchGroup fetchGroup, 
MailboxSession mailboxSession)
-            throws MailboxManagerException {
+    public Iterator getMessages(final MessageRange set, FetchGroup fetchGroup,
+            MailboxSession mailboxSession) throws MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
@@ -271,7 +285,8 @@
                 UidRange range = uidRangeForMessageSet(set);
                 try {
                     Criteria c = criteriaForMessageSet(set);
-                    
c.add(MessageFlagsPeer.MAILBOX_ID,getMailboxRow().getMailboxId());
+                    c.add(MessageFlagsPeer.MAILBOX_ID, getMailboxRow()
+                            .getMailboxId());
                     return getMessages(fetchGroup, range, c);
                 } catch (TorqueException e) {
                     throw new MailboxManagerException(e);
@@ -286,16 +301,20 @@
         }
     }
 
-    private TorqueResultIterator getMessages(FetchGroup result, UidRange 
range, Criteria c) throws TorqueException, MessagingException, 
MailboxManagerException {
+    private TorqueResultIterator getMessages(FetchGroup result, UidRange range,
+            Criteria c) throws TorqueException, MessagingException,
+            MailboxManagerException {
         List rows = MessageRowPeer.doSelectJoinMessageFlags(c);
         final TorqueResultIterator results = getResults(result, rows);
         getUidChangeTracker().found(range, results.getMessageFlags());
         return results;
     }
 
-    private TorqueResultIterator getResults(FetchGroup result, List rows) 
throws TorqueException {
+    private TorqueResultIterator getResults(FetchGroup result, List rows)
+            throws TorqueException {
         Collections.sort(rows, MessageRowUtils.getUidComparator());
-        final TorqueResultIterator results = new TorqueResultIterator(rows, 
result);
+        final TorqueResultIterator results = new TorqueResultIterator(rows,
+                result);
         return results;
     }
 
@@ -311,12 +330,12 @@
         }
     }
 
-
-    public MessageResult fillMessageResult(MessageRow messageRow, FetchGroup 
result)
-            throws TorqueException, MessagingException, 
MailboxManagerException {
+    public MessageResult fillMessageResult(MessageRow messageRow,
+            FetchGroup result) throws TorqueException, MessagingException,
+            MailboxManagerException {
         return MessageRowUtils.loadMessageResult(messageRow, result);
     }
-    
+
     public synchronized Flags getPermanentFlags() {
         Flags permanentFlags = new Flags();
         permanentFlags.add(Flags.Flag.ANSWERED);
@@ -327,13 +346,15 @@
         return permanentFlags;
     }
 
-    public long[] recent(boolean reset, MailboxSession mailboxSession) throws 
MailboxManagerException {
+    public long[] recent(boolean reset, MailboxSession mailboxSession)
+            throws MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
                 checkAccess();
                 final Criteria criterion = queryRecentFlagSet();
-                final List messageRows = 
getMailboxRow().getMessageRows(criterion);
+                final List messageRows = getMailboxRow().getMessageRows(
+                        criterion);
                 final long[] results = new long[messageRows.size()];
                 int count = 0;
                 for (Iterator it = messageRows.iterator(); it.hasNext();) {
@@ -353,7 +374,7 @@
         } catch (InterruptedException e) {
             throw new MailboxManagerException(e);
         }
-      
+
     }
 
     private Criteria queryRecentFlagSet() {
@@ -362,12 +383,13 @@
                 MessageRowPeer.MAILBOX_ID);
         criterion.addJoin(MessageRowPeer.UID, MessageFlagsPeer.UID);
 
-        MessageFlagsPeer.addFlagsToCriteria(new Flags(Flags.Flag.RECENT), 
true, criterion);
+        MessageFlagsPeer.addFlagsToCriteria(new Flags(Flags.Flag.RECENT), true,
+                criterion);
         return criterion;
     }
 
-    public MessageResult getFirstUnseen(FetchGroup fetchGroup, MailboxSession 
mailboxSession)
-            throws MailboxManagerException {
+    public MessageResult getFirstUnseen(FetchGroup fetchGroup,
+            MailboxSession mailboxSession) throws MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
@@ -377,17 +399,19 @@
                 c.setLimit(1);
                 c.setSingleRecord(true);
 
-                c.addJoin(MessageFlagsPeer.MAILBOX_ID, 
MessageRowPeer.MAILBOX_ID);
+                c.addJoin(MessageFlagsPeer.MAILBOX_ID,
+                        MessageRowPeer.MAILBOX_ID);
                 c.addJoin(MessageRowPeer.UID, MessageFlagsPeer.UID);
 
-                MessageFlagsPeer.addFlagsToCriteria(new 
Flags(Flags.Flag.SEEN), false,
-                        c);
+                MessageFlagsPeer.addFlagsToCriteria(new Flags(Flags.Flag.SEEN),
+                        false, c);
 
                 try {
                     List messageRows = getMailboxRow().getMessageRows(c);
                     if (messageRows.size() > 0) {
-                        MessageResult 
messageResult=fillMessageResult((MessageRow) messageRows.get(0), fetchGroup);
-                        if (messageResult!=null) {
+                        MessageResult messageResult = fillMessageResult(
+                                (MessageRow) messageRows.get(0), fetchGroup);
+                        if (messageResult != null) {
                             getUidChangeTracker().found(messageResult);
                         }
 
@@ -408,13 +432,15 @@
         }
     }
 
-    public int getUnseenCount(MailboxSession mailboxSession) throws 
MailboxManagerException {
+    public int getUnseenCount(MailboxSession mailboxSession)
+            throws MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
                 checkAccess();
                 try {
-                    final int count = getMailboxRow().countMessages(new 
Flags(Flags.Flag.SEEN), false);
+                    final int count = getMailboxRow().countMessages(
+                            new Flags(Flags.Flag.SEEN), false);
                     return count;
                 } catch (TorqueException e) {
                     throw new MailboxManagerException(e);
@@ -429,8 +455,8 @@
         }
     }
 
-    public Iterator expunge(MessageRange set, FetchGroup fetchGroup, 
MailboxSession mailboxSession)
-            throws MailboxManagerException {
+    public Iterator expunge(MessageRange set, FetchGroup fetchGroup,
+            MailboxSession mailboxSession) throws MailboxManagerException {
         try {
             lock.writeLock().acquire();
             try {
@@ -444,7 +470,8 @@
         }
     }
 
-    private Iterator doExpunge(final MessageRange set, FetchGroup fetchGroup) 
throws MailboxManagerException {
+    private Iterator doExpunge(final MessageRange set, FetchGroup fetchGroup)
+            throws MailboxManagerException {
         checkAccess();
         try {
             // TODO put this into a serializable transaction
@@ -456,16 +483,20 @@
 
             final List messageRows = getMailboxRow().getMessageRows(c);
             final long[] uids = uids(messageRows);
-            final OrFetchGroup orFetchGroup = new OrFetchGroup(fetchGroup, 
FetchGroup.FLAGS);
-            final TorqueResultIterator resultIterator = new 
TorqueResultIterator(messageRows, orFetchGroup);
+            final OrFetchGroup orFetchGroup = new OrFetchGroup(fetchGroup,
+                    FetchGroup.FLAGS);
+            final TorqueResultIterator resultIterator = new 
TorqueResultIterator(
+                    messageRows, orFetchGroup);
             // ensure all results are loaded before deletion
             Collection messageResults = IteratorUtils.toList(resultIterator);
-            
+
             for (Iterator iter = messageRows.iterator(); iter.hasNext();) {
                 MessageRow messageRow = (MessageRow) iter.next();
-                Criteria todelc=new Criteria();
-                
todelc.add(MessageRowPeer.MAILBOX_ID,messageRow.getMailboxId());
-                todelc.add(MessageRowPeer.UID,messageRow.getUid());
+                Criteria todelc = new Criteria();
+                todelc
+                        .add(MessageRowPeer.MAILBOX_ID, messageRow
+                                .getMailboxId());
+                todelc.add(MessageRowPeer.UID, messageRow.getUid());
                 MessageRowPeer.doDelete(todelc);
             }
             getUidChangeTracker().expunged(uids);
@@ -478,7 +509,7 @@
     private long[] uids(List messageRows) {
         final int size = messageRows.size();
         long[] results = new long[size];
-        for (int i=0;i<size;i++) {
+        for (int i = 0; i < size; i++) {
             final MessageRow messageRow = (MessageRow) messageRows.get(i);
             results[i] = (messageRow).getUid();
         }
@@ -486,12 +517,13 @@
     }
 
     public Iterator setFlags(Flags flags, boolean value, boolean replace,
-            MessageRange set, FetchGroup fetchGroup, MailboxSession 
mailboxSession)
-            throws MailboxManagerException {
+            MessageRange set, FetchGroup fetchGroup,
+            MailboxSession mailboxSession) throws MailboxManagerException {
         try {
             lock.writeLock().acquire();
             try {
-                return doSetFlags(flags, value, replace, set, fetchGroup, 
mailboxSession);
+                return doSetFlags(flags, value, replace, set, fetchGroup,
+                        mailboxSession);
             } finally {
                 lock.writeLock().release();
             }
@@ -501,15 +533,17 @@
         }
     }
 
-    private Iterator doSetFlags(Flags flags, boolean value, boolean replace, 
-            final MessageRange set, FetchGroup fetchGroup, MailboxSession 
mailboxSession) throws MailboxManagerException {
-        checkAccess();         
+    private Iterator doSetFlags(Flags flags, boolean value, boolean replace,
+            final MessageRange set, FetchGroup fetchGroup,
+            MailboxSession mailboxSession) throws MailboxManagerException {
+        checkAccess();
         try {
             // TODO put this into a serializeable transaction
-            final List messageRows = getMailboxRow()
-                    .getMessageRows(criteriaForMessageSet(set));
-            UidRange uidRange=uidRangeForMessageSet(set);
-            getUidChangeTracker().found(uidRange, 
MessageRowUtils.toMessageFlags(messageRows));
+            final List messageRows = getMailboxRow().getMessageRows(
+                    criteriaForMessageSet(set));
+            UidRange uidRange = uidRangeForMessageSet(set);
+            getUidChangeTracker().found(uidRange,
+                    MessageRowUtils.toMessageFlags(messageRows));
             for (Iterator iter = messageRows.iterator(); iter.hasNext();) {
                 final MessageRow messageRow = (MessageRow) iter.next();
                 final MessageFlags messageFlags = messageRow.getMessageFlags();
@@ -528,10 +562,12 @@
                     messageFlags.save();
                 }
             }
-            final OrFetchGroup orFetchGroup = new OrFetchGroup(fetchGroup, 
FetchGroup.FLAGS);
-            final TorqueResultIterator resultIterator = new 
TorqueResultIterator(messageRows,
-                    orFetchGroup);
-            final org.apache.james.mailboxmanager.impl.MessageFlags[] 
messageFlags = resultIterator.getMessageFlags();
+            final OrFetchGroup orFetchGroup = new OrFetchGroup(fetchGroup,
+                    FetchGroup.FLAGS);
+            final TorqueResultIterator resultIterator = new 
TorqueResultIterator(
+                    messageRows, orFetchGroup);
+            final org.apache.james.mailboxmanager.impl.MessageFlags[] 
messageFlags = resultIterator
+                    .getMessageFlags();
             tracker.flagsUpdated(messageFlags, mailboxSession.getSessionId());
             tracker.found(uidRange, messageFlags);
             return resultIterator;
@@ -540,19 +576,21 @@
         }
     }
 
-    public void addListener(MailboxListener listener) throws 
MailboxManagerException {
+    public void addListener(MailboxListener listener)
+            throws MailboxManagerException {
         checkAccess();
         tracker.addMailboxListener(listener);
     }
 
     public void removeListener(MailboxListener mailboxListener) {
         if (!open) {
-          throw new RuntimeException("mailbox not open");
+            throw new RuntimeException("mailbox not open");
         }
         tracker.removeMailboxListener(mailboxListener);
     }
 
-    public long getUidValidity(MailboxSession mailboxSession) throws 
MailboxManagerException {
+    public long getUidValidity(MailboxSession mailboxSession)
+            throws MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
@@ -569,19 +607,23 @@
 
     }
 
-    public long getUidNext(MailboxSession mailboxSession) throws 
MailboxManagerException {
+    public long getUidNext(MailboxSession mailboxSession)
+            throws MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
                 checkAccess();
                 try {
-                    MailboxRow myMailboxRow = 
MailboxRowPeer.retrieveByPK(mailboxRow.getPrimaryKey());
+                    MailboxRow myMailboxRow = MailboxRowPeer
+                            .retrieveByPK(mailboxRow.getPrimaryKey());
                     if (myMailboxRow != null) {
-                        mailboxRow=myMailboxRow;
-                        
getUidChangeTracker().foundLastUid(mailboxRow.getLastUid());
+                        mailboxRow = myMailboxRow;
+                        getUidChangeTracker().foundLastUid(
+                                mailboxRow.getLastUid());
                         return getUidChangeTracker().getLastUid() + 1;
                     } else {
-                        throw new MailboxManagerException("Mailbox has been 
deleted");
+                        throw new MailboxManagerException(
+                                "Mailbox has been deleted");
                     }
                 } catch (NoRowsException e) {
                     throw new MailboxManagerException(e);
@@ -604,11 +646,11 @@
             throw new RuntimeException("mailbox is closed");
         }
     }
-    
+
     protected UidChangeTracker getUidChangeTracker() {
         return tracker;
     }
-    
+
     protected MailboxRow getMailboxRow() {
         return mailboxRow;
     }
@@ -623,23 +665,27 @@
             lock.readLock().acquire();
             try {
                 checkAccess();
-                
+
                 final Criteria criterion = preSelect(query);
-                final List rows = 
MessageRowPeer.doSelectJoinMessageFlags(criterion);
+                final List rows = MessageRowPeer
+                        .doSelectJoinMessageFlags(criterion);
                 final List filteredMessages = new ArrayList();
-                for (Iterator it = rows.iterator(); it
-                        .hasNext();) {
+                for (Iterator it = rows.iterator(); it.hasNext();) {
                     final MessageRow row = (MessageRow) it.next();
                     try {
                         if (searches.isMatch(query, row)) {
                             filteredMessages.add(row);
                         }
                     } catch (TorqueException e) {
-                        getLog().info("Cannot test message against search 
criteria. Will continue to test other messages.", e);
-                        if (getLog().isDebugEnabled()) getLog().debug("UID: " 
+ row.getUid());
+                        getLog()
+                                .info(
+                                        "Cannot test message against search 
criteria. Will continue to test other messages.",
+                                        e);
+                        if (getLog().isDebugEnabled())
+                            getLog().debug("UID: " + row.getUid());
                     }
                 }
-                
+
                 return getResults(fetchGroup, filteredMessages);
             } catch (TorqueException e) {
                 throw new MailboxManagerException(e);
@@ -650,7 +696,7 @@
             throw new MailboxManagerException(e);
         }
     }
-    
+
     private Criteria preSelect(SearchQuery query) {
         final Criteria results = new Criteria();
         final List criteria = query.getCriterias();
@@ -664,7 +710,8 @@
         return results;
     }
 
-    private void preSelectUid(final Criteria results, final 
SearchQuery.UidCriterion uidCriterion) {
+    private void preSelectUid(final Criteria results,
+            final SearchQuery.UidCriterion uidCriterion) {
         final NumericRange[] ranges = uidCriterion.getOperator().getRange();
         for (int i = 0; i < ranges.length; i++) {
             final long low = ranges[i].getLowValue();
@@ -674,13 +721,13 @@
             } else if (low == high) {
                 results.add(MessageRowPeer.UID, low);
             } else {
-                final Criteria.Criterion fromCriterion 
-                    = results.getNewCriterion(MessageRowPeer.UID, new 
Long(low),
-                        Criteria.GREATER_EQUAL);
+                final Criteria.Criterion fromCriterion = results
+                        .getNewCriterion(MessageRowPeer.UID, new Long(low),
+                                Criteria.GREATER_EQUAL);
                 if (high > 0 && high < Long.MAX_VALUE) {
-                    final Criteria.Criterion toCriterion 
-                        = results.getNewCriterion(MessageRowPeer.UID, new 
Long(high),
-                            Criteria.LESS_EQUAL);
+                    final Criteria.Criterion toCriterion = results
+                            .getNewCriterion(MessageRowPeer.UID,
+                                    new Long(high), Criteria.LESS_EQUAL);
                     fromCriterion.and(toCriterion);
                 }
                 results.add(fromCriterion);
@@ -693,19 +740,21 @@
     }
 
     public void setLog(Log log) {
-       super.setLog(log);
+        super.setLog(log);
         this.log = log;
         searches.setLog(log);
-    }    
+    }
 
-    public void copyTo(MessageRange set, TorqueMailbox toMailbox, 
MailboxSession session) throws MailboxManagerException {
+    public void copyTo(MessageRange set, TorqueMailbox toMailbox,
+            MailboxSession session) throws MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
                 checkAccess();
                 try {
                     Criteria c = criteriaForMessageSet(set);
-                    
c.add(MessageFlagsPeer.MAILBOX_ID,getMailboxRow().getMailboxId());
+                    c.add(MessageFlagsPeer.MAILBOX_ID, getMailboxRow()
+                            .getMailboxId());
                     List rows = MessageRowPeer.doSelectJoinMessageFlags(c);
                     toMailbox.copy(rows, session);
                 } catch (TorqueException e) {
@@ -720,8 +769,9 @@
             throw new MailboxManagerException(e);
         }
     }
-    
-    private void copy(List rows, MailboxSession session) throws 
MailboxManagerException {
+
+    private void copy(List rows, MailboxSession session)
+            throws MailboxManagerException {
         try {
             for (Iterator iter = rows.iterator(); iter.hasNext();) {
                 MessageRow fromRow = (MessageRow) iter.next();
@@ -732,7 +782,8 @@
                     // exclusive
                     // Uid
                     // TODO create own message_id and assign uid later
-                    // at the moment it could lead to the situation that uid 5 
is
+                    // at the moment it could lead to the situation that uid 5
+                    // is
                     // inserted long before 4, when
                     // mail 4 is big and comes over a slow connection.
                     long uid = mailbox.getLastUid();
@@ -743,12 +794,17 @@
                     newRow.setUid(uid);
                     newRow.setInternalDate(fromRow.getInternalDate());
                     newRow.setSize(fromRow.getSize());
-                    buildFlags(newRow, 
fromRow.getMessageFlags().getFlagsObject());
+                    buildFlags(newRow, fromRow.getMessageFlags()
+                            .getFlagsObject());
 
                     final List headers = fromRow.getMessageHeaders();
-                    for (Iterator iterator = headers.iterator(); 
iterator.hasNext();) {
-                        final MessageHeader fromHeader = (MessageHeader) 
iterator.next();
-                        final MessageHeader newHeader = new 
MessageHeader(fromHeader.getField(), fromHeader.getValue(), 
fromHeader.getLineNumber());
+                    for (Iterator iterator = headers.iterator(); iterator
+                            .hasNext();) {
+                        final MessageHeader fromHeader = (MessageHeader) 
iterator
+                                .next();
+                        final MessageHeader newHeader = new MessageHeader(
+                                fromHeader.getField(), fromHeader.getValue(),
+                                fromHeader.getLineNumber());
                         newRow.addMessageHeader(newHeader);
                     }
 
@@ -756,14 +812,14 @@
                     newRow.addMessageBody(mb);
 
                     save(newRow);
-                    MessageResult messageResult = fillMessageResult(newRow, 
FetchGroupImpl.MINIMAL);
-                    getUidChangeTracker().found(messageResult); 
-                }            
+                    MessageResult messageResult = fillMessageResult(newRow,
+                            FetchGroupImpl.MINIMAL);
+                    getUidChangeTracker().found(messageResult);
+                }
             }
-        }
-        catch (TorqueException e) {
+        } catch (TorqueException e) {
             throw new MailboxManagerException(e);
-        }  catch (InterruptedException e) {
+        } catch (InterruptedException e) {
             throw new MailboxManagerException(e);
         } catch (MessagingException e) {
             throw new MailboxManagerException(e);

Modified: 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java?rev=696828&r1=696827&r2=696828&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
 (original)
+++ 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
 Thu Sep 18 14:44:56 2008
@@ -54,28 +54,30 @@
 public class TorqueMailboxManager implements MailboxManager {
 
     private static final char SQL_WILDCARD_CHAR = '%';
+
     private final static Random random = new Random();
-    
+
     protected Log log = LogFactory.getLog(TorqueMailboxManager.class);
 
     private final ReadWriteLock lock;
-    
+
     private final Map mailboxes;
-    
+
     private final UserManager userManager;
-    
+
     public TorqueMailboxManager(final UserManager userManager) {
-        this.lock =  new ReentrantWriterPreferenceReadWriteLock();
+        this.lock = new ReentrantWriterPreferenceReadWriteLock();
         mailboxes = new HashMap();
         this.userManager = userManager;
     }
-    
+
     public Mailbox getMailbox(String mailboxName, boolean autoCreate)
             throws MailboxManagerException {
         return doGetMailbox(mailboxName, autoCreate);
     }
-    
-    private TorqueMailbox doGetMailbox(String mailboxName, boolean autoCreate) 
throws MailboxManagerException {
+
+    private TorqueMailbox doGetMailbox(String mailboxName, boolean autoCreate)
+            throws MailboxManagerException {
         if (autoCreate && !existsMailbox(mailboxName)) {
             getLog().info("autocreated mailbox  " + mailboxName);
             createMailbox(mailboxName);
@@ -86,14 +88,16 @@
                         .retrieveByName(mailboxName);
 
                 if (mailboxRow != null) {
-                    getLog().debug("Loaded mailbox "+mailboxName);
-                    
-                    TorqueMailbox torqueMailbox = (TorqueMailbox) 
mailboxes.get(mailboxName);
+                    getLog().debug("Loaded mailbox " + mailboxName);
+
+                    TorqueMailbox torqueMailbox = (TorqueMailbox) mailboxes
+                            .get(mailboxName);
                     if (torqueMailbox == null) {
-                        torqueMailbox = new TorqueMailbox(mailboxRow, lock, 
getLog());
+                        torqueMailbox = new TorqueMailbox(mailboxRow, lock,
+                                getLog());
                         mailboxes.put(mailboxName, torqueMailbox);
                     }
-                    
+
                     return torqueMailbox;
                 } else {
                     getLog().info("Mailbox '" + mailboxName + "' not found.");
@@ -104,10 +108,10 @@
             throw new MailboxManagerException(e);
         }
     }
-    
+
     public void createMailbox(String namespaceName)
             throws MailboxManagerException {
-        getLog().debug("createMailbox "+namespaceName);
+        getLog().debug("createMailbox " + namespaceName);
         final int length = namespaceName.length();
         if (length == 0) {
             getLog().warn("Ignoring mailbox with empty name");
@@ -120,12 +124,14 @@
                 // TODO: transaction
                 int index = namespaceName.indexOf(HIERARCHY_DELIMITER);
                 int count = 0;
-                while (index>=0) {
+                while (index >= 0) {
                     // Until explicit namespace support is added,
-                    // this workaround prevents the namespaced elements being 
created
+                    // this workaround prevents the namespaced elements being
+                    // created
                     // TODO: add explicit support for namespaces
                     if (index > 0 && count++ > 1) {
-                        final String mailbox = namespaceName.substring(0, 
index);
+                        final String mailbox = namespaceName
+                                .substring(0, index);
                         if (!existsMailbox(mailbox)) {
                             doCreate(mailbox);
                         }
@@ -151,7 +157,7 @@
 
     public void deleteMailbox(String mailboxName, MailboxSession session)
             throws MailboxManagerException {
-        getLog().info("deleteMailbox "+mailboxName);
+        getLog().info("deleteMailbox " + mailboxName);
         synchronized (mailboxes) {
             try {
                 // TODO put this into a serilizable transaction
@@ -160,7 +166,8 @@
                     throw new MailboxNotFoundException("Mailbox not found");
                 }
                 MailboxRowPeer.doDelete(mr);
-                TorqueMailbox mailbox = (TorqueMailbox) 
mailboxes.remove(mailboxName);
+                TorqueMailbox mailbox = (TorqueMailbox) mailboxes
+                        .remove(mailboxName);
                 if (mailbox != null) {
                     mailbox.deleted(session);
                 }
@@ -171,8 +178,8 @@
     }
 
     public void renameMailbox(String from, String to)
-    throws MailboxManagerException {
-        getLog().debug("renameMailbox "+from+" to "+to);
+            throws MailboxManagerException {
+        getLog().debug("renameMailbox " + from + " to " + to);
         try {
             synchronized (mailboxes) {
                 if (existsMailbox(to)) {
@@ -199,11 +206,14 @@
                 List l = MailboxRowPeer.doSelect(c);
                 for (Iterator iter = l.iterator(); iter.hasNext();) {
                     MailboxRow sub = (MailboxRow) iter.next();
-                    String subOrigName=sub.getName();
-                    String subNewName=to + 
subOrigName.substring(from.length());
+                    String subOrigName = sub.getName();
+                    String subNewName = to
+                            + subOrigName.substring(from.length());
                     sub.setName(to + sub.getName().substring(from.length()));
                     sub.save();
-                    getLog().info("renameMailbox sub-mailbox "+subOrigName+" 
to "+subNewName);
+                    getLog().info(
+                            "renameMailbox sub-mailbox " + subOrigName + " to "
+                                    + subNewName);
                 }
             }
         } catch (TorqueException e) {
@@ -211,13 +221,15 @@
         }
     }
 
-    public void copyMessages(MessageRange set, String from, String to, 
MailboxSession session) throws MailboxManagerException {
-        TorqueMailbox toMailbox= doGetMailbox(to, false);
+    public void copyMessages(MessageRange set, String from, String to,
+            MailboxSession session) throws MailboxManagerException {
+        TorqueMailbox toMailbox = doGetMailbox(to, false);
         TorqueMailbox fromMailbox = doGetMailbox(from, false);
         fromMailbox.copyTo(set, toMailbox, session);
     }
 
-    public ListResult[] list(final MailboxExpression mailboxExpression) throws 
MailboxManagerException {
+    public ListResult[] list(final MailboxExpression mailboxExpression)
+            throws MailboxManagerException {
         final char localWildcard = mailboxExpression.getLocalWildcard();
         final char freeWildcard = mailboxExpression.getFreeWildcard();
         final String base = mailboxExpression.getBase();
@@ -227,42 +239,46 @@
         } else {
             baseLength = base.length();
         }
-        
-        final String search = 
mailboxExpression.getCombinedName(HIERARCHY_DELIMITER)
-            .replace(freeWildcard, SQL_WILDCARD_CHAR).replace(localWildcard, 
SQL_WILDCARD_CHAR);
-       
+
+        final String search = mailboxExpression.getCombinedName(
+                HIERARCHY_DELIMITER).replace(freeWildcard, SQL_WILDCARD_CHAR)
+                .replace(localWildcard, SQL_WILDCARD_CHAR);
+
         Criteria criteria = new Criteria();
-        criteria.add(MailboxRowPeer.NAME,(Object)(search),Criteria.LIKE);
+        criteria.add(MailboxRowPeer.NAME, (Object) (search), Criteria.LIKE);
         try {
-            List mailboxRows=MailboxRowPeer.doSelect(criteria);
-            List listResults=new ArrayList(mailboxRows.size());
+            List mailboxRows = MailboxRowPeer.doSelect(criteria);
+            List listResults = new ArrayList(mailboxRows.size());
             for (Iterator iter = mailboxRows.iterator(); iter.hasNext();) {
                 final MailboxRow mailboxRow = (MailboxRow) iter.next();
                 final String name = mailboxRow.getName();
                 if (name.startsWith(base)) {
                     final String match = name.substring(baseLength);
-                    if (mailboxExpression.isExpressionMatch(match, 
HIERARCHY_DELIMITER)) { 
-                        listResults.add(new ListResultImpl(name,"."));
+                    if (mailboxExpression.isExpressionMatch(match,
+                            HIERARCHY_DELIMITER)) {
+                        listResults.add(new ListResultImpl(name, "."));
                     }
                 }
             }
-            final ListResult[] results = (ListResult[]) 
listResults.toArray(ListResult.EMPTY_ARRAY);
-            Arrays.sort(results);    
+            final ListResult[] results = (ListResult[]) listResults
+                    .toArray(ListResult.EMPTY_ARRAY);
+            Arrays.sort(results);
             return results;
         } catch (TorqueException e) {
             throw new MailboxManagerException(e);
         }
-        
+
     }
-    
+
     public void setSubscription(String mailboxName, boolean value) {
         // TODO implement subscriptions
     }
-    
-    public boolean existsMailbox(String mailboxName) throws 
MailboxManagerException {
-        Criteria c=new Criteria();
-        c.add(MailboxRowPeer.NAME,mailboxName);
-        CountHelper countHelper=new CountHelper();
+
+    public boolean existsMailbox(String mailboxName)
+            throws MailboxManagerException {
+        Criteria c = new Criteria();
+        c.add(MailboxRowPeer.NAME, mailboxName);
+        CountHelper countHelper = new CountHelper();
         int count;
         try {
             synchronized (mailboxes) {
@@ -286,17 +302,18 @@
 
     public void deleteEverything() throws MailboxManagerException {
         try {
-            MailboxRowPeer.doDelete(new 
Criteria().and(MailboxRowPeer.MAILBOX_ID,
-                    new Integer(-1), Criteria.GREATER_THAN));
+            MailboxRowPeer.doDelete(new Criteria().and(
+                    MailboxRowPeer.MAILBOX_ID, new Integer(-1),
+                    Criteria.GREATER_THAN));
             mailboxes.clear();
         } catch (TorqueException e) {
             throw new MailboxManagerException(e);
         }
     }
-    
+
     protected Log getLog() {
-        if (log==null) {
-            log=new SimpleLog("TorqueMailboxManager");
+        if (log == null) {
+            log = new SimpleLog("TorqueMailboxManager");
         }
         return log;
     }
@@ -307,9 +324,10 @@
 
     public String resolve(final String userName, String mailboxPath) {
         if (mailboxPath.charAt(0) != HIERARCHY_DELIMITER) {
-            mailboxPath = HIERARCHY_DELIMITER + mailboxPath ;
-        } 
-        final String result = USER_NAMESPACE + HIERARCHY_DELIMITER + userName 
+ mailboxPath;
+            mailboxPath = HIERARCHY_DELIMITER + mailboxPath;
+        }
+        final String result = USER_NAMESPACE + HIERARCHY_DELIMITER + userName
+                + mailboxPath;
         return result;
     }
 
@@ -317,7 +335,8 @@
         return userManager.isAuthentic(userid, passwd);
     }
 
-    public void subscribe(String user, String mailbox) throws 
SubscriptionException {
+    public void subscribe(String user, String mailbox)
+            throws SubscriptionException {
         userManager.subscribe(user, mailbox);
     }
 
@@ -325,7 +344,8 @@
         return userManager.subscriptions(user);
     }
 
-    public void unsubscribe(String user, String mailbox) throws 
SubscriptionException {
+    public void unsubscribe(String user, String mailbox)
+            throws SubscriptionException {
         userManager.unsubscribe(user, mailbox);
     }
 

Modified: 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxSession.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxSession.java?rev=696828&r1=696827&r2=696828&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxSession.java
 (original)
+++ 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxSession.java
 Thu Sep 18 14:44:56 2008
@@ -27,15 +27,16 @@
 public class TorqueMailboxSession implements MailboxSession {
 
     private final long sessionId;
+
     private boolean open;
-    
+
     public TorqueMailboxSession(final long sessionId) {
         super();
         this.sessionId = sessionId;
     }
 
     public void close() {
-       open = false;
+        open = false;
     }
 
     public long getSessionId() {
@@ -48,18 +49,15 @@
 
     /**
      * Renders suitably for logging.
-     * @return a <code>String</code> representation 
-     * of this object.
+     * 
+     * @return a <code>String</code> representation of this object.
      */
-    public String toString()
-    {
+    public String toString() {
         final String TAB = " ";
-        
-        String retValue = "TorqueMailboxSession ( "
-            + "sessionId = " + this.sessionId + TAB
-            + "open = " + this.open + TAB
-            + " )";
-    
+
+        String retValue = "TorqueMailboxSession ( " + "sessionId = "
+                + this.sessionId + TAB + "open = " + this.open + TAB + " )";
+
         return retValue;
     }
 

Modified: 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java?rev=696828&r1=696827&r2=696828&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java
 (original)
+++ 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueResultIterator.java
 Thu Sep 18 14:44:56 2008
@@ -41,9 +41,11 @@
 public class TorqueResultIterator implements Iterator {
 
     private final Buffer messageRows;
+
     private final FetchGroup fetchGroup;
-    
-    public TorqueResultIterator(final Collection messageRows, final FetchGroup 
fetchGroup) {
+
+    public TorqueResultIterator(final Collection messageRows,
+            final FetchGroup fetchGroup) {
         super();
         if (messageRows == null || messageRows.isEmpty()) {
             this.messageRows = BufferUtils.EMPTY_BUFFER;
@@ -54,12 +56,14 @@
     }
 
     public MessageFlags[] getMessageFlags() throws TorqueException {
-        final MessageFlags[] results = 
MessageRowUtils.toMessageFlags(messageRows);
+        final MessageFlags[] results = MessageRowUtils
+                .toMessageFlags(messageRows);
         return results;
     }
-    
+
     /**
      * Iterates over the contained rows.
+     * 
      * @return <code>Iterator</code> for message rows
      */
     public final Iterator iterateRows() {
@@ -77,30 +81,36 @@
         final MessageRow messageRow = (MessageRow) messageRows.remove();
         MessageResult result;
         try {
-        
-            result = MessageRowUtils.loadMessageResult(messageRow, 
+
+            result = MessageRowUtils.loadMessageResult(messageRow,
                     this.fetchGroup);
         } catch (TorqueException e) {
-            result = new UnloadedMessageResult(messageRow, new 
MailboxManagerException(e));
+            result = new UnloadedMessageResult(messageRow,
+                    new MailboxManagerException(e));
         } catch (MailboxManagerException e) {
             result = new UnloadedMessageResult(messageRow, e);
         }
         return result;
     }
-    
+
     public void remove() {
         throw new UnsupportedOperationException("Read only iteration.");
     }
 
     private static final class UnloadedMessageResult implements MessageResult {
-        private static final FetchGroup FETCH_GROUP = new 
FetchGroupImpl(FetchGroup.INTERNAL_DATE | FetchGroup.SIZE);
-        
+        private static final FetchGroup FETCH_GROUP = new FetchGroupImpl(
+                FetchGroup.INTERNAL_DATE | FetchGroup.SIZE);
+
         private final MailboxManagerException exception;
+
         private final Date internalDate;
+
         private final int size;
+
         private final long uid;
-        
-        public UnloadedMessageResult(final MessageRow row, final 
MailboxManagerException exception) {
+
+        public UnloadedMessageResult(final MessageRow row,
+                final MailboxManagerException exception) {
             super();
             internalDate = row.getInternalDate();
             size = row.getSize();
@@ -112,7 +122,7 @@
             throw exception;
         }
 
-        public Content getFullContent() throws MailboxManagerException{
+        public Content getFullContent() throws MailboxManagerException {
             throw exception;
         }
 
@@ -157,25 +167,29 @@
         }
 
         public int compareTo(Object o) {
-            MessageResult that=(MessageResult)o;
-            // Java 1.5  return (int) Math.signum(uid - that.getUid());
+            MessageResult that = (MessageResult) o;
+            // Java 1.5 return (int) Math.signum(uid - that.getUid());
             long diff = uid - that.getUid();
             return (int) diff == 0 ? 0 : diff > 0 ? 1 : -1;
         }
 
-        public Content getMessageBody(MimePath path) throws 
MailboxManagerException {
+        public Content getMessageBody(MimePath path)
+                throws MailboxManagerException {
             throw exception;
         }
 
-        public Content getFullContent(MimePath path) throws 
MailboxManagerException {
+        public Content getFullContent(MimePath path)
+                throws MailboxManagerException {
             throw exception;
         }
 
-        public Iterator iterateHeaders(MimePath path) throws 
MailboxManagerException {
+        public Iterator iterateHeaders(MimePath path)
+                throws MailboxManagerException {
             throw exception;
         }
 
-        public Iterator iterateMimeHeaders(MimePath path) throws 
MailboxManagerException {
+        public Iterator iterateMimeHeaders(MimePath path)
+                throws MailboxManagerException {
             throw exception;
         }
 
@@ -183,13 +197,15 @@
             throw exception;
         }
 
-        public Content getMimeBody(MimePath path) throws 
MailboxManagerException {
+        public Content getMimeBody(MimePath path)
+                throws MailboxManagerException {
             throw exception;
         }
 
-        public MimeDescriptor getMimeDescriptor() throws 
MailboxManagerException {
+        public MimeDescriptor getMimeDescriptor()
+                throws MailboxManagerException {
             throw exception;
         }
-        
+
     }
 }

Modified: 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/UserManager.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/UserManager.java?rev=696828&r1=696827&r2=696828&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/UserManager.java
 (original)
+++ 
james/protocols/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/UserManager.java
 Thu Sep 18 14:44:56 2008
@@ -27,9 +27,11 @@
 
     public boolean isAuthentic(String userid, String passwd);
 
-    public void subscribe(String user, String mailbox) throws 
SubscriptionException;
+    public void subscribe(String user, String mailbox)
+            throws SubscriptionException;
 
     public Collection subscriptions(String user) throws SubscriptionException;
 
-    public void unsubscribe(String user, String mailbox) throws 
SubscriptionException;
+    public void unsubscribe(String user, String mailbox)
+            throws SubscriptionException;
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to