Author: bago
Date: Tue Jun 24 03:28:58 2008
New Revision: 671118

URL: http://svn.apache.org/viewvc?rev=671118&view=rev
Log:
InMemorySpoolRepository is a now a Stub and correctly implements a spool (make 
sure the behavious is the same of the db/file based repositories)

Modified:
    
james/server/trunk/phoenix-deployment/src/test/org/apache/james/test/mock/james/InMemorySpoolRepository.java

Modified: 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/test/mock/james/InMemorySpoolRepository.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/test/org/apache/james/test/mock/james/InMemorySpoolRepository.java?rev=671118&r1=671117&r2=671118&view=diff
==============================================================================
--- 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/test/mock/james/InMemorySpoolRepository.java
 (original)
+++ 
james/server/trunk/phoenix-deployment/src/test/org/apache/james/test/mock/james/InMemorySpoolRepository.java
 Tue Jun 24 03:28:58 2008
@@ -17,7 +17,6 @@
  * under the License.                                           *
  ****************************************************************/
 
-
 package org.apache.james.test.mock.james;
 
 import org.apache.avalon.framework.activity.Disposable;
@@ -140,8 +139,18 @@
                 }
             }
             try {
+                // Remove any previous copy of this mail
+                if (spool.containsKey(key)) {
+                    // do not use this.remove because this would
+                    // also remove a current lock.
+                    Object o = spool.remove(key);
+                    ContainerUtil.dispose(o);
+                }
+                // Clone the mail (so the caller could modify it).
                 MailImpl m = new MailImpl(mc,mc.getName());
                 m.setState(mc.getState());
+                m.setLastUpdated(mc.getLastUpdated());
+                m.setErrorMessage(mc.getErrorMessage());
                 spool.put(mc.getName(),m);
             } finally {
                 if (!wasLocked) {
@@ -184,6 +193,8 @@
             try {
                 mc = new MailImpl((Mail) spool.get(key),key);
                 mc.setState(((Mail) spool.get(key)).getState());
+                mc.setErrorMessage(((Mail) spool.get(key)).getErrorMessage());
+                mc.setLastUpdated(((Mail) spool.get(key)).getLastUpdated());
             } 
             catch (RuntimeException re){
                 StringBuffer exceptionBuffer = new StringBuffer(128);



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

Reply via email to