Modified: 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxTestCase.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxTestCase.java?rev=602696&r1=602695&r2=602696&view=diff
==============================================================================
--- 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxTestCase.java
 (original)
+++ 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/TorqueMailboxTestCase.java
 Sun Dec  9 09:00:04 2007
@@ -42,7 +42,6 @@
 
 public class TorqueMailboxTestCase extends AbstractTorqueTestCase {
 
-
     public TorqueMailboxTestCase() throws TorqueException {
         super();
     }
@@ -51,10 +50,9 @@
         MailboxRow mr = new MailboxRow("#users.tuser.INBOX", 100);
         mr.save();
         mr=MailboxRowPeer.retrieveByName("#users.tuser.INBOX");
-        ImapMailbox torqueMailbox = new TorqueMailbox(mr,
-                new WriterPreferenceReadWriteLock(),null, 1);
+        ImapMailbox torqueMailbox = new TorqueMailbox(mr, new 
WriterPreferenceReadWriteLock(),null);
         torqueMailbox.addListener(new MailboxListenerCollector());
-        assertEquals(0,torqueMailbox.getMessageCount());
+        assertEquals(0,torqueMailbox.getMessageCount(session));
         
         long time = System.currentTimeMillis();
         time = time - (time % 1000);
@@ -65,8 +63,8 @@
         flags.add(Flags.Flag.SEEN);
         mm.setFlags(flags,true);
         mm.writeTo(System.out);
-        torqueMailbox.appendMessage(mm, date, 0);
-        assertEquals(1,torqueMailbox.getMessageCount());
+        torqueMailbox.appendMessage(mm, date, 0, session);
+        assertEquals(1,torqueMailbox.getMessageCount(session));
         List l = MessageRowPeer.doSelect(new Criteria());
         assertEquals(1, l.size());
         MessageRow msg = (MessageRow) l.get(0);
@@ -79,7 +77,7 @@
         mr = MailboxRowPeer.retrieveByPK(mr.getMailboxId());
         assertEquals(1, mr.getLastUid());
         
-        List 
messageResult=IteratorUtils.toList(torqueMailbox.getMessages(GeneralMessageSetImpl.oneUid(1l),MessageResult.MIME_MESSAGE));
+        List 
messageResult=IteratorUtils.toList(torqueMailbox.getMessages(GeneralMessageSetImpl.oneUid(1l),MessageResult.MIME_MESSAGE,
 session));
         assertNotNull(messageResult);
         assertEquals(1,messageResult.size());
         
//((MessageResult)messageResult.get(0)).getMimeMessage().writeTo(System.out);
@@ -87,8 +85,8 @@
         
         Flags f=new Flags();
         f.add(Flags.Flag.DELETED);
-        torqueMailbox.setFlags(f,true,false, GeneralMessageSetImpl.oneUid(1l), 
MessageResult.MINIMAL);
-        List 
messageResults=IteratorUtils.toList(torqueMailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.MINIMAL));
+        torqueMailbox.setFlags(f,true,false, GeneralMessageSetImpl.oneUid(1l), 
MessageResult.MINIMAL, session);
+        List 
messageResults=IteratorUtils.toList(torqueMailbox.expunge(GeneralMessageSetImpl.all(),MessageResult.MINIMAL,
 session));
         assertEquals(1,messageResults.size());
         assertEquals(1l,((MessageResult)messageResults.get(0)).getUid());
     }

Modified: 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/repository/TorqueMailboxManagerMailRepositoryNativeTestCase.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/repository/TorqueMailboxManagerMailRepositoryNativeTestCase.java?rev=602696&r1=602695&r2=602696&view=diff
==============================================================================
--- 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/repository/TorqueMailboxManagerMailRepositoryNativeTestCase.java
 (original)
+++ 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/mailboxmanager/torque/repository/TorqueMailboxManagerMailRepositoryNativeTestCase.java
 Sun Dec  9 09:00:04 2007
@@ -34,6 +34,7 @@
 import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
 import org.apache.commons.collections.IteratorUtils;
 import org.apache.james.mailboxmanager.MailboxManagerException;
