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 [1/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...
Author: norman
Date: Mon Mar 22 17:52:55 2010
New Revision: 926222
URL: http://svn.apache.org/viewvc?rev=926222&view=rev
Log:
Use generics to set the type of ids. In the old api it was limited to use long which is not always a good think. For example in JCR the id (uuid) is a String (IMAP-123)
Modified:
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRGlobalUserMailboxManager.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailbox.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMessageMapper.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailbox.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailboxMembership.java
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailboxManager.java
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMailboxMapper.java
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMessageMapper.java
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailbox.java
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailboxMembership.java
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailbox.java
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailboxManager.java
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailbox.java
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryStoreMailbox.java
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/SimpleMailboxMembership.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMembershipComparator.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MessageSearches.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultIterator.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/ResultUtils.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailbox.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreMailboxManager.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MailboxMapper.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/MessageMapper.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/AbstractMailboxMembership.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/Mailbox.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/mail/model/MailboxMembership.java
james/imap/trunk/store/src/test/java/org/apache/james/imap/store/SimpleMailboxMembership.java
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRGlobalUserMailboxManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRGlobalUserMailboxManager.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRGlobalUserMailboxManager.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRGlobalUserMailboxManager.java Mon Mar 22 17:52:55 2010
@@ -65,7 +65,7 @@ public class JCRGlobalUserMailboxManager
public void deleteEverything() throws MailboxException {
Session session = getSession(null);
- final MailboxMapper mapper = new JCRMailboxMapper(session, getScaling(), getLog());
+ final MailboxMapper<String> mapper = new JCRMailboxMapper(session, getScaling(), getLog());
mapper.execute(new TransactionalMapper.Transaction() {
public void run() throws MailboxException {
@@ -78,7 +78,7 @@ public class JCRGlobalUserMailboxManager
}
@Override
- protected StoreMailbox createMailbox(Mailbox mailboxRow, MailboxSession session) {
+ protected StoreMailbox<String> createMailbox(Mailbox<String> mailboxRow, MailboxSession session) {
JCRMailbox mailbox = new JCRGlobalMailbox((org.apache.james.imap.jcr.mail.model.JCRMailbox) mailboxRow, session, getRepository(), getWorkspace(), username, password, getScaling(), getLog());
return mailbox;
}
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailbox.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailbox.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailbox.java Mon Mar 22 17:52:55 2010
@@ -51,12 +51,11 @@ import org.apache.james.imap.store.mail.
* JCR implementation of a {@link StoreMailbox}
*
*/
-public class JCRMailbox extends StoreMailbox{
+public class JCRMailbox extends StoreMailbox<String>{
private final Repository repository;
private final String workspace;
private final Log log;
- private final String uuid;
private final int scaling;
public JCRMailbox(final org.apache.james.imap.jcr.mail.model.JCRMailbox mailbox, final MailboxSession session, final Repository repository, final String workspace, final int scaling, final Log log) {
@@ -64,7 +63,6 @@ public class JCRMailbox extends StoreMai
this.repository = repository;
this.workspace = workspace;
this.log = log;
- this.uuid = mailbox.getUUID();
this.scaling = scaling;
}
@@ -78,24 +76,11 @@ public class JCRMailbox extends StoreMai
return scaling;
}
- @Override
- public long getMailboxId() {
- throw new UnsupportedOperationException("Please use getMailboxUUID for this implementation");
- }
- /**
- * Return the UUID of this Mailbox
- *
- * @return uuid
- */
- public String getMailboxUUID() {
- return uuid;
- }
-
@Override
- protected MailboxMembership copyMessage(MailboxMembership originalMessage, long uid) {
- MailboxMembership newRow = new JCRMailboxMembership(getMailboxUUID(), uid, (JCRMailboxMembership) originalMessage, log);
+ protected MailboxMembership<String> copyMessage(MailboxMembership<String> originalMessage, long uid) {
+ MailboxMembership<String> newRow = new JCRMailboxMembership(getMailboxId(), uid, (JCRMailboxMembership) originalMessage, log);
return newRow;
}
@@ -105,23 +90,23 @@ public class JCRMailbox extends StoreMai
}
@Override
- protected MailboxMembership createMessage(Date internalDate, long uid, int size, int bodyStartOctet, byte[] document, Flags flags, List<Header> headers, PropertyBuilder propertyBuilder) {
+ protected MailboxMembership<String> createMessage(Date internalDate, long uid, int size, int bodyStartOctet, byte[] document, Flags flags, List<Header> headers, PropertyBuilder propertyBuilder) {
final List<JCRHeader> jcrHeaders = new ArrayList<JCRHeader>(headers.size());
for (Header header: headers) {
jcrHeaders.add((JCRHeader) header);
}
- final MailboxMembership message = new JCRMailboxMembership(getMailboxUUID(), uid, internalDate,
+ final MailboxMembership<String> message = new JCRMailboxMembership(getMailboxId(), uid, internalDate,
size, flags, document, bodyStartOctet, jcrHeaders, propertyBuilder, log);
return message;
}
@Override
- protected MessageMapper createMessageMapper(MailboxSession session) throws MailboxException {
+ protected MessageMapper<String> createMessageMapper(MailboxSession session) throws MailboxException {
Session jcrSession = getSession(session);
JCRUtils.addJCRSession(session, jcrSession);
- JCRMessageMapper messageMapper = new JCRMessageMapper(jcrSession, getMailboxUUID(), getScaling(), log);
+ JCRMessageMapper messageMapper = new JCRMessageMapper(jcrSession, getMailboxId(), getScaling(), log);
return messageMapper;
@@ -144,15 +129,15 @@ public class JCRMailbox extends StoreMai
}
@Override
- protected Mailbox getMailboxRow() throws MailboxException {
+ protected Mailbox<String> getMailboxRow() throws MailboxException {
final JCRMailboxMapper mapper = createMailboxMapper(getMailboxSession());
- return mapper.findMailboxByUUID(getMailboxUUID());
+ return mapper.findMailboxById(getMailboxId());
}
@Override
- protected Mailbox reserveNextUid() throws MailboxException {
+ protected Mailbox<String> reserveNextUid() throws MailboxException {
final JCRMailboxMapper mapper = createMailboxMapper(getMailboxSession());
- return mapper.consumeNextUid(getMailboxUUID());
+ return mapper.consumeNextUid(getMailboxId());
}
/**
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java Mon Mar 22 17:52:55 2010
@@ -51,7 +51,7 @@ import org.apache.james.imap.store.trans
*
*
*/
-public class JCRMailboxManager extends StoreMailboxManager implements JCRImapConstants{
+public class JCRMailboxManager extends StoreMailboxManager<String> implements JCRImapConstants{
private final Repository repository;
private final String workspace;
@@ -80,13 +80,13 @@ public class JCRMailboxManager extends S
}
@Override
- protected StoreMailbox createMailbox(Mailbox mailboxRow, MailboxSession session) {
+ protected StoreMailbox<String> createMailbox(Mailbox<String> mailboxRow, MailboxSession session) {
JCRMailbox mailbox = new JCRMailbox((org.apache.james.imap.jcr.mail.model.JCRMailbox) mailboxRow, session, getRepository(), getWorkspace(), getScaling(), getLog());
return mailbox;
}
@Override
- protected MailboxMapper createMailboxMapper(MailboxSession session) throws MailboxException {
+ protected MailboxMapper<String> createMailboxMapper(MailboxSession session) throws MailboxException {
Session jcrSession = getSession(session);
@@ -121,7 +121,7 @@ public class JCRMailboxManager extends S
@Override
protected void doCreate(String namespaceName, MailboxSession session) throws MailboxException {
- final Mailbox mailbox = new org.apache.james.imap.jcr.mail.model.JCRMailbox(namespaceName, randomUidValidity(), logger);
+ final Mailbox<String> mailbox = new org.apache.james.imap.jcr.mail.model.JCRMailbox(namespaceName, randomUidValidity(), logger);
final JCRMailboxMapper mapper = (JCRMailboxMapper)createMailboxMapper(session);
mapper.execute(new TransactionalMapper.Transaction() {
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMailboxMapper.java Mon Mar 22 17:52:55 2010
@@ -47,7 +47,7 @@ import org.apache.james.imap.store.mail.
*
*
*/
-public class JCRMailboxMapper extends AbstractJCRMapper implements MailboxMapper {
+public class JCRMailboxMapper extends AbstractJCRMapper implements MailboxMapper<String> {
public final String PATH = "mailboxes";
private final Log logger;
@@ -95,9 +95,9 @@ public class JCRMailboxMapper extends Ab
* org.apache.james.imap.store.mail.MailboxMapper#delete(org.apache.james
* .imap.store.mail.model.Mailbox)
*/
- public void delete(Mailbox mailbox) throws StorageException {
+ public void delete(Mailbox<String> mailbox) throws StorageException {
try {
- getSession().getNodeByUUID(((JCRMailbox) mailbox).getUUID()).remove();
+ getSession().getNodeByUUID(((JCRMailbox) mailbox).getMailboxId()).remove();
} catch (PathNotFoundException e) {
// mailbox does not exists..
} catch (RepositoryException e) {
@@ -143,20 +143,16 @@ public class JCRMailboxMapper extends Ab
}
}
+
/*
* (non-Javadoc)
- *
- * @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxById(long)
+ * @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxById(java.lang.Object)
*/
- public Mailbox findMailboxById(long mailboxId) throws StorageException, MailboxNotFoundException {
- throw new StorageException(HumanReadableText.UNSUPPORTED,null);
- }
-
- public Mailbox findMailboxByUUID(String uuid) throws StorageException, MailboxNotFoundException {
- try {
- return new JCRMailbox(getSession().getNodeByUUID(uuid),logger);
+ public Mailbox<String> findMailboxById(String mailboxId) throws StorageException, MailboxNotFoundException {
+ try {
+ return new JCRMailbox(getSession().getNodeByUUID(mailboxId),logger);
} catch (PathNotFoundException e) {
- throw new MailboxNotFoundException(uuid);
+ throw new MailboxNotFoundException(mailboxId);
} catch (RepositoryException e) {
throw new StorageException(HumanReadableText.SEARCH_FAILED, e);
}
@@ -169,7 +165,7 @@ public class JCRMailboxMapper extends Ab
* org.apache.james.imap.store.mail.MailboxMapper#findMailboxByName(java
* .lang.String)
*/
- public Mailbox findMailboxByName(String name) throws StorageException, MailboxNotFoundException {
+ public Mailbox<String> findMailboxByName(String name) throws StorageException, MailboxNotFoundException {
try {
QueryManager manager = getSession().getWorkspace().getQueryManager();
String queryString = "//" + PATH + "//element(*,imap:mailbox)[@" + JCRMailbox.NAME_PROPERTY + "='" + name + "']";
@@ -194,8 +190,8 @@ public class JCRMailboxMapper extends Ab
* org.apache.james.imap.store.mail.MailboxMapper#findMailboxWithNameLike
* (java.lang.String)
*/
- public List<Mailbox> findMailboxWithNameLike(String name) throws StorageException {
- List<Mailbox> mailboxList = new ArrayList<Mailbox>();
+ public List<Mailbox<String>> findMailboxWithNameLike(String name) throws StorageException {
+ List<Mailbox<String>> mailboxList = new ArrayList<Mailbox<String>>();
try {
QueryManager manager = getSession().getWorkspace().getQueryManager();
String queryString = "//" + PATH + "//element(*,imap:mailbox)[jcr:like(@" + JCRMailbox.NAME_PROPERTY + ",'%" + name + "%')]";
@@ -219,14 +215,14 @@ public class JCRMailboxMapper extends Ab
* org.apache.james.imap.store.mail.MailboxMapper#save(org.apache.james.
* imap.store.mail.model.Mailbox)
*/
- public void save(Mailbox mailbox) throws StorageException {
+ public void save(Mailbox<String> mailbox) throws StorageException {
try {
JCRMailbox jcrMailbox = (JCRMailbox)mailbox;
Node node = null;
if (jcrMailbox.isPersistent()) {
- node = getSession().getNodeByUUID(jcrMailbox.getUUID());
+ node = getSession().getNodeByUUID(jcrMailbox.getMailboxId());
}
if (node == null) {
String nodePath = JCRUtils.escapePath(PATH,JCRUtils.createScaledPath(mailbox.getName(), getScaling()));
@@ -251,9 +247,9 @@ public class JCRMailboxMapper extends Ab
* @throws StorageException
* @throws MailboxNotFoundException
*/
- public Mailbox consumeNextUid(String uuid) throws StorageException, MailboxNotFoundException {
+ public Mailbox<String> consumeNextUid(String uuid) throws StorageException, MailboxNotFoundException {
- final JCRMailbox mailbox = (JCRMailbox) findMailboxByUUID(uuid);
+ final JCRMailbox mailbox = (JCRMailbox) findMailboxById(uuid);
try {
execute(new Transaction() {
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMessageMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMessageMapper.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMessageMapper.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/JCRMessageMapper.java Mon Mar 22 17:52:55 2010
@@ -44,7 +44,7 @@ import org.apache.james.imap.mailbox.Sea
import org.apache.james.imap.store.mail.MessageMapper;
import org.apache.james.imap.store.mail.model.MailboxMembership;
-public class JCRMessageMapper extends AbstractJCRMapper implements MessageMapper {
+public class JCRMessageMapper extends AbstractJCRMapper implements MessageMapper<String> {
private final static String PATH = "mailboxes";
private final Log logger;
@@ -122,12 +122,12 @@ public class JCRMessageMapper extends Ab
* org.apache.james.imap.store.mail.MessageMapper#delete(org.apache.james
* .imap.store.mail.model.MailboxMembership)
*/
- public void delete(MailboxMembership message) throws StorageException {
+ public void delete(MailboxMembership<String> message) throws StorageException {
JCRMailboxMembership membership = (JCRMailboxMembership) message;
if (membership.isPersistent()) {
try {
- getSession().getNodeByUUID(membership.getUUID()).remove();
+ getSession().getNodeByUUID(membership.getId()).remove();
} catch (RepositoryException e) {
e.printStackTrace();
throw new StorageException(HumanReadableText.DELETED_FAILED, e);
@@ -142,9 +142,9 @@ public class JCRMessageMapper extends Ab
* org.apache.james.imap.store.mail.MessageMapper#findInMailbox(org.apache
* .james.imap.mailbox.MessageRange)
*/
- public List<MailboxMembership> findInMailbox(MessageRange set) throws StorageException {
+ public List<MailboxMembership<String>> findInMailbox(MessageRange set) throws StorageException {
try {
- final List<MailboxMembership> results;
+ final List<MailboxMembership<String>> results;
final long from = set.getUidFrom();
final long to = set.getUidTo();
final Type type = set.getType();
@@ -170,8 +170,8 @@ public class JCRMessageMapper extends Ab
}
}
- private List<MailboxMembership> findMessagesInMailboxAfterUID(String uuid, long uid) throws RepositoryException {
- List<MailboxMembership> list = new ArrayList<MailboxMembership>();
+ private List<MailboxMembership<String>> findMessagesInMailboxAfterUID(String uuid, long uid) throws RepositoryException {
+ List<MailboxMembership<String>> list = new ArrayList<MailboxMembership<String>>();
String queryString = "//" + PATH + "//element(*,imap:mailboxMembership)[@" + JCRMailboxMembership.MAILBOX_UUID_PROPERTY + "='" + uuid + "'] AND [@" + JCRMailboxMembership.UID_PROPERTY + ">=" + uid + "] order by @" + JCRMailboxMembership.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
@@ -184,8 +184,8 @@ public class JCRMessageMapper extends Ab
return list;
}
- private List<MailboxMembership> findMessagesInMailboxWithUID(String uuid, long uid) throws RepositoryException {
- List<MailboxMembership> list = new ArrayList<MailboxMembership>();
+ private List<MailboxMembership<String>> findMessagesInMailboxWithUID(String uuid, long uid) throws RepositoryException {
+ List<MailboxMembership<String>> list = new ArrayList<MailboxMembership<String>>();
String queryString = "//" + PATH + "//element(*,imap:mailboxMembership)[@" + JCRMailboxMembership.MAILBOX_UUID_PROPERTY + "='" + uuid + "'] AND [@" + JCRMailboxMembership.UID_PROPERTY + "=" + uid + "] order by @" + JCRMailboxMembership.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
@@ -198,8 +198,8 @@ public class JCRMessageMapper extends Ab
return list;
}
- private List<MailboxMembership> findMessagesInMailboxBetweenUIDs(String uuid, long from, long to) throws RepositoryException {
- List<MailboxMembership> list = new ArrayList<MailboxMembership>();
+ private List<MailboxMembership<String>> findMessagesInMailboxBetweenUIDs(String uuid, long from, long to) throws RepositoryException {
+ List<MailboxMembership<String>> list = new ArrayList<MailboxMembership<String>>();
String queryString = "//" + PATH + "//element(*,imap:mailboxMembership)[@" + JCRMailboxMembership.MAILBOX_UUID_PROPERTY + "='" + uuid + "'] AND [@" + JCRMailboxMembership.UID_PROPERTY + ">=" + from + "] AND [@" + JCRMailboxMembership.UID_PROPERTY + "<=" + to + "] order by @" + JCRMailboxMembership.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
@@ -212,8 +212,8 @@ public class JCRMessageMapper extends Ab
return list;
}
- private List<MailboxMembership> findMessagesInMailbox(String uuid) throws RepositoryException {
- List<MailboxMembership> list = new ArrayList<MailboxMembership>();
+ private List<MailboxMembership<String>> findMessagesInMailbox(String uuid) throws RepositoryException {
+ List<MailboxMembership<String>> list = new ArrayList<MailboxMembership<String>>();
String queryString = "//" + PATH + "//element(*,imap:mailboxMembership)[@" + JCRMailboxMembership.MAILBOX_UUID_PROPERTY +"='" + uuid +"'] order by @" + JCRMailboxMembership.UID_PROPERTY;
getSession().refresh(true);
@@ -229,8 +229,8 @@ public class JCRMessageMapper extends Ab
- private List<MailboxMembership> findDeletedMessagesInMailboxAfterUID(String uuid, long uid) throws RepositoryException {
- List<MailboxMembership> list = new ArrayList<MailboxMembership>();
+ private List<MailboxMembership<String>> findDeletedMessagesInMailboxAfterUID(String uuid, long uid) throws RepositoryException {
+ List<MailboxMembership<String>> list = new ArrayList<MailboxMembership<String>>();
String queryString = "//" + PATH + "//element(*,imap:mailboxMembership)[@" + JCRMailboxMembership.MAILBOX_UUID_PROPERTY + "='" + uuid + "'] AND [@" + JCRMailboxMembership.UID_PROPERTY + ">=" + uid + "] AND [@" + JCRMailboxMembership.DELETED_PROPERTY+ "='true'] order by @" + JCRMailboxMembership.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
@@ -243,8 +243,8 @@ public class JCRMessageMapper extends Ab
return list;
}
- private List<MailboxMembership> findDeletedMessagesInMailboxWithUID(String uuid, long uid) throws RepositoryException {
- List<MailboxMembership> list = new ArrayList<MailboxMembership>();
+ private List<MailboxMembership<String>> findDeletedMessagesInMailboxWithUID(String uuid, long uid) throws RepositoryException {
+ List<MailboxMembership<String>> list = new ArrayList<MailboxMembership<String>>();
String queryString = "//" + PATH + "//element(*,imap:mailboxMembership)[@" + JCRMailboxMembership.MAILBOX_UUID_PROPERTY + "='" + uuid + "'] AND [@" + JCRMailboxMembership.UID_PROPERTY + "=" + uid + "] AND [@" + JCRMailboxMembership.DELETED_PROPERTY+ "='true'] order by @" + JCRMailboxMembership.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
QueryResult result = manager.createQuery(queryString, Query.XPATH).execute();
@@ -257,8 +257,8 @@ public class JCRMessageMapper extends Ab
return list;
}
- private List<MailboxMembership> findDeletedMessagesInMailboxBetweenUIDs(String uuid, long from, long to) throws RepositoryException {
- List<MailboxMembership> list = new ArrayList<MailboxMembership>();
+ private List<MailboxMembership<String>> findDeletedMessagesInMailboxBetweenUIDs(String uuid, long from, long to) throws RepositoryException {
+ List<MailboxMembership<String>> list = new ArrayList<MailboxMembership<String>>();
String queryString = "//" + PATH + "//element(*,imap:mailboxMembership)[@" + JCRMailboxMembership.MAILBOX_UUID_PROPERTY + "='" + uuid + "'] AND [@" + JCRMailboxMembership.UID_PROPERTY + ">=" + from + "] AND [@" + JCRMailboxMembership.UID_PROPERTY + "<=" + to + "] AND [@" + JCRMailboxMembership.DELETED_PROPERTY+ "='true'] order by @" + JCRMailboxMembership.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
@@ -271,9 +271,9 @@ public class JCRMessageMapper extends Ab
return list;
}
- private List<MailboxMembership> findDeletedMessagesInMailbox(String uuid) throws RepositoryException {
+ private List<MailboxMembership<String>> findDeletedMessagesInMailbox(String uuid) throws RepositoryException {
- List<MailboxMembership> list = new ArrayList<MailboxMembership>();
+ List<MailboxMembership<String>> list = new ArrayList<MailboxMembership<String>>();
String queryString = "//" + PATH + "//element(*,imap:mailboxMembership)[@" + JCRMailboxMembership.MAILBOX_UUID_PROPERTY +"='" + uuid +"'] AND [@" + JCRMailboxMembership.DELETED_PROPERTY+ "='true'] order by @" + JCRMailboxMembership.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
@@ -294,9 +294,9 @@ public class JCRMessageMapper extends Ab
* org.apache.james.imap.store.mail.MessageMapper#findMarkedForDeletionInMailbox
* (org.apache.james.imap.mailbox.MessageRange)
*/
- public List<MailboxMembership> findMarkedForDeletionInMailbox(MessageRange set) throws StorageException {
+ public List<MailboxMembership<String>> findMarkedForDeletionInMailbox(MessageRange set) throws StorageException {
try {
- final List<MailboxMembership> results;
+ final List<MailboxMembership<String>> results;
final long from = set.getUidFrom();
final long to = set.getUidTo();
final Type type = set.getType();
@@ -329,10 +329,10 @@ public class JCRMessageMapper extends Ab
* org.apache.james.imap.store.mail.MessageMapper#findRecentMessagesInMailbox
* ()
*/
- public List<MailboxMembership> findRecentMessagesInMailbox() throws StorageException {
+ public List<MailboxMembership<String>> findRecentMessagesInMailbox() throws StorageException {
try {
- List<MailboxMembership> list = new ArrayList<MailboxMembership>();
+ List<MailboxMembership<String>> list = new ArrayList<MailboxMembership<String>>();
String queryString = "//" + PATH + "//element(*,imap:mailboxMembership)[@" + JCRMailboxMembership.MAILBOX_UUID_PROPERTY +"='" + uuid +"'] AND [@" + JCRMailboxMembership.RECENT_PROPERTY +"='true'] order by @" + JCRMailboxMembership.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
@@ -354,9 +354,9 @@ public class JCRMessageMapper extends Ab
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#findUnseenMessagesInMailbox()
*/
- public List<MailboxMembership> findUnseenMessagesInMailbox() throws StorageException {
+ public List<MailboxMembership<String>> findUnseenMessagesInMailbox() throws StorageException {
try {
- List<MailboxMembership> list = new ArrayList<MailboxMembership>();
+ List<MailboxMembership<String>> list = new ArrayList<MailboxMembership<String>>();
String queryString = "//" + PATH + "//element(*,imap:mailboxMembership)[@" + JCRMailboxMembership.MAILBOX_UUID_PROPERTY +"='" + uuid +"'] AND [@" + JCRMailboxMembership.SEEN_PROPERTY +"='false'] order by @" + JCRMailboxMembership.UID_PROPERTY;
QueryManager manager = getSession().getWorkspace().getQueryManager();
@@ -380,14 +380,14 @@ public class JCRMessageMapper extends Ab
* org.apache.james.imap.store.mail.MessageMapper#save(org.apache.james.
* imap.store.mail.model.MailboxMembership)
*/
- public void save(MailboxMembership message) throws StorageException {
+ public void save(MailboxMembership<String> message) throws StorageException {
JCRMailboxMembership membership = (JCRMailboxMembership) message;
try {
//JCRUtils.createNodeRecursive(getSession().getRootNode(), mailboxN);
Node messageNode = null;
if (membership.isPersistent()) {
- messageNode = getSession().getNodeByUUID(membership.getUUID());
+ messageNode = getSession().getNodeByUUID(membership.getId());
}
if (messageNode == null) {
@@ -424,9 +424,9 @@ public class JCRMessageMapper extends Ab
* org.apache.james.imap.store.mail.MessageMapper#searchMailbox(org.apache
* .james.imap.mailbox.SearchQuery)
*/
- public List<MailboxMembership> searchMailbox(SearchQuery query) throws StorageException {
+ public List<MailboxMembership<String>> searchMailbox(SearchQuery query) throws StorageException {
try {
- List<MailboxMembership> list = new ArrayList<MailboxMembership>();
+ List<MailboxMembership<String>> list = new ArrayList<MailboxMembership<String>>();
final String xpathQuery = formulateXPath(uuid, query);
QueryManager manager = getSession().getWorkspace().getQueryManager();
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailbox.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailbox.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailbox.java Mon Mar 22 17:52:55 2010
@@ -31,7 +31,7 @@ import org.apache.james.imap.store.mail.
/**
* JCR implementation of a {@link Mailbox}
*/
-public class JCRMailbox implements Mailbox, JCRImapConstants, Persistent{
+public class JCRMailbox implements Mailbox<String>, JCRImapConstants, Persistent{
private static final String TAB = " ";
@@ -180,21 +180,10 @@ public class JCRMailbox implements Mailb
*/
}
- public String getUUID() {
- if (isPersistent()) {
- try {
- return node.getUUID();
- } catch (RepositoryException e) {
- logger.error("Unable to access property " + JcrConstants.JCR_UUID, e);
- }
- }
- return null;
- }
-
@Override
public String toString() {
final String retValue = "Mailbox ( "
- + "mailboxUID = " + this.getUUID() + TAB
+ + "mailboxUID = " + this.getMailboxId() + TAB
+ "name = " + this.getName() + TAB
+ "uidValidity = " + this.getUidValidity() + TAB
+ "lastUid = " + this.getLastUid() + TAB
@@ -206,7 +195,7 @@ public class JCRMailbox implements Mailb
public int hashCode() {
final int PRIME = 31;
int result = 1;
- result = PRIME * result + (int) getUUID().hashCode();
+ result = PRIME * result + (int) getMailboxId().hashCode();
return result;
}
@@ -219,7 +208,7 @@ public class JCRMailbox implements Mailb
if (getClass() != obj.getClass())
return false;
final JCRMailbox other = (JCRMailbox) obj;
- if (getUUID() != other.getUUID())
+ if (getMailboxId() != other.getMailboxId())
return false;
return true;
}
@@ -228,8 +217,15 @@ public class JCRMailbox implements Mailb
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.model.Mailbox#getMailboxId()
*/
- public long getMailboxId() {
- return getUUID().hashCode();
+ public String getMailboxId() {
+ if (isPersistent()) {
+ try {
+ return node.getUUID();
+ } catch (RepositoryException e) {
+ logger.error("Unable to access property " + JcrConstants.JCR_UUID, e);
+ }
+ }
+ return null;
}
}
Modified: james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailboxMembership.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailboxMembership.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailboxMembership.java (original)
+++ james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/mail/model/JCRMailboxMembership.java Mon Mar 22 17:52:55 2010
@@ -32,7 +32,6 @@ import org.apache.james.imap.jcr.JCRImap
import org.apache.james.imap.jcr.Persistent;
import org.apache.james.imap.store.mail.model.AbstractMailboxMembership;
import org.apache.james.imap.store.mail.model.Document;
-import org.apache.james.imap.store.mail.model.Mailbox;
import org.apache.james.imap.store.mail.model.MailboxMembership;
import org.apache.james.imap.store.mail.model.PropertyBuilder;
@@ -40,7 +39,7 @@ import org.apache.james.imap.store.mail.
* JCR implementation of {@link MailboxMembership}
*
*/
-public class JCRMailboxMembership extends AbstractMailboxMembership implements
+public class JCRMailboxMembership extends AbstractMailboxMembership<String> implements
Persistent, JCRImapConstants {
private static final String TOSTRING_SEPARATOR = " ";
@@ -165,26 +164,18 @@ public class JCRMailboxMembership extend
* @see
* org.apache.james.imap.store.mail.model.MailboxMembership#getMailboxId()
*/
- public long getMailboxId() {
- throw new UnsupportedOperationException("Not Supported. Use UUID");
- }
+ public String getMailboxId() {
+ if (isPersistent()) {
+ try {
+ return node.getProperty(MAILBOX_UUID_PROPERTY).getString();
+ } catch (RepositoryException e) {
+ logger.error("Unable to access property "
+ + MAILBOX_UUID_PROPERTY, e);
+ }
+ }
+ return mailboxUUID;
+ }
- /**
- * Return the MailboxUUID for the mapped {@link Mailbox}
- *
- * @return mailbox
- */
- public String getMailboxUUID() {
- if (isPersistent()) {
- try {
- return node.getProperty(MAILBOX_UUID_PROPERTY).getString();
- } catch (RepositoryException e) {
- logger.error("Unable to access property "
- + MAILBOX_UUID_PROPERTY, e);
- }
- }
- return mailboxUUID;
- }
/*
* (non-Javadoc)
@@ -391,23 +382,6 @@ public class JCRMailboxMembership extend
}
}
- /**
- * Return the UUID for this instance
- *
- * @return uuid
- */
- public String getUUID() {
- if (isPersistent()) {
- try {
- return node.getUUID();
- } catch (RepositoryException e) {
- logger.error("Unable to access property "
- + JcrConstants.JCR_UUID, e);
- }
- }
- return null;
- }
-
/*
* (non-Javadoc)
*
@@ -432,7 +406,7 @@ public class JCRMailboxMembership extend
* @see org.apache.james.imap.jcr.Persistent#merge(javax.jcr.Node)
*/
public void merge(Node node) throws RepositoryException {
- node.setProperty(MAILBOX_UUID_PROPERTY, getMailboxUUID());
+ node.setProperty(MAILBOX_UUID_PROPERTY, getMailboxId());
node.setProperty(UID_PROPERTY, getUid());
node.setProperty(SIZE_PROPERTY, getSize());
node.setProperty(ANSWERED_PROPERTY, isAnswered());
@@ -477,14 +451,23 @@ public class JCRMailboxMembership extend
uid = 0;
*/
}
-
+
+ public String getId() {
+ if (isPersistent()) {
+ try {
+ return node.getUUID();
+ } catch (RepositoryException e) {
+ logger.error("Unable to access property " + JcrConstants.JCR_UUID, e);
+ }
+ }
+ return null;
+ }
@Override
public int hashCode() {
final int PRIME = 31;
int result = 1;
- result = PRIME * result + getUUID().hashCode();
- result = PRIME * result + getMailboxUUID().hashCode();
+ result = PRIME * result + getMailboxId().hashCode();
return result;
}
@@ -497,9 +480,9 @@ public class JCRMailboxMembership extend
if (getClass() != obj.getClass())
return false;
final JCRMailboxMembership other = (JCRMailboxMembership) obj;
- if (getMailboxUUID() != other.getMailboxUUID())
+ if (getMailboxId() != other.getMailboxId())
return false;
- if (getUUID() != other.getUUID())
+ if (getId() != other.getId())
return false;
return true;
}
@@ -507,8 +490,8 @@ public class JCRMailboxMembership extend
public String toString() {
final String retValue =
"mailbox("
- + "mailboxUUID = " + this.getMailboxUUID() + TOSTRING_SEPARATOR
- + "uuid = " + this.getUUID() + TOSTRING_SEPARATOR
+ + "mailboxUUID = " + this.getMailboxId() + TOSTRING_SEPARATOR
+ + "uuid = " + this.getId() + TOSTRING_SEPARATOR
+ "internalDate = " + this.getInternalDate() + TOSTRING_SEPARATOR
+ "size = " + this.getSize() + TOSTRING_SEPARATOR
+ "answered = " + this.isAnswered() + TOSTRING_SEPARATOR
Modified: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java (original)
+++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java Mon Mar 22 17:52:55 2010
@@ -45,11 +45,11 @@ import org.apache.james.imap.store.mail.
*
*
*/
-public abstract class JPAMailbox extends StoreMailbox {
+public abstract class JPAMailbox extends StoreMailbox<Long> {
protected final EntityManagerFactory entityManagerFactory;
- public JPAMailbox(final Mailbox mailbox, MailboxSession session, final EntityManagerFactory entityManagerfactory) {
+ public JPAMailbox(final Mailbox<Long> mailbox, MailboxSession session, final EntityManagerFactory entityManagerfactory) {
super(mailbox, session);
this.entityManagerFactory = entityManagerfactory;
}
@@ -62,14 +62,14 @@ public abstract class JPAMailbox extends
protected abstract JPAMailboxMapper createMailboxMapper(MailboxSession session);
@Override
- protected Mailbox getMailboxRow() throws MailboxException {
- final MailboxMapper mapper = createMailboxMapper(getMailboxSession());
+ protected Mailbox<Long> getMailboxRow() throws MailboxException {
+ final MailboxMapper<Long> mapper = createMailboxMapper(getMailboxSession());
return mapper.findMailboxById(mailboxId);
}
@Override
- protected MessageMapper createMessageMapper(MailboxSession session) {
+ protected MessageMapper<Long> createMessageMapper(MailboxSession session) {
EntityManager manager = entityManagerFactory.createEntityManager();
JPAUtils.addEntityManager(session, manager);
@@ -80,20 +80,20 @@ public abstract class JPAMailbox extends
}
@Override
- protected MailboxMembership createMessage(Date internalDate, final long uid, final int size, int bodyStartOctet, final byte[] document,
+ protected MailboxMembership<Long> createMessage(Date internalDate, final long uid, final int size, int bodyStartOctet, final byte[] document,
final Flags flags, final List<Header> headers, PropertyBuilder propertyBuilder) {
final List<JPAHeader> jpaHeaders = new ArrayList<JPAHeader>(headers.size());
for (Header header: headers) {
jpaHeaders.add((JPAHeader) header);
}
- final MailboxMembership message = new JPAMailboxMembership(mailboxId, uid, internalDate,
+ final MailboxMembership<Long> message = new JPAMailboxMembership(mailboxId, uid, internalDate,
size, flags, document, bodyStartOctet, jpaHeaders, propertyBuilder);
return message;
}
@Override
- protected MailboxMembership copyMessage(MailboxMembership originalMessage, long uid) {
- MailboxMembership newRow = new JPAMailboxMembership(getMailboxId(), uid, (JPAMailboxMembership) originalMessage);
+ protected MailboxMembership<Long> copyMessage(MailboxMembership<Long> originalMessage, long uid) {
+ MailboxMembership<Long> newRow = new JPAMailboxMembership(getMailboxId(), uid, (JPAMailboxMembership) originalMessage);
return newRow;
}
@@ -104,9 +104,9 @@ public abstract class JPAMailbox extends
}
@Override
- protected Mailbox reserveNextUid() throws MailboxException {
+ protected Mailbox<Long> reserveNextUid() throws MailboxException {
final JPAMailboxMapper mapper = createMailboxMapper(getMailboxSession());
- final Mailbox mailbox = mapper.consumeNextUid(mailboxId);
+ final Mailbox<Long> mailbox = mapper.consumeNextUid(mailboxId);
return mailbox;
}
}
Modified: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailboxManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailboxManager.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailboxManager.java (original)
+++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailboxManager.java Mon Mar 22 17:52:55 2010
@@ -38,7 +38,7 @@ import org.apache.james.imap.store.trans
*
*
*/
-public abstract class JPAMailboxManager extends StoreMailboxManager {
+public abstract class JPAMailboxManager extends StoreMailboxManager<Long> {
protected final EntityManagerFactory entityManagerFactory;
@@ -51,8 +51,8 @@ public abstract class JPAMailboxManager
@Override
protected void doCreate(String namespaceName, MailboxSession session) throws MailboxException {
- final Mailbox mailbox = new org.apache.james.imap.jpa.mail.model.JPAMailbox(namespaceName, randomUidValidity());
- final MailboxMapper mapper = createMailboxMapper(session);
+ final Mailbox<Long> mailbox = new org.apache.james.imap.jpa.mail.model.JPAMailbox(namespaceName, randomUidValidity());
+ final MailboxMapper<Long> mapper = createMailboxMapper(session);
mapper.execute(new TransactionalMapper.Transaction(){
public void run() throws MailboxException {
@@ -69,7 +69,7 @@ public abstract class JPAMailboxManager
*/
public void deleteEverything() throws MailboxException {
- final MailboxMapper mapper = createMailboxMapper(null);
+ final MailboxMapper<Long> mapper = createMailboxMapper(null);
mapper.execute(new TransactionalMapper.Transaction() {
public void run() throws MailboxException {
Modified: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMailboxMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMailboxMapper.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMailboxMapper.java (original)
+++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMailboxMapper.java Mon Mar 22 17:52:55 2010
@@ -36,7 +36,7 @@ import org.apache.james.imap.store.mail.
/**
* Data access management for mailbox.
*/
-public abstract class JPAMailboxMapper extends JPATransactionalMapper implements MailboxMapper {
+public abstract class JPAMailboxMapper extends JPATransactionalMapper implements MailboxMapper<Long> {
private static final char SQL_WILDCARD_CHAR = '%';
@@ -59,7 +59,7 @@ public abstract class JPAMailboxMapper e
/**
* @see org.apache.james.imap.store.mail.MailboxMapper#save(Mailbox)
*/
- public void save(Mailbox mailbox) throws StorageException {
+ public void save(Mailbox<Long> mailbox) throws StorageException {
try {
entityManager.persist(mailbox);
} catch (PersistenceException e) {
@@ -70,7 +70,7 @@ public abstract class JPAMailboxMapper e
/**
* @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxByName(java.lang.String)
*/
- public Mailbox findMailboxByName(String name) throws StorageException, MailboxNotFoundException {
+ public Mailbox<Long> findMailboxByName(String name) throws StorageException, MailboxNotFoundException {
try {
return (JPAMailbox) entityManager.createNamedQuery("findMailboxByName").setParameter("nameParam", name).getSingleResult();
} catch (NoResultException e) {
@@ -84,7 +84,7 @@ public abstract class JPAMailboxMapper e
/**
* @see org.apache.james.imap.store.mail.MailboxMapper#delete(Mailbox)
*/
- public void delete(Mailbox mailbox) throws StorageException {
+ public void delete(Mailbox<Long> mailbox) throws StorageException {
try {
entityManager.remove(mailbox);
} catch (PersistenceException e) {
@@ -96,7 +96,7 @@ public abstract class JPAMailboxMapper e
* @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxWithNameLike(java.lang.String)
*/
@SuppressWarnings("unchecked")
- public List<Mailbox> findMailboxWithNameLike(String name) throws StorageException {
+ public List<Mailbox<Long>> findMailboxWithNameLike(String name) throws StorageException {
try {
return entityManager.createNamedQuery("findMailboxWithNameLike").setParameter("nameParam", SQL_WILDCARD_CHAR + name + SQL_WILDCARD_CHAR).getResultList();
} catch (PersistenceException e) {
@@ -129,7 +129,7 @@ public abstract class JPAMailboxMapper e
/**
* @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxById(long)
*/
- public Mailbox findMailboxById(long mailboxId) throws StorageException, MailboxNotFoundException {
+ public Mailbox<Long> findMailboxById(Long mailboxId) throws StorageException, MailboxNotFoundException {
try {
return (JPAMailbox) entityManager.createNamedQuery("findMailboxById").setParameter("idParam", mailboxId).getSingleResult();
} catch (NoResultException e) {
@@ -139,10 +139,12 @@ public abstract class JPAMailboxMapper e
}
}
- /**
- * @see org.apache.james.imap.store.mail.MailboxMapper#consumeNextUid(long)
+
+
+ /*
+ *
*/
- public Mailbox consumeNextUid(long mailboxId) throws StorageException, MailboxNotFoundException {
+ public Mailbox<Long> consumeNextUid(Long mailboxId) throws StorageException, MailboxNotFoundException {
try {
return doConsumeNextUid(mailboxId);
} catch (NoResultException e) {
Modified: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMessageMapper.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMessageMapper.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMessageMapper.java (original)
+++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/JPAMessageMapper.java Mon Mar 22 17:52:55 2010
@@ -34,7 +34,7 @@ import org.apache.james.imap.mailbox.Sea
import org.apache.james.imap.store.mail.MessageMapper;
import org.apache.james.imap.store.mail.model.MailboxMembership;
-public class JPAMessageMapper extends JPATransactionalMapper implements MessageMapper {
+public class JPAMessageMapper extends JPATransactionalMapper implements MessageMapper<Long> {
private final long mailboxId;
@@ -46,9 +46,9 @@ public class JPAMessageMapper extends JP
/**
* @see org.apache.james.imap.store.mail.MessageMapper#findInMailbox(org.apache.james.imap.mailbox.MessageRange)
*/
- public List<MailboxMembership> findInMailbox(MessageRange set) throws StorageException {
+ public List<MailboxMembership<Long>> findInMailbox(MessageRange set) throws StorageException {
try {
- final List<MailboxMembership> results;
+ final List<MailboxMembership<Long>> results;
final long from = set.getUidFrom();
final long to = set.getUidTo();
final Type type = set.getType();
@@ -74,21 +74,21 @@ public class JPAMessageMapper extends JP
}
@SuppressWarnings("unchecked")
- private List<MailboxMembership> findMessagesInMailboxAfterUID(long mailboxId, long uid) {
+ private List<MailboxMembership<Long>> findMessagesInMailboxAfterUID(long mailboxId, long uid) {
return entityManager.createNamedQuery("findMessagesInMailboxAfterUID")
.setParameter("idParam", mailboxId)
.setParameter("uidParam", uid).getResultList();
}
@SuppressWarnings("unchecked")
- private List<MailboxMembership> findMessagesInMailboxWithUID(long mailboxId, long uid) {
+ private List<MailboxMembership<Long>> findMessagesInMailboxWithUID(long mailboxId, long uid) {
return entityManager.createNamedQuery("findMessagesInMailboxWithUID")
.setParameter("idParam", mailboxId)
.setParameter("uidParam", uid).getResultList();
}
@SuppressWarnings("unchecked")
- private List<MailboxMembership> findMessagesInMailboxBetweenUIDs(long mailboxId, long from, long to) {
+ private List<MailboxMembership<Long>> findMessagesInMailboxBetweenUIDs(long mailboxId, long from, long to) {
return entityManager.createNamedQuery("findMessagesInMailboxBetweenUIDs")
.setParameter("idParam", mailboxId)
.setParameter("fromParam", from)
@@ -96,16 +96,16 @@ public class JPAMessageMapper extends JP
}
@SuppressWarnings("unchecked")
- private List<MailboxMembership> findMessagesInMailbox(long mailboxId) {
+ private List<MailboxMembership<Long>> findMessagesInMailbox(long mailboxId) {
return entityManager.createNamedQuery("findMessagesInMailbox").setParameter("idParam", mailboxId).getResultList();
}
/**
* @see org.apache.james.imap.store.mail.MessageMapper#findMarkedForDeletionInMailbox(org.apache.james.imap.mailbox.MessageRange)
*/
- public List<MailboxMembership> findMarkedForDeletionInMailbox(final MessageRange set) throws StorageException {
+ public List<MailboxMembership<Long>> findMarkedForDeletionInMailbox(final MessageRange set) throws StorageException {
try {
- final List<MailboxMembership> results;
+ final List<MailboxMembership<Long>> results;
final long from = set.getUidFrom();
final long to = set.getUidTo();
switch (set.getType()) {
@@ -130,26 +130,26 @@ public class JPAMessageMapper extends JP
}
@SuppressWarnings("unchecked")
- private List<MailboxMembership> findDeletedMessagesInMailbox(long mailboxId) {
+ private List<MailboxMembership<Long>> findDeletedMessagesInMailbox(long mailboxId) {
return entityManager.createNamedQuery("findDeletedMessagesInMailbox").setParameter("idParam", mailboxId).getResultList();
}
@SuppressWarnings("unchecked")
- private List<MailboxMembership> findDeletedMessagesInMailboxAfterUID(long mailboxId, long uid) {
+ private List<MailboxMembership<Long>> findDeletedMessagesInMailboxAfterUID(long mailboxId, long uid) {
return entityManager.createNamedQuery("findDeletedMessagesInMailboxBetweenUIDs")
.setParameter("idParam", mailboxId)
.setParameter("uidParam", uid).getResultList();
}
@SuppressWarnings("unchecked")
- private List<MailboxMembership> findDeletedMessagesInMailboxWithUID(long mailboxId, long uid) {
+ private List<MailboxMembership<Long>> findDeletedMessagesInMailboxWithUID(long mailboxId, long uid) {
return entityManager.createNamedQuery("findDeletedMessagesInMailboxBetweenUIDs")
.setParameter("idParam", mailboxId)
.setParameter("uidParam", uid).getResultList();
}
@SuppressWarnings("unchecked")
- private List<MailboxMembership> findDeletedMessagesInMailboxBetweenUIDs(long mailboxId, long from, long to) {
+ private List<MailboxMembership<Long>> findDeletedMessagesInMailboxBetweenUIDs(long mailboxId, long from, long to) {
return entityManager.createNamedQuery("findDeletedMessagesInMailboxBetweenUIDs")
.setParameter("idParam", mailboxId)
.setParameter("fromParam", from)
@@ -182,7 +182,7 @@ public class JPAMessageMapper extends JP
* @see org.apache.james.imap.store.mail.MessageMapper#searchMailbox(org.apache.james.imap.mailbox.SearchQuery)
*/
@SuppressWarnings("unchecked")
- public List<MailboxMembership> searchMailbox(SearchQuery query) throws StorageException {
+ public List<MailboxMembership<Long>> searchMailbox(SearchQuery query) throws StorageException {
try {
final String jql = formulateJQL(mailboxId, query);
return entityManager.createQuery(jql).getResultList();
@@ -221,7 +221,7 @@ public class JPAMessageMapper extends JP
/**
* @see org.apache.james.imap.store.mail.MessageMapper#delete(MailboxMembership)
*/
- public void delete(MailboxMembership message) throws StorageException {
+ public void delete(MailboxMembership<Long> message) throws StorageException {
try {
entityManager.remove(message);
} catch (PersistenceException e) {
@@ -234,7 +234,7 @@ public class JPAMessageMapper extends JP
* @see org.apache.james.imap.store.mail.MessageMapper#findUnseenMessagesInMailbox()
*/
@SuppressWarnings("unchecked")
- public List<MailboxMembership> findUnseenMessagesInMailbox() throws StorageException {
+ public List<MailboxMembership<Long>> findUnseenMessagesInMailbox() throws StorageException {
try {
return entityManager.createNamedQuery("findUnseenMessagesInMailboxOrderByUid").setParameter("idParam", mailboxId).getResultList();
} catch (PersistenceException e) {
@@ -246,7 +246,7 @@ public class JPAMessageMapper extends JP
* @see org.apache.james.imap.store.mail.MessageMapper#findRecentMessagesInMailbox()
*/
@SuppressWarnings("unchecked")
- public List<MailboxMembership> findRecentMessagesInMailbox() throws StorageException {
+ public List<MailboxMembership<Long>> findRecentMessagesInMailbox() throws StorageException {
try {
return entityManager.createNamedQuery("findRecentMessagesInMailbox").setParameter("idParam", mailboxId).getResultList();
} catch (PersistenceException e) {
@@ -257,7 +257,7 @@ public class JPAMessageMapper extends JP
/**
* @see org.apache.james.imap.store.mail.MessageMapper#save(MailboxMembership)
*/
- public void save(MailboxMembership message) throws StorageException {
+ public void save(MailboxMembership<Long> message) throws StorageException {
try {
entityManager.persist(message);
} catch (PersistenceException e) {
Modified: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailbox.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailbox.java (original)
+++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailbox.java Mon Mar 22 17:52:55 2010
@@ -42,7 +42,7 @@ import org.apache.james.imap.store.mail.
@NamedQuery(name="countMailboxesWithNameLike",
query="SELECT COUNT(mailbox) FROM Mailbox mailbox WHERE mailbox.name LIKE :nameParam")
})
-public class JPAMailbox implements Mailbox {
+public class JPAMailbox implements Mailbox<Long> {
private static final String TAB = " ";
@@ -91,7 +91,7 @@ public class JPAMailbox implements Mailb
/**
* @see org.apache.james.imap.store.mail.model.Mailbox#getMailboxId()
*/
- public long getMailboxId() {
+ public Long getMailboxId() {
return mailboxId;
}
Modified: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailboxMembership.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailboxMembership.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailboxMembership.java (original)
+++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/mail/model/JPAMailboxMembership.java Mon Mar 22 17:52:55 2010
@@ -65,7 +65,7 @@ import org.apache.james.imap.store.mail.
@NamedQuery(name="countMessagesInMailbox",
query="SELECT COUNT(membership) FROM Membership membership WHERE membership.mailboxId = :idParam")
})
-public class JPAMailboxMembership extends AbstractMailboxMembership {
+public class JPAMailboxMembership extends AbstractMailboxMembership<Long> {
private static final String TOSTRING_SEPARATOR = " ";
@@ -187,7 +187,7 @@ public class JPAMailboxMembership extend
/**
* @see org.apache.james.imap.store.mail.model.MailboxMembership#getMailboxId()
*/
- public long getMailboxId() {
+ public Long getMailboxId() {
return mailboxId;
}
Modified: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailbox.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailbox.java (original)
+++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailbox.java Mon Mar 22 17:52:55 2010
@@ -36,7 +36,7 @@ import org.apache.james.imap.store.mail.
public class OpenJPAMailbox extends JPAMailbox{
public final static String MAILBOX_MAPPER = "MAILBOX_MAPPER";
- public OpenJPAMailbox(Mailbox mailbox,
+ public OpenJPAMailbox(Mailbox<Long> mailbox,
MailboxSession session, EntityManagerFactory entityManagerfactory) {
super(mailbox, session, entityManagerfactory);
}
Modified: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailboxManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailboxManager.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailboxManager.java (original)
+++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailboxManager.java Mon Mar 22 17:52:55 2010
@@ -42,14 +42,13 @@ public class OpenJPAMailboxManager exten
}
@Override
- protected MailboxMapper createMailboxMapper(MailboxSession session) {
+ protected MailboxMapper<Long> createMailboxMapper(MailboxSession session) {
return new OpenJPAMailboxMapper(entityManagerFactory.createEntityManager());
}
- @Override
- protected StoreMailbox createMailbox(Mailbox mailboxRow, MailboxSession session) {
- StoreMailbox result;
+ protected StoreMailbox<Long> createMailbox(Mailbox<Long> mailboxRow, MailboxSession session) {
+ StoreMailbox<Long> result;
result = new OpenJPAMailbox(mailboxRow, session, entityManagerFactory);
return result;
}
Modified: james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailbox.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailbox.java (original)
+++ james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailbox.java Mon Mar 22 17:52:55 2010
@@ -26,7 +26,7 @@ import org.apache.james.imap.store.mail.
/**
* Mailbox data which is stored only in memory.
*/
-public class InMemoryMailbox implements Mailbox {
+public class InMemoryMailbox implements Mailbox<Long> {
private final long id;
private final long uidValidity;
@@ -49,7 +49,7 @@ public class InMemoryMailbox implements
return nextUid.get();
}
- public long getMailboxId() {
+ public Long getMailboxId() {
return id;
}
Modified: james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java (original)
+++ james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java Mon Mar 22 17:52:55 2010
@@ -36,7 +36,7 @@ import org.apache.james.imap.store.mail.
import org.apache.james.imap.store.mail.model.Mailbox;
import org.apache.james.imap.store.transaction.TransactionalMapper;
-public class InMemoryMailboxManager extends StoreMailboxManager implements MailboxMapper {
+public class InMemoryMailboxManager extends StoreMailboxManager<Long> implements MailboxMapper<Long> {
private static final int INITIAL_SIZE = 128;
private Map<Long, InMemoryMailbox> mailboxesById;
@@ -47,13 +47,13 @@ public class InMemoryMailboxManager exte
}
@Override
- protected StoreMailbox createMailbox(Mailbox mailboxRow, MailboxSession session) {
+ protected StoreMailbox<Long> createMailbox(Mailbox<Long> mailboxRow, MailboxSession session) {
final InMemoryStoreMailbox storeMailbox = new InMemoryStoreMailbox((InMemoryMailbox)mailboxRow, session);
return storeMailbox;
}
@Override
- protected MailboxMapper createMailboxMapper(MailboxSession session) {
+ protected MailboxMapper<Long> createMailboxMapper(MailboxSession session) {
return this;
}
@@ -82,7 +82,7 @@ public class InMemoryMailboxManager exte
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#delete(org.apache.james.imap.store.mail.model.Mailbox)
*/
- public void delete(Mailbox mailbox) throws StorageException {
+ public void delete(Mailbox<Long> mailbox) throws StorageException {
mailboxesById.remove(mailbox.getMailboxId());
}
@@ -94,11 +94,12 @@ public class InMemoryMailboxManager exte
mailboxesById.clear();
}
+
/*
* (non-Javadoc)
- * @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxById(long)
+ * @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxById(java.lang.Object)
*/
- public Mailbox findMailboxById(long mailboxId) throws StorageException, MailboxNotFoundException {
+ public Mailbox<Long> findMailboxById(Long mailboxId) throws StorageException, MailboxNotFoundException {
return mailboxesById.get(mailboxesById);
}
@@ -106,8 +107,8 @@ public class InMemoryMailboxManager exte
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxByName(java.lang.String)
*/
- public Mailbox findMailboxByName(String name) throws StorageException, MailboxNotFoundException {
- Mailbox result = null;
+ public Mailbox<Long> findMailboxByName(String name) throws StorageException, MailboxNotFoundException {
+ Mailbox<Long> result = null;
for (final InMemoryMailbox mailbox:mailboxesById.values()) {
if (mailbox.getName().equals(name)) {
result = mailbox;
@@ -121,9 +122,9 @@ public class InMemoryMailboxManager exte
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#findMailboxWithNameLike(java.lang.String)
*/
- public List<Mailbox> findMailboxWithNameLike(String name) throws StorageException {
+ public List<Mailbox<Long>> findMailboxWithNameLike(String name) throws StorageException {
final String regex = name.replace("%", ".*");
- List<Mailbox> results = new ArrayList<Mailbox>();
+ List<Mailbox<Long>> results = new ArrayList<Mailbox<Long>>();
for (final InMemoryMailbox mailbox:mailboxesById.values()) {
if (mailbox.getName().matches(regex)) {
results.add(mailbox);
@@ -151,7 +152,7 @@ public class InMemoryMailboxManager exte
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MailboxMapper#save(org.apache.james.imap.store.mail.model.Mailbox)
*/
- public void save(Mailbox mailbox) throws StorageException {
+ public void save(Mailbox<Long> mailbox) throws StorageException {
mailboxesById.put(mailbox.getMailboxId(), (InMemoryMailbox) mailbox);
}
@@ -170,7 +171,7 @@ public class InMemoryMailboxManager exte
*/
public void deleteEverything() throws MailboxException {
- final MailboxMapper mapper = createMailboxMapper(null);
+ final MailboxMapper<Long> mapper = createMailboxMapper(null);
mapper.execute(new TransactionalMapper.Transaction() {
public void run() throws MailboxException {
Modified: james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryStoreMailbox.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryStoreMailbox.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryStoreMailbox.java (original)
+++ james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryStoreMailbox.java Mon Mar 22 17:52:55 2010
@@ -42,20 +42,20 @@ import org.apache.james.imap.store.mail.
import org.apache.james.imap.store.mail.model.MailboxMembership;
import org.apache.james.imap.store.mail.model.PropertyBuilder;
-public class InMemoryStoreMailbox extends StoreMailbox implements MessageMapper {
+public class InMemoryStoreMailbox extends StoreMailbox<Long> implements MessageMapper<Long> {
private static final int INITIAL_SIZE = 256;
- private Map<Long, MailboxMembership> membershipByUid;
+ private Map<Long, MailboxMembership<Long>> membershipByUid;
private InMemoryMailbox mailbox;
public InMemoryStoreMailbox(InMemoryMailbox mailbox, MailboxSession session) {
super(mailbox,session);
this.mailbox = mailbox;
- this.membershipByUid = new ConcurrentHashMap<Long, MailboxMembership>(INITIAL_SIZE);
+ this.membershipByUid = new ConcurrentHashMap<Long, MailboxMembership<Long>>(INITIAL_SIZE);
}
@Override
- protected MailboxMembership copyMessage(MailboxMembership originalMessage, long uid) {
+ protected MailboxMembership<Long> copyMessage(MailboxMembership<Long> originalMessage, long uid) {
return new SimpleMailboxMembership(mailboxId, uid, (SimpleMailboxMembership) originalMessage);
}
@@ -65,23 +65,23 @@ public class InMemoryStoreMailbox extend
}
@Override
- protected MailboxMembership createMessage(Date internalDate, long uid, int size, int bodyStartOctet,
+ protected MailboxMembership<Long> createMessage(Date internalDate, long uid, int size, int bodyStartOctet,
byte[] document, Flags flags, List<Header> headers, PropertyBuilder propertyBuilder) {
return new SimpleMailboxMembership(internalDate, uid, size, bodyStartOctet, document, flags, headers, propertyBuilder, mailboxId);
}
@Override
- protected MessageMapper createMessageMapper(MailboxSession session) {
+ protected MessageMapper<Long> createMessageMapper(MailboxSession session) {
return this;
}
@Override
- protected Mailbox getMailboxRow() throws MailboxException {
+ protected Mailbox<Long> getMailboxRow() throws MailboxException {
return mailbox;
}
@Override
- protected Mailbox reserveNextUid() throws MailboxException {
+ protected Mailbox<Long> reserveNextUid() throws MailboxException {
mailbox.consumeUid();
return mailbox;
}
@@ -100,7 +100,7 @@ public class InMemoryStoreMailbox extend
*/
public long countUnseenMessagesInMailbox() throws StorageException {
long count = 0;
- for(MailboxMembership member:membershipByUid.values()) {
+ for(MailboxMembership<Long> member:membershipByUid.values()) {
if (!member.isSeen()) {
count++;
}
@@ -112,29 +112,29 @@ public class InMemoryStoreMailbox extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#delete(org.apache.james.imap.store.mail.model.MailboxMembership)
*/
- public void delete(MailboxMembership message) throws StorageException {
+ public void delete(MailboxMembership<Long> message) throws StorageException {
membershipByUid.remove(message.getUid());
}
@SuppressWarnings("unchecked")
- public List<MailboxMembership> findInMailbox(MessageRange set) throws StorageException {
- final List<MailboxMembership> results;
+ public List<MailboxMembership<Long>> findInMailbox(MessageRange set) throws StorageException {
+ final List<MailboxMembership<Long>> results;
final MessageRange.Type type = set.getType();
switch (type) {
case ALL:
- results = new ArrayList<MailboxMembership>(membershipByUid.values());
+ results = new ArrayList<MailboxMembership<Long>>(membershipByUid.values());
break;
case FROM:
- results = new ArrayList<MailboxMembership>(membershipByUid.values());
- for (final Iterator<MailboxMembership> it=results.iterator();it.hasNext();) {
+ results = new ArrayList<MailboxMembership<Long>>(membershipByUid.values());
+ for (final Iterator<MailboxMembership<Long>> it=results.iterator();it.hasNext();) {
if (it.next().getUid()< set.getUidFrom()) {
it.remove();
}
}
break;
case RANGE:
- results = new ArrayList<MailboxMembership>(membershipByUid.values());
- for (final Iterator<MailboxMembership> it=results.iterator();it.hasNext();) {
+ results = new ArrayList<MailboxMembership<Long>>(membershipByUid.values());
+ for (final Iterator<MailboxMembership<Long>> it=results.iterator();it.hasNext();) {
final long uid = it.next().getUid();
if (uid<set.getUidFrom() || uid>set.getUidTo()) {
it.remove();
@@ -142,14 +142,14 @@ public class InMemoryStoreMailbox extend
}
break;
case ONE:
- results = new ArrayList<MailboxMembership>(1);
+ results = new ArrayList<MailboxMembership<Long>>(1);
final MailboxMembership member = membershipByUid.get(set.getUidFrom());
if (member != null) {
results.add(member);
}
break;
default:
- results = Collections.EMPTY_LIST;
+ results = new ArrayList<MailboxMembership<Long>>();
break;
}
Collections.sort(results, MailboxMembershipComparator.INSTANCE);
@@ -160,9 +160,9 @@ public class InMemoryStoreMailbox extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#findMarkedForDeletionInMailbox(org.apache.james.imap.mailbox.MessageRange)
*/
- public List<MailboxMembership> findMarkedForDeletionInMailbox(MessageRange set) throws StorageException {
- final List<MailboxMembership> results = findInMailbox(set);
- for(final Iterator<MailboxMembership> it=results.iterator();it.hasNext();) {
+ public List<MailboxMembership<Long>> findMarkedForDeletionInMailbox(MessageRange set) throws StorageException {
+ final List<MailboxMembership<Long>> results = findInMailbox(set);
+ for(final Iterator<MailboxMembership<Long>> it=results.iterator();it.hasNext();) {
if (!it.next().isDeleted()) {
it.remove();
}
@@ -174,9 +174,9 @@ public class InMemoryStoreMailbox extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#findRecentMessagesInMailbox()
*/
- public List<MailboxMembership> findRecentMessagesInMailbox() throws StorageException {
- final List<MailboxMembership> results = new ArrayList<MailboxMembership>();
- for(MailboxMembership member:membershipByUid.values()) {
+ public List<MailboxMembership<Long>> findRecentMessagesInMailbox() throws StorageException {
+ final List<MailboxMembership<Long>> results = new ArrayList<MailboxMembership<Long>>();
+ for(MailboxMembership<Long> member:membershipByUid.values()) {
if (member.isRecent()) {
results.add(member);
}
@@ -190,9 +190,9 @@ public class InMemoryStoreMailbox extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#findUnseenMessagesInMailbox()
*/
- public List<MailboxMembership> findUnseenMessagesInMailbox() throws StorageException {
- final List<MailboxMembership> results = new ArrayList<MailboxMembership>();
- for(MailboxMembership member:membershipByUid.values()) {
+ public List<MailboxMembership<Long>> findUnseenMessagesInMailbox() throws StorageException {
+ final List<MailboxMembership<Long>> results = new ArrayList<MailboxMembership<Long>>();
+ for(MailboxMembership<Long> member:membershipByUid.values()) {
if (!member.isSeen()) {
results.add(member);
}
@@ -205,7 +205,7 @@ public class InMemoryStoreMailbox extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#save(org.apache.james.imap.store.mail.model.MailboxMembership)
*/
- public void save(MailboxMembership message) throws StorageException {
+ public void save(MailboxMembership<Long> message) throws StorageException {
membershipByUid.put(message.getUid(), message);
}
@@ -213,8 +213,8 @@ public class InMemoryStoreMailbox extend
* (non-Javadoc)
* @see org.apache.james.imap.store.mail.MessageMapper#searchMailbox(org.apache.james.imap.mailbox.SearchQuery)
*/
- public List<MailboxMembership> searchMailbox(SearchQuery query) throws StorageException {
- return new ArrayList<MailboxMembership>(membershipByUid.values());
+ public List<MailboxMembership<Long>> searchMailbox(SearchQuery query) throws StorageException {
+ return new ArrayList<MailboxMembership<Long>>(membershipByUid.values());
}
Modified: james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/SimpleMailboxMembership.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/SimpleMailboxMembership.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/SimpleMailboxMembership.java (original)
+++ james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/SimpleMailboxMembership.java Mon Mar 22 17:52:55 2010
@@ -32,7 +32,7 @@ import org.apache.james.imap.store.mail.
import org.apache.james.imap.store.mail.model.Property;
import org.apache.james.imap.store.mail.model.PropertyBuilder;
-public class SimpleMailboxMembership extends AbstractMailboxMembership implements Document, Comparable<MailboxMembership> {
+public class SimpleMailboxMembership extends AbstractMailboxMembership<Long> implements Document, Comparable<MailboxMembership<Long>> {
private final long uid;
private final long mailboxId;
@@ -97,7 +97,7 @@ public class SimpleMailboxMembership ext
return internalDate;
}
- public long getMailboxId() {
+ public Long getMailboxId() {
return mailboxId;
}
@@ -206,7 +206,7 @@ public class SimpleMailboxMembership ext
return true;
}
- public int compareTo(MailboxMembership o) {
+ public int compareTo(MailboxMembership<Long> o) {
final long otherUid = getUid();
return uid < otherUid ? -1 : uid == otherUid ? 0 : 1;
}
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMembershipComparator.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMembershipComparator.java?rev=926222&r1=926221&r2=926222&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMembershipComparator.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MailboxMembershipComparator.java Mon Mar 22 17:52:55 2010
@@ -26,7 +26,7 @@ import org.apache.james.imap.store.mail.
/**
* UID comparator for mailbox membership.
*/
-public final class MailboxMembershipComparator implements Comparator<MailboxMembership> {
+public final class MailboxMembershipComparator implements Comparator<MailboxMembership<?>> {
public static final MailboxMembershipComparator INSTANCE = new MailboxMembershipComparator();
@@ -36,7 +36,7 @@ public final class MailboxMembershipComp
* (non-Javadoc)
* @see java.util.Comparator#compare(java.lang.Object, java.lang.Object)
*/
- public int compare(MailboxMembership o1, MailboxMembership o2) {
+ public int compare(MailboxMembership<?> o1, MailboxMembership<?> o2) {
final long uid = o1.getUid();
final long otherUid = o2.getUid();
return uid < otherUid ? -1 : uid == otherUid ? 0 : 1;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org