Author: rdonkin
Date: Sun Dec  2 13:29:52 2007
New Revision: 600377

URL: http://svn.apache.org/viewvc?rev=600377&view=rev
Log:
Failed to commit everything. Switch to only one instance of MailboxManager. 
Factory now extends TorqueMailboxManager. Not particularly satisfactory in the 
long run but preserves compatibility for now. That's all folks.

Added:
    
james/server/trunk/phoenix-deployment/src/java/org/apache/james/mailboxmanager/
    
james/server/trunk/phoenix-deployment/src/java/org/apache/james/mailboxmanager/torque/
    
james/server/trunk/phoenix-deployment/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java
      - copied, changed from r600352, 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java
Removed:
    
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManagerFactory.java
    
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java
Modified:
    
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/DefaultMailboxManagerProvider.java
    
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java
    
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java

Modified: 
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/DefaultMailboxManagerProvider.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/DefaultMailboxManagerProvider.java?rev=600377&r1=600376&r2=600377&view=diff
==============================================================================
--- 
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/DefaultMailboxManagerProvider.java
 (original)
+++ 
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/impl/DefaultMailboxManagerProvider.java
 Sun Dec  2 13:29:52 2007
@@ -33,7 +33,6 @@
 import org.apache.james.mailboxmanager.Namespaces;
 import org.apache.james.mailboxmanager.mailbox.MailboxSession;
 import org.apache.james.mailboxmanager.manager.MailboxManager;
-import org.apache.james.mailboxmanager.manager.MailboxManagerFactory;
 import org.apache.james.mailboxmanager.manager.MailboxManagerProvider;
 import org.apache.james.services.User;
 
@@ -45,22 +44,10 @@
 
     public static final String INBOX = "INBOX";
 
-    private MailboxManagerFactory mailboxManagerFactory;
+    private MailboxManager mailboxManager;
 
     private ServiceManager serviceManager;
 
-    protected MailboxManagerFactory getMailboxManagerFactory() {
-        return mailboxManagerFactory;
-    }
-
-    public void setMailboxManagerFactory(
-            MailboxManagerFactory mailboxManagerFactory) {
-        this.mailboxManagerFactory = mailboxManagerFactory;
-    }
-
-    public void deleteEverything() throws MailboxManagerException {
-        getMailboxManagerFactory().deleteEverything();
-    }
 
     public MailboxSession getInboxSession(User user) throws 