+import org.apache.james.mailboxmanager.MailboxSession;
 import org.apache.james.mailboxmanager.MessageResult;
 import org.apache.james.mailboxmanager.impl.GeneralMessageSetImpl;
 import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -41,6 +42,7 @@
 import 
org.apache.james.mailboxmanager.mock.TorqueMailboxManagerProviderSingleton;
 import 
org.apache.james.mailboxmanager.redundant.AbstractMailRepositoryNativeTestCase;
 import org.apache.james.mailboxmanager.repository.MailboxManagerMailRepository;
+import org.apache.james.mailboxmanager.torque.TorqueMailboxSession;
 
 public class TorqueMailboxManagerMailRepositoryNativeTestCase extends
         AbstractMailRepositoryNativeTestCase {
@@ -48,6 +50,8 @@
     private static final String TUSER_INBOX = "#mail.tuser.INBOX";
     ImapMailbox shadowMailbox = null;
 
+    private MailboxSession session = new TorqueMailboxSession(10);
+    
     protected void configureRepository() throws Exception {
         TorqueMailboxManagerProviderSingleton.reset();
         MailboxManagerMailRepository mailboxManagerMailRepository = new 
MailboxManagerMailRepository();
@@ -95,7 +99,7 @@
 
     protected int getNativeMessageCount() {
         try {
-            return getShadowMailbox().getMessageCount();
+            return getShadowMailbox().getMessageCount(session);
         } catch (MailboxManagerException e) {
             throw new RuntimeException(e);
         }
@@ -110,7 +114,7 @@
         final Iterator it;
         try {
             it = getShadowMailbox().getMessages(GeneralMessageSetImpl.all(),
-                    MessageResult.MIME_MESSAGE);
+                    MessageResult.MIME_MESSAGE, session);
 
         } catch (MailboxManagerException e) {
             throw new RuntimeException(e);
@@ -122,7 +126,7 @@
     protected void nativeStoreMessage(MimeMessage mm) {
         try {
             getShadowMailbox().appendMessage(mm, new Date(),
-                    MessageResult.MINIMAL);
+                    MessageResult.MINIMAL, session);
         } catch (MailboxManagerException e) {
             throw new RuntimeException(e);
         }

Modified: 
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/Actions.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/Actions.java?rev=602696&r1=602695&r2=602696&view=diff
==============================================================================
--- 
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/Actions.java
 (original)
+++ 
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/Actions.java
 Sun Dec  9 09:00:04 2007
@@ -33,6 +33,7 @@
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.james.Constants;
+import org.apache.james.mailboxmanager.MailboxSession;
 import org.apache.james.mailboxmanager.mailbox.Mailbox;
 import org.apache.james.mailboxmanager.manager.MailboxManager;
 import org.apache.james.mailboxmanager.manager.MailboxManagerProvider;
@@ -115,8 +116,11 @@
             final String mailboxName = 
                 
mailboxManagerProvider.getPersonalDefaultNamespace(user).getName()
                     + MailboxManager.HIERARCHY_DELIMITER + destinationMailbox;
-            Mailbox 
mailbox=mailboxManagerProvider.getMailboxManager().getImapMailbox(mailboxName, 
true);
-            mailbox.store(localMessage);
+            final MailboxManager mailboxManager = 
mailboxManagerProvider.getMailboxManager();
+            Mailbox mailbox=mailboxManager.getImapMailbox(mailboxName, true);
+            final MailboxSession session = mailboxManager.createSession();
+            mailbox.store(localMessage, session);
+            session.close();
             delivered = true;
         }
         catch (MessagingException ex)

Modified: 
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/SieveToMultiMailbox.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/SieveToMultiMailbox.java?rev=602696&r1=602695&r2=602696&view=diff
==============================================================================
--- 
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/SieveToMultiMailbox.java
 (original)
+++ 
james/server/trunk/spoolmanager-function/src/main/java/org/apache/james/transport/mailets/sieve/SieveToMultiMailbox.java
 Sun Dec  9 09:00:04 2007
@@ -34,6 +34,7 @@
 import org.apache.avalon.framework.service.ServiceException;
 import org.apache.avalon.framework.service.ServiceManager;
 import org.apache.james.Constants;
+import org.apache.james.mailboxmanager.MailboxSession;
 import org.apache.james.mailboxmanager.mailbox.Mailbox;
 import org.apache.james.mailboxmanager.manager.MailboxManager;
 import org.apache.james.mailboxmanager.manager.MailboxManagerProvider;
@@ -237,14 +238,17 @@
         final String inboxName = 
mailboxManagerProvider.getPersonalDefaultNamespace(new DefaultUser(username, 
null))
             .getName() + MailboxManager.HIERARCHY_DELIMITER+"INBOX";
         
-        Mailbox inbox = 
mailboxManagerProvider.getMailboxManager().getImapMailbox(inboxName, true);
+        final MailboxManager mailboxManager = 
mailboxManagerProvider.getMailboxManager();
+        final MailboxSession session = mailboxManager.createSession();
+        Mailbox inbox = mailboxManager.getImapMailbox(inboxName, true);
         
         if (inbox == null) {
             String error = "Mailbox for user " + username
                     + " was not found on this server.";
             throw new MessagingException(error);
         }
-        inbox.store(message);
+        inbox.store(message, session);
+        session.close();
     }
 
     /**

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java?rev=602696&r1=602695&r2=602696&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailbox.java
 Sun Dec  9 09:00:04 2007
@@ -39,6 +39,7 @@
 import org.apache.james.mailboxmanager.GeneralMessageSet;
 import org.apache.james.mailboxmanager.MailboxListener;
 import org.apache.james.mailboxmanager.MailboxManagerException;
+import org.apache.james.mailboxmanager.MailboxSession;
 import org.apache.james.mailboxmanager.MessageResult;
 import org.apache.james.mailboxmanager.SearchParameters;
 import org.apache.james.mailboxmanager.UnsupportedCriteriaException;
@@ -80,28 +81,20 @@
     
     private final ReadWriteLock lock;
     
-    private final long sessionId;
-        
-    TorqueMailbox(final MailboxRow mailboxRow, final ReadWriteLock lock, 
-            final Log log, final long sessionId) {
+    TorqueMailbox(final MailboxRow mailboxRow, final ReadWriteLock lock, final 
Log log) {
         setLog(log);
-        this.sessionId = sessionId;
         this.mailboxRow = mailboxRow;
         this.tracker = new UidChangeTracker(mailboxRow.getLastUid());
         this.lock = lock;
         getUidToKeyConverter().setUidValidity(mailboxRow.getUidValidity());
     }
-    
-    public long getSessionId() {
-        return sessionId;
-    }
 
     public synchronized String getName() throws MailboxManagerException {
         checkAccess();
         return mailboxRow.getName();
     }
 
-    public int getMessageCount() throws MailboxManagerException {
+    public int getMessageCount(MailboxSession mailboxSession) throws 
MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
@@ -120,7 +113,7 @@
     }
 
     public MessageResult appendMessage(MimeMessage message, Date internalDate,
-            int result) throws MailboxManagerException {
+            int result, MailboxSession mailboxSession) throws 
MailboxManagerException {
 
         try {
             checkAccess();
@@ -285,7 +278,7 @@
         return criteria;
     }
 
-    public Iterator getMessages(GeneralMessageSet set, int result)
+    public Iterator getMessages(GeneralMessageSet set, int result, 
MailboxSession mailboxSession)
             throws MailboxManagerException {
         try {
             lock.readLock().acquire();
@@ -350,7 +343,7 @@
         return permanentFlags;
     }
 
-    public int getRecentCount(boolean reset) throws MailboxManagerException {
+    public int getRecentCount(boolean reset, MailboxSession mailboxSession) 
throws MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
@@ -376,7 +369,7 @@
         }
     }
 
-    public MessageResult getFirstUnseen(int result)
+    public MessageResult getFirstUnseen(int result, MailboxSession 
mailboxSession)
             throws MailboxManagerException {
         try {
             lock.readLock().acquire();
@@ -419,7 +412,7 @@
         }
     }
 
-    public int getUnseenCount() throws MailboxManagerException {
+    public int getUnseenCount(MailboxSession mailboxSession) throws 
MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
@@ -440,7 +433,7 @@
         }
     }
 
-    public Iterator expunge(GeneralMessageSet set, int result)
+    public Iterator expunge(GeneralMessageSet set, int result, MailboxSession 
mailboxSession)
             throws MailboxManagerException {
         try {
             lock.writeLock().acquire();
@@ -501,12 +494,12 @@
     }
 
     public Iterator setFlags(Flags flags, boolean value, boolean replace,
-            GeneralMessageSet set, int result)
+            GeneralMessageSet set, int result, MailboxSession mailboxSession)
             throws MailboxManagerException {
         try {
             lock.writeLock().acquire();
             try {
-                return doSetFlags(flags, value, replace, set, result);
+                return doSetFlags(flags, value, replace, set, result, 
mailboxSession);
             } finally {
                 lock.writeLock().release();
             }
@@ -517,7 +510,7 @@
     }
 
     private Iterator doSetFlags(Flags flags, boolean value, boolean replace, 
-            GeneralMessageSet set, int results) throws MailboxManagerException 
{
+            GeneralMessageSet set, int results, MailboxSession mailboxSession) 
throws MailboxManagerException {
         checkAccess();
         set=toUidSet(set);  
         if (!set.isValid() || set.getType()==GeneralMessageSet.TYPE_NOTHING) {
@@ -551,7 +544,7 @@
             final TorqueResultIterator resultIterator = new 
TorqueResultIterator(messageRows,
                     results | MessageResult.FLAGS, getUidToKeyConverter());
             final org.apache.james.mailboxmanager.impl.MessageFlags[] 
messageFlags = resultIterator.getMessageFlags();
-            tracker.flagsUpdated(messageFlags, sessionId);
+            tracker.flagsUpdated(messageFlags, mailboxSession.getSessionId());
             tracker.found(uidRange, messageFlags);
             return resultIterator;
         } catch (TorqueException e) {
@@ -573,7 +566,7 @@
         tracker.removeMailboxListener(mailboxListener);
     }
 
-    public long getUidValidity() throws MailboxManagerException {
+    public long getUidValidity(MailboxSession mailboxSession) throws 
MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
@@ -590,7 +583,7 @@
 
     }
 
-    public long getUidNext() throws MailboxManagerException {
+    public long getUidNext(MailboxSession mailboxSession) throws 
MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
@@ -639,7 +632,7 @@
     }
 
     public Iterator search(GeneralMessageSet set, SearchParameters parameters,
-            int result) throws MailboxManagerException {
+            int result, MailboxSession mailboxSession) throws 
MailboxManagerException {
         try {
             lock.readLock().acquire();
             try {
@@ -763,12 +756,12 @@
         return uidToKeyConverter;
     }
 
-    public void remove(GeneralMessageSet set) throws MailboxManagerException {
+    public void remove(GeneralMessageSet set, MailboxSession mailboxSession) 
throws MailboxManagerException {
         try {
             lock.writeLock().acquire();
             try {
                 final Flags flags = new Flags(Flags.Flag.DELETED);
-                doSetFlags(flags, true, false, set, MessageResult.MINIMAL);
+                doSetFlags(flags, true, false, set, MessageResult.MINIMAL, 
mailboxSession);
                 doExpunge(set, MessageResult.MINIMAL);
             } finally {
                 lock.writeLock().release();

Modified: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java?rev=602696&r1=602695&r2=602696&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
 (original)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
 Sun Dec  9 09:00:04 2007
@@ -35,6 +35,7 @@
 import org.apache.james.mailboxmanager.ListResult;
 import org.apache.james.mailboxmanager.MailboxManagerException;
 import org.apache.james.mailboxmanager.MailboxNotFoundException;
+import org.apache.james.mailboxmanager.MailboxSession;
 import org.apache.james.mailboxmanager.MessageResult;
 import org.apache.james.mailboxmanager.impl.ListResultImpl;
 import org.apache.james.mailboxmanager.mailbox.ImapMailbox;
@@ -89,8 +90,7 @@
                     
                     ImapMailbox torqueMailbox = (ImapMailbox) 
managers.get(mailboxName);
                     if (torqueMailbox == null) {
-                        torqueMailbox = new TorqueMailbox(
-                                                mailboxRow, lock, getLog(), 
random.nextLong());
+                        torqueMailbox = new TorqueMailbox(mailboxRow, lock, 
getLog());
                         managers.put(mailboxName, torqueMailbox);
                     }
                     
@@ -174,14 +174,14 @@
 
     }
 
-    public void copyMessages(GeneralMessageSet set, String from, String to) 
throws MailboxManagerException {
+    public void copyMessages(GeneralMessageSet set, String from, String to, 
MailboxSession session) throws MailboxManagerException {
         ImapMailbox toMailbox= getImapMailbox(to, false);
         ImapMailbox fromMailbox = getImapMailbox(from, false);
-        Iterator it = fromMailbox.getMessages(set, MessageResult.MIME_MESSAGE 
| MessageResult.INTERNAL_DATE);
+        Iterator it = fromMailbox.getMessages(set, MessageResult.MIME_MESSAGE 
| MessageResult.INTERNAL_DATE, session);
         while (it.hasNext()) {
             final MessageResult result = (MessageResult) it.next();
             final MimeMessage mimeMessage = result.getMimeMessage();
-            toMailbox.appendMessage(mimeMessage, result.getInternalDate(), 
MessageResult.MINIMAL);
+            toMailbox.appendMessage(mimeMessage, result.getInternalDate(), 
MessageResult.MINIMAL, session);
         }
     }
 
@@ -265,6 +265,10 @@
             log=new SimpleLog("TorqueMailboxManager");
         }
         return log;
+    }
+
+    public MailboxSession createSession() {
+        return new TorqueMailboxSession(random.nextLong());
     }
 
 }

Added: 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxSession.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxSession.java?rev=602696&view=auto
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxSession.java
 (added)
+++ 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxSession.java
 Sun Dec  9 09:00:04 2007
@@ -0,0 +1,66 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one   *
+ * or more contributor license agreements.  See the NOTICE file *
+ * distributed with this work for additional information        *
+ * regarding copyright ownership.  The ASF licenses this file   *
+ * to you under the Apache License, Version 2.0 (the            *
+ * "License"); you may not use this file except in compliance   *
+ * with the License.  You may obtain a copy of the License at   *
+ *                                                              *
+ *   http://www.apache.org/licenses/LICENSE-2.0                 *
+ *                                                              *
+ * Unless required by applicable law or agreed to in writing,   *
+ * software distributed under the License is distributed on an  *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY       *
+ * KIND, either express or implied.  See the License for the    *
+ * specific language governing permissions and limitations      *
+ * under the License.                                           *
+ ****************************************************************/
+
+package org.apache.james.mailboxmanager.torque;
+
+import org.apache.james.mailboxmanager.MailboxSession;
+
+/**
+ * Describes a mailbox session.
+ */
+public class TorqueMailboxSession implements MailboxSession {
+
+    private final long sessionId;
+    private boolean open;
+    
+    public TorqueMailboxSession(final long sessionId) {
+        super();
+        this.sessionId = sessionId;
+    }
+
+    public void close() {
+       open = false;
+    }
+
+    public long getSessionId() {
+        return sessionId;
+    }
+
+    public boolean isOpen() {
+        return open;
+    }
+
+    /**
+     * Renders suitably for logging.
+     * @return a <code>String</code> representation 
+     * of this object.
+     */
+    public String toString()
+    {
+        final String TAB = " ";
+        
+        String retValue = "TorqueMailboxSession ( "
+            + "sessionId = " + this.sessionId + TAB
+            + "open = " + this.open + TAB
+            + " )";
+    
+        return retValue;
+    }
+
+}



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to