Author: norman Date: Fri Apr 23 17:41:42 2010 New Revision: 937447 URL: http://svn.apache.org/viewvc?rev=937447&view=rev Log: Change interfaces to abstract classes to share some code
Modified: james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MailboxListener.java james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MailboxEventDispatcher.java james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/FakeMailboxListenerAdded.java james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/FakeMailboxListenerFlagsUpdate.java james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java Modified: james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MailboxListener.java URL: http://svn.apache.org/viewvc/james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MailboxListener.java?rev=937447&r1=937446&r2=937447&view=diff ============================================================================== --- james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MailboxListener.java (original) +++ james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MailboxListener.java Fri Apr 23 17:41:42 2010 @@ -45,54 +45,82 @@ public interface MailboxListener { * false when open */ boolean isClosed(); - + /** * A mailbox event. */ - public interface Event { + public abstract class Event { + private final long sessionId; + + public Event(final long sessionId) { + this.sessionId = sessionId; + } + /** * Gets the id of the session which the event. * * @return session id */ - public long getSessionId(); + public long getSessionId() { + return sessionId; + } } /** * Indicates that mailbox has been deleted. */ - public interface MailboxDeletionEvent extends Event { + public abstract class MailboxDeletionEvent extends Event { + + public MailboxDeletionEvent(long sessionId) { + super(sessionId); + } } /** * Indicates that a mailbox has been renamed. */ - public interface MailboxRenamed extends Event { + public abstract class MailboxRenamed extends Event { + public MailboxRenamed(long sessionId) { + super(sessionId); + } + /** * Gets the new name for this mailbox. * @return name, not null */ - public String getNewName(); + public abstract String getNewName(); } /** * A mailbox event related to a message. */ - public interface MessageEvent extends Event { + public abstract class MessageEvent extends Event { + + public MessageEvent(long sessionId) { + super(sessionId); + } /** * Gets the message UID for the subject of this event. * * @return message uid */ - public long getSubjectUid(); + public abstract long getSubjectUid(); } - public abstract class Expunged implements MessageEvent { + public abstract class Expunged extends MessageEvent { + + public Expunged(long sessionId) { + super(sessionId); + } } - public abstract class FlagsUpdated implements MessageEvent { + public abstract class FlagsUpdated extends MessageEvent { + + public FlagsUpdated(long sessionId) { + super(sessionId); + } /** * Gets new flags for this message. @@ -107,7 +135,11 @@ public interface MailboxListener { public abstract Iterator<Flags.Flag> flagsIterator(); } - public abstract class Added implements MessageEvent { + public abstract class Added extends MessageEvent { + + public Added(long sessionId) { + super(sessionId); + } } } Modified: james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MailboxEventDispatcher.java URL: http://svn.apache.org/viewvc/james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MailboxEventDispatcher.java?rev=937447&r1=937446&r2=937447&view=diff ============================================================================== --- james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MailboxEventDispatcher.java (original) +++ james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/util/MailboxEventDispatcher.java Fri Apr 23 17:41:42 2010 @@ -91,44 +91,30 @@ public class MailboxEventDispatcher impl private final static class AddedImpl extends MailboxListener.Added { - private final long sessionId; - private final long subjectUid; public AddedImpl(final long sessionId, final long subjectUid) { - super(); - this.sessionId = sessionId; + super(sessionId); this.subjectUid = subjectUid; } public long getSubjectUid() { return subjectUid; } - - public long getSessionId() { - return sessionId; - } } private final static class ExpungedImpl extends MailboxListener.Expunged { - private final long sessionId; - private final long subjectUid; public ExpungedImpl(final long sessionId, final long subjectUid) { - super(); - this.sessionId = sessionId; + super(sessionId); this.subjectUid = subjectUid; } public long getSubjectUid() { return subjectUid; } - - public long getSessionId() { - return sessionId; - } } private final static class FlagsUpdatedImpl extends @@ -146,8 +132,6 @@ public class MailboxEventDispatcher impl private static final int NUMBER_OF_SYSTEM_FLAGS = 6; - private final long sessionId; - private final long subjectUid; private final boolean[] modifiedFlags; @@ -170,8 +154,7 @@ public class MailboxEventDispatcher impl boolean deletedUpdated, boolean draftUpdated, boolean flaggedUpdated, boolean recentUpdated, boolean seenUpdated) { - super(); - this.sessionId = sessionId; + super(sessionId); this.subjectUid = subjectUid; this.modifiedFlags = new boolean[NUMBER_OF_SYSTEM_FLAGS]; this.modifiedFlags[0] = answeredUpdated; @@ -193,14 +176,6 @@ public class MailboxEventDispatcher impl /* * (non-Javadoc) - * @see org.apache.james.imap.mailbox.MailboxListener.Event#getSessionId() - */ - public long getSessionId() { - return sessionId; - } - - /* - * (non-Javadoc) * @see org.apache.james.imap.mailbox.MailboxListener.FlagsUpdated#flagsIterator() */ public Iterator<Flag> flagsIterator() { @@ -269,32 +244,19 @@ public class MailboxEventDispatcher impl event(event); } - private static final class MailboxDeletionEventImpl implements + private static final class MailboxDeletionEventImpl extends MailboxListener.MailboxDeletionEvent { - private final long sessionId; - public MailboxDeletionEventImpl(final long sessionId) { - super(); - this.sessionId = sessionId; - } - - /* - * (non-Javadoc) - * @see org.apache.james.imap.mailbox.MailboxListener.Event#getSessionId() - */ - public long getSessionId() { - return sessionId; + super(sessionId); } } - private static final class MailboxRenamedEventImpl implements MailboxListener.MailboxRenamed { + private static final class MailboxRenamedEventImpl extends MailboxListener.MailboxRenamed { private final String newName; - private final long sessionId; public MailboxRenamedEventImpl(final String newName, final long sessionId) { - super(); + super(sessionId); this.newName = newName; - this.sessionId = sessionId; } /* @@ -304,14 +266,6 @@ public class MailboxEventDispatcher impl public String getNewName() { return newName; } - - /* - * (non-Javadoc) - * @see org.apache.james.imap.mailbox.MailboxListener.Event#getSessionId() - */ - public long getSessionId() { - return sessionId; - } } /* Modified: james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/FakeMailboxListenerAdded.java URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/FakeMailboxListenerAdded.java?rev=937447&r1=937446&r2=937447&view=diff ============================================================================== --- james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/FakeMailboxListenerAdded.java (original) +++ james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/FakeMailboxListenerAdded.java Fri Apr 23 17:41:42 2010 @@ -28,17 +28,13 @@ public class FakeMailboxListenerAdded ex public long sessionId; public FakeMailboxListenerAdded(long subjectUid, long sessionId) { - super(); + super(sessionId); this.subjectUid = subjectUid; - this.sessionId = sessionId; } public long getSubjectUid() { return subjectUid; } - public long getSessionId() { - return sessionId; - } } Modified: james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/FakeMailboxListenerFlagsUpdate.java URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/FakeMailboxListenerFlagsUpdate.java?rev=937447&r1=937446&r2=937447&view=diff ============================================================================== --- james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/FakeMailboxListenerFlagsUpdate.java (original) +++ james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/FakeMailboxListenerFlagsUpdate.java Fri Apr 23 17:41:42 2010 @@ -34,15 +34,12 @@ public class FakeMailboxListenerFlagsUpd public long subjectUid; - public long sessionId; - public Flags newFlags; public FakeMailboxListenerFlagsUpdate(long subjectUid, Flags newFlags, long sessionId) { - super(); + super(sessionId); this.subjectUid = subjectUid; - this.sessionId = sessionId; this.newFlags = newFlags; } @@ -50,10 +47,6 @@ public class FakeMailboxListenerFlagsUpd return subjectUid; } - public long getSessionId() { - return sessionId; - } - public Iterator<Flag> flagsIterator() { return flags.iterator(); } Modified: james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java URL: http://svn.apache.org/viewvc/james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java?rev=937447&r1=937446&r2=937447&view=diff ============================================================================== --- james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java (original) +++ james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/base/MailboxEventAnalyserTest.java Fri Apr 23 17:41:42 2010 @@ -19,29 +19,24 @@ package org.apache.james.imap.processor.base; -import static org.junit.Assert.*; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertFalse; +import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertTrue; import java.util.Iterator; import javax.mail.Flags; import org.apache.james.imap.mailbox.MailboxListener; -import org.jmock.Expectations; -import org.jmock.Mockery; -import org.jmock.integration.junit4.JMock; -import org.jmock.integration.junit4.JUnit4Mockery; import org.junit.Before; import org.junit.Test; -import org.junit.runner.RunWith; -...@runwith(JMock.class) public class MailboxEventAnalyserTest { private static final long BASE_SESSION_ID = 99; - MailboxEventAnalyser analyser; - - private Mockery mockery = new JUnit4Mockery(); + private MailboxEventAnalyser analyser; @Before public void setUp() throws Exception { @@ -50,10 +45,8 @@ public class MailboxEventAnalyserTest { @Test public void testShouldBeNoSizeChangeOnOtherEvent() throws Exception { - final MailboxListener.Event event = mockery.mock(MailboxListener.Event.class); - mockery.checking(new Expectations() {{ - oneOf(event).getSessionId();will(returnValue(11L)); - }}); + final MailboxListener.Event event = new MailboxListener.Event(0) {}; + analyser.event(event); assertFalse(analyser.isSizeChanged()); } --------------------------------------------------------------------- To unsubscribe, e-mail: server-dev-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org