MailboxManagerException {
         return 
getMailboxManagerInstance().getMailboxSession(getInboxName(user),true);
@@ -68,7 +55,7 @@
 
     public MailboxManager getMailboxManagerInstance()
             throws MailboxManagerException {
-        return getMailboxManagerFactory().getMailboxManagerInstance();
+        return mailboxManager;
     }
 
     public MailboxSession getMailboxSession(User authUser, String mailboxName,
@@ -102,12 +89,16 @@
     public void configure(Configuration conf) throws ConfigurationException {
         Configuration factoryConf=conf.getChild("factory",false);
         String className=factoryConf.getAttribute("class");
-        MailboxManagerFactory factory=(MailboxManagerFactory) 
getClassInstace(className);
+        MailboxManager factory= (MailboxManager) getClassInstace(className);
         ContainerUtil.enableLogging(factory, getLogger());
         ContainerUtil.configure(factory, factoryConf);
-        setMailboxManagerFactory(factory);
+        setMailboxManagerInstance(factory);
     }
     
+    public void setMailboxManagerInstance(MailboxManager mailboxManager) {
+        this.mailboxManager = mailboxManager;
+    }
+
     private static Object getClassInstace(String name) {
         Object object=null;
         try {
@@ -126,7 +117,7 @@
     }
 
     public void initialize() throws Exception {
-        ContainerUtil.service(mailboxManagerFactory, serviceManager);
-        ContainerUtil.initialize(mailboxManagerFactory);
+        ContainerUtil.service(mailboxManager, serviceManager);
+        ContainerUtil.initialize(mailboxManager);
     }
 }

Modified: 
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java
URL: 
http://svn.apache.org/viewvc/james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java?rev=600377&r1=600376&r2=600377&view=diff
==============================================================================
--- 
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java
 (original)
+++ 
james/server/trunk/core-library/src/main/java/org/apache/james/mailboxmanager/manager/MailboxManagerProvider.java
 Sun Dec  2 13:29:52 2007
@@ -28,14 +28,6 @@
 public interface MailboxManagerProvider {
     
     public MailboxManager getMailboxManagerInstance() throws 
MailboxManagerException;
- 
-
-    /**
-     * <b>WARNING</b> this really deletes everything. Useful for testing
-     * 
-     * @throws MailboxManagerException
-     */
-    public void deleteEverything() throws MailboxManagerException;
     
     MailboxSession getInboxSession(User user) throws MailboxManagerException;
 

Copied: 
james/server/trunk/phoenix-deployment/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java
 (from r600352, 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java)
URL: 
http://svn.apache.org/viewvc/james/server/trunk/phoenix-deployment/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java?p2=james/server/trunk/phoenix-deployment/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java&p1=james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java&r1=600352&r2=600377&rev=600377&view=diff
==============================================================================
--- 
james/server/trunk/torque-mailboxmanager-function/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java
 (original)
+++ 
james/server/trunk/phoenix-deployment/src/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerFactory.java
 Sun Dec  2 13:29:52 2007
@@ -37,18 +37,14 @@
 import org.apache.avalon.framework.service.Serviceable;
 import org.apache.commons.configuration.BaseConfiguration;
 import org.apache.commons.configuration.PropertiesConfiguration;
-import org.apache.commons.logging.Log;
 import org.apache.commons.logging.impl.AvalonLogger;
-import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.james.mailboxmanager.MailboxManagerException;
 import org.apache.james.mailboxmanager.manager.MailboxManager;
-import org.apache.james.mailboxmanager.manager.MailboxManagerFactory;
 import org.apache.james.mailboxmanager.torque.om.MailboxRowPeer;
 import org.apache.james.mailboxmanager.torque.om.MessageBodyPeer;
 import org.apache.james.mailboxmanager.torque.om.MessageFlagsPeer;
 import org.apache.james.mailboxmanager.torque.om.MessageHeaderPeer;
 import org.apache.james.mailboxmanager.torque.om.MessageRowPeer;
-import org.apache.james.mailboxmanager.tracking.MailboxCache;
 import org.apache.james.services.FileSystem;
 import org.apache.james.util.SqlResources;
 import org.apache.torque.Torque;
@@ -56,41 +52,20 @@
 import org.apache.torque.util.BasePeer;
 import org.apache.torque.util.Transaction;
 
-import EDU.oswego.cs.dl.util.concurrent.ReadWriteLock;
-import EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock;
-
-public class TorqueMailboxManagerFactory implements MailboxManagerFactory,
+public class TorqueMailboxManagerFactory extends TorqueMailboxManager 
implements MailboxManager, 
         Configurable, Initializable, Serviceable, LogEnabled {
 
-    private MailboxCache mailboxCache;
-
     private BaseConfiguration torqueConf;
 
     private boolean initialized;
 
-    private Log log;
-
     private FileSystem fileSystem;
-    
-    private final ReadWriteLock lock;
 
     private static final String[] tableNames = new String[] {
             MailboxRowPeer.TABLE_NAME, MessageRowPeer.TABLE_NAME,
             MessageHeaderPeer.TABLE_NAME, MessageBodyPeer.TABLE_NAME,
             MessageFlagsPeer.TABLE_NAME };
-
-    public TorqueMailboxManagerFactory() {
-        lock = new WriterPreferenceReadWriteLock();
-    }
     
-    public MailboxManager getMailboxManagerInstance()
-            throws MailboxManagerException {
-        if (!initialized) {
-            throw new MailboxManagerException("must be initialized first!");
-        }
-        return new TorqueMailboxManager(getMailboxCache(), lock, getLog());
-    }
-
     public void initialize() throws Exception {
         if (!initialized) {
             if (torqueConf == null) {
@@ -204,32 +179,12 @@
         }
     }
 
-    private MailboxCache getMailboxCache() {
-        if (mailboxCache == null) {
-            mailboxCache = new MailboxCache();
-        }
-        return mailboxCache;
-    }
-
-    public void deleteEverything() throws MailboxManagerException {
-        ((TorqueMailboxManager) getMailboxManagerInstance())
-                .deleteEverything();
-        mailboxCache = null;
-    }
-
     public boolean isInitialized() {
         return initialized;
     }
 
     public String toString() {
-        return "TorqueMailboxManagerProvider";
-    }
-
-    protected Log getLog() {
-        if (log == null) {
-            log = new SimpleLog("TorqueMailboxManagerFactory");
-        }
-        return log;
+        return "TorqueMailboxManagerFactory";
     }
 
     public void enableLogging(Logger logger) {

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=600377&r1=600376&r2=600377&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  2 13:29:52 2007
@@ -27,6 +27,7 @@
 import javax.mail.internet.MimeMessage;
 
 import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
 import org.apache.commons.logging.impl.SimpleLog;
 import org.apache.james.mailboxmanager.GeneralMessageSet;
 import org.apache.james.mailboxmanager.ListResult;
@@ -52,6 +53,7 @@
 import org.apache.torque.util.Criteria;
 
 import EDU.oswego.cs.dl.util.concurrent.ReadWriteLock;
+import EDU.oswego.cs.dl.util.concurrent.WriterPreferenceReadWriteLock;
 
 public class TorqueMailboxManager implements MailboxManager {
 
@@ -59,14 +61,13 @@
     private final static Random random = new Random();
     private MailboxCache mailboxCache;
     
-    protected Log log;
+    protected Log log = LogFactory.getLog(TorqueMailboxManager.class);
 
     private final ReadWriteLock lock;
     
-    public TorqueMailboxManager(final MailboxCache mailboxCache, final 
ReadWriteLock lock, final Log log) {
-        this.mailboxCache=mailboxCache;
-        this.log=log;
-        this.lock = lock;
+    public TorqueMailboxManager() {
+        this.lock =  new WriterPreferenceReadWriteLock();
+        mailboxCache = new MailboxCache();
     }
     
     public MailboxSession getMailboxSession(String mailboxName,
@@ -294,6 +295,7 @@
         try {
             MailboxRowPeer.doDelete(new 
Criteria().and(MailboxRowPeer.MAILBOX_ID,
                     new Integer(-1), Criteria.GREATER_THAN));
+            mailboxCache = new MailboxCache();
         } catch (TorqueException e) {
             throw new MailboxManagerException(e);
         }



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

Reply via email to