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 2011/06/20 12:07:04 UTC
svn commit: r1137573 - in /james/mailbox/trunk:
jcr/src/main/java/org/apache/james/mailbox/jcr/
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/mai...
Author: norman
Date: Mon Jun 20 10:07:03 2011
New Revision: 1137573
URL: http://svn.apache.org/viewvc?rev=1137573&view=rev
Log:
Its now possible to directly use StoreMailboxManager and StoreMessageManager, so we can remove some of its sub-classes. Part of MAILBOX-98
Added:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java
- copied, changed from r1135926, james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/SimpleMessageMetaData.java
Removed:
james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/AbstractJCRMapper.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/SimpleMessageMetaData.java
Modified:
james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/AbstractJCRScalingMapper.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/StoreMailboxManager.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/StoreSubscriptionManager.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailbox.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessage.java
james/mailbox/trunk/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java
Modified: james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/AbstractJCRScalingMapper.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/AbstractJCRScalingMapper.java?rev=1137573&r1=1137572&r2=1137573&view=diff
==============================================================================
--- james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/AbstractJCRScalingMapper.java (original)
+++ james/mailbox/trunk/jcr/src/main/java/org/apache/james/mailbox/jcr/AbstractJCRScalingMapper.java Mon Jun 20 10:07:03 2011
@@ -20,25 +20,99 @@ package org.apache.james.mailbox.jcr;
import javax.jcr.Node;
import javax.jcr.RepositoryException;
+import javax.jcr.Session;
import org.apache.jackrabbit.commons.JcrUtils;
+import org.apache.james.mailbox.MailboxException;
import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.store.transaction.TransactionalMapper;
+import org.slf4j.Logger;
/**
- * Abstract base class for Mapper's which support scaling
+ * Abstract base class for Mapper's which support scaling. This supports Level 1 Implementations of JCR. So no real transaction management is used.
+ *
+ * The Session.save() will get called on commit() method, session.refresh(false) on rollback, and session.refresh(true) on begin()
*
*/
-public abstract class AbstractJCRScalingMapper extends AbstractJCRMapper{
+public abstract class AbstractJCRScalingMapper extends TransactionalMapper implements JCRImapConstants {
+ public final static String MAILBOXES_PATH = "mailboxes";
+ private final MailboxSessionJCRRepository repository;
private final int scaling;
+
+ private MailboxSession mSession;
private final static char PAD ='_';
public AbstractJCRScalingMapper(MailboxSessionJCRRepository repository, MailboxSession mSession, int scaling) {
- super(repository, mSession);
this.scaling = scaling;
+
+ this.mSession = mSession;
+ this.repository = repository;
+ }
+
+ /**
+ * Return the logger
+ *
+ * @return logger
+ */
+ protected Logger getLogger() {
+ return mSession.getLog();
+ }
+
+ /**
+ * Return the JCR Session
+ *
+ * @return session
+ */
+ protected Session getSession() throws RepositoryException{
+ return repository.login(mSession);
+ }
+
+ /**
+ * Begin is not supported by level 1 JCR implementations, however we refresh the session
+ */
+ protected void begin() throws MailboxException {
+ try {
+ getSession().refresh(true);
+ } catch (RepositoryException e) {
+ // do nothin on refresh
+ }
+ // Do nothing
}
/**
+ * Just call save on the underlying JCR Session, because level 1 JCR implementation does not offer Transactions
+ */
+ protected void commit() throws MailboxException {
+ try {
+ if (getSession().hasPendingChanges()) {
+ getSession().save();
+ }
+ } catch (RepositoryException e) {
+ throw new MailboxException("Unable to commit", e);
+ }
+ }
+
+ /**
+ * Rollback is not supported by level 1 JCR implementations, so just do nothing
+ */
+ protected void rollback() throws MailboxException {
+ try {
+ // just refresh session and discard all pending changes
+ getSession().refresh(false);
+ } catch (RepositoryException e) {
+ // just catch on rollback by now
+ }
+ }
+
+ /**
+ * Logout from open JCR Session
+ */
+ public void endRequest() {
+ repository.logout(mSession);
+ }
+
+ /**
* Construct the user node path part, using the specified scaling factor.
* If the username is not long enough it will fill it with {@link #PAD}
*
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=1137573&r1=1137572&r2=1137573&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 Jun 20 10:07:03 2011
@@ -46,9 +46,9 @@ import org.apache.james.mailbox.jcr.JCRI
import org.apache.james.mailbox.jcr.MailboxSessionJCRRepository;
import org.apache.james.mailbox.jcr.mail.model.JCRMailbox;
import org.apache.james.mailbox.jcr.mail.model.JCRMessage;
+import org.apache.james.mailbox.store.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.AbstractMessageMapper;
import org.apache.james.mailbox.store.mail.MessageMapper;
-import org.apache.james.mailbox.store.mail.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.Message;
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=1137573&r1=1137572&r2=1137573&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 Jun 20 10:07:03 2011
@@ -38,9 +38,9 @@ import org.apache.james.mailbox.jpa.mail
import org.apache.james.mailbox.jpa.mail.model.openjpa.AbstractJPAMessage;
import org.apache.james.mailbox.jpa.mail.model.openjpa.JPAMessage;
import org.apache.james.mailbox.jpa.mail.model.openjpa.JPAStreamingMessage;
+import org.apache.james.mailbox.store.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.AbstractMessageMapper;
import org.apache.james.mailbox.store.mail.MessageMapper;
-import org.apache.james.mailbox.store.mail.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.Message;
import org.apache.openjpa.persistence.ArgumentException;
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=1137573&r1=1137572&r2=1137573&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 Jun 20 10:07:03 2011
@@ -46,8 +46,8 @@ import org.apache.james.mailbox.maildir.
import org.apache.james.mailbox.maildir.MaildirStore;
import org.apache.james.mailbox.maildir.mail.model.MaildirMessage;
import org.apache.james.mailbox.store.ResultUtils;
+import org.apache.james.mailbox.store.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.AbstractMessageMapper;
-import org.apache.james.mailbox.store.mail.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.Message;
import org.apache.james.mailbox.store.mail.model.impl.SimpleMessage;
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=1137573&r1=1137572&r2=1137573&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 Jun 20 10:07:03 2011
@@ -27,12 +27,15 @@ import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
+import javax.mail.Flags;
+import javax.mail.Flags.Flag;
+
import org.apache.james.mailbox.MailboxException;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageMetaData;
import org.apache.james.mailbox.MessageRange;
+import org.apache.james.mailbox.store.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.AbstractMessageMapper;
-import org.apache.james.mailbox.store.mail.SimpleMessageMetaData;
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.Message;
import org.apache.james.mailbox.store.mail.model.impl.SimpleMessage;
@@ -217,6 +220,11 @@ public class InMemoryMessageMapper exten
SimpleMessage<Long> message = new SimpleMessage<Long>(mailbox, original);
message.setUid(uid);
message.setModSeq(modSeq);
+ Flags flags = original.createFlags();
+
+ // Mark message as recent as it is a copy
+ flags.add(Flag.RECENT);
+ message.setFlags(flags);
return save(mailbox, message);
}
@@ -242,7 +250,11 @@ public class InMemoryMessageMapper exten
* @see org.apache.james.mailbox.store.mail.AbstractMessageMapper#save(org.apache.james.mailbox.store.mail.model.Mailbox, org.apache.james.mailbox.store.mail.model.Message)
*/
protected MessageMetaData save(Mailbox<Long> mailbox, Message<Long> message) throws MailboxException {
- getMembershipByUidForMailbox(mailbox).put(message.getUid(), message);
+ SimpleMessage<Long> copy = new SimpleMessage<Long>(mailbox, message);
+ copy.setUid(message.getUid());
+ copy.setModSeq(message.getModSeq());
+ getMembershipByUidForMailbox(mailbox).put(message.getUid(), copy);
+
return new SimpleMessageMetaData(message);
}
Copied: james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java (from r1135926, james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/SimpleMessageMetaData.java)
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java?p2=james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java&p1=james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/SimpleMessageMetaData.java&r1=1135926&r2=1137573&rev=1137573&view=diff
==============================================================================
--- james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/SimpleMessageMetaData.java (original)
+++ james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/SimpleMessageMetaData.java Mon Jun 20 10:07:03 2011
@@ -17,7 +17,7 @@
* under the License. *
****************************************************************/
-package org.apache.james.mailbox.store.mail;
+package org.apache.james.mailbox.store;
import java.util.Date;
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=1137573&r1=1137572&r2=1137573&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 Jun 20 10:07:03 2011
@@ -107,6 +107,11 @@ public class StoreMailboxManager<Id> imp
}
}
+ /**
+ * Return the {@link AbstractDelegatingMailboxListener} which is used by this {@link MailboxManager}
+ *
+ * @return delegatingListener
+ */
public AbstractDelegatingMailboxListener getDelegationListener() {
if (delegatingListener == null) {
delegatingListener = new HashMapDelegatingMailboxListener();
@@ -114,14 +119,31 @@ public class StoreMailboxManager<Id> imp
return delegatingListener;
}
+
+ /**
+ * Return the {@link MessageSearchIndex} used by this {@link MailboxManager}
+ *
+ * @return index
+ */
public MessageSearchIndex<Id> getMessageSearchIndex() {
return index;
}
+
+ /**
+ * Return the {@link MailboxEventDispatcher} used by thei {@link MailboxManager}
+ *
+ * @return dispatcher
+ */
public MailboxEventDispatcher<Id> getEventDispatcher() {
return dispatcher;
}
+ /**
+ * Return the {@link MailboxSessionMapperFactory} used by this {@link MailboxManager}
+ *
+ * @return mailboxSessionMapperFactory
+ */
public MailboxSessionMapperFactory<Id> getMapperFactory() {
return mailboxSessionMapperFactory;
}
@@ -134,12 +156,18 @@ public class StoreMailboxManager<Id> imp
* @param delegatingListener
*/
public void setDelegatingMailboxListener(AbstractDelegatingMailboxListener delegatingListener) {
- if(this.delegatingListener != null)
- this.delegatingListener.close();
+ if (this.delegatingListener != null)
+ this.delegatingListener.close();
this.delegatingListener = delegatingListener;
dispatcher.addMailboxListener(this.delegatingListener);
}
+ /**
+ * Set the {@link MessageSearchIndex} which should be used by this {@link MailboxManager}. If none is given this implementation will use a {@link SimpleMessageSearchIndex}
+ * by default
+ *
+ * @param index
+ */
public void setMessageSearchIndex(MessageSearchIndex<Id> index) {
this.index = index;
}
@@ -234,7 +262,9 @@ public class StoreMailboxManager<Id> imp
}
/**
- * Create a Mailbox for the given namespace
+ * Create a Mailbox for the given namespace. This will by default return a {@link SimpleMailbox}.
+ *
+ * If you need to return something more special just override this method
*
* @param namespaceName
* @throws MailboxException
@@ -329,67 +359,7 @@ public class StoreMailboxManager<Id> imp
// We need to create a copy of the mailbox as maybe we can not refer to the real
// mailbox once we remove it
- Mailbox<Id> m = new Mailbox<Id>() {
- private Id id = mailbox.getMailboxId();
- private String namespace = mailbox.getNamespace();
- private String name = mailbox.getName();
- private String user = mailbox.getUser();
- private long uidVal = mailbox.getUidValidity();
- private long lastUid = mailbox.getLastKnownUid();
- private long lastSeq = mailbox.getHighestKnownModSeq();
-
-
- public Id getMailboxId() {
- return id;
- }
-
- @Override
- public String getNamespace() {
- return namespace;
- }
-
- @Override
- public void setNamespace(String namespace) {
- this.namespace = namespace;
- }
-
- @Override
- public String getUser() {
- return user;
- }
-
- @Override
- public void setUser(String user) {
- this.user = user;
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- @Override
- public void setName(String name) {
- this.name = name;
-
- }
-
- @Override
- public long getUidValidity() {
- return uidVal;
- }
-
- @Override
- public long getLastKnownUid() {
- return lastUid;
- }
-
- @Override
- public long getHighestKnownModSeq() {
- return lastSeq;
- }
-
- };
+ SimpleMailbox<Id> m = new SimpleMailbox<Id>(mailbox);
mapper.delete(mailbox);
return m;
}
@@ -576,7 +546,4 @@ public class StoreMailboxManager<Id> imp
public void addGlobalListener(MailboxListener listener, MailboxSession session) throws MailboxException {
delegatingListener.addGlobalListener(listener, session);
}
-
-
-
}
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=1137573&r1=1137572&r2=1137573&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 Jun 20 10:07:03 2011
@@ -42,6 +42,7 @@ import org.apache.commons.io.input.TeeIn
import org.apache.james.mailbox.MailboxException;
import org.apache.james.mailbox.MailboxListener;
import org.apache.james.mailbox.MailboxSession;
+import org.apache.james.mailbox.MessageManager;
import org.apache.james.mailbox.MessageMetaData;
import org.apache.james.mailbox.MessageRange;
import org.apache.james.mailbox.MessageResult;
@@ -68,14 +69,19 @@ import org.apache.james.mime4j.parser.Mi
import com.sun.mail.imap.protocol.MessageSet;
/**
- * Abstract base class for {@link org.apache.james.mailbox.MessageManager} implementations. This abstract
- * class take care of dispatching events to the registered {@link MailboxListener} and so help
- * with handling concurrent {@link MailboxSession}'s. So this is a perfect starting point when writing your
- * own implementation and don't want to depend on {@link MessageMapper}.
+ * Base class for {@link org.apache.james.mailbox.MessageManager} implementations.
+ *
+ * This base class take care of dispatching events to the registered {@link MailboxListener} and so help
+ * with handling concurrent {@link MailboxSession}'s.
+ *
+ *
*
*/
public class StoreMessageManager<Id> implements org.apache.james.mailbox.MessageManager{
+ /**
+ * The minimal Permanent flags the {@link MessageManager} must support
+ */
protected final static Flags MINIMAL_PERMANET_FLAGS;
static {
MINIMAL_PERMANET_FLAGS = new Flags();
@@ -90,9 +96,9 @@ public class StoreMessageManager<Id> imp
private final MailboxEventDispatcher<Id> dispatcher;
- protected final MessageMapperFactory<Id> mapperFactory;
+ private final MessageMapperFactory<Id> mapperFactory;
- protected final MessageSearchIndex<Id> index;
+ private final MessageSearchIndex<Id> index;
public StoreMessageManager(final MessageMapperFactory<Id> mapperFactory, final MessageSearchIndex<Id> index, final MailboxEventDispatcher<Id> dispatcher, final Mailbox<Id> mailbox) throws MailboxException {
this.mailbox = mailbox;
@@ -336,6 +342,12 @@ public class StoreMessageManager<Id> imp
return new SimpleMessage<Id>(internalDate, size, bodyStartOctet, content, flags, propertyBuilder, getMailboxEntity().getMailboxId());
}
+ /**
+ * Add the {@link MailboxListener}
+ *
+ * @param listener
+ * @throws MailboxException
+ */
public void addListener(MailboxListener listener) throws MailboxException {
dispatcher.addMailboxListener(listener);
}
Modified: james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java?rev=1137573&r1=1137572&r2=1137573&view=diff
==============================================================================
--- james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java (original)
+++ james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/StoreSubscriptionManager.java Mon Jun 20 10:07:03 2011
@@ -34,7 +34,7 @@ import org.apache.james.mailbox.store.us
import org.apache.james.mailbox.store.user.model.impl.SimpleSubscription;
/**
- * Manages subscriptions.
+ * Manages subscriptions for Users and Mailboxes.
*/
public class StoreSubscriptionManager implements SubscriptionManager {
@@ -70,7 +70,9 @@ public class StoreSubscriptionManager im
}
/**
- * Create Subscription for the given user and mailbox
+ * Create Subscription for the given user and mailbox. By default a {@link SimpleSubscription} will get returned.
+ *
+ * If you need something more special just override this method
*
* @param session
* @param mailbox
Modified: james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailbox.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailbox.java?rev=1137573&r1=1137572&r2=1137573&view=diff
==============================================================================
--- james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailbox.java (original)
+++ james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMailbox.java Mon Jun 20 10:07:03 2011
@@ -46,6 +46,8 @@ public class SimpleMailbox<Id> implement
this.user = mailbox.getUser();
this.name = mailbox.getName();
this.uidValidity = mailbox.getUidValidity();
+ this.lastKnownUid = mailbox.getLastKnownUid();
+ this.highestKnownModSeq = mailbox.getHighestKnownModSeq();
}
/*
Modified: james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessage.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessage.java?rev=1137573&r1=1137572&r2=1137573&view=diff
==============================================================================
--- james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessage.java (original)
+++ james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/mail/model/impl/SimpleMessage.java Mon Jun 20 10:07:03 2011
@@ -143,10 +143,6 @@ public class SimpleMessage<Id> extends A
seen = flags.contains(Flags.Flag.SEEN);
}
- public void unsetRecent() {
- recent = false;
- }
-
public InputStream getBodyContent() throws IOException {
return content.newStream(getBodyStartOctet(), -1);
}
Modified: james/mailbox/trunk/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java
URL: http://svn.apache.org/viewvc/james/mailbox/trunk/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java?rev=1137573&r1=1137572&r2=1137573&view=diff
==============================================================================
--- james/mailbox/trunk/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java (original)
+++ james/mailbox/trunk/tool/src/main/java/org/apache/james/mailbox/copier/MailboxCopierImpl.java Mon Jun 20 10:07:03 2011
@@ -117,7 +117,6 @@ public class MailboxCopierImpl implement
dstMailboxManager.startProcessingRequest(dstMailboxSession);
MessageManager dstMessageManager = dstMailboxManager.getMailbox(mailboxPath, dstMailboxSession);
- dstMailboxManager.endProcessingRequest(dstMailboxSession);
int j=0;
Iterator<MessageResult> messageResultIterator = srcMessageManager.getMessages(MessageRange.all(), GROUP, srcMailboxSession);
@@ -134,6 +133,7 @@ public class MailboxCopierImpl implement
j++;
}
+ dstMailboxManager.endProcessingRequest(dstMailboxSession);
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org