Author: norman
Date: Wed Feb 9 10:52:19 2011
New Revision: 1068836
URL: http://svn.apache.org/viewvc?rev=1068836&view=rev
Log:
MailboxListener.Event noew expose the MailboxSession in whichs context the
Event happened. See MAILBOX-36
Modified:
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/util/MailboxEventDispatcher.java
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/util/MailboxEventDispatcherFlagsTest.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/torque/src/main/java/org/apache/james/mailbox/torque/TorqueMailbox.java
james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/UidChangeTracker.java
Modified:
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListener.java?rev=1068836&r1=1068835&r2=1068836&view=diff
==============================================================================
---
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
(original)
+++
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/MailboxListener.java
Wed Feb 9 10:52:19 2011
@@ -54,20 +54,20 @@ public interface MailboxListener {
* A mailbox event.
*/
public class Event {
- private final long sessionId;
+ private final MailboxSession session;
private final MailboxPath path;
- public Event(final long sessionId, final MailboxPath path) {
- this.sessionId = sessionId;
+ public Event(final MailboxSession session, final MailboxPath path) {
+ this.session = session;
this.path = path;
}
/**
- * Gets the id of the session which the event.
+ * Gets the {@link MailboxSession} in whichs context the {@link Event}
happened
*
- * @return session id
+ * @return session
*/
- public long getSessionId() {
- return sessionId;
+ public MailboxSession getSession() {
+ return session;
}
/**
@@ -85,8 +85,8 @@ public interface MailboxListener {
*/
public class MailboxDeletion extends Event {
- public MailboxDeletion(long sessionId, MailboxPath path) {
- super(sessionId, path);
+ public MailboxDeletion(final MailboxSession session, MailboxPath path)
{
+ super(session, path);
}
}
@@ -95,8 +95,8 @@ public interface MailboxListener {
* Indicates that a mailbox has been renamed.
*/
public abstract class MailboxRenamed extends Event {
- public MailboxRenamed(long sessionId, MailboxPath path) {
- super(sessionId, path);
+ public MailboxRenamed(final MailboxSession session, MailboxPath path) {
+ super(session, path);
}
/**
* Gets the new name for this mailbox.
@@ -111,8 +111,8 @@ public interface MailboxListener {
*/
public abstract class MessageEvent extends Event {
- public MessageEvent(long sessionId, MailboxPath path) {
- super(sessionId, path);
+ public MessageEvent(MailboxSession session, MailboxPath path) {
+ super(session, path);
}
/**
@@ -125,8 +125,8 @@ public interface MailboxListener {
public abstract class Expunged extends MessageEvent {
- public Expunged(long sessionId, MailboxPath path) {
- super(sessionId, path);
+ public Expunged(MailboxSession session, MailboxPath path) {
+ super(session, path);
}
}
@@ -137,8 +137,8 @@ public interface MailboxListener {
*/
public abstract class FlagsUpdated extends MessageEvent {
- public FlagsUpdated(long sessionId, MailboxPath path) {
- super(sessionId, path);
+ public FlagsUpdated(MailboxSession session, MailboxPath path) {
+ super(session, path);
}
/**
@@ -161,8 +161,8 @@ public interface MailboxListener {
*/
public abstract class Added extends MessageEvent {
- public Added(long sessionId, MailboxPath path) {
- super(sessionId, path);
+ public Added(MailboxSession session, MailboxPath path) {
+ super(session, path);
}
}
Modified:
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/util/MailboxEventDispatcher.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/util/MailboxEventDispatcher.java?rev=1068836&r1=1068835&r2=1068836&view=diff
==============================================================================
---
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/util/MailboxEventDispatcher.java
(original)
+++
james/mailbox/trunk/api/src/main/java/org/apache/james/mailbox/util/MailboxEventDispatcher.java
Wed Feb 9 10:52:19 2011
@@ -32,6 +32,7 @@ import javax.mail.Flags.Flag;
import org.apache.james.mailbox.MailboxListener;
import org.apache.james.mailbox.MailboxPath;
+import org.apache.james.mailbox.MailboxSession;
/**
* Helper class to dispatch {@link Event}'s to registerend MailboxListener
@@ -74,36 +75,36 @@ public class MailboxEventDispatcher impl
* @param sessionId
* @param path
*/
- public void added(long uid, long sessionId, MailboxPath path) {
+ public void added(MailboxSession session, long uid, MailboxPath path) {
pruneClosed();
- final AddedImpl added = new AddedImpl(sessionId, path, uid);
+ final AddedImpl added = new AddedImpl(session, path, uid);
event(added);
}
/**
* Should get called when a message was expunged from a Mailbox. All
registered MailboxListener will get triggered then
-
+ *
+ * @param session
* @param uid
- * @param sessionId
* @param path
*/
- public void expunged(final long uid, long sessionId, MailboxPath path) {
- final ExpungedImpl expunged = new ExpungedImpl(sessionId, path, uid);
+ public void expunged(final MailboxSession session, final long uid,
MailboxPath path) {
+ final ExpungedImpl expunged = new ExpungedImpl(session, path, uid);
event(expunged);
}
/**
* Should get called when the message flags were update in a Mailbox. All
registered MailboxListener will get triggered then
*
+ * @param session
* @param uid
- * @param sessionId
* @param path
* @param original
* @param updated
*/
- public void flagsUpdated(final long uid, long sessionId, final MailboxPath
path,
+ public void flagsUpdated(MailboxSession session, final long uid, final
MailboxPath path,
final Flags original, final Flags updated) {
- final FlagsUpdatedImpl flags = new FlagsUpdatedImpl(sessionId, path,
uid,
+ final FlagsUpdatedImpl flags = new FlagsUpdatedImpl(session, path, uid,
original, updated);
event(flags);
}
@@ -142,16 +143,16 @@ public class MailboxEventDispatcher impl
* @param to
* @param sessionId
*/
- public void mailboxRenamed(MailboxPath from, MailboxPath to, long
sessionId) {
- event(new MailboxRenamedEventImpl(from, to, sessionId));
+ public void mailboxRenamed(MailboxSession session, MailboxPath from,
MailboxPath to) {
+ event(new MailboxRenamedEventImpl(session, from, to));
}
private final static class AddedImpl extends MailboxListener.Added {
private final long subjectUid;
- public AddedImpl(final long sessionId, final MailboxPath path, final
long subjectUid) {
- super(sessionId, path);
+ public AddedImpl(final MailboxSession session, final MailboxPath path,
final long subjectUid) {
+ super(session, path);
this.subjectUid = subjectUid;
}
@@ -168,8 +169,8 @@ public class MailboxEventDispatcher impl
private final long subjectUid;
- public ExpungedImpl(final long sessionId, final MailboxPath path,
final long subjectUid) {
- super(sessionId, path);
+ public ExpungedImpl(MailboxSession session, final MailboxPath path,
final long subjectUid) {
+ super(session, path);
this.subjectUid = subjectUid;
}
@@ -199,9 +200,9 @@ public class MailboxEventDispatcher impl
private final Flags newFlags;
- public FlagsUpdatedImpl(final long sessionId, final MailboxPath path,
final long subjectUid,
+ public FlagsUpdatedImpl(MailboxSession session, final MailboxPath
path, final long subjectUid,
final Flags original, final Flags updated) {
- this(sessionId, path, subjectUid, updated, isChanged(original,
updated,
+ this(session, path, subjectUid, updated, isChanged(original,
updated,
Flags.Flag.ANSWERED), isChanged(original, updated,
Flags.Flag.DELETED), isChanged(original, updated,
Flags.Flag.DRAFT), isChanged(original, updated,
@@ -210,12 +211,12 @@ public class MailboxEventDispatcher impl
Flags.Flag.SEEN));
}
- public FlagsUpdatedImpl(final long sessionId, final MailboxPath path,
final long subjectUid,
+ public FlagsUpdatedImpl(MailboxSession session, final MailboxPath
path, final long subjectUid,
final Flags newFlags, boolean answeredUpdated,
boolean deletedUpdated, boolean draftUpdated,
boolean flaggedUpdated, boolean recentUpdated,
boolean seenUpdated) {
- super(sessionId, path);
+ super(session, path);
this.subjectUid = subjectUid;
this.modifiedFlags = new boolean[NUMBER_OF_SYSTEM_FLAGS];
this.modifiedFlags[0] = answeredUpdated;
@@ -302,29 +303,28 @@ public class MailboxEventDispatcher impl
/**
* Should get called when a Mailbox was deleted. All registered
MailboxListener will get triggered then
-
*
- * @param sessionId
+ * @param session
* @param path
*/
- public void mailboxDeleted(long sessionId, MailboxPath path) {
+ public void mailboxDeleted(MailboxSession session, MailboxPath path) {
final MailboxDeletionEventImpl event = new MailboxDeletionEventImpl(
- sessionId, path);
+ session, path);
event(event);
}
private static final class MailboxDeletionEventImpl extends
MailboxListener.MailboxDeletion {
- public MailboxDeletionEventImpl(final long sessionId, MailboxPath
path) {
- super(sessionId, path);
+ public MailboxDeletionEventImpl(MailboxSession session, MailboxPath
path) {
+ super(session, path);
}
}
private static final class MailboxRenamedEventImpl extends
MailboxListener.MailboxRenamed {
private final MailboxPath newPath;
- public MailboxRenamedEventImpl(final MailboxPath path, final
MailboxPath newPath, final long sessionId) {
- super(sessionId, path);
+ public MailboxRenamedEventImpl(final MailboxSession session, final
MailboxPath path, final MailboxPath newPath) {
+ super(session, path);
this.newPath = newPath;
}
Modified:
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/util/MailboxEventDispatcherFlagsTest.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/util/MailboxEventDispatcherFlagsTest.java?rev=1068836&r1=1068835&r2=1068836&view=diff
==============================================================================
---
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/util/MailboxEventDispatcherFlagsTest.java
(original)
+++
james/mailbox/trunk/api/src/test/java/org/apache/james/mailbox/util/MailboxEventDispatcherFlagsTest.java
Wed Feb 9 10:52:19 2011
@@ -27,7 +27,9 @@ import javax.mail.Flags;
import org.apache.james.mailbox.MailboxListener;
import org.apache.james.mailbox.MailboxPath;
+import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageResult;
+import org.apache.james.mailbox.mock.MockMailboxSession;
import org.apache.james.mailbox.util.MailboxEventDispatcher;
import org.jmock.Expectations;
import org.jmock.Mockery;
@@ -45,9 +47,17 @@ public class MailboxEventDispatcherFlags
EventCollector collector;
MessageResult result;
-
int sessionId = 10;
+ private MailboxSession session = new MockMailboxSession("test") {
+
+ @Override
+ public long getSessionId() {
+ return sessionId;
+ }
+
+ };
+
private Mockery mockery = new JUnit4Mockery();
private MailboxPath path = new MailboxPath(null, null, "test");
@@ -65,7 +75,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldReturnNoChangesWhenOriginalNull() throws Exception {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, null, new
Flags(
+ dispatcher.flagsUpdated(session, result.getUid(), path, null, new
Flags(
Flags.Flag.DELETED));
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -78,7 +88,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldReturnNoChangesWhenSystemFlagsUnchanged() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(
Flags.Flag.DELETED), new Flags(Flags.Flag.DELETED));
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -91,7 +101,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowAnsweredAdded() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(),
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(),
new Flags(Flags.Flag.ANSWERED));
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -106,7 +116,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowAnsweredRemoved() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(
Flags.Flag.ANSWERED), new Flags());
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -121,7 +131,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowDeletedAdded() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(),
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(),
new Flags(Flags.Flag.DELETED));
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -136,7 +146,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowDeletedRemoved() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(
Flags.Flag.DELETED), new Flags());
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -151,7 +161,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowDraftAdded() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(),
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(),
new Flags(Flags.Flag.DRAFT));
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -166,7 +176,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowDraftRemoved() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(
Flags.Flag.DRAFT), new Flags());
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -181,7 +191,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowFlaggedAdded() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(),
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(),
new Flags(Flags.Flag.FLAGGED));
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -196,7 +206,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowFlaggedRemoved() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(
Flags.Flag.FLAGGED), new Flags());
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -211,7 +221,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowRecentAdded() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(),
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(),
new Flags(Flags.Flag.RECENT));
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -226,7 +236,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowRecentRemoved() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(
Flags.Flag.RECENT), new Flags());
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -241,7 +251,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowSeenAdded() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(),
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(),
new Flags(Flags.Flag.SEEN));
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -256,7 +266,7 @@ public class MailboxEventDispatcherFlags
@Test
public void testShouldShowSeenRemoved() {
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, new Flags(
+ dispatcher.flagsUpdated(session, result.getUid(), path, new Flags(
Flags.Flag.SEEN), new Flags());
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
@@ -279,7 +289,7 @@ public class MailboxEventDispatcherFlags
updated.add(Flags.Flag.DRAFT);
updated.add(Flags.Flag.SEEN);
- dispatcher.flagsUpdated(result.getUid(), sessionId, path, originals,
updated);
+ dispatcher.flagsUpdated(session, result.getUid(), path, originals,
updated);
assertEquals(1, collector.events.size());
assertTrue(collector.events.get(0) instanceof
MailboxListener.FlagsUpdated);
MailboxListener.FlagsUpdated event = (MailboxListener.FlagsUpdated)
collector.events
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=1068836&r1=1068835&r2=1068836&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
Wed Feb 9 10:52:19 2011
@@ -21,7 +21,6 @@ package org.apache.james.mailbox.store;
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
import java.util.Locale;
import java.util.Random;
@@ -300,7 +299,7 @@ public abstract class StoreMailboxManage
});
- dispatcher.mailboxDeleted(session.getSessionId(), mailboxPath);
+ dispatcher.mailboxDeleted(session, mailboxPath);
}
@@ -330,7 +329,7 @@ public abstract class StoreMailboxManage
mailbox.setName(to.getName());
mapper.save(mailbox);
- dispatcher.mailboxRenamed(from, to, session.getSessionId());
+ dispatcher.mailboxRenamed(session, from, to);
// rename submailboxes
final MailboxPath children = new
MailboxPath(MailboxConstants.USER_NAMESPACE, from.getUser(), from.getName() +
getDelimiter() + "%");
@@ -346,7 +345,7 @@ public abstract class StoreMailboxManage
sub.setName(subNewName);
mapper.save(sub);
- dispatcher.mailboxRenamed(fromPath, toPath,
session.getSessionId());
+ dispatcher.mailboxRenamed(session, fromPath,
toPath);
if (log.isDebugEnabled())
log.debug("Rename mailbox sub-mailbox " +
subOriginalName + " to " + subNewName);
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=1068836&r1=1068835&r2=1068836&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
Wed Feb 9 10:52:19 2011
@@ -133,7 +133,7 @@ public abstract class StoreMessageManage
Iterator<Long> uidIt = deleteMarkedInMailbox(set, mailboxSession);
while(uidIt.hasNext()) {
long uid = uidIt.next();
- dispatcher.expunged(uid, mailboxSession.getSessionId(), new
StoreMailboxPath<Id>(getMailboxEntity()));
+ dispatcher.expunged(mailboxSession, uid, new
StoreMailboxPath<Id>(getMailboxEntity()));
uids.add(uid);
}
return uids.iterator();
@@ -262,7 +262,7 @@ public abstract class StoreMessageManage
final MailboxMembership<Id> message = createMessage(nextUid,
internalDate, size, bodyStartOctet, tmpMsgIn.newStream(0, -1), flags, headers,
propertyBuilder);
long uid = appendMessageToStore(message, mailboxSession);
- dispatcher.added(uid, mailboxSession.getSessionId(), new
StoreMailboxPath<Id>(getMailboxEntity()));
+ dispatcher.added(mailboxSession, uid, new
StoreMailboxPath<Id>(getMailboxEntity()));
return uid;
} catch (IOException e) {
throw new MailboxException("Unable to parse message", e);
@@ -417,7 +417,7 @@ public abstract class StoreMessageManage
while (it.hasNext()) {
UpdatedFlags flag = it.next();
- dispatcher.flagsUpdated(flag.getUid(),
mailboxSession.getSessionId(), new StoreMailboxPath<Id>(getMailboxEntity()),
flag.getOldFlags(), flag.getNewFlags());
+ dispatcher.flagsUpdated(mailboxSession, flag.getUid(), new
StoreMailboxPath<Id>(getMailboxEntity()), flag.getOldFlags(),
flag.getNewFlags());
newFlagsByUid.put(flag.getUid(), flag.getNewFlags());
}
return newFlagsByUid;
@@ -440,7 +440,7 @@ public abstract class StoreMessageManage
while(copiedUids.hasNext()) {
long uid = copiedUids.next();
result.add(MessageRange.one(uid));
- dispatcher.added(uid, session.getSessionId(), new
StoreMailboxPath<Id>(toMailbox.getMailboxEntity()));
+ dispatcher.added(session, uid, new
StoreMailboxPath<Id>(toMailbox.getMailboxEntity()));
}
return result;
} catch (MailboxException e) {
Modified:
james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/TorqueMailbox.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/TorqueMailbox.java?rev=1068836&r1=1068835&r2=1068836&view=diff
==============================================================================
---
james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/TorqueMailbox.java
(original)
+++
james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/TorqueMailbox.java
Wed Feb 9 10:52:19 2011
@@ -45,7 +45,6 @@ import javax.mail.Flags;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
-import org.apache.james.mailbox.MailboxConstants;
import org.apache.james.mailbox.MailboxException;
import org.apache.james.mailbox.MailboxListener;
import org.apache.james.mailbox.MailboxNotFoundException;
@@ -198,7 +197,7 @@ public class TorqueMailbox implements Me
save(messageRow);
MessageResult messageResult = fillMessageResult(messageRow,
FetchGroupImpl.MINIMAL);
- getUidChangeTracker().found(messageResult.getUid(),
messageResult.getFlags(), mailboxSession.getSessionId());
+ getUidChangeTracker().found(messageResult.getUid(),
messageResult.getFlags(), mailboxSession);
return messageResult.getUid();
} catch (Exception e) {
e.printStackTrace();
@@ -359,7 +358,7 @@ public class TorqueMailbox implements Me
flagsByIndex.put(row.getUid(),
row.getMessageFlags().createFlags());
}
final TorqueResultIterator results = getResults(result, rows);
- getUidChangeTracker().found(range, flagsByIndex,
session.getSessionId());
+ getUidChangeTracker().found(range, flagsByIndex, session);
return results;
}
@@ -445,7 +444,7 @@ public class TorqueMailbox implements Me
MessageResult messageResult = fillMessageResult(
(MessageRow) messageRows.get(0),
FetchGroupImpl.MINIMAL);
if (messageResult != null) {
- getUidChangeTracker().found(messageResult.getUid(),
messageResult.getFlags(), mailboxSession.getSessionId());
+ getUidChangeTracker().found(messageResult.getUid(),
messageResult.getFlags(), mailboxSession);
}
return messageResult.getUid();
@@ -516,7 +515,7 @@ public class TorqueMailbox implements Me
todelc.add(MessageRowPeer.UID, messageRow.getUid());
MessageRowPeer.doDelete(todelc);
}
- getUidChangeTracker().expunged(uids);
+ getUidChangeTracker().expunged(session, uids);
return uids.iterator();
} catch (TorqueException e) {
throw new MailboxException("delete failed", e);
@@ -561,7 +560,7 @@ public class TorqueMailbox implements Me
messageFlags.save();
}
}
- tracker.flagsUpdated(newFlagsByUid, originalFlagsByUid,
mailboxSession.getSessionId());
+ tracker.flagsUpdated(newFlagsByUid, originalFlagsByUid,
mailboxSession);
return newFlagsByUid;
} catch (TorqueException e) {
throw new MailboxException("save failed", e);
@@ -797,7 +796,7 @@ public class TorqueMailbox implements Me
save(newRow);
MessageResult messageResult = fillMessageResult(newRow,
FetchGroupImpl.MINIMAL);
- getUidChangeTracker().found(messageResult.getUid(),
messageResult.getFlags(), session.getSessionId());
+ getUidChangeTracker().found(messageResult.getUid(),
messageResult.getFlags(), session);
}
}
return copiedEmailsUids.iterator();
@@ -814,11 +813,11 @@ public class TorqueMailbox implements Me
}
public void deleted(MailboxSession session) {
- tracker.mailboxDeleted(session.getSessionId());
+ tracker.mailboxDeleted(session);
}
public void reportRenamed(String from, MailboxRow mailboxRow,
MailboxSession session) {
- tracker.reportRenamed(getMailboxPath(mailboxRow.getName(),
session.getPathDelimiter()), session.getSessionId());
+ tracker.reportRenamed(getMailboxPath(mailboxRow.getName(),
session.getPathDelimiter()), session);
this.mailboxRow = mailboxRow;
}
Modified:
james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/UidChangeTracker.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/UidChangeTracker.java?rev=1068836&r1=1068835&r2=1068836&view=diff
==============================================================================
---
james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/UidChangeTracker.java
(original)
+++
james/mailbox/trunk/torque/src/main/java/org/apache/james/mailbox/torque/UidChangeTracker.java
Wed Feb 9 10:52:19 2011
@@ -33,6 +33,7 @@ import javax.mail.Flags;
import org.apache.james.mailbox.MailboxConstants;
import org.apache.james.mailbox.MailboxListener;
import org.apache.james.mailbox.MailboxPath;
+import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.MessageRange;
import org.apache.james.mailbox.util.MailboxEventDispatcher;
@@ -58,10 +59,10 @@ public class UidChangeTracker implements
this.path = path;
}
- public synchronized void expunged(final Collection<Long> uidsExpunged) {
+ public synchronized void expunged(MailboxSession session, final
Collection<Long> uidsExpunged) {
for (Long uid:uidsExpunged) {
cache.remove(uid);
- eventDispatcher.expunged(uid, 0, path);
+ eventDispatcher.expunged(session, uid, path);
}
}
@@ -73,7 +74,7 @@ public class UidChangeTracker implements
* @param sessionId
* id of the session upating the flags
*/
- public synchronized void flagsUpdated(SortedMap<Long,Flags> newFlagsByUid,
Map<Long,Flags> originalFlagsByUid, long sessionId) {
+ public synchronized void flagsUpdated(SortedMap<Long,Flags> newFlagsByUid,
Map<Long,Flags> originalFlagsByUid, MailboxSession session) {
if (newFlagsByUid != null) {
for(Map.Entry<Long, Flags> entry:newFlagsByUid.entrySet()) {
final Long uid = entry.getKey();
@@ -86,14 +87,14 @@ public class UidChangeTracker implements
lastFlags = cachedFlags;
}
if (!newFlags.equals(lastFlags)) {
- eventDispatcher.flagsUpdated(uid, sessionId, path,
lastFlags, newFlags);
+ eventDispatcher.flagsUpdated(session, uid, path,
lastFlags, newFlags);
}
cache.put(uid, newFlags);
}
}
}
- public synchronized void found(MessageRange range, final Map<Long, Flags>
flagsByIndex, long sessionId) {
+ public synchronized void found(MessageRange range, final Map<Long, Flags>
flagsByIndex, MailboxSession session) {
final Set<Long> expectedSet = getSubSet(range);
for (Map.Entry<Long, Flags> entry:flagsByIndex.entrySet()) {
final Long uid = entry.getKey();
@@ -101,24 +102,24 @@ public class UidChangeTracker implements
expectedSet.remove(uid);
}
final Flags flags = entry.getValue();
- found(uid, flags, sessionId);
+ found(uid, flags, session);
}
for (Iterator<Long> iter = expectedSet.iterator(); iter.hasNext();) {
long uid = ((Long) iter.next()).longValue();
- eventDispatcher.expunged(uid, sessionId, path);
+ eventDispatcher.expunged(session, uid, path);
}
}
- public synchronized void found(final Long uid, final Flags flags, long
sessionId) {
+ public synchronized void found(final Long uid, final Flags flags,
MailboxSession session) {
if (flags != null) {
final Flags cachedFlags = cache.get(uid);
if (cachedFlags == null || !flags.equals(cachedFlags)) {
- eventDispatcher.flagsUpdated(uid, sessionId, path,
cachedFlags, flags);
+ eventDispatcher.flagsUpdated(session, uid, path, cachedFlags,
flags);
}
}
if (uid > lastUid) {
- eventDispatcher.added(uid, sessionId, path);
+ eventDispatcher.added(session, uid, path);
lastUid = uid;
}
cache.put(uid, flags);
@@ -142,12 +143,12 @@ public class UidChangeTracker implements
eventDispatcher.addMailboxListener(listener);
}
- public void mailboxDeleted(long sessionId) {
- eventDispatcher.mailboxDeleted(sessionId, path);
+ public void mailboxDeleted(MailboxSession session) {
+ eventDispatcher.mailboxDeleted(session, path);
}
- public void reportRenamed(MailboxPath to, long sessionId) {
- eventDispatcher.mailboxRenamed(path, to, sessionId);
+ public void reportRenamed(MailboxPath to, MailboxSession session) {
+ eventDispatcher.mailboxRenamed(session, path, to);
path = to;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]