Author: rdonkin
Date: Sun Jan  4 13:49:07 2009
New Revision: 731372

URL: http://svn.apache.org/viewvc?rev=731372&view=rev
Log:
Use factory method

Modified:
    
james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java

Modified: 
james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java
URL: 
http://svn.apache.org/viewvc/james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java?rev=731372&r1=731371&r2=731372&view=diff
==============================================================================
--- 
james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java
 (original)
+++ 
james/protocols/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailbox.java
 Sun Jan  4 13:49:07 2009
@@ -77,7 +77,7 @@
     public int getMessageCount(MailboxSession mailboxSession)
     throws MailboxException {
         try {
-            final MessageMapper messageMapper = new 
MessageMapper(entityManagerFactory.createEntityManager());
+            final MessageMapper messageMapper = createMessageMapper();
             return (int) messageMapper.countMessagesInMailbox(mailboxId);
         } catch (PersistenceException e) {
             throw new MailboxException(e);
@@ -106,7 +106,7 @@
                 final List<Header> headers = headers(mailboxId, uid, 
mimeMessage);
                 final Message message = new Message(mailboxId, uid, 
internalDate, size, flags, body, headers);
                 try {
-                    final MessageMapper mapper = new 
MessageMapper(entityManagerFactory.createEntityManager());
+                    final MessageMapper mapper = createMessageMapper();
                     mapper.begin();
                     mapper.save(message);
                     mapper.commit();
@@ -127,6 +127,11 @@
         }
     }
 
+    private MessageMapper createMessageMapper() {
+        final MessageMapper mapper = new 
MessageMapper(entityManagerFactory.createEntityManager());
+        return mapper;
+    }
+
     private byte[] body(MimeMessage message) throws IOException, 
MessagingException {
         InputStream is = message.getInputStream();
         final byte[] bytes = MessageUtils.toByteArray(is);
@@ -171,7 +176,7 @@
             MailboxSession mailboxSession) throws MailboxException {
         UidRange range = uidRangeForMessageSet(set);
         try {
-            final MessageMapper messageMapper = new 
MessageMapper(entityManagerFactory.createEntityManager());
+            final MessageMapper messageMapper = createMessageMapper();
             final List<Message> rows = new 
ArrayList<Message>(messageMapper.findInMailbox(set, mailboxId));
             return getMessages(fetchGroup, range, rows);
         } catch (PersistenceException e) {
@@ -220,7 +225,7 @@
 
     public long[] recent(boolean reset, MailboxSession mailboxSession) throws 
MailboxException {
         try {
-            final MessageMapper mapper = new 
MessageMapper(entityManagerFactory.createEntityManager());
+            final MessageMapper mapper = createMessageMapper();
             mapper.begin();
             final List<Message> messages = 
mapper.findRecentMessagesInMailbox(mailboxId);
             final long[] results = new long[messages.size()];
@@ -243,7 +248,7 @@
     public MessageResult getFirstUnseen(FetchGroup fetchGroup,
             MailboxSession mailboxSession) throws MailboxException {
         try {
-            final MessageMapper messageMapper = new 
MessageMapper(entityManagerFactory.createEntityManager());
+            final MessageMapper messageMapper = createMessageMapper();
             final List<Message> messageRows = 
messageMapper.findUnseenMessagesInMailboxOrderByUid(mailboxId);
             final Iterator<Message> it = messageRows.iterator();
             final MessageResult result;
@@ -265,7 +270,7 @@
 
     public int getUnseenCount(MailboxSession mailboxSession) throws 
MailboxException {
         try {
-            final MessageMapper messageMapper = new 
MessageMapper(entityManagerFactory.createEntityManager());
+            final MessageMapper messageMapper = createMessageMapper();
             final int count = (int) 
messageMapper.countUnseenMessagesInMailbox(mailboxId);
             return count;
         } catch (PersistenceException e) {
@@ -281,8 +286,7 @@
     private Iterator doExpunge(final MessageRange set, FetchGroup fetchGroup)
     throws MailboxException {
         try {
-            // TODO put this into a serializable transaction
-            final MessageMapper mapper = new 
MessageMapper(entityManagerFactory.createEntityManager());
+            final MessageMapper mapper = createMessageMapper();
             mapper.begin();
             final List<Message> messages = 
mapper.findMarkedForDeletionInMailbox(set, mailboxId);
             final long[] uids = uids(messages);
@@ -324,8 +328,7 @@
             final MessageRange set, FetchGroup fetchGroup,
             MailboxSession mailboxSession) throws MailboxException {
         try {
-            // TODO put this into a serializeable transaction
-            final MessageMapper mapper = new 
MessageMapper(entityManagerFactory.createEntityManager());
+            final MessageMapper mapper = createMessageMapper();
             mapper.begin();
             final List<Message> messages = mapper.findInMailbox(set, 
mailboxId);
             UidRange uidRange = uidRangeForMessageSet(set);
@@ -400,7 +403,7 @@
     public Iterator search(SearchQuery query, FetchGroup fetchGroup,
             MailboxSession mailboxSession) throws MailboxException {
         try {
-            final MessageMapper messageMapper = new 
MessageMapper(entityManagerFactory.createEntityManager());
+            final MessageMapper messageMapper = createMessageMapper();
             final List<Message> messages = 
messageMapper.searchMailbox(mailboxId, query);
             final List<Message> filteredMessages = new 
ArrayList<Message>(messages.size());
             for (Message message:messages) {
@@ -435,7 +438,7 @@
 
     public void copyTo(MessageRange set, JPAMailbox toMailbox, MailboxSession 
session) throws MailboxException {
         try {
-            final MessageMapper mapper = new 
MessageMapper(entityManagerFactory.createEntityManager());
+            final MessageMapper mapper = createMessageMapper();
             mapper.begin();
 
             List<Message> rows = mapper.findInMailbox(set, mailboxId);



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

Reply via email to