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/03/22 18:52:56 UTC
svn commit: r926222 [2/2] - in /james/imap/trunk:
jcr/src/main/java/org/apache/james/imap/jcr/
jcr/src/main/java/org/apache/james/imap/jcr/mail/
jcr/src/main/java/org/apache/james/imap/jcr/mail/model/
jpa/src/main/java/org/apache/james/imap/jpa/ jpa/sr...
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MessageSearches.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MessageSearches.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MessageSearches.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MessageSearches.java Mon Mar 22 17:52:55 2010
@@ -77,15 +77,14 @@ public class MessageSearches {
* @return true if the row matches the given criteria, false otherwise
* @throws MailboxException
*/
- public boolean isMatch(final SearchQuery query, final MailboxMembership message)
+ public boolean isMatch(final SearchQuery query, final MailboxMembership<?> message)
throws MailboxException {
- final List criteria = query.getCriterias();
- final Collection recentMessageUids = query.getRecentMessageUids();
+ final List<SearchQuery.Criterion> criteria = query.getCriterias();
+ final Collection<Long> recentMessageUids = query.getRecentMessageUids();
boolean result = true;
if (criteria != null) {
- for (Iterator it = criteria.iterator(); it.hasNext();) {
- final SearchQuery.Criterion criterion = (SearchQuery.Criterion) it
- .next();
+ for (Iterator<SearchQuery.Criterion> it = criteria.iterator(); it.hasNext();) {
+ final SearchQuery.Criterion criterion = it.next();
if (!isMatch(criterion, message, recentMessageUids)) {
result = false;
break;
@@ -105,8 +104,8 @@ public class MessageSearches {
* @return true if the row matches the given criterion, false otherwise
* @throws MailboxException
*/
- public boolean isMatch(SearchQuery.Criterion criterion, MailboxMembership message,
- final Collection recentMessageUids) throws MailboxException {
+ public boolean isMatch(SearchQuery.Criterion criterion, MailboxMembership<?> message,
+ final Collection<Long> recentMessageUids) throws MailboxException {
final boolean result;
if (criterion instanceof SearchQuery.InternalDateCriterion) {
result = matches((SearchQuery.InternalDateCriterion) criterion, message);
@@ -132,7 +131,7 @@ public class MessageSearches {
return result;
}
- private boolean matches(SearchQuery.TextCriterion criterion, MailboxMembership message) throws MailboxException {
+ private boolean matches(SearchQuery.TextCriterion criterion, MailboxMembership<?> message) throws MailboxException {
try {
final SearchQuery.ContainsOperator operator = criterion
.getOperator();
@@ -152,7 +151,7 @@ public class MessageSearches {
}
}
- private boolean bodyContains(String value, MailboxMembership message)
+ private boolean bodyContains(String value, MailboxMembership<?> message)
throws IOException, MimeException {
final InputStream input = ResultUtils.toInput(message);
final boolean result = isInMessage(value, input, false);
@@ -170,7 +169,7 @@ public class MessageSearches {
return result;
}
- private boolean messageContains(String value, MailboxMembership message)
+ private boolean messageContains(String value, MailboxMembership<?> message)
throws IOException, MimeException {
final InputStream input = ResultUtils.toInput(message);
final boolean result = isInMessage(value, input, true);
@@ -178,8 +177,8 @@ public class MessageSearches {
}
private boolean matches(SearchQuery.ConjunctionCriterion criterion,
- MailboxMembership message, final Collection recentMessageUids) throws MailboxException {
- final List criteria = criterion.getCriteria();
+ MailboxMembership<?> message, final Collection<Long> recentMessageUids) throws MailboxException {
+ final List<SearchQuery.Criterion> criteria = criterion.getCriteria();
switch (criterion.getType()) {
case NOR:
return nor(criteria, message, recentMessageUids);
@@ -192,12 +191,11 @@ public class MessageSearches {
}
}
- private boolean and(final List criteria, final MailboxMembership message,
- final Collection recentMessageUids) throws MailboxException {
+ private boolean and(final List<SearchQuery.Criterion> criteria, final MailboxMembership<?> message,
+ final Collection<Long> recentMessageUids) throws MailboxException {
boolean result = true;
- for (Iterator it = criteria.iterator(); it.hasNext();) {
- final SearchQuery.Criterion criterion = (SearchQuery.Criterion) it
- .next();
+ for (Iterator<SearchQuery.Criterion> it = criteria.iterator(); it.hasNext();) {
+ final SearchQuery.Criterion criterion = it.next();
final boolean matches = isMatch(criterion, message, recentMessageUids);
if (!matches) {
result = false;
@@ -207,12 +205,11 @@ public class MessageSearches {
return result;
}
- private boolean or(final List criteria, final MailboxMembership message,
- final Collection recentMessageUids) throws MailboxException {
+ private boolean or(final List<SearchQuery.Criterion> criteria, final MailboxMembership<?> message,
+ final Collection<Long> recentMessageUids) throws MailboxException {
boolean result = false;
- for (Iterator it = criteria.iterator(); it.hasNext();) {
- final SearchQuery.Criterion criterion = (SearchQuery.Criterion) it
- .next();
+ for (Iterator<SearchQuery.Criterion> it = criteria.iterator(); it.hasNext();) {
+ final SearchQuery.Criterion criterion = it.next();
final boolean matches = isMatch(criterion, message, recentMessageUids);
if (matches) {
result = true;
@@ -222,12 +219,11 @@ public class MessageSearches {
return result;
}
- private boolean nor(final List criteria, final MailboxMembership message,
- final Collection recentMessageUids) throws MailboxException {
+ private boolean nor(final List<SearchQuery.Criterion> criteria, final MailboxMembership<?> message,
+ final Collection<Long> recentMessageUids) throws MailboxException {
boolean result = true;
- for (Iterator it = criteria.iterator(); it.hasNext();) {
- final SearchQuery.Criterion criterion = (SearchQuery.Criterion) it
- .next();
+ for (Iterator<SearchQuery.Criterion> it = criteria.iterator(); it.hasNext();) {
+ final SearchQuery.Criterion criterion = it.next();
final boolean matches = isMatch(criterion, message, recentMessageUids);
if (matches) {
result = false;
@@ -238,7 +234,7 @@ public class MessageSearches {
}
private boolean matches(SearchQuery.FlagCriterion criterion,
- MailboxMembership message, final Collection recentMessageUids) {
+ MailboxMembership<?> message, final Collection<Long> recentMessageUids) {
final SearchQuery.BooleanOperator operator = criterion.getOperator();
final boolean isSet = operator.isSet();
final Flags.Flag flag = criterion.getFlag();
@@ -262,7 +258,7 @@ public class MessageSearches {
return result;
}
- private boolean matches(SearchQuery.UidCriterion criterion, MailboxMembership message) {
+ private boolean matches(SearchQuery.UidCriterion criterion, MailboxMembership<?> message) {
final SearchQuery.InOperator operator = criterion.getOperator();
final NumericRange[] ranges = operator.getRange();
final long uid = message.getUid();
@@ -278,7 +274,7 @@ public class MessageSearches {
return result;
}
- private boolean matches(SearchQuery.HeaderCriterion criterion, MailboxMembership message) throws UnsupportedSearchException {
+ private boolean matches(SearchQuery.HeaderCriterion criterion, MailboxMembership<?> message) throws UnsupportedSearchException {
final SearchQuery.HeaderOperator operator = criterion.getOperator();
final String headerName = criterion.getHeaderName();
final boolean result;
@@ -294,7 +290,7 @@ public class MessageSearches {
return result;
}
- private boolean exists(String headerName, MailboxMembership message) {
+ private boolean exists(String headerName, MailboxMembership<?> message) {
boolean result = false;
final List<Header> headers = message.getDocument().getHeaders();
for (Header header:headers) {
@@ -308,7 +304,7 @@ public class MessageSearches {
}
private boolean matches(final SearchQuery.ContainsOperator operator,
- final String headerName, final MailboxMembership message) {
+ final String headerName, final MailboxMembership<?> message) {
final String text = operator.getValue().toUpperCase();
boolean result = false;
final List<Header> headers = message.getDocument().getHeaders();
@@ -328,7 +324,7 @@ public class MessageSearches {
}
private boolean matches(final SearchQuery.DateOperator operator,
- final String headerName, final MailboxMembership message) throws UnsupportedSearchException {
+ final String headerName, final MailboxMembership<?> message) throws UnsupportedSearchException {
final int day = operator.getDay();
final int month = operator.getMonth();
final int year = operator.getYear();
@@ -356,7 +352,7 @@ public class MessageSearches {
}
}
- private String headerValue(final String headerName, final MailboxMembership message) {
+ private String headerValue(final String headerName, final MailboxMembership<?> message) {
final List<Header> headers = message.getDocument().getHeaders();
String value = null;
for (Header header:headers) {
@@ -377,7 +373,7 @@ public class MessageSearches {
return isoFieldValue;
}
- private boolean matches(SearchQuery.SizeCriterion criterion, MailboxMembership message)
+ private boolean matches(SearchQuery.SizeCriterion criterion, MailboxMembership<?> message)
throws UnsupportedSearchException {
final SearchQuery.NumericOperator operator = criterion.getOperator();
final int size = message.getSize();
@@ -395,14 +391,14 @@ public class MessageSearches {
}
private boolean matches(SearchQuery.InternalDateCriterion criterion,
- MailboxMembership message) throws UnsupportedSearchException {
+ MailboxMembership<?> message) throws UnsupportedSearchException {
final SearchQuery.DateOperator operator = criterion.getOperator();
final boolean result = matchesInternalDate(operator, message);
return result;
}
private boolean matchesInternalDate(
- final SearchQuery.DateOperator operator, final MailboxMembership message)
+ final SearchQuery.DateOperator operator, final MailboxMembership<?> message)
throws UnsupportedSearchException {
final int day = operator.getDay();
final int month = operator.getMonth();
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultIterator.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultIterator.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultIterator.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultIterator.java Mon Mar 22 17:52:55 2010
@@ -20,7 +20,6 @@
package org.apache.james.imap.store;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
@@ -36,19 +35,18 @@ import org.apache.james.imap.mailbox.Mes
import org.apache.james.imap.mailbox.util.FetchGroupImpl;
import org.apache.james.imap.store.mail.model.MailboxMembership;
-public class ResultIterator implements Iterator<MessageResult> {
+public class ResultIterator<Id> implements Iterator<MessageResult> {
- private final List<MailboxMembership> messages;
+ private final List<MailboxMembership<Id>> messages;
private final FetchGroup fetchGroup;
- @SuppressWarnings("unchecked")
- public ResultIterator(final List<MailboxMembership> messages, final FetchGroup fetchGroup) {
+ public ResultIterator(final List<MailboxMembership<Id>> messages, final FetchGroup fetchGroup) {
super();
if (messages == null) {
- this.messages = Collections.EMPTY_LIST;
+ this.messages = new ArrayList<MailboxMembership<Id>>();
} else {
- this.messages = new ArrayList<MailboxMembership>(messages);
+ this.messages = new ArrayList<MailboxMembership<Id>>(messages);
}
this.fetchGroup = fetchGroup;
}
@@ -58,7 +56,7 @@ public class ResultIterator implements I
*
* @return <code>Iterator</code> for message rows
*/
- public final Iterator<MailboxMembership> iterateRows() {
+ public final Iterator<MailboxMembership<Id>> iterateRows() {
return messages.iterator();
}
@@ -70,14 +68,14 @@ public class ResultIterator implements I
if (messages.isEmpty()) {
throw new NoSuchElementException("No such element.");
}
- final MailboxMembership message = messages.get(0);
+ final MailboxMembership<Id> message = messages.get(0);
messages.remove(message);
MessageResult result;
try {
result = ResultUtils.loadMessageResult(message, this.fetchGroup);
} catch (MailboxException e) {
- result = new UnloadedMessageResult(message, e);
+ result = new UnloadedMessageResult<Id>(message, e);
}
return result;
}
@@ -94,7 +92,7 @@ public class ResultIterator implements I
return results;
}
- private static final class UnloadedMessageResult implements MessageResult {
+ private static final class UnloadedMessageResult<Id> implements MessageResult {
private static final FetchGroup FETCH_GROUP = FetchGroupImpl.MINIMAL;
private final MailboxException exception;
@@ -105,7 +103,7 @@ public class ResultIterator implements I
private final long uid;
- public UnloadedMessageResult(final MailboxMembership message,
+ public UnloadedMessageResult(final MailboxMembership<Id> message,
final MailboxException exception) {
super();
internalDate = message.getInternalDate();
@@ -122,7 +120,6 @@ public class ResultIterator implements I
throw exception;
}
- @SuppressWarnings("unused")
public FetchGroup getIncludedResults() {
return FETCH_GROUP;
}
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultUtils.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultUtils.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultUtils.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultUtils.java Mon Mar 22 17:52:55 2010
@@ -54,7 +54,7 @@ public class ResultUtils {
static final Charset US_ASCII = Charset.forName("US-ASCII");
- public static List<MessageResult.Header> createHeaders(MailboxMembership message) {
+ public static List<MessageResult.Header> createHeaders(MailboxMembership<?> message) {
final org.apache.james.imap.store.mail.model.Document document = message.getDocument();
return createHeaders(document);
}
@@ -82,7 +82,7 @@ public class ResultUtils {
* @param membership
* @return bodyContent
*/
- public static Content createBodyContent(MailboxMembership membership) {
+ public static Content createBodyContent(MailboxMembership<?> membership) {
final ByteBuffer bytes = membership.getDocument().getBodyContent();
final ByteContent result = new ByteContent(bytes);
return result;
@@ -94,7 +94,7 @@ public class ResultUtils {
* @param membership
* @return content
*/
- public static Content createFullContent(final MailboxMembership membership) {
+ public static Content createFullContent(final MailboxMembership<?> membership) {
final ByteBuffer bytes = membership.getDocument().getFullContent();
final ByteContent results = new ByteContent(bytes);
return results;
@@ -108,7 +108,7 @@ public class ResultUtils {
* @return result
* @throws MailboxException
*/
- public static MessageResult loadMessageResult(final MailboxMembership message, final FetchGroup fetchGroup)
+ public static MessageResult loadMessageResult(final MailboxMembership<?> message, final FetchGroup fetchGroup)
throws MailboxException {
MessageResultImpl messageResult = new MessageResultImpl();
@@ -150,31 +150,31 @@ public class ResultUtils {
return messageResult;
}
- private static void addMimeDescriptor(MailboxMembership message, MessageResultImpl messageResult) throws IOException, MimeException {
+ private static void addMimeDescriptor(MailboxMembership<?> message, MessageResultImpl messageResult) throws IOException, MimeException {
MimeDescriptor descriptor = MimeDescriptorImpl.build(message.getDocument());
messageResult.setMimeDescriptor(descriptor);
}
- private static void addFullContent(final MailboxMembership messageRow, MessageResultImpl messageResult)
+ private static void addFullContent(final MailboxMembership<?> messageRow, MessageResultImpl messageResult)
throws MailboxException {
final Content content = createFullContent(messageRow);
messageResult.setFullContent(content);
}
- private static void addBody(final MailboxMembership message,
+ private static void addBody(final MailboxMembership<?> message,
MessageResultImpl messageResult) {
final Content content = createBodyContent(message);
messageResult.setBody(content);
}
- private static void addHeaders(final MailboxMembership message,
+ private static void addHeaders(final MailboxMembership<?> message,
MessageResultImpl messageResult) {
final List<MessageResult.Header> headers = createHeaders(message);
messageResult.setHeaders(headers);
}
private static void addPartContent(final FetchGroup fetchGroup,
- MailboxMembership message, MessageResultImpl messageResult)
+ MailboxMembership<?> message, MessageResultImpl messageResult)
throws MailboxException, IOException,
MimeException {
Collection<FetchGroup.PartContentDescriptor> partContent = fetchGroup.getPartContentDescriptors();
@@ -186,7 +186,7 @@ public class ResultUtils {
}
private static void addPartContent(
- FetchGroup.PartContentDescriptor descriptor, MailboxMembership message,
+ FetchGroup.PartContentDescriptor descriptor, MailboxMembership<?> message,
MessageResultImpl messageResult) throws
MailboxException, IOException, MimeException {
final MimePath mimePath = descriptor.path();
@@ -208,7 +208,7 @@ public class ResultUtils {
}
}
- private static PartContentBuilder build(int[] path, final MailboxMembership message)
+ private static PartContentBuilder build(int[] path, final MailboxMembership<?> message)
throws IOException, MimeException {
final InputStream stream = toInput(message);
PartContentBuilder result = new PartContentBuilder();
@@ -232,7 +232,7 @@ public class ResultUtils {
* @param membership
* @return stream
*/
- public static InputStream toInput(final MailboxMembership membership) {
+ public static InputStream toInput(final MailboxMembership<?> membership) {
final org.apache.james.imap.store.mail.model.Document document = membership.getDocument();
return toInput(document);
}
@@ -297,7 +297,7 @@ public class ResultUtils {
return result;
}
- private static void addHeaders(MailboxMembership message,
+ private static void addHeaders(MailboxMembership<?> message,
MessageResultImpl messageResult, MimePath mimePath)
throws IOException, MimeException {
final int[] path = path(mimePath);
@@ -310,7 +310,7 @@ public class ResultUtils {
}
}
- private static void addMimeHeaders(MailboxMembership message,
+ private static void addMimeHeaders(MailboxMembership<?> message,
MessageResultImpl messageResult, MimePath mimePath)
throws IOException, MimeException {
final int[] path = path(mimePath);
@@ -323,7 +323,7 @@ public class ResultUtils {
}
}
- private static void addBodyContent(MailboxMembership message,
+ private static void addBodyContent(MailboxMembership<?> message,
MessageResultImpl messageResult, MimePath mimePath) throws IOException, MimeException {
final int[] path = path(mimePath);
if (path == null) {
@@ -335,7 +335,7 @@ public class ResultUtils {
}
}
- private static void addMimeBodyContent(MailboxMembership message,
+ private static void addMimeBodyContent(MailboxMembership<?> message,
MessageResultImpl messageResult, MimePath mimePath)
throws IOException, MimeException {
final int[] path = path(mimePath);
@@ -344,7 +344,7 @@ public class ResultUtils {
messageResult.setMimeBodyContent(mimePath, content);
}
- private static void addFullContent(MailboxMembership message,
+ private static void addFullContent(MailboxMembership<?> message,
MessageResultImpl messageResult, MimePath mimePath)
throws MailboxException, IOException,
MimeException {
@@ -364,14 +364,14 @@ public class ResultUtils {
*
* @return {@link Comparator}, not null
*/
- public static Comparator<MailboxMembership> getUidComparator() {
+ public static Comparator<MailboxMembership<?>> getUidComparator() {
return UidComparator.INSTANCE;
}
- private static final class UidComparator implements Comparator<MailboxMembership> {
+ private static final class UidComparator implements Comparator<MailboxMembership<?>> {
private static final UidComparator INSTANCE = new UidComparator();
- public int compare(MailboxMembership one, MailboxMembership two) {
+ public int compare(MailboxMembership<?> one, MailboxMembership<?> two) {
final int result = (int) (one.getUid() - two.getUid());
return result;
}
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java Mon Mar 22 17:52:55 2010
@@ -64,18 +64,18 @@ import org.apache.james.mime4j.parser.Mi
*
*
*/
-public abstract class StoreMailbox implements org.apache.james.imap.mailbox.Mailbox {
+public abstract class StoreMailbox<Id> implements org.apache.james.imap.mailbox.Mailbox {
private static final int INITIAL_SIZE_FLAGS = 32;
private static final int INITIAL_SIZE_HEADERS = 32;
- protected final long mailboxId;
+ protected final Id mailboxId;
private final UidChangeTracker tracker;
private final MailboxSession session;
- public StoreMailbox(final Mailbox mailbox, final MailboxSession session) {
+ public StoreMailbox(final Mailbox<Id> mailbox, final MailboxSession session) {
this.mailboxId = mailbox.getMailboxId();
this.tracker = new UidChangeTracker(mailbox.getLastUid());
this.session = session;
@@ -96,24 +96,24 @@ public abstract class StoreMailbox imple
* @param uid
* @return membershipCopy
*/
- protected abstract MailboxMembership copyMessage(MailboxMembership originalMessage, long uid);
+ protected abstract MailboxMembership<Id> copyMessage(MailboxMembership<Id> originalMessage, long uid);
/**
* Create a new {@link MessageMapper} to use
*
* @return mapper
*/
- protected abstract MessageMapper createMessageMapper(MailboxSession session) throws MailboxException;
+ protected abstract MessageMapper<Id> createMessageMapper(MailboxSession session) throws MailboxException;
- protected abstract Mailbox getMailboxRow() throws MailboxException;
+ protected abstract Mailbox<Id> getMailboxRow() throws MailboxException;
/**
* Return the Id of the wrapped {@link Mailbox}
*
* @return id
*/
- protected long getMailboxId() {
+ protected Id getMailboxId() {
return mailboxId;
}
@@ -122,7 +122,7 @@ public abstract class StoreMailbox imple
* @see org.apache.james.imap.mailbox.Mailbox#getMessageCount(org.apache.james.imap.mailbox.MailboxSession)
*/
public int getMessageCount(MailboxSession mailboxSession) throws MailboxException {
- final MessageMapper messageMapper = createMessageMapper(session);
+ final MessageMapper<Id> messageMapper = createMessageMapper(session);
return (int) messageMapper.countMessagesInMailbox();
}
@@ -133,7 +133,7 @@ public abstract class StoreMailbox imple
public long appendMessage(byte[] messageBytes, Date internalDate,
MailboxSession mailboxSession, boolean isRecent, Flags flagsToBeSet)
throws MailboxException {
- final Mailbox mailbox = reserveNextUid();
+ final Mailbox<Id> mailbox = reserveNextUid();
if (mailbox == null) {
throw new MailboxNotFoundException("Mailbox has been deleted");
} else {
@@ -153,6 +153,7 @@ public abstract class StoreMailbox imple
final int bodyStartOctet = bodyStartOctet(messageBytes);
final MimeTokenStream parser = MimeTokenStream.createMaximalDescriptorStream();
+
parser.setRecursionMode(MimeTokenStream.M_NO_RECURSE);
parser.parse(new ByteArrayInputStream(messageBytes));
final List<Header> headers = new ArrayList<Header>(INITIAL_SIZE_HEADERS);
@@ -238,8 +239,8 @@ public abstract class StoreMailbox imple
flags.add(Flags.Flag.RECENT);
}
- final MailboxMembership message = createMessage(internalDate, uid, size, bodyStartOctet, messageBytes, flags, headers, propertyBuilder);
- final MessageMapper mapper = createMessageMapper(session);
+ final MailboxMembership<Id> message = createMessage(internalDate, uid, size, bodyStartOctet, messageBytes, flags, headers, propertyBuilder);
+ final MessageMapper<Id> mapper = createMessageMapper(session);
mapper.execute(new TransactionalMapper.Transaction() {
@@ -293,7 +294,7 @@ public abstract class StoreMailbox imple
* @param propertyBuilder
* @return membership
*/
- protected abstract MailboxMembership createMessage(Date internalDate, final long uid, final int size, int bodyStartOctet,
+ protected abstract MailboxMembership<Id> createMessage(Date internalDate, final long uid, final int size, int bodyStartOctet,
final byte[] document, final Flags flags, final List<Header> headers, PropertyBuilder propertyBuilder);
/**
@@ -313,7 +314,7 @@ public abstract class StoreMailbox imple
* @return mailbox
* @throws MailboxException
*/
- protected abstract Mailbox reserveNextUid() throws MailboxException;
+ protected abstract Mailbox<Id> reserveNextUid() throws MailboxException;
/*
* (non-Javadoc)
@@ -322,24 +323,24 @@ public abstract class StoreMailbox imple
public Iterator<MessageResult> getMessages(final MessageRange set, FetchGroup fetchGroup,
MailboxSession mailboxSession) throws MailboxException {
UidRange range = uidRangeForMessageSet(set);
- final MessageMapper messageMapper = createMessageMapper(session);
- final List<MailboxMembership> rows = new ArrayList<MailboxMembership>(messageMapper.findInMailbox(set));
+ final MessageMapper<Id> messageMapper = createMessageMapper(session);
+ final List<MailboxMembership<Id>> rows = new ArrayList<MailboxMembership<Id>>(messageMapper.findInMailbox(set));
return getMessages(fetchGroup, range, rows);
}
- private ResultIterator getMessages(FetchGroup result, UidRange range, List<MailboxMembership> messages) {
+ private ResultIterator<Id> getMessages(FetchGroup result, UidRange range, List<MailboxMembership<Id>> messages) {
final Map<Long, Flags> flagsByIndex = new HashMap<Long, Flags>();
- for (MailboxMembership member:messages) {
+ for (MailboxMembership<Id> member:messages) {
flagsByIndex.put(member.getUid(), member.createFlags());
}
- final ResultIterator results = getResults(result, messages);
+ final ResultIterator<Id> results = getResults(result, messages);
tracker.found(range, flagsByIndex);
return results;
}
- private ResultIterator getResults(FetchGroup result, List<MailboxMembership> messages) {
+ private ResultIterator<Id> getResults(FetchGroup result, List<MailboxMembership<Id>> messages) {
Collections.sort(messages, ResultUtils.getUidComparator());
- final ResultIterator results = new ResultIterator(messages,result);
+ final ResultIterator<Id> results = new ResultIterator<Id>(messages,result);
return results;
}
@@ -362,15 +363,15 @@ public abstract class StoreMailbox imple
}
private long[] recent(final boolean reset, MailboxSession mailboxSession) throws MailboxException {
- final MessageMapper mapper = createMessageMapper(session);
+ final MessageMapper<Id> mapper = createMessageMapper(session);
final List<Long> results = new ArrayList<Long>();
mapper.execute(new TransactionalMapper.Transaction() {
public void run() throws MailboxException {
- final List<MailboxMembership> members = mapper.findRecentMessagesInMailbox();
+ final List<MailboxMembership<Id>> members = mapper.findRecentMessagesInMailbox();
- for (MailboxMembership member:members) {
+ for (MailboxMembership<Id> member:members) {
results.add(member.getUid());
if (reset) {
member.unsetRecent();
@@ -386,12 +387,12 @@ public abstract class StoreMailbox imple
private Long getFirstUnseen(MailboxSession mailboxSession) throws MailboxException {
try {
- final MessageMapper messageMapper = createMessageMapper(session);
- final List<MailboxMembership> members = messageMapper.findUnseenMessagesInMailbox();
- final Iterator<MailboxMembership> it = members.iterator();
+ final MessageMapper<Id> messageMapper = createMessageMapper(session);
+ final List<MailboxMembership<Id>> members = messageMapper.findUnseenMessagesInMailbox();
+ final Iterator<MailboxMembership<Id>> it = members.iterator();
final Long result;
if (it.hasNext()) {
- final MailboxMembership member = it.next();
+ final MailboxMembership<Id> member = it.next();
result = member.getUid();
tracker.found(result, member.createFlags());
} else {
@@ -404,7 +405,7 @@ public abstract class StoreMailbox imple
}
private int getUnseenCount(MailboxSession mailboxSession) throws MailboxException {
- final MessageMapper messageMapper = createMessageMapper(session);
+ final MessageMapper<Id> messageMapper = createMessageMapper(session);
final int count = (int) messageMapper.countUnseenMessagesInMailbox();
return count;
}
@@ -419,14 +420,14 @@ public abstract class StoreMailbox imple
private Iterator<Long> doExpunge(final MessageRange set)
throws MailboxException {
- final MessageMapper mapper = createMessageMapper(session);
+ final MessageMapper<Id> mapper = createMessageMapper(session);
final Collection<Long> uids = new TreeSet<Long>();
mapper.execute(new TransactionalMapper.Transaction() {
public void run() throws MailboxException {
- final List<MailboxMembership> members = mapper.findMarkedForDeletionInMailbox(set);
- for (MailboxMembership message:members) {
+ final List<MailboxMembership<Id>> members = mapper.findMarkedForDeletionInMailbox(set);
+ for (MailboxMembership<Id> message:members) {
uids.add(message.getUid());
mapper.delete(message);
}
@@ -449,14 +450,14 @@ public abstract class StoreMailbox imple
private Map<Long, Flags> doSetFlags(final Flags flags, final boolean value, final boolean replace,
final MessageRange set, final MailboxSession mailboxSession) throws MailboxException {
- final MessageMapper mapper = createMessageMapper(session);
+ final MessageMapper<Id> mapper = createMessageMapper(session);
final SortedMap<Long, Flags> newFlagsByUid = new TreeMap<Long, Flags>();
final Map<Long, Flags> originalFlagsByUid = new HashMap<Long, Flags>(INITIAL_SIZE_FLAGS);
mapper.execute(new TransactionalMapper.Transaction(){
public void run() throws MailboxException {
- final List<MailboxMembership> members = mapper.findInMailbox(set);
- for (final MailboxMembership member:members) {
+ final List<MailboxMembership<Id>> members = mapper.findInMailbox(set);
+ for (final MailboxMembership<Id> member:members) {
originalFlagsByUid.put(member.getUid(), member.createFlags());
if (replace) {
member.setFlags(flags);
@@ -490,7 +491,7 @@ public abstract class StoreMailbox imple
}
private long getUidNext(MailboxSession mailboxSession) throws MailboxException {
- Mailbox mailbox = getMailboxRow();
+ Mailbox<Id> mailbox = getMailboxRow();
if (mailbox == null) {
throw new MailboxNotFoundException("Mailbox has been deleted");
} else {
@@ -504,10 +505,10 @@ public abstract class StoreMailbox imple
* @see org.apache.james.imap.mailbox.Mailbox#search(org.apache.james.imap.mailbox.SearchQuery, org.apache.james.imap.mailbox.MailboxSession)
*/
public Iterator<Long> search(SearchQuery query, MailboxSession mailboxSession) throws MailboxException {
- final MessageMapper messageMapper = createMessageMapper(session);
- final List<MailboxMembership> members = messageMapper.searchMailbox(query);
+ final MessageMapper<Id> messageMapper = createMessageMapper(session);
+ final List<MailboxMembership<Id>> members = messageMapper.searchMailbox(query);
final Set<Long> uids = new TreeSet<Long>();
- for (MailboxMembership member:members) {
+ for (MailboxMembership<Id> member:members) {
try {
final MessageSearches searches = new MessageSearches();
searches.setLog(mailboxSession.getLog());
@@ -536,19 +537,19 @@ public abstract class StoreMailbox imple
}
- private void copy(final List<MailboxMembership> originalRows, MailboxSession session) throws MailboxException {
+ private void copy(final List<MailboxMembership<Id>> originalRows, MailboxSession session) throws MailboxException {
try {
- final List<MailboxMembership> copiedRows = new ArrayList<MailboxMembership>();
- final MessageMapper mapper = createMessageMapper(session);
+ final List<MailboxMembership<Id>> copiedRows = new ArrayList<MailboxMembership<Id>>();
+ final MessageMapper<Id> mapper = createMessageMapper(session);
mapper.execute(new TransactionalMapper.Transaction() {
public void run() throws MailboxException {
- for (MailboxMembership originalMessage:originalRows) {
+ for (MailboxMembership<Id> originalMessage:originalRows) {
- final Mailbox mailbox = reserveNextUid();
+ final Mailbox<Id> mailbox = reserveNextUid();
if (mailbox != null) {
long uid = mailbox.getLastUid();
- final MailboxMembership newRow = copyMessage(originalMessage, uid);
+ final MailboxMembership<Id> newRow = copyMessage(originalMessage, uid);
mapper.save(newRow);
copiedRows.add(newRow);
}
@@ -559,7 +560,7 @@ public abstract class StoreMailbox imple
// Wait until commit before issuing events
- for (MailboxMembership newMember:copiedRows) {
+ for (MailboxMembership<Id> newMember:copiedRows) {
tracker.found(newMember.getUid(), newMember.createFlags());
}
@@ -568,11 +569,11 @@ public abstract class StoreMailbox imple
}
}
- public void copyTo(MessageRange set, StoreMailbox toMailbox, MailboxSession session) throws MailboxException {
+ public void copyTo(MessageRange set, StoreMailbox<Id> toMailbox, MailboxSession session) throws MailboxException {
try {
- final MessageMapper mapper = createMessageMapper(session);
+ final MessageMapper<Id> mapper = createMessageMapper(session);
- final List<MailboxMembership> originalRows = mapper.findInMailbox(set);
+ final List<MailboxMembership<Id>> originalRows = mapper.findInMailbox(set);
toMailbox.copy(originalRows, session);
} catch (MessagingException e) {
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java Mon Mar 22 17:52:55 2010
@@ -47,18 +47,17 @@ import org.apache.james.imap.mailbox.Sub
import org.apache.james.imap.mailbox.MailboxMetaData.Selectability;
import org.apache.james.imap.mailbox.util.SimpleMailboxMetaData;
import org.apache.james.imap.store.mail.MailboxMapper;
-import org.apache.james.imap.store.mail.MessageMapper;
import org.apache.james.imap.store.mail.model.Mailbox;
import org.apache.james.imap.store.transaction.TransactionalMapper;
-public abstract class StoreMailboxManager extends AbstractLogEnabled implements MailboxManager {
+public abstract class StoreMailboxManager<Id> extends AbstractLogEnabled implements MailboxManager {
public static final String USER_NAMESPACE_PREFIX = "#mail";
public static final char SQL_WILDCARD_CHAR = '%';
private final static Random random = new Random();
- protected final Map<String, StoreMailbox> mailboxes;
+ protected final Map<String, StoreMailbox<Id>> mailboxes;
private final Authenticator authenticator;
private final Subscriber subscriber;
@@ -73,7 +72,7 @@ public abstract class StoreMailboxManage
public StoreMailboxManager(final Authenticator authenticator, final Subscriber subscriber, final char delimiter) {
- mailboxes = new HashMap<String, StoreMailbox>();
+ mailboxes = new HashMap<String, StoreMailbox<Id>>();
this.authenticator = authenticator;
this.subscriber = subscriber;
this.delimiter = delimiter;
@@ -85,14 +84,14 @@ public abstract class StoreMailboxManage
* @param mailboxRow
* @return storeMailbox
*/
- protected abstract StoreMailbox createMailbox(Mailbox mailboxRow, MailboxSession session);
+ protected abstract StoreMailbox<Id> createMailbox(Mailbox<Id> mailboxRow, MailboxSession session);
/**
* Create the MailboxMapper which should get used
*
* @return mailboxMapper
*/
- protected abstract MailboxMapper createMailboxMapper(MailboxSession session) throws MailboxException;
+ protected abstract MailboxMapper<Id> createMailboxMapper(MailboxSession session) throws MailboxException;
/**
* Create a Mailbox for the given namespace and store it to the underlying storage
@@ -119,10 +118,10 @@ public abstract class StoreMailboxManage
* @return mailbox the mailbox for the given name
* @throws MailboxException get thrown if no Mailbox could be found for the given name
*/
- private StoreMailbox doGetMailbox(String mailboxName, MailboxSession session) throws MailboxException {
+ private StoreMailbox<Id> doGetMailbox(String mailboxName, MailboxSession session) throws MailboxException {
synchronized (mailboxes) {
- final MailboxMapper mapper = createMailboxMapper(session);
- Mailbox mailboxRow = mapper.findMailboxByName(mailboxName);
+ final MailboxMapper<Id> mapper = createMailboxMapper(session);
+ Mailbox<Id> mailboxRow = mapper.findMailboxByName(mailboxName);
if (mailboxRow == null) {
getLog().info("Mailbox '" + mailboxName + "' not found.");
@@ -131,7 +130,7 @@ public abstract class StoreMailboxManage
} else {
getLog().debug("Loaded mailbox " + mailboxName);
- StoreMailbox result = (StoreMailbox) mailboxes.get(mailboxName);
+ StoreMailbox<Id> result = (StoreMailbox<Id>) mailboxes.get(mailboxName);
if (result == null) {
result = createMailbox(mailboxRow, session);
mailboxes.put(mailboxName, result);
@@ -196,12 +195,12 @@ public abstract class StoreMailboxManage
synchronized (mailboxes) {
// TODO put this into a serilizable transaction
- final MailboxMapper mapper = createMailboxMapper(session);
+ final MailboxMapper<Id> mapper = createMailboxMapper(session);
mapper.execute(new TransactionalMapper.Transaction() {
public void run() throws MailboxException {
- Mailbox mailbox = mapper.findMailboxByName(mailboxName);
+ Mailbox<Id> mailbox = mapper.findMailboxByName(mailboxName);
if (mailbox == null) {
throw new MailboxNotFoundException("Mailbox not found");
}
@@ -210,7 +209,7 @@ public abstract class StoreMailboxManage
});
- final StoreMailbox storeMailbox = mailboxes.remove(mailboxName);
+ final StoreMailbox<Id> storeMailbox = mailboxes.remove(mailboxName);
if (storeMailbox != null) {
storeMailbox.deleted(session);
}
@@ -230,12 +229,12 @@ public abstract class StoreMailboxManage
throw new MailboxExistsException(to);
}
- final MailboxMapper mapper = createMailboxMapper(session);
+ final MailboxMapper<Id> mapper = createMailboxMapper(session);
mapper.execute(new TransactionalMapper.Transaction() {
public void run() throws MailboxException {
// TODO put this into a serilizable transaction
- final Mailbox mailbox = mapper.findMailboxByName(from);
+ final Mailbox<Id> mailbox = mapper.findMailboxByName(from);
if (mailbox == null) {
throw new MailboxNotFoundException(from);
@@ -246,8 +245,8 @@ public abstract class StoreMailboxManage
changeMailboxName(from, to);
// rename submailbox
- final List<Mailbox> subMailboxes = mapper.findMailboxWithNameLike(from + delimiter + "%");
- for (Mailbox sub:subMailboxes) {
+ final List<Mailbox<Id>> subMailboxes = mapper.findMailboxWithNameLike(from + delimiter + "%");
+ for (Mailbox<Id> sub:subMailboxes) {
final String subOriginalName = sub.getName();
final String subNewName = to + subOriginalName.substring(from.length());
sub.setName(subNewName);
@@ -279,7 +278,7 @@ public abstract class StoreMailboxManage
* @param to not null
*/
private void changeMailboxName(String from, String to) {
- final StoreMailbox jpaMailbox = mailboxes.remove(from);
+ final StoreMailbox<Id> jpaMailbox = mailboxes.remove(from);
if (jpaMailbox != null) {
jpaMailbox.reportRenamed(to);
mailboxes.put(to, jpaMailbox);
@@ -292,8 +291,8 @@ public abstract class StoreMailboxManage
*/
public void copyMessages(MessageRange set, String from, String to,
MailboxSession session) throws MailboxException {
- StoreMailbox toMailbox = doGetMailbox(to, session);
- StoreMailbox fromMailbox = doGetMailbox(from, session);
+ StoreMailbox<Id> toMailbox = doGetMailbox(to, session);
+ StoreMailbox<Id> fromMailbox = doGetMailbox(from, session);
fromMailbox.copyTo(set, toMailbox, session);
}
@@ -317,10 +316,10 @@ public abstract class StoreMailboxManage
delimiter).replace(freeWildcard, SQL_WILDCARD_CHAR)
.replace(localWildcard, SQL_WILDCARD_CHAR);
- final MailboxMapper mapper = createMailboxMapper(session);
- final List<Mailbox> mailboxes = mapper.findMailboxWithNameLike(search);
+ final MailboxMapper<Id> mapper = createMailboxMapper(session);
+ final List<Mailbox<Id>> mailboxes = mapper.findMailboxWithNameLike(search);
final List<MailboxMetaData> results = new ArrayList<MailboxMetaData>(mailboxes.size());
- for (Mailbox mailbox: mailboxes) {
+ for (Mailbox<Id> mailbox: mailboxes) {
final String name = mailbox.getName();
if (name.startsWith(base)) {
final String match = name.substring(baseLength);
@@ -347,7 +346,7 @@ public abstract class StoreMailboxManage
* @throws StorageException
* @throws TorqueException
*/
- private boolean hasChildren(String name, final MailboxMapper mapper) throws StorageException {
+ private boolean hasChildren(String name, final MailboxMapper<Id> mapper) throws StorageException {
return mapper.existsMailboxStartingWith(name + delimiter);
}
@@ -357,7 +356,7 @@ public abstract class StoreMailboxManage
*/
public boolean mailboxExists(String mailboxName, MailboxSession session) throws MailboxException {
synchronized (mailboxes) {
- final MailboxMapper mapper = createMailboxMapper(session);
+ final MailboxMapper<Id> mapper = createMailboxMapper(session);
final long count = mapper.countMailboxesWithName(mailboxName);
if (count == 0) {
mailboxes.remove(mailboxName);
@@ -460,7 +459,7 @@ public abstract class StoreMailboxManage
* @see org.apache.james.imap.mailbox.MailboxManager#addListener(java.lang.String, org.apache.james.imap.mailbox.MailboxListener, org.apache.james.imap.mailbox.MailboxSession)
*/
public void addListener(String mailboxName, MailboxListener listener, MailboxSession session) throws MailboxException {
- final StoreMailbox mailbox = doGetMailbox(mailboxName,session);
+ final StoreMailbox<Id> mailbox = doGetMailbox(mailboxName,session);
mailbox.addListener(listener);
}
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MailboxMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MailboxMapper.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MailboxMapper.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MailboxMapper.java Mon Mar 22 17:52:55 2010
@@ -29,7 +29,7 @@ import org.apache.james.imap.store.trans
* Mapper for {@link Mailbox}
*
*/
-public interface MailboxMapper extends TransactionalMapper{
+public interface MailboxMapper<Id> extends TransactionalMapper{
/**
* Save the give {@link Mailbox} to the underlying storage
@@ -37,7 +37,7 @@ public interface MailboxMapper extends T
* @param mailbox
* @throws StorageException
*/
- public abstract void save(Mailbox mailbox) throws StorageException;
+ public abstract void save(Mailbox<Id> mailbox) throws StorageException;
/**
* Return the {@link Mailbox} for the given name
@@ -47,7 +47,7 @@ public interface MailboxMapper extends T
* @throws StorageException
* @throws MailboxNotFoundException
*/
- public abstract Mailbox findMailboxByName(String name)
+ public abstract Mailbox<Id> findMailboxByName(String name)
throws StorageException, MailboxNotFoundException;
/**
@@ -65,7 +65,7 @@ public interface MailboxMapper extends T
* @param mailbox
* @throws StorageException
*/
- public abstract void delete(Mailbox mailbox) throws StorageException;
+ public abstract void delete(Mailbox<Id> mailbox) throws StorageException;
/**
* Return a List of {@link Mailbox} which name is like the given name
@@ -74,7 +74,7 @@ public interface MailboxMapper extends T
* @return mailboxList
* @throws StorageException
*/
- public abstract List<Mailbox> findMailboxWithNameLike(String name)
+ public abstract List<Mailbox<Id>> findMailboxWithNameLike(String name)
throws StorageException;
/**
@@ -102,6 +102,6 @@ public interface MailboxMapper extends T
* @throws StorageException
* @throws MailboxNotFoundException
*/
- public abstract Mailbox findMailboxById(long mailboxId)
+ public abstract Mailbox<Id> findMailboxById(Id mailboxId)
throws StorageException, MailboxNotFoundException;
}
\ No newline at end of file
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MessageMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MessageMapper.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MessageMapper.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MessageMapper.java Mon Mar 22 17:52:55 2010
@@ -31,7 +31,7 @@ import org.apache.james.imap.store.trans
/**
* Maps {@link Document} in a {@link Mailbox}.
*/
-public interface MessageMapper extends TransactionalMapper {
+public interface MessageMapper<Id> extends TransactionalMapper {
/**
* Return a List of {@link MailboxMembership} which represent the given {@link MessageRange}
@@ -41,7 +41,7 @@ public interface MessageMapper extends T
* @return list
* @throws StorageException
*/
- public abstract List<MailboxMembership> findInMailbox(MessageRange set)
+ public abstract List<MailboxMembership<Id>> findInMailbox(MessageRange set)
throws StorageException;
/**
@@ -51,7 +51,7 @@ public interface MessageMapper extends T
* @return list
* @throws StorageException
*/
- public abstract List<MailboxMembership> findMarkedForDeletionInMailbox(
+ public abstract List<MailboxMembership<Id>> findMarkedForDeletionInMailbox(
final MessageRange set)
throws StorageException;
@@ -80,7 +80,7 @@ public interface MessageMapper extends T
* @return
* @throws StorageException
*/
- public abstract List<MailboxMembership> searchMailbox(SearchQuery query) throws StorageException;
+ public abstract List<MailboxMembership<Id>> searchMailbox(SearchQuery query) throws StorageException;
/**
* Delete the given {@link MailboxMembership}
@@ -88,7 +88,7 @@ public interface MessageMapper extends T
* @param message
* @throws StorageException
*/
- public abstract void delete(MailboxMembership message) throws StorageException;
+ public abstract void delete(MailboxMembership<Id> message) throws StorageException;
/**
* Return a List of {@link MailboxMembership} which are unseen.
@@ -97,7 +97,7 @@ public interface MessageMapper extends T
* @return list
* @throws StorageException
*/
- public abstract List<MailboxMembership> findUnseenMessagesInMailbox() throws StorageException;
+ public abstract List<MailboxMembership<Id>> findUnseenMessagesInMailbox() throws StorageException;
/**
* Return a List of {@link MailboxMembership} which are recent.
@@ -106,7 +106,7 @@ public interface MessageMapper extends T
* @return recentList
* @throws StorageException
*/
- public abstract List<MailboxMembership> findRecentMessagesInMailbox() throws StorageException;
+ public abstract List<MailboxMembership<Id>> findRecentMessagesInMailbox() throws StorageException;
/**
@@ -115,6 +115,6 @@ public interface MessageMapper extends T
* @param message
* @throws StorageException
*/
- public abstract void save(MailboxMembership message) throws StorageException;
+ public abstract void save(MailboxMembership<Id> message) throws StorageException;
}
\ No newline at end of file
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/AbstractMailboxMembership.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/AbstractMailboxMembership.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/AbstractMailboxMembership.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/AbstractMailboxMembership.java Mon Mar 22 17:52:55 2010
@@ -1,57 +1,57 @@
-/****************************************************************
- * 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.imap.store.mail.model;
-
-import javax.mail.Flags;
-
-/**
- * Abstract base class for MailboxMembership implementations
- *
- *
- */
-public abstract class AbstractMailboxMembership implements MailboxMembership{
-
-
- /**
- * @see org.apache.james.imap.store.mail.model.MailboxMembership#createFlags()
- */
- public Flags createFlags() {
- final Flags flags = new Flags();
-
- if (isAnswered()) {
- flags.add(Flags.Flag.ANSWERED);
- }
- if (isDeleted()) {
- flags.add(Flags.Flag.DELETED);
- }
- if (isDraft()) {
- flags.add(Flags.Flag.DRAFT);
- }
- if (isFlagged()) {
- flags.add(Flags.Flag.FLAGGED);
- }
- if (isRecent()) {
- flags.add(Flags.Flag.RECENT);
- }
- if (isSeen()) {
- flags.add(Flags.Flag.SEEN);
- }
- return flags;
- }
-}
+/****************************************************************
+ * 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.imap.store.mail.model;
+
+import javax.mail.Flags;
+
+/**
+ * Abstract base class for MailboxMembership implementations
+ *
+ *
+ */
+public abstract class AbstractMailboxMembership<Id> implements MailboxMembership<Id>{
+
+
+ /**
+ * @see org.apache.james.imap.store.mail.model.MailboxMembership#createFlags()
+ */
+ public Flags createFlags() {
+ final Flags flags = new Flags();
+
+ if (isAnswered()) {
+ flags.add(Flags.Flag.ANSWERED);
+ }
+ if (isDeleted()) {
+ flags.add(Flags.Flag.DELETED);
+ }
+ if (isDraft()) {
+ flags.add(Flags.Flag.DRAFT);
+ }
+ if (isFlagged()) {
+ flags.add(Flags.Flag.FLAGGED);
+ }
+ if (isRecent()) {
+ flags.add(Flags.Flag.RECENT);
+ }
+ if (isSeen()) {
+ flags.add(Flags.Flag.SEEN);
+ }
+ return flags;
+ }
+}
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/Mailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/Mailbox.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/Mailbox.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/Mailbox.java Mon Mar 22 17:52:55 2010
@@ -21,7 +21,7 @@ package org.apache.james.imap.store.mail
/**
* Models long term mailbox data.
*/
-public interface Mailbox {
+public interface Mailbox<Id> {
/**
* Gets the last UID.
@@ -38,7 +38,7 @@ public interface Mailbox {
* Gets the unique mailbox ID.
* @return mailbox id
*/
- public abstract long getMailboxId();
+ public abstract Id getMailboxId();
/**
* Gets the current name for this mailbox.
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/MailboxMembership.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/MailboxMembership.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/MailboxMembership.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/MailboxMembership.java Mon Mar 22 17:52:55 2010
@@ -25,7 +25,7 @@ import javax.mail.Flags;
/**
* Links mailbox to member messages.
*/
-public interface MailboxMembership {
+public interface MailboxMembership<Id> {
public abstract Date getInternalDate();
@@ -34,7 +34,7 @@ public interface MailboxMembership {
*
* @return mailboxId
*/
- public abstract long getMailboxId();
+ public abstract Id getMailboxId();
/**
* Return the size
Modified: james/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMailboxMembership.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMailboxMembership.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMailboxMembership.java (original)
+++ james/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMailboxMembership.java Mon Mar 22 17:52:55 2010
@@ -27,7 +27,7 @@ import javax.mail.Flags;
import org.apache.james.imap.store.mail.model.Document;
import org.apache.james.imap.store.mail.model.MailboxMembership;
-public class SimpleMailboxMembership implements MailboxMembership {
+public class SimpleMailboxMembership implements MailboxMembership<Long> {
private static final String TOSTRING_SEPARATOR = " ";
@@ -86,7 +86,7 @@ public class SimpleMailboxMembership imp
/**
* @see org.apache.james.imap.jpa.mail.model.Document#getMailboxId()
*/
- public long getMailboxId() {
+ public Long getMailboxId() {
return mailboxId;
}
@@ -201,6 +201,7 @@ public class SimpleMailboxMembership imp
return result;
}
+ @SuppressWarnings("unchecked")
@Override
public boolean equals(Object obj) {
if (this == obj)
@@ -209,7 +210,7 @@ public class SimpleMailboxMembership imp
return false;
if (getClass() != obj.getClass())
return false;
- final MailboxMembership other = (MailboxMembership) obj;
+ final MailboxMembership<Long> other = (MailboxMembership<Long>) obj;
if (mailboxId != other.getMailboxId())
return false;
if (uid != other.getUid())
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org