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/12/06 11:59:26 UTC

svn commit: r1042572 - in /james/mailbox/trunk: api/src/main/java/org/apache/james/mailbox/ jcr/src/main/java/org/apache/james/mailbox/jcr/mail/ jpa/src/main/java/org/apache/james/mailbox/jpa/mail/ maildir/src/main/java/org/apache/james/mailbox/maildir...

Author: norman
Date: Mon Dec  6 10:59:25 2010
New Revision: 1042572

URL: http://svn.apache.org/viewvc?rev=1042572&view=rev
Log:
Rename UpdatedFlag to UpdatedFlags and improve some javadocs

Added:
    james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/UpdatedFlags.java
      - copied, changed from r1041902, james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/UpdatedFlag.java
Removed:
    james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/UpdatedFlag.java
Modified:
    james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageRange.java
    james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
    james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
    james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
    james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
    james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
    james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java

Modified: james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageRange.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageRange.java?rev=1042572&r1=1042571&r2=1042572&view=diff
==============================================================================
--- james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageRange.java (original)
+++ james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MessageRange.java Mon Dec  6 10:59:25 2010
@@ -20,8 +20,7 @@
 package org.apache.james.mailbox;
 
 /**
- * Used to define a range of messages by uid or msn, or a individual message by
- * key or message object.<br />
+ * Used to define a range of messages by uid.<br />
  * The type of the set should be defined by using an appropriate constructor.
  */
 public class MessageRange {

Modified: james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java?rev=1042572&r1=1042571&r2=1042572&view=diff
==============================================================================
--- james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java (original)
+++ james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/mail/JCRMessageMapper.java Mon Dec  6 10:59:25 2010
@@ -48,11 +48,11 @@ import org.apache.james.mailbox.jcr.Abst
 import org.apache.james.mailbox.jcr.MailboxSessionJCRRepository;
 import org.apache.james.mailbox.jcr.mail.model.JCRMessage;
 import org.apache.james.mailbox.store.SearchQueryIterator;
-import org.apache.james.mailbox.store.UpdatedFlag;
 import org.apache.james.mailbox.store.mail.MessageMapper;
 import org.apache.james.mailbox.store.mail.UidProvider;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.MailboxMembership;
+import org.apache.james.mailbox.store.mail.model.UpdatedFlags;
 
 /**
  * JCR implementation of a {@link MessageMapper}. The implementation store each message as 
@@ -667,8 +667,8 @@ public class JCRMessageMapper extends Ab
      * (non-Javadoc)
      * @see org.apache.james.mailbox.store.mail.MessageMapper#updateFlags(org.apache.james.mailbox.store.mail.model.Mailbox, javax.mail.Flags, boolean, boolean, org.apache.james.mailbox.MessageRange)
      */
-    public Iterator<UpdatedFlag> updateFlags(Mailbox<String> mailbox, Flags flags, boolean value, boolean replace, MessageRange set) throws MailboxException {
-        final List<UpdatedFlag> updatedFlags = new ArrayList<UpdatedFlag>();
+    public Iterator<UpdatedFlags> updateFlags(Mailbox<String> mailbox, Flags flags, boolean value, boolean replace, MessageRange set) throws MailboxException {
+        final List<UpdatedFlags> updatedFlags = new ArrayList<UpdatedFlags>();
 
         final List<MailboxMembership<String>> members = findInMailbox(mailbox, set);
         for (final MailboxMembership<String> member:members) {
@@ -701,7 +701,7 @@ public class JCRMessageMapper extends Ab
             }
 
             
-            updatedFlags.add(new UpdatedFlag(member.getUid(),originalFlags, newFlags));
+            updatedFlags.add(new UpdatedFlags(member.getUid(),originalFlags, newFlags));
         }
         
         return updatedFlags.iterator();       

Modified: james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java?rev=1042572&r1=1042571&r2=1042572&view=diff
==============================================================================
--- james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java (original)
+++ james/mailbox/trunk/jpa/src/main/java/org/apache/james/mailbox/jpa/mail/JPAMessageMapper.java Mon Dec  6 10:59:25 2010
@@ -39,11 +39,11 @@ import org.apache.james.mailbox.jpa.mail
 import org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMailboxMembership;
 import org.apache.james.mailbox.jpa.mail.model.openjpa.JPAStreamingMailboxMembership;
 import org.apache.james.mailbox.store.SearchQueryIterator;
-import org.apache.james.mailbox.store.UpdatedFlag;
 import org.apache.james.mailbox.store.mail.MessageMapper;
 import org.apache.james.mailbox.store.mail.UidProvider;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.MailboxMembership;
+import org.apache.james.mailbox.store.mail.model.UpdatedFlags;
 
 
 /**
@@ -336,8 +336,8 @@ public class JPAMessageMapper extends JP
      * (non-Javadoc)
      * @see org.apache.james.mailbox.store.mail.MessageMapper#updateFlags(org.apache.james.mailbox.store.mail.model.Mailbox, javax.mail.Flags, boolean, boolean, org.apache.james.mailbox.MessageRange)
      */
-    public Iterator<UpdatedFlag> updateFlags(Mailbox<Long> mailbox, Flags flags, boolean value, boolean replace, MessageRange set) throws MailboxException {
-        final List<UpdatedFlag> updatedFlags = new ArrayList<UpdatedFlag>();
+    public Iterator<UpdatedFlags> updateFlags(Mailbox<Long> mailbox, Flags flags, boolean value, boolean replace, MessageRange set) throws MailboxException {
+        final List<UpdatedFlags> updatedFlags = new ArrayList<UpdatedFlags>();
 
         final List<MailboxMembership<Long>> members = findInMailbox(mailbox, set);
         for (final MailboxMembership<Long> member:members) {
@@ -355,7 +355,7 @@ public class JPAMessageMapper extends JP
             }
             Flags newFlags = member.createFlags();
             getEntityManager().persist(member);
-            updatedFlags.add(new UpdatedFlag(member.getUid(),originalFlags, newFlags));
+            updatedFlags.add(new UpdatedFlags(member.getUid(),originalFlags, newFlags));
         }
         
         return updatedFlags.iterator();       

Modified: james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java?rev=1042572&r1=1042571&r2=1042572&view=diff
==============================================================================
--- james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java (original)
+++ james/mailbox/trunk/maildir/src/main/java/org/apache/james/mailbox/maildir/mail/MaildirMessageMapper.java Mon Dec  6 10:59:25 2010
@@ -47,10 +47,10 @@ import org.apache.james.mailbox.maildir.
 import org.apache.james.mailbox.maildir.mail.model.LazyLoadingMaildirMessage;
 import org.apache.james.mailbox.maildir.mail.model.MaildirMessage;
 import org.apache.james.mailbox.store.SearchQueryIterator;
-import org.apache.james.mailbox.store.UpdatedFlag;
 import org.apache.james.mailbox.store.mail.MessageMapper;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.MailboxMembership;
+import org.apache.james.mailbox.store.mail.model.UpdatedFlags;
 import org.apache.james.mailbox.store.transaction.NonTransactionalMapper;
 
 public class MaildirMessageMapper extends NonTransactionalMapper implements MessageMapper<Integer> {
@@ -417,8 +417,8 @@ public class MaildirMessageMapper extend
     }
 
 
-    public Iterator<UpdatedFlag> updateFlags(Mailbox<Integer> mailbox, Flags flags, boolean value, boolean replace, MessageRange set) throws MailboxException {
-        final List<UpdatedFlag> updatedFlags = new ArrayList<UpdatedFlag>();
+    public Iterator<UpdatedFlags> updateFlags(Mailbox<Integer> mailbox, Flags flags, boolean value, boolean replace, MessageRange set) throws MailboxException {
+        final List<UpdatedFlags> updatedFlags = new ArrayList<UpdatedFlags>();
         MaildirFolder folder = maildirStore.createMaildirFolder(mailbox);
 
         final List<MailboxMembership<Integer>> members = findInMailbox(mailbox, set);
@@ -452,7 +452,7 @@ public class MaildirMessageMapper extend
                 throw new MailboxException("Failure while save Message " + member + " in Mailbox " + mailbox, e );
             }
             
-            updatedFlags.add(new UpdatedFlag(member.getUid(),originalFlags, newFlags));
+            updatedFlags.add(new UpdatedFlags(member.getUid(),originalFlags, newFlags));
         }
         
         return updatedFlags.iterator();       

Modified: james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java?rev=1042572&r1=1042571&r2=1042572&view=diff
==============================================================================
--- james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java (original)
+++ james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/mail/InMemoryMessageMapper.java Mon Dec  6 10:59:25 2010
@@ -34,11 +34,11 @@ import org.apache.james.mailbox.SearchQu
 import org.apache.james.mailbox.inmemory.mail.model.InMemoryMailbox;
 import org.apache.james.mailbox.inmemory.mail.model.SimpleMailboxMembership;
 import org.apache.james.mailbox.store.SearchQueryIterator;
-import org.apache.james.mailbox.store.UpdatedFlag;
 import org.apache.james.mailbox.store.mail.MessageMapper;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.MailboxMembership;
 import org.apache.james.mailbox.store.mail.model.MailboxMembershipComparator;
+import org.apache.james.mailbox.store.mail.model.UpdatedFlags;
 import org.apache.james.mailbox.store.transaction.NonTransactionalMapper;
 
 public class InMemoryMessageMapper extends NonTransactionalMapper implements MessageMapper<Long> {
@@ -224,8 +224,8 @@ public class InMemoryMessageMapper exten
         return add(mailbox, membership);
     }
 
-    public Iterator<UpdatedFlag> updateFlags(Mailbox<Long> mailbox, Flags flags, boolean value, boolean replace, MessageRange set) throws MailboxException {
-        final List<UpdatedFlag> updatedFlags = new ArrayList<UpdatedFlag>();
+    public Iterator<UpdatedFlags> updateFlags(Mailbox<Long> mailbox, Flags flags, boolean value, boolean replace, MessageRange set) throws MailboxException {
+        final List<UpdatedFlags> updatedFlags = new ArrayList<UpdatedFlags>();
 
         final List<MailboxMembership<Long>> members = findInMailbox(mailbox, set);
         for (final MailboxMembership<Long> member:members) {
@@ -245,7 +245,7 @@ public class InMemoryMessageMapper exten
             
             add(mailbox, member);
             
-            updatedFlags.add(new UpdatedFlag(member.getUid(),originalFlags, newFlags));
+            updatedFlags.add(new UpdatedFlags(member.getUid(),originalFlags, newFlags));
         }
         
         return updatedFlags.iterator();       

Modified: james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java?rev=1042572&r1=1042571&r2=1042572&view=diff
==============================================================================
--- james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java (original)
+++ james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreMessageManager.java Mon Dec  6 10:59:25 2010
@@ -53,6 +53,7 @@ import org.apache.james.mailbox.store.ma
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.MailboxMembership;
 import org.apache.james.mailbox.store.mail.model.PropertyBuilder;
+import org.apache.james.mailbox.store.mail.model.UpdatedFlags;
 import org.apache.james.mailbox.store.streaming.ConfigurableMimeTokenStream;
 import org.apache.james.mailbox.store.streaming.CountingInputStream;
 import org.apache.james.mailbox.store.transaction.Mapper;
@@ -403,16 +404,16 @@ public abstract class StoreMessageManage
         final SortedMap<Long, Flags> newFlagsByUid = new TreeMap<Long, Flags>();
 
         final MessageMapper<Id> messageMapper = mapperFactory.getMessageMapper(mailboxSession);
-        Iterator<UpdatedFlag> it = messageMapper.execute(new Mapper.Transaction<Iterator<UpdatedFlag>>() {
+        Iterator<UpdatedFlags> it = messageMapper.execute(new Mapper.Transaction<Iterator<UpdatedFlags>>() {
 
-            public Iterator<UpdatedFlag> run() throws MailboxException {
+            public Iterator<UpdatedFlags> run() throws MailboxException {
                 return messageMapper.updateFlags(getMailboxEntity(),flags, value, replace, set);
             }
         });
         
         
         while (it.hasNext()) {
-            UpdatedFlag flag = it.next();
+            UpdatedFlags flag = it.next();
             dispatcher.flagsUpdated(flag.getUid(), mailboxSession.getSessionId(), new StoreMailboxPath<Id>(getMailboxEntity()), flag.getOldFlags(), flag.getNewFlags());
             newFlagsByUid.put(flag.getUid(), flag.getNewFlags());
         }

Modified: james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java?rev=1042572&r1=1042571&r2=1042572&view=diff
==============================================================================
--- james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java (original)
+++ james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/MessageMapper.java Mon Dec  6 10:59:25 2010
@@ -26,10 +26,10 @@ import javax.mail.Flags;
 import org.apache.james.mailbox.MailboxException;
 import org.apache.james.mailbox.MessageRange;
 import org.apache.james.mailbox.SearchQuery;
-import org.apache.james.mailbox.store.UpdatedFlag;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
 import org.apache.james.mailbox.store.mail.model.MailboxMembership;
 import org.apache.james.mailbox.store.mail.model.Message;
+import org.apache.james.mailbox.store.mail.model.UpdatedFlags;
 import org.apache.james.mailbox.store.transaction.Mapper;
 
 /**
@@ -123,8 +123,7 @@ public interface MessageMapper<Id> exten
 
 
     /**
-     * Add the given {@link MailboxMembership} to the underlying storage and return the uid of it. the uid needs to be unique and sequential. Howto
-     * archive that is up to the implementation
+     * Add the given {@link MailboxMembership} to the underlying storage, assign a new uid and return  it. The uid generation should be delegated to the {@link UidProvider} 
      * 
      * 
      * @param mailbox
@@ -134,7 +133,7 @@ public interface MessageMapper<Id> exten
     public abstract long add(Mailbox<Id> mailbox, MailboxMembership<Id> message) throws MailboxException;
     
     /**
-     * Update flags for the given {@link MessageRange}
+     * Update flags for the given {@link MessageRange}. Only the flags may be modified after a message was saved to a mailbox.
      * 
      * @param mailbox
      * @param flags
@@ -144,7 +143,7 @@ public interface MessageMapper<Id> exten
      * @return updatedFlags
      * @throws MailboxException
      */
-    public abstract Iterator<UpdatedFlag> updateFlags(Mailbox<Id> mailbox, final Flags flags, final boolean value, final boolean replace,
+    public abstract Iterator<UpdatedFlags> updateFlags(Mailbox<Id> mailbox, final Flags flags, final boolean value, final boolean replace,
             final MessageRange set) throws MailboxException;
     
     /**

Copied: james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/UpdatedFlags.java (from r1041902, james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/UpdatedFlag.java)
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/UpdatedFlags.java?p2=james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/UpdatedFlags.java&p1=james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/UpdatedFlag.java&r1=1041902&r2=1042572&rev=1042572&view=diff
==============================================================================
--- james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/UpdatedFlag.java (original)
+++ james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/UpdatedFlags.java Mon Dec  6 10:59:25 2010
@@ -16,26 +16,8 @@
  * specific language governing permissions and limitations      *
  * under the License.                                           *
  ****************************************************************/
-/****************************************************************
- * 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.mailbox.store;
+package org.apache.james.mailbox.store.mail.model;
 
 import javax.mail.Flags;
 
@@ -44,13 +26,13 @@ import javax.mail.Flags;
  * 
  *
  */
-public class UpdatedFlag {
+public class UpdatedFlags {
 
     private final long uid;
     private final Flags oldFlags;
     private final Flags newFlags;
 
-    public UpdatedFlag(long uid, Flags oldFlags, Flags newFlags) {
+    public UpdatedFlags(long uid, Flags oldFlags, Flags newFlags) {
        this.uid = uid;
        this.oldFlags = oldFlags;
        this.newFlags = newFlags;



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org