Author: norman
Date: Sun Aug 22 12:13:40 2010
New Revision: 987884

URL: http://svn.apache.org/viewvc?rev=987884&view=rev
Log:
 Straighten Non-/TransactionalMapper Hierarchy (IMAP-206). Thx to Tim-Christian 
Mundt for the patch :)

Added:
    
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/Mapper.java
      - copied, changed from r987768, 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/TransactionalMapper.java
    
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/TransactionalMapper.java
      - copied, changed from r987768, 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/AbstractTransactionalMapper.java
Removed:
    
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/AbstractTransactionalMapper.java
Modified:
    
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/AbstractJCRMapper.java
    
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java
    
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPATransactionalMapper.java
    
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java
    
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMessageMapper.java
    
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/user/MaildirSubscriptionMapper.java
    
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxSessionMapperFactory.java
    
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemorySubscriptionManager.java
    
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java
    
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMessageMapper.java
    
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/user/InMemorySubscriptionMapper.java
    
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MapperStoreMessageManager.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/StoreSubscriptionManager.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/transaction/NonTransactionalMapper.java
    
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/user/SubscriptionMapper.java

Modified: 
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/AbstractJCRMapper.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/AbstractJCRMapper.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/AbstractJCRMapper.java
 (original)
+++ 
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/AbstractJCRMapper.java
 Sun Aug 22 12:13:40 2010
@@ -25,7 +25,7 @@ import org.apache.commons.logging.Log;
 import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.mailbox.MailboxException;
 import org.apache.james.imap.mailbox.MailboxSession;
-import org.apache.james.imap.store.transaction.AbstractTransactionalMapper;
+import org.apache.james.imap.store.transaction.TransactionalMapper;
 
 /**
  * Abstract Mapper base class for Level 1 Implementations of JCR. So no real 
transaction management is used. 
@@ -33,7 +33,7 @@ import org.apache.james.imap.store.trans
  * The Session.save() will get called on commit() method,  
session.refresh(false) on rollback, and session.refresh(true) on begin()
  *
  */
-public abstract class AbstractJCRMapper extends AbstractTransactionalMapper 
implements JCRImapConstants {
+public abstract class AbstractJCRMapper extends TransactionalMapper implements 
JCRImapConstants {
     public final static String MAILBOXES_PATH =  "mailboxes";
 
     private final Log logger;

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=987884&r1=987883&r2=987884&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
 Sun Aug 22 12:13:40 2010
@@ -30,7 +30,7 @@ import org.apache.james.imap.store.Authe
 import org.apache.james.imap.store.StoreMailboxManager;
 import org.apache.james.imap.store.MapperStoreMessageManager;
 import org.apache.james.imap.store.mail.model.Mailbox;
-import org.apache.james.imap.store.transaction.TransactionalMapper;
+import org.apache.james.imap.store.transaction.Mapper;
 
 /**
  * JCR implementation of a MailboxManager
@@ -60,7 +60,7 @@ public class JCRMailboxManager extends S
     protected void doCreateMailbox(MailboxPath path, MailboxSession session) 
throws MailboxException {
         final Mailbox<String> mailbox = new 
org.apache.james.imap.jcr.mail.model.JCRMailbox(path, randomUidValidity(), 
logger);
         final JCRMailboxMapper mapper = (JCRMailboxMapper) 
mapperFactory.getMailboxMapper(session);
-        mapper.execute(new TransactionalMapper.VoidTransaction() {
+        mapper.execute(new Mapper.VoidTransaction() {
 
             public void runVoid() throws MailboxException {
                 mapper.save(mailbox);

Modified: 
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPATransactionalMapper.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPATransactionalMapper.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPATransactionalMapper.java
 (original)
+++ 
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPATransactionalMapper.java
 Sun Aug 22 12:13:40 2010
@@ -26,13 +26,13 @@ import javax.persistence.PersistenceExce
 import org.apache.james.imap.api.display.HumanReadableText;
 import org.apache.james.imap.mailbox.MailboxException;
 import org.apache.james.imap.mailbox.StorageException;
-import org.apache.james.imap.store.transaction.AbstractTransactionalMapper;
+import org.apache.james.imap.store.transaction.TransactionalMapper;
 
 /**
  * JPA implementation of TransactionMapper. This class is not thread-safe!
  *
  */
-public abstract class JPATransactionalMapper extends 
AbstractTransactionalMapper {
+public abstract class JPATransactionalMapper extends TransactionalMapper {
 
     protected EntityManagerFactory entityManagerFactory;
     protected EntityManager entityManager;

Modified: 
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java
 (original)
+++ 
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMailboxMapper.java
 Sun Aug 22 12:13:40 2010
@@ -29,7 +29,6 @@ import org.apache.commons.io.FileUtils;
 import org.apache.commons.lang.NotImplementedException;
 import org.apache.james.imap.api.MailboxPath;
 import org.apache.james.imap.api.display.HumanReadableText;
-import org.apache.james.imap.mailbox.MailboxException;
 import org.apache.james.imap.mailbox.MailboxNotFoundException;
 import org.apache.james.imap.mailbox.StorageException;
 import org.apache.james.imap.maildir.MaildirFolder;
@@ -38,8 +37,9 @@ import org.apache.james.imap.maildir.Mai
 import org.apache.james.imap.maildir.mail.model.MaildirMailbox;
 import org.apache.james.imap.store.mail.MailboxMapper;
 import org.apache.james.imap.store.mail.model.Mailbox;
+import org.apache.james.imap.store.transaction.NonTransactionalMapper;
 
-public class MaildirMailboxMapper implements MailboxMapper<Integer> {
+public class MaildirMailboxMapper extends NonTransactionalMapper implements 
MailboxMapper<Integer> {
 
     /**
      * The {...@link MaildirStore} the mailboxes reside in
@@ -210,15 +210,6 @@ public class MaildirMailboxMapper implem
     public void endRequest() {
         mailboxCache.clear();
     }
-
-    /*
-     * (non-Javadoc)
-     * @see 
org.apache.james.imap.store.transaction.TransactionalMapper#execute(org.apache.james.imap.store.transaction.TransactionalMapper.Transaction)
-     */
-    public <T> T execute(Transaction<T> transaction) throws MailboxException {
-        // no transactions used
-        return transaction.run();
-    }
     
     /**
      * Stores a copy of a mailbox in a cache valid for one request. This is to 
enable

Modified: 
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMessageMapper.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMessageMapper.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMessageMapper.java
 (original)
+++ 
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/mail/MaildirMessageMapper.java
 Sun Aug 22 12:13:40 2010
@@ -57,12 +57,13 @@ import org.apache.james.imap.store.mail.
 import org.apache.james.imap.store.mail.model.PropertyBuilder;
 import org.apache.james.imap.store.streaming.ConfigurableMimeTokenStream;
 import org.apache.james.imap.store.streaming.CountingInputStream;
+import org.apache.james.imap.store.transaction.NonTransactionalMapper;
 import org.apache.james.mime4j.MimeException;
 import org.apache.james.mime4j.descriptor.MaximalBodyDescriptor;
 import org.apache.james.mime4j.parser.MimeEntityConfig;
 import org.apache.james.mime4j.parser.MimeTokenStream;
 
-public class MaildirMessageMapper implements MessageMapper<Integer> {
+public class MaildirMessageMapper extends NonTransactionalMapper implements 
MessageMapper<Integer> {
 
     private final MaildirStore maildirStore;
     private final int BUF_SIZE = 2048;
@@ -443,15 +444,6 @@ public class MaildirMessageMapper implem
         // not used
         
     }
-
-    /* 
-     * (non-Javadoc)
-     * @see 
org.apache.james.imap.store.transaction.TransactionalMapper#execute(org.apache.james.imap.store.transaction.TransactionalMapper.Transaction)
-     */
-    public <T> T execute(Transaction<T> transaction) throws MailboxException {
-        // no transactions used
-        return transaction.run();
-    }
     
     /**
      * Creates a {...@link MaildirMessage} object with data loaded from the 
repository.

Modified: 
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/user/MaildirSubscriptionMapper.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/user/MaildirSubscriptionMapper.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/user/MaildirSubscriptionMapper.java
 (original)
+++ 
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/user/MaildirSubscriptionMapper.java
 Sun Aug 22 12:13:40 2010
@@ -34,10 +34,11 @@ import org.apache.james.imap.api.display
 import org.apache.james.imap.mailbox.MailboxException;
 import org.apache.james.imap.mailbox.SubscriptionException;
 import org.apache.james.imap.maildir.user.model.MaildirSubscription;
+import org.apache.james.imap.store.transaction.NonTransactionalMapper;
 import org.apache.james.imap.store.user.SubscriptionMapper;
 import org.apache.james.imap.store.user.model.Subscription;
 
-public class MaildirSubscriptionMapper implements SubscriptionMapper {
+public class MaildirSubscriptionMapper extends NonTransactionalMapper 
implements SubscriptionMapper {
 
     private static final String PATH_USER = "%user";
     private static final String FILE_SUBSCRIPTION = "subscriptions";
@@ -118,14 +119,6 @@ public class MaildirSubscriptionMapper i
     public void endRequest() {
         // nothing to do
     }
-
-    /*
-     * (non-Javadoc)
-     * @see 
org.apache.james.imap.store.transaction.TransactionalMapper#execute(org.apache.james.imap.store.transaction.TransactionalMapper.Transaction)
-     */
-    public <T> T execute(Transaction<T> transaction) throws MailboxException {
-        return transaction.run();
-    }
     
     /**
      * Get the folder name of the folder containing the user's mailboxes 

Modified: 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxSessionMapperFactory.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxSessionMapperFactory.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxSessionMapperFactory.java
 (original)
+++ 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxSessionMapperFactory.java
 Sun Aug 22 12:13:40 2010
@@ -28,7 +28,7 @@ import org.apache.james.imap.mailbox.Sub
 import org.apache.james.imap.store.MailboxSessionMapperFactory;
 import org.apache.james.imap.store.mail.MailboxMapper;
 import org.apache.james.imap.store.mail.MessageMapper;
-import org.apache.james.imap.store.transaction.TransactionalMapper;
+import org.apache.james.imap.store.transaction.Mapper;
 import org.apache.james.imap.store.user.SubscriptionMapper;
 
 public class InMemoryMailboxSessionMapperFactory extends 
MailboxSessionMapperFactory<Long> {
@@ -64,7 +64,7 @@ public class InMemoryMailboxSessionMappe
     
     public void deleteAll() throws MailboxException {
         final MailboxMapper<Long> mapper = mailboxMapper;
-        mapper.execute(new TransactionalMapper.VoidTransaction() {
+        mapper.execute(new Mapper.VoidTransaction() {
 
             public void runVoid() throws MailboxException {
                 mapper.deleteAll(); 

Modified: 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemorySubscriptionManager.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemorySubscriptionManager.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemorySubscriptionManager.java
 (original)
+++ 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemorySubscriptionManager.java
 Sun Aug 22 12:13:40 2010
@@ -23,7 +23,7 @@ import org.apache.james.imap.mailbox.Mai
 import org.apache.james.imap.mailbox.MailboxSession;
 import org.apache.james.imap.store.MailboxSessionMapperFactory;
 import org.apache.james.imap.store.StoreSubscriptionManager;
-import org.apache.james.imap.store.transaction.TransactionalMapper.Transaction;
+import org.apache.james.imap.store.transaction.Mapper.Transaction;
 import org.apache.james.imap.store.user.model.Subscription;
 
 /**

Modified: 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java
 (original)
+++ 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMailboxMapper.java
 Sun Aug 22 12:13:40 2010
@@ -25,13 +25,13 @@ import java.util.concurrent.ConcurrentHa
 
 import org.apache.james.imap.api.MailboxPath;
 import org.apache.james.imap.inmemory.mail.model.InMemoryMailbox;
-import org.apache.james.imap.mailbox.MailboxException;
 import org.apache.james.imap.mailbox.MailboxNotFoundException;
 import org.apache.james.imap.mailbox.StorageException;
 import org.apache.james.imap.store.mail.MailboxMapper;
 import org.apache.james.imap.store.mail.model.Mailbox;
+import org.apache.james.imap.store.transaction.NonTransactionalMapper;
 
-public class InMemoryMailboxMapper implements MailboxMapper<Long> {
+public class InMemoryMailboxMapper extends NonTransactionalMapper implements 
MailboxMapper<Long> {
     
     private static final int INITIAL_SIZE = 128;
     private final Map<Long, InMemoryMailbox> mailboxesById;
@@ -115,14 +115,6 @@ public class InMemoryMailboxMapper imple
         mailboxesById.put(mailbox.getMailboxId(), (InMemoryMailbox) mailbox);
     }
 
-    /*
-     * (non-Javadoc)
-     * @see 
org.apache.james.imap.store.transaction.TransactionalMapper#execute(org.apache.james.imap.store.transaction.TransactionalMapper.Transaction)
-     */
-    public <T> T execute(Transaction<T> transaction) throws MailboxException {
-        return transaction.run();
-    }
-
     /**
      * Do nothing
      */

Modified: 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMessageMapper.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMessageMapper.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMessageMapper.java
 (original)
+++ 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/mail/InMemoryMessageMapper.java
 Sun Aug 22 12:13:40 2010
@@ -9,7 +9,6 @@ import java.util.concurrent.ConcurrentHa
 
 import org.apache.james.imap.inmemory.mail.model.InMemoryMailbox;
 import org.apache.james.imap.inmemory.mail.model.SimpleMailboxMembership;
-import org.apache.james.imap.mailbox.MailboxException;
 import org.apache.james.imap.mailbox.MessageRange;
 import org.apache.james.imap.mailbox.SearchQuery;
 import org.apache.james.imap.mailbox.StorageException;
@@ -18,8 +17,9 @@ import org.apache.james.imap.store.Searc
 import org.apache.james.imap.store.mail.MessageMapper;
 import org.apache.james.imap.store.mail.model.Mailbox;
 import org.apache.james.imap.store.mail.model.MailboxMembership;
+import org.apache.james.imap.store.transaction.NonTransactionalMapper;
 
-public class InMemoryMessageMapper implements MessageMapper<Long> {
+public class InMemoryMessageMapper extends NonTransactionalMapper implements 
MessageMapper<Long> {
 
     private Map<Long, Map<Long, MailboxMembership<Long>>> mailboxByUid;
     private static final int INITIAL_SIZE = 256;
@@ -179,13 +179,6 @@ public class InMemoryMessageMapper imple
 
         return new SearchQueryIterator(memberships.iterator(), query);
     }
-
-    /**
-     * There is no really Transaction handling here.. Just run it 
-     */
-    public <T> T execute(Transaction<T> transaction) throws MailboxException {
-        return transaction.run();
-    }
     
     public void deleteAll() {
         mailboxByUid.clear();

Modified: 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/user/InMemorySubscriptionMapper.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/user/InMemorySubscriptionMapper.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/user/InMemorySubscriptionMapper.java
 (original)
+++ 
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/user/InMemorySubscriptionMapper.java
 Sun Aug 22 12:13:40 2010
@@ -24,11 +24,11 @@ import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.apache.james.imap.mailbox.MailboxException;
+import org.apache.james.imap.store.transaction.NonTransactionalMapper;
 import org.apache.james.imap.store.user.SubscriptionMapper;
 import org.apache.james.imap.store.user.model.Subscription;
 
-public class InMemorySubscriptionMapper implements SubscriptionMapper {
+public class InMemorySubscriptionMapper extends NonTransactionalMapper 
implements SubscriptionMapper {
     
     private static final int INITIAL_SIZE = 64;
     private final Map<String, List<Subscription>> subscriptionsByUser;
@@ -99,14 +99,6 @@ public class InMemorySubscriptionMapper 
             subscriptions.add(subscription);
         }
     }
-
-    /*
-     * (non-Javadoc)
-     * @see 
org.apache.james.imap.store.transaction.TransactionalMapper#execute(org.apache.james.imap.store.transaction.TransactionalMapper.Transaction)
-     */
-    public <T> T execute(Transaction<T> transaction) throws MailboxException {
-        return transaction.run();
-    }
     
     public void deleteAll() {
         subscriptionsByUser.clear();

Modified: 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MapperStoreMessageManager.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MapperStoreMessageManager.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MapperStoreMessageManager.java
 (original)
+++ 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/MapperStoreMessageManager.java
 Sun Aug 22 12:13:40 2010
@@ -39,7 +39,7 @@ import org.apache.james.imap.mailbox.uti
 import org.apache.james.imap.store.mail.MessageMapper;
 import org.apache.james.imap.store.mail.model.Mailbox;
 import org.apache.james.imap.store.mail.model.MailboxMembership;
-import org.apache.james.imap.store.transaction.TransactionalMapper;
+import org.apache.james.imap.store.transaction.Mapper;
 
 /**
  * Abstract base class for {...@link org.apache.james.imap.mailbox.Mailbox} 
implementations.
@@ -63,7 +63,7 @@ public abstract class MapperStoreMessage
     @Override
     protected long appendMessageToStore(final MailboxMembership<Id> message, 
MailboxSession session) throws MailboxException {
         final MessageMapper<Id> mapper = 
mapperFactory.getMessageMapper(session);
-        return mapperFactory.getMessageMapper(session).execute(new 
TransactionalMapper.Transaction<Long>() {
+        return mapperFactory.getMessageMapper(session).execute(new 
Mapper.Transaction<Long>() {
 
             public Long run() throws MailboxException {
                 return mapper.save(getMailboxEntity(), message);
@@ -105,7 +105,7 @@ public abstract class MapperStoreMessage
     protected List<Long> recent(final boolean reset, MailboxSession 
mailboxSession) throws MailboxException {
         final MessageMapper<Id> messageMapper = 
mapperFactory.getMessageMapper(mailboxSession);
         
-        return messageMapper.execute(new 
TransactionalMapper.Transaction<List<Long>>() {
+        return messageMapper.execute(new Mapper.Transaction<List<Long>>() {
 
             public List<Long> run() throws MailboxException {
                 final List<MailboxMembership<Id>> members = 
messageMapper.findRecentMessagesInMailbox(getMailboxEntity(), -1);
@@ -131,7 +131,7 @@ public abstract class MapperStoreMessage
     protected Iterator<Long> deleteMarkedInMailbox(final MessageRange range, 
final MailboxSession session) throws MailboxException {
         final MessageMapper<Id> messageMapper = 
mapperFactory.getMessageMapper(session);
 
-        return messageMapper.execute(new 
TransactionalMapper.Transaction<Iterator<Long>>() {
+        return messageMapper.execute(new Mapper.Transaction<Iterator<Long>>() {
 
             public Iterator<Long> run() throws MailboxException {
                 final Collection<Long> uids = new TreeSet<Long>();
@@ -158,7 +158,7 @@ public abstract class MapperStoreMessage
             final MessageRange set, MailboxSession mailboxSession) throws 
MailboxException {
         final MessageMapper<Id> messageMapper = 
mapperFactory.getMessageMapper(mailboxSession);
 
-        return messageMapper.execute(new 
TransactionalMapper.Transaction<Iterator<UpdatedFlag>>(){
+        return messageMapper.execute(new 
Mapper.Transaction<Iterator<UpdatedFlag>>(){
 
             public Iterator<UpdatedFlag> run() throws MailboxException {
                 final List<UpdatedFlag> updatedFlags = new 
ArrayList<UpdatedFlag>();
@@ -207,7 +207,7 @@ public abstract class MapperStoreMessage
             final MessageMapper<Id> messageMapper = 
mapperFactory.getMessageMapper(session);
 
             for (final MailboxMembership<Id> originalMessage:originalRows) {
-               copiedRows.add(messageMapper.execute(new 
TransactionalMapper.Transaction<Long>() {
+               copiedRows.add(messageMapper.execute(new 
Mapper.Transaction<Long>() {
 
                     public Long run() throws MailboxException {
 

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=987884&r1=987883&r2=987884&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
 Sun Aug 22 12:13:40 2010
@@ -41,7 +41,7 @@ import org.apache.james.imap.mailbox.uti
 import org.apache.james.imap.mailbox.util.SimpleMailboxMetaData;
 import org.apache.james.imap.store.mail.MailboxMapper;
 import org.apache.james.imap.store.mail.model.Mailbox;
-import org.apache.james.imap.store.transaction.TransactionalMapper;
+import org.apache.james.imap.store.transaction.Mapper;
 
 /**
  * This abstract base class of an {...@link MailboxManager} implementation 
provides a high-level api for writing your own
@@ -143,7 +143,7 @@ public abstract class StoreMailboxManage
         session.getLog().info("deleteMailbox " + mailboxPath);
         final MailboxMapper<Id> mapper = 
mailboxSessionMapperFactory.getMailboxMapper(session);
 
-        mapper.execute(new TransactionalMapper.VoidTransaction() {
+        mapper.execute(new Mapper.VoidTransaction() {
 
             public void runVoid() throws MailboxException {
                 Mailbox<Id> mailbox = mapper.findMailboxByPath(mailboxPath);
@@ -172,7 +172,7 @@ public abstract class StoreMailboxManage
         }
 
         final MailboxMapper<Id> mapper = 
mailboxSessionMapperFactory.getMailboxMapper(session);
-        mapper.execute(new TransactionalMapper.VoidTransaction() {
+        mapper.execute(new Mapper.VoidTransaction() {
 
             public void runVoid() throws MailboxException {
                 // TODO put this into a serilizable transaction

Modified: 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreSubscriptionManager.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreSubscriptionManager.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreSubscriptionManager.java
 (original)
+++ 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreSubscriptionManager.java
 Sun Aug 22 12:13:40 2010
@@ -26,7 +26,7 @@ import org.apache.james.imap.mailbox.Mai
 import org.apache.james.imap.mailbox.MailboxSession;
 import org.apache.james.imap.mailbox.SubscriptionException;
 import org.apache.james.imap.mailbox.SubscriptionManager;
-import org.apache.james.imap.store.transaction.TransactionalMapper;
+import org.apache.james.imap.store.transaction.Mapper;
 import org.apache.james.imap.store.user.SubscriptionMapper;
 import org.apache.james.imap.store.user.model.Subscription;
 
@@ -50,7 +50,7 @@ public abstract class StoreSubscriptionM
     public void subscribe(final MailboxSession session, final String mailbox) 
throws SubscriptionException {
         final SubscriptionMapper mapper = 
mapperFactory.getSubscriptionMapper(session);
         try {
-            mapper.execute(new TransactionalMapper.VoidTransaction() {
+            mapper.execute(new Mapper.VoidTransaction() {
 
                 public void runVoid() throws MailboxException {
                     final Subscription subscription = 
mapper.findMailboxSubscriptionForUser(session.getUser().getUserName(), mailbox);
@@ -97,7 +97,7 @@ public abstract class StoreSubscriptionM
     public void unsubscribe(final MailboxSession session, final String 
mailbox) throws SubscriptionException {
         final SubscriptionMapper mapper = 
mapperFactory.getSubscriptionMapper(session);
         try {
-            mapper.execute(new TransactionalMapper.VoidTransaction() {
+            mapper.execute(new Mapper.VoidTransaction() {
 
                 public void runVoid() throws MailboxException {
                     final Subscription subscription = 
mapper.findMailboxSubscriptionForUser(session.getUser().getUserName(), mailbox);

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=987884&r1=987883&r2=987884&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
 Sun Aug 22 12:13:40 2010
@@ -24,14 +24,14 @@ import org.apache.james.imap.api.Mailbox
 import org.apache.james.imap.mailbox.MailboxNotFoundException;
 import org.apache.james.imap.mailbox.StorageException;
 import org.apache.james.imap.store.mail.model.Mailbox;
-import org.apache.james.imap.store.transaction.TransactionalMapper;
+import org.apache.james.imap.store.transaction.Mapper;
 
 /**
  * Mapper for {...@link Mailbox} actions. A {...@link MailboxMapper} has a 
lifecycle from the start of a request 
  * to the end of the request.
  *
  */
-public interface MailboxMapper<Id> extends TransactionalMapper {
+public interface MailboxMapper<Id> extends Mapper {
     
     /**
      * Save the give {...@link Mailbox} to the underlying storage

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=987884&r1=987883&r2=987884&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
 Sun Aug 22 12:13:40 2010
@@ -27,13 +27,13 @@ import org.apache.james.imap.mailbox.Sto
 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.transaction.TransactionalMapper;
+import org.apache.james.imap.store.transaction.Mapper;
 
 /**
  * Maps {...@link Document} in a {...@link 
org.apache.james.imap.mailbox.Mailbox}. A {...@link MessageMapper} has a 
lifecycle from the start of a request 
  * to the end of the request.
  */
-public interface MessageMapper<Id> extends TransactionalMapper {
+public interface MessageMapper<Id> extends Mapper {
 
     /**
      * Return a List of {...@link MailboxMembership} which represent the given 
{...@link MessageRange}

Copied: 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/Mapper.java
 (from r987768, 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/TransactionalMapper.java)
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/Mapper.java?p2=james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/Mapper.java&p1=james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/TransactionalMapper.java&r1=987768&r2=987884&rev=987884&view=diff
==============================================================================
--- 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/TransactionalMapper.java
 (original)
+++ 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/Mapper.java
 Sun Aug 22 12:13:40 2010
@@ -25,7 +25,7 @@ import org.apache.james.imap.mailbox.Mai
  * Mapper which execute units of work in a {...@link Transaction}
  *
  */
-public interface TransactionalMapper {
+public interface Mapper {
     
     /**
      * IMAP Request was complete. Cleanup all Request scoped stuff

Modified: 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/NonTransactionalMapper.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/NonTransactionalMapper.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/NonTransactionalMapper.java
 (original)
+++ 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/NonTransactionalMapper.java
 Sun Aug 22 12:13:40 2010
@@ -21,39 +21,18 @@ package org.apache.james.imap.store.tran
 import org.apache.james.imap.mailbox.MailboxException;
 
 /**
- * Mapper which not do any real transaction handling. It just execute the 
execute() method
+ * A Mapper which does no transaction handling. It just executes the execute() 
method
  * of the Transaction object without any special handling.
  *  
- * This class is mostly useful for Mapper implementations which not support 
Transactions
- *
+ * This class is mostly useful for Mapper implementations which do not support 
Transactions
  */
-public abstract class NonTransactionalMapper extends 
AbstractTransactionalMapper {
+public abstract class NonTransactionalMapper implements Mapper {
 
-
-    /**
-     * Do nothing because we don't support transaction
-     */
-    protected void begin() throws MailboxException {
-        // do nothing
-        
-    }
-
-
-    /**
-     * Do nothing because we don't support transaction
-     */
-    protected void commit() throws MailboxException {
-        // do nothing
-        
-    }
-
-
-    /**
-     * Do nothing because we don't support transaction
-     */
-    protected void rollback() throws MailboxException {
-        // do nothing
-        
+       /* (non-Javadoc)
+        * @see 
org.apache.james.imap.store.transaction.Mapper#execute(org.apache.james.imap.store.transaction.Mapper.Transaction)
+        */
+       public final <T> T execute(Transaction<T> transaction) throws 
MailboxException {
+        return transaction.run();
     }
 
 }

Copied: 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/TransactionalMapper.java
 (from r987768, 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/AbstractTransactionalMapper.java)
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/TransactionalMapper.java?p2=james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/TransactionalMapper.java&p1=james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/AbstractTransactionalMapper.java&r1=987768&r2=987884&rev=987884&view=diff
==============================================================================
--- 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/AbstractTransactionalMapper.java
 (original)
+++ 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/transaction/TransactionalMapper.java
 Sun Aug 22 12:13:40 2010
@@ -26,7 +26,7 @@ import org.apache.james.imap.mailbox.Mai
  * Run Transaction and handle begin, commit and rollback in the right order
  *
  */
-public abstract class AbstractTransactionalMapper implements 
TransactionalMapper {
+public abstract class TransactionalMapper implements Mapper {
 
     /*
      * (non-Javadoc)

Modified: 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/user/SubscriptionMapper.java
URL: 
http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/user/SubscriptionMapper.java?rev=987884&r1=987883&r2=987884&view=diff
==============================================================================
--- 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/user/SubscriptionMapper.java
 (original)
+++ 
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/user/SubscriptionMapper.java
 Sun Aug 22 12:13:40 2010
@@ -21,14 +21,14 @@ package org.apache.james.imap.store.user
 import java.util.List;
 
 import org.apache.james.imap.mailbox.SubscriptionException;
-import org.apache.james.imap.store.transaction.TransactionalMapper;
+import org.apache.james.imap.store.transaction.Mapper;
 import org.apache.james.imap.store.user.model.Subscription;
 
 /**
  * Mapper for {...@link Subscription}
  *
  */
-public interface SubscriptionMapper extends TransactionalMapper{
+public interface SubscriptionMapper extends Mapper {
 
        
     /**



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to