Author: norman
Date: Sat Aug 21 20:07:09 2010
New Revision: 987821
URL: http://svn.apache.org/viewvc?rev=987821&view=rev
Log:
Move the Subscriper to the mailbox api and rename it SubscriptionManager, not
sure yet if it make more sense :) (IMAP-205)
Added:
james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/SubscriptionManager.java
- copied, changed from r987775,
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/Subscriber.java
Removed:
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/Subscriber.java
Modified:
james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/InMemoryUserManager.java
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRMailboxManager.java
james/imap/trunk/jcr/src/test/java/org/apache/james/imap/jcr/JCRHostSystem.java
james/imap/trunk/jcr/src/test/java/org/apache/james/imap/jcr/JCRStressTest.java
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailboxManager.java
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailboxManager.java
james/imap/trunk/jpa/src/test/java/org/apache/james/imap/jpa/JPAHostSystem.java
james/imap/trunk/jpa/src/test/java/org/apache/james/imap/jpa/JPAStressTest.java
james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MailboxManager.java
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/MaildirMailboxManager.java
james/imap/trunk/maildir/src/test/java/org/apache/james/imap/functional/maildir/MaildirHostSystem.java
james/imap/trunk/maildir/src/test/java/org/apache/james/imap/functional/maildir/MaildirStressTest.java
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java
james/imap/trunk/memory/src/test/java/org/apache/james/imap/functional/inmemory/InMemoryHostSystem.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SubscribeProcessor.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/UnsubscribeProcessor.java
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/DelegatingMailboxManager.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/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
james/imap/trunk/torque/src/test/java/org/apache/james/mailboxmanager/torque/TorqueHostSystemFactory.java
james/imap/trunk/torque/src/test/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProviderSingleton.java
Modified:
james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/InMemoryUserManager.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/InMemoryUserManager.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/InMemoryUserManager.java
(original)
+++
james/imap/trunk/deployment/src/test/java/org/apache/james/imap/functional/InMemoryUserManager.java
Sat Aug 21 20:07:09 2010
@@ -25,13 +25,13 @@ import java.util.Map;
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.Authenticator;
-import org.apache.james.imap.store.Subscriber;
/**
* Stores users in memory.
*/
-public class InMemoryUserManager implements Authenticator, Subscriber {
+public class InMemoryUserManager implements Authenticator, SubscriptionManager
{
private final Map<String, User> users;
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=987821&r1=987820&r2=987821&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
Sat Aug 21 20:07:09 2010
@@ -29,7 +29,6 @@ import org.apache.james.imap.mailbox.uti
import org.apache.james.imap.store.Authenticator;
import org.apache.james.imap.store.StoreMailboxManager;
import org.apache.james.imap.store.MapperStoreMessageManager;
-import org.apache.james.imap.store.Subscriber;
import org.apache.james.imap.store.mail.model.Mailbox;
import org.apache.james.imap.store.transaction.TransactionalMapper;
@@ -42,12 +41,12 @@ public class JCRMailboxManager extends S
private final JCRMailboxSessionMapperFactory mapperFactory;
private final Log logger = LogFactory.getLog(JCRMailboxManager.class);
- public JCRMailboxManager(JCRMailboxSessionMapperFactory mapperFactory,
final Authenticator authenticator, final Subscriber subscriber) {
- this(mapperFactory, authenticator, subscriber, new
JCRVmNodeLocker());
+ public JCRMailboxManager(JCRMailboxSessionMapperFactory mapperFactory,
final Authenticator authenticator) {
+ this(mapperFactory, authenticator, new JCRVmNodeLocker());
}
- public JCRMailboxManager(JCRMailboxSessionMapperFactory mapperFactory,
final Authenticator authenticator, final Subscriber subscriber, final
NodeLocker locker) {
- super(mapperFactory, authenticator, subscriber);
+ public JCRMailboxManager(JCRMailboxSessionMapperFactory mapperFactory,
final Authenticator authenticator, final NodeLocker locker) {
+ super(mapperFactory, authenticator);
this.mapperFactory = mapperFactory;
}
Modified:
james/imap/trunk/jcr/src/test/java/org/apache/james/imap/jcr/JCRHostSystem.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/test/java/org/apache/james/imap/jcr/JCRHostSystem.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/jcr/src/test/java/org/apache/james/imap/jcr/JCRHostSystem.java
(original)
+++
james/imap/trunk/jcr/src/test/java/org/apache/james/imap/jcr/JCRHostSystem.java
Sat Aug 21 20:07:09 2010
@@ -24,6 +24,7 @@ import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.impl.SimpleLog;
import org.apache.jackrabbit.core.RepositoryImpl;
import org.apache.jackrabbit.core.config.RepositoryConfig;
+import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.encode.main.DefaultImapEncoderFactory;
import org.apache.james.imap.functional.ImapHostSystem;
import org.apache.james.imap.functional.InMemoryUserManager;
@@ -71,9 +72,8 @@ public class JCRHostSystem extends ImapH
userManager = new InMemoryUserManager();
JCRMailboxSessionMapperFactory mf = new
JCRMailboxSessionMapperFactory(sessionRepos, new JCRVmNodeLocker());
- //TODO: Fix the scaling stuff so the tests will pass with max
scaling too
- mailboxManager = new JCRMailboxManager(mf, userManager, new
JCRSubscriptionManager(mf));
- final DefaultImapProcessorFactory defaultImapProcessorFactory =
new DefaultImapProcessorFactory();
+ mailboxManager = new JCRMailboxManager(mf, userManager);
+ final ImapProcessor defaultImapProcessorFactory =
DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager, new
JCRSubscriptionManager(mf));
resetUserMetaData();
MailboxSession session =
mailboxManager.createSystemSession("test", new SimpleLog("TestLog"));
mailboxManager.startProcessingRequest(session);
@@ -81,8 +81,7 @@ public class JCRHostSystem extends ImapH
mailboxManager.endProcessingRequest(session);
mailboxManager.logout(session, false);
- defaultImapProcessorFactory.configure(mailboxManager);
- configure(new DefaultImapDecoderFactory().buildImapDecoder(), new
DefaultImapEncoderFactory().buildImapEncoder(),
defaultImapProcessorFactory.buildImapProcessor());
+ configure(new DefaultImapDecoderFactory().buildImapDecoder(), new
DefaultImapEncoderFactory().buildImapEncoder(), defaultImapProcessorFactory);
} catch (Exception e) {
shutdownRepository();
throw e;
Modified:
james/imap/trunk/jcr/src/test/java/org/apache/james/imap/jcr/JCRStressTest.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/jcr/src/test/java/org/apache/james/imap/jcr/JCRStressTest.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/jcr/src/test/java/org/apache/james/imap/jcr/JCRStressTest.java
(original)
+++
james/imap/trunk/jcr/src/test/java/org/apache/james/imap/jcr/JCRStressTest.java
Sat Aug 21 20:07:09 2010
@@ -29,7 +29,6 @@ import org.apache.james.imap.functional.
import org.apache.james.imap.jcr.GlobalMailboxSessionJCRRepository;
import org.apache.james.imap.jcr.JCRMailboxManager;
import org.apache.james.imap.jcr.JCRMailboxSessionMapperFactory;
-import org.apache.james.imap.jcr.JCRSubscriptionManager;
import org.apache.james.imap.jcr.JCRUtils;
import org.apache.james.imap.jcr.JCRVmNodeLocker;
import org.apache.james.imap.jcr.MailboxSessionJCRRepository;
@@ -64,7 +63,7 @@ public class JCRStressTest extends Abstr
MailboxSessionJCRRepository sessionRepos = new
GlobalMailboxSessionJCRRepository(repository, workspace, user, pass);
JCRMailboxSessionMapperFactory mf = new
JCRMailboxSessionMapperFactory(sessionRepos, new JCRVmNodeLocker());
- mailboxManager = new JCRMailboxManager(mf, null, new
JCRSubscriptionManager(mf));
+ mailboxManager = new JCRMailboxManager(mf, null);
}
Modified:
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailboxManager.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailboxManager.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailboxManager.java
(original)
+++
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPAMailboxManager.java
Sat Aug 21 20:07:09 2010
@@ -25,7 +25,6 @@ import org.apache.james.imap.mailbox.Mai
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.store.Authenticator;
import org.apache.james.imap.store.StoreMailboxManager;
-import org.apache.james.imap.store.Subscriber;
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;
@@ -37,8 +36,8 @@ import org.apache.james.imap.store.user.
public abstract class JPAMailboxManager extends StoreMailboxManager<Long> {
public JPAMailboxManager(JPAMailboxSessionMapperFactory
mailboxSessionMapperFactory,
- final Authenticator authenticator, Subscriber subscripter) {
- super(mailboxSessionMapperFactory, authenticator, subscripter);
+ final Authenticator authenticator) {
+ super(mailboxSessionMapperFactory, authenticator);
}
@Override
Modified:
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailboxManager.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailboxManager.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailboxManager.java
(original)
+++
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/openjpa/OpenJPAMailboxManager.java
Sat Aug 21 20:07:09 2010
@@ -27,7 +27,6 @@ import org.apache.james.imap.mailbox.Mai
import org.apache.james.imap.mailbox.util.MailboxEventDispatcher;
import org.apache.james.imap.store.Authenticator;
import org.apache.james.imap.store.MapperStoreMessageManager;
-import org.apache.james.imap.store.Subscriber;
import org.apache.james.imap.store.mail.model.Mailbox;
/**
@@ -38,13 +37,13 @@ public class OpenJPAMailboxManager exten
private boolean useStreaming;
- public OpenJPAMailboxManager(JPAMailboxSessionMapperFactory mapperFactory,
Authenticator authenticator, Subscriber subscripter, boolean useStreaming) {
- super(mapperFactory, authenticator, subscripter);
+ public OpenJPAMailboxManager(JPAMailboxSessionMapperFactory mapperFactory,
Authenticator authenticator, boolean useStreaming) {
+ super(mapperFactory, authenticator);
this.useStreaming = useStreaming;
}
- public OpenJPAMailboxManager(JPAMailboxSessionMapperFactory mapperFactory,
Authenticator authenticator, Subscriber subscripter) {
- this(mapperFactory, authenticator, subscripter, false);
+ public OpenJPAMailboxManager(JPAMailboxSessionMapperFactory mapperFactory,
Authenticator authenticator) {
+ this(mapperFactory, authenticator, false);
}
@Override
Modified:
james/imap/trunk/jpa/src/test/java/org/apache/james/imap/jpa/JPAHostSystem.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/test/java/org/apache/james/imap/jpa/JPAHostSystem.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/jpa/src/test/java/org/apache/james/imap/jpa/JPAHostSystem.java
(original)
+++
james/imap/trunk/jpa/src/test/java/org/apache/james/imap/jpa/JPAHostSystem.java
Sat Aug 21 20:07:09 2010
@@ -26,6 +26,7 @@ import javax.persistence.EntityManagerFa
import org.apache.commons.io.FileUtils;
import org.apache.commons.logging.impl.SimpleLog;
+import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.encode.main.DefaultImapEncoderFactory;
import org.apache.james.imap.functional.ImapHostSystem;
import org.apache.james.imap.functional.InMemoryUserManager;
@@ -39,6 +40,7 @@ import org.apache.james.imap.jpa.mail.mo
import org.apache.james.imap.jpa.openjpa.OpenJPAMailboxManager;
import org.apache.james.imap.jpa.user.model.JPASubscription;
import org.apache.james.imap.mailbox.MailboxSession;
+import org.apache.james.imap.mailbox.SubscriptionManager;
import org.apache.james.imap.main.DefaultImapDecoderFactory;
import org.apache.james.imap.processor.main.DefaultImapProcessorFactory;
import org.apache.james.test.functional.HostSystem;
@@ -75,14 +77,13 @@ public class JPAHostSystem extends ImapH
userManager = new InMemoryUserManager();
entityManagerFactory =
OpenJPAPersistence.getEntityManagerFactory(properties);
JPAMailboxSessionMapperFactory mf = new
JPAMailboxSessionMapperFactory(entityManagerFactory);
- mailboxManager = new OpenJPAMailboxManager(mf, userManager, new
JPASubscriptionManager(mf));
-
- final DefaultImapProcessorFactory defaultImapProcessorFactory = new
DefaultImapProcessorFactory();
+ mailboxManager = new OpenJPAMailboxManager(mf, userManager);
+ SubscriptionManager subscriptionManager = new
JPASubscriptionManager(mf);
+ final ImapProcessor defaultImapProcessorFactory =
DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager,
subscriptionManager);
resetUserMetaData();
- defaultImapProcessorFactory.configure(mailboxManager);
configure(new DefaultImapDecoderFactory().buildImapDecoder(),
new DefaultImapEncoderFactory().buildImapEncoder(),
- defaultImapProcessorFactory.buildImapProcessor());
+ defaultImapProcessorFactory);
}
public boolean addUser(String user, String password) {
Modified:
james/imap/trunk/jpa/src/test/java/org/apache/james/imap/jpa/JPAStressTest.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/test/java/org/apache/james/imap/jpa/JPAStressTest.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/jpa/src/test/java/org/apache/james/imap/jpa/JPAStressTest.java
(original)
+++
james/imap/trunk/jpa/src/test/java/org/apache/james/imap/jpa/JPAStressTest.java
Sat Aug 21 20:07:09 2010
@@ -71,7 +71,7 @@ public class JPAStressTest extends Abstr
entityManagerFactory =
OpenJPAPersistence.getEntityManagerFactory(properties);
JPAMailboxSessionMapperFactory mf = new
JPAMailboxSessionMapperFactory(entityManagerFactory);
- mailboxManager = new OpenJPAMailboxManager(mf, null, new
JPASubscriptionManager(mf));
+ mailboxManager = new OpenJPAMailboxManager(mf, null);
// Set the lock timeout via SQL because of a bug in openJPA
// https://issues.apache.org/jira/browse/OPENJPA-1656
Modified:
james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MailboxManager.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MailboxManager.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MailboxManager.java
(original)
+++
james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/MailboxManager.java
Sat Aug 21 20:07:09 2010
@@ -19,7 +19,6 @@
package org.apache.james.imap.mailbox;
-import java.util.Collection;
import java.util.List;
import org.apache.commons.logging.Log;
@@ -195,38 +194,8 @@ public interface MailboxManager {
*/
void logout(MailboxSession session, boolean force) throws MailboxException;
- /**
- * Subscribes the user to the given mailbox.
- *
- * @param session
- * the user name, not null
- * @param mailbox
- * the mailbox name, not null
- */
- public void subscribe(MailboxSession session, String mailbox)
- throws SubscriptionException;
-
- /**
- * Unsubscribes the user from the given mailbox.
- *
- * @param session
- * the user name, not null
- * @param mailbox
- * the mailbox name, not null
- */
- public void unsubscribe(MailboxSession session, String mailbox)
- throws SubscriptionException;
/**
- * Lists current subscriptions for the given user.
- *
- * @param session
- * the user name, not null
- * @return a <code>Collection<String></code> of mailbox names
- */
- public Collection<String> subscriptions(MailboxSession session) throws
SubscriptionException;
-
- /**
* <p>Implementations of Mailbox may interpret the fact that someone is
* listening and do some caching and even postpone persistence until
* everyone has removed itself.
Copied:
james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/SubscriptionManager.java
(from r987775,
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/Subscriber.java)
URL:
http://svn.apache.org/viewvc/james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/SubscriptionManager.java?p2=james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/SubscriptionManager.java&p1=james/imap/trunk/store/src/main/java/org/apache/james/imap/store/Subscriber.java&r1=987775&r2=987821&rev=987821&view=diff
==============================================================================
---
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/Subscriber.java
(original)
+++
james/imap/trunk/mailbox/src/main/java/org/apache/james/imap/mailbox/SubscriptionManager.java
Sat Aug 21 20:07:09 2010
@@ -17,17 +17,15 @@
* under the License. *
****************************************************************/
-package org.apache.james.imap.store;
+package org.apache.james.imap.mailbox;
import java.util.Collection;
-import org.apache.james.imap.mailbox.MailboxSession;
-import org.apache.james.imap.mailbox.SubscriptionException;
/**
* Subscribes users.
*/
-public interface Subscriber {
+public interface SubscriptionManager{
/**
* Subscribes the user in the session to the given mailbox.
Modified:
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/MaildirMailboxManager.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/MaildirMailboxManager.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/MaildirMailboxManager.java
(original)
+++
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/MaildirMailboxManager.java
Sat Aug 21 20:07:09 2010
@@ -27,7 +27,6 @@ import org.apache.james.imap.store.Authe
import org.apache.james.imap.store.MailboxSessionMapperFactory;
import org.apache.james.imap.store.StoreMailboxManager;
import org.apache.james.imap.store.MapperStoreMessageManager;
-import org.apache.james.imap.store.Subscriber;
import org.apache.james.imap.store.mail.MailboxMapper;
import org.apache.james.imap.store.mail.model.Mailbox;
@@ -35,8 +34,8 @@ public class MaildirMailboxManager exten
public MaildirMailboxManager(
MailboxSessionMapperFactory<Integer> mailboxSessionMapperFactory,
- Authenticator authenticator, Subscriber subscriber) {
- super(mailboxSessionMapperFactory, authenticator, subscriber);
+ Authenticator authenticator) {
+ super(mailboxSessionMapperFactory, authenticator);
}
@Override
Modified:
james/imap/trunk/maildir/src/test/java/org/apache/james/imap/functional/maildir/MaildirHostSystem.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/test/java/org/apache/james/imap/functional/maildir/MaildirHostSystem.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/maildir/src/test/java/org/apache/james/imap/functional/maildir/MaildirHostSystem.java
(original)
+++
james/imap/trunk/maildir/src/test/java/org/apache/james/imap/functional/maildir/MaildirHostSystem.java
Sat Aug 21 20:07:09 2010
@@ -21,6 +21,7 @@ package org.apache.james.imap.functional
import java.io.File;
import org.apache.commons.io.FileUtils;
+import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.encode.main.DefaultImapEncoderFactory;
import org.apache.james.imap.functional.ImapHostSystem;
import org.apache.james.imap.functional.InMemoryUserManager;
@@ -48,13 +49,12 @@ public class MaildirHostSystem extends I
userManager = new InMemoryUserManager();
mailboxSessionMapperFactory = new
MaildirMailboxSessionMapperFactory(MAILDIR_HOME + "/%user");
MaildirSubscriptionManager sm = new
MaildirSubscriptionManager(mailboxSessionMapperFactory);
- mailboxManager = new
MaildirMailboxManager(mailboxSessionMapperFactory, userManager, sm);
+ mailboxManager = new
MaildirMailboxManager(mailboxSessionMapperFactory, userManager);
- final DefaultImapProcessorFactory defaultImapProcessorFactory = new
DefaultImapProcessorFactory();
- defaultImapProcessorFactory.configure(mailboxManager);
+ final ImapProcessor defaultImapProcessorFactory =
DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager, sm);
configure(new DefaultImapDecoderFactory().buildImapDecoder(),
new DefaultImapEncoderFactory().buildImapEncoder(),
- defaultImapProcessorFactory.buildImapProcessor());
+ defaultImapProcessorFactory);
(new File(MAILDIR_HOME)).mkdirs();
}
Modified:
james/imap/trunk/maildir/src/test/java/org/apache/james/imap/functional/maildir/MaildirStressTest.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/maildir/src/test/java/org/apache/james/imap/functional/maildir/MaildirStressTest.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/maildir/src/test/java/org/apache/james/imap/functional/maildir/MaildirStressTest.java
(original)
+++
james/imap/trunk/maildir/src/test/java/org/apache/james/imap/functional/maildir/MaildirStressTest.java
Sat Aug 21 20:07:09 2010
@@ -26,7 +26,6 @@ import org.apache.james.imap.functional.
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.maildir.MaildirMailboxManager;
import org.apache.james.imap.maildir.MaildirMailboxSessionMapperFactory;
-import org.apache.james.imap.maildir.MaildirSubscriptionManager;
import org.apache.james.imap.store.StoreMailboxManager;
import org.junit.After;
import org.junit.Before;
@@ -39,7 +38,7 @@ public class MaildirStressTest extends A
@Before
public void setUp() {
MaildirMailboxSessionMapperFactory mf = new
MaildirMailboxSessionMapperFactory(MAILDIR_HOME + "/%user");
- mailboxManager = new MaildirMailboxManager(mf, null, new
MaildirSubscriptionManager(mf));
+ mailboxManager = new MaildirMailboxManager(mf, null);
}
@After
Modified:
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java
(original)
+++
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemoryMailboxManager.java
Sat Aug 21 20:07:09 2010
@@ -29,13 +29,12 @@ import org.apache.james.imap.store.Authe
import org.apache.james.imap.store.MailboxSessionMapperFactory;
import org.apache.james.imap.store.StoreMailboxManager;
import org.apache.james.imap.store.MapperStoreMessageManager;
-import org.apache.james.imap.store.Subscriber;
import org.apache.james.imap.store.mail.model.Mailbox;
public class InMemoryMailboxManager extends StoreMailboxManager<Long> {
- public InMemoryMailboxManager(MailboxSessionMapperFactory<Long>
mapperFactory, Authenticator authenticator, Subscriber subscriber) {
- super(mapperFactory, authenticator, subscriber);
+ public InMemoryMailboxManager(MailboxSessionMapperFactory<Long>
mapperFactory, Authenticator authenticator) {
+ super(mapperFactory, authenticator);
}
@Override
Modified:
james/imap/trunk/memory/src/test/java/org/apache/james/imap/functional/inmemory/InMemoryHostSystem.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/memory/src/test/java/org/apache/james/imap/functional/inmemory/InMemoryHostSystem.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/memory/src/test/java/org/apache/james/imap/functional/inmemory/InMemoryHostSystem.java
(original)
+++
james/imap/trunk/memory/src/test/java/org/apache/james/imap/functional/inmemory/InMemoryHostSystem.java
Sat Aug 21 20:07:09 2010
@@ -19,6 +19,7 @@
package org.apache.james.imap.functional.inmemory;
+import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.encode.main.DefaultImapEncoderFactory;
import org.apache.james.imap.functional.ImapHostSystem;
import org.apache.james.imap.functional.InMemoryUserManager;
@@ -42,12 +43,12 @@ public class InMemoryHostSystem extends
private InMemoryHostSystem() {
userManager = new InMemoryUserManager();
factory = new InMemoryMailboxSessionMapperFactory();
- mailboxManager = new InMemoryMailboxManager(factory, userManager, new
InMemorySubscriptionManager(factory));
- final DefaultImapProcessorFactory defaultImapProcessorFactory = new
DefaultImapProcessorFactory();
- defaultImapProcessorFactory.configure(mailboxManager);
+ mailboxManager = new InMemoryMailboxManager(factory, userManager);
+ final ImapProcessor defaultImapProcessorFactory =
DefaultImapProcessorFactory.createDefaultProcessor(mailboxManager, new
InMemorySubscriptionManager(factory));
+
configure(new DefaultImapDecoderFactory().buildImapDecoder(),
new DefaultImapEncoderFactory().buildImapEncoder(),
- defaultImapProcessorFactory.buildImapProcessor());
+ defaultImapProcessorFactory);
}
public boolean addUser(String user, String password) throws Exception {
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/DefaultProcessorChain.java
Sat Aug 21 20:07:09 2010
@@ -23,6 +23,7 @@ package org.apache.james.imap.processor;
import org.apache.james.imap.api.message.response.StatusResponseFactory;
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.mailbox.MailboxManager;
+import org.apache.james.imap.mailbox.SubscriptionManager;
import org.apache.james.imap.processor.fetch.FetchProcessor;
/**
@@ -33,6 +34,7 @@ public class DefaultProcessorChain {
public static final ImapProcessor createDefaultChain(
final ImapProcessor chainEndProcessor,
final MailboxManager mailboxManager,
+ final SubscriptionManager subscriptionManager,
final StatusResponseFactory statusResponseFactory) {
final SystemMessageProcessor systemProcessor = new
SystemMessageProcessor(chainEndProcessor, mailboxManager);
final LogoutProcessor logoutProcessor = new LogoutProcessor(
@@ -53,10 +55,10 @@ public class DefaultProcessorChain {
final CloseProcessor closeProcessor = new CloseProcessor(
createProcessor, mailboxManager, statusResponseFactory);
final UnsubscribeProcessor unsubscribeProcessor = new
UnsubscribeProcessor(
- closeProcessor, mailboxManager, statusResponseFactory);
+ closeProcessor, mailboxManager, subscriptionManager,
statusResponseFactory);
final SubscribeProcessor subscribeProcessor = new SubscribeProcessor(
unsubscribeProcessor, mailboxManager,
- statusResponseFactory);
+ subscriptionManager, statusResponseFactory);
final CopyProcessor copyProcessor = new CopyProcessor(
subscribeProcessor, mailboxManager,
statusResponseFactory);
@@ -76,7 +78,7 @@ public class DefaultProcessorChain {
final StatusProcessor statusProcessor = new StatusProcessor(
noopProcessor, mailboxManager, statusResponseFactory);
final LSubProcessor lsubProcessor = new LSubProcessor(statusProcessor,
- mailboxManager, statusResponseFactory);
+ mailboxManager, subscriptionManager, statusResponseFactory);
final ListProcessor listProcessor = new ListProcessor(lsubProcessor,
mailboxManager, statusResponseFactory);
final SearchProcessor searchProcessor = new SearchProcessor(
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/LSubProcessor.java
Sat Aug 21 20:07:09 2010
@@ -37,16 +37,21 @@ import org.apache.james.imap.mailbox.Mai
import org.apache.james.imap.mailbox.MailboxQuery;
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.message.request.LsubRequest;
import org.apache.james.imap.message.response.LSubResponse;
import org.apache.james.imap.processor.base.ImapSessionUtils;
public class LSubProcessor extends AbstractMailboxProcessor {
+ private final SubscriptionManager subscriptionManager;
+
public LSubProcessor(final ImapProcessor next,
- final MailboxManager mailboxManager,
+ final MailboxManager mailboxManager,
+ final SubscriptionManager subscriptionManager,
final StatusResponseFactory factory) {
super(next, mailboxManager, factory);
+ this.subscriptionManager = subscriptionManager;
}
protected boolean isAcceptable(ImapMessage message) {
@@ -89,8 +94,7 @@ public class LSubProcessor extends Abstr
final String referenceName, final String mailboxName)
throws SubscriptionException, MailboxException {
final MailboxSession mailboxSession =
ImapSessionUtils.getMailboxSession(session);
- final MailboxManager manager = getMailboxManager();
- final Collection<String> mailboxes =
manager.subscriptions(mailboxSession);
+ final Collection<String> mailboxes =
subscriptionManager.subscriptions(mailboxSession);
// If the mailboxName is fully qualified, ignore the reference name.
String finalReferencename = referenceName;
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SubscribeProcessor.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SubscribeProcessor.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SubscribeProcessor.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/SubscribeProcessor.java
Sat Aug 21 20:07:09 2010
@@ -29,15 +29,20 @@ import org.apache.james.imap.api.process
import org.apache.james.imap.mailbox.MailboxManager;
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.message.request.SubscribeRequest;
import org.apache.james.imap.processor.base.ImapSessionUtils;
public class SubscribeProcessor extends AbstractMailboxProcessor {
+ private final SubscriptionManager subscriptionManager;
+
public SubscribeProcessor(final ImapProcessor next,
final MailboxManager mailboxManager,
+ final SubscriptionManager subscriptionManager,
final StatusResponseFactory factory) {
super(next, mailboxManager, factory);
+ this.subscriptionManager = subscriptionManager;
}
protected boolean isAcceptable(ImapMessage message) {
@@ -50,8 +55,7 @@ public class SubscribeProcessor extends
final String mailboxName = request.getMailboxName();
final MailboxSession mailboxSession =
ImapSessionUtils.getMailboxSession(session);
try {
- final MailboxManager manager = getMailboxManager();
- manager.subscribe(mailboxSession, mailboxName);
+ subscriptionManager.subscribe(mailboxSession, mailboxName);
unsolicitedResponses(session, responder, false);
okComplete(command, tag, responder);
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/UnsubscribeProcessor.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/UnsubscribeProcessor.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/UnsubscribeProcessor.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/UnsubscribeProcessor.java
Sat Aug 21 20:07:09 2010
@@ -29,15 +29,21 @@ import org.apache.james.imap.api.process
import org.apache.james.imap.mailbox.MailboxManager;
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.message.request.UnsubscribeRequest;
import org.apache.james.imap.processor.base.ImapSessionUtils;
public class UnsubscribeProcessor extends AbstractMailboxProcessor {
+ private final SubscriptionManager subscriptionManager;
+
+
public UnsubscribeProcessor(final ImapProcessor next,
final MailboxManager mailboxManager,
+ final SubscriptionManager subscriptionManager,
final StatusResponseFactory factory) {
super(next, mailboxManager, factory);
+ this.subscriptionManager = subscriptionManager;
}
protected boolean isAcceptable(ImapMessage message) {
@@ -50,8 +56,7 @@ public class UnsubscribeProcessor extend
final String mailboxName = request.getMailboxName();
final MailboxSession mailboxSession =
ImapSessionUtils.getMailboxSession(session);
try {
- final MailboxManager mailboxManager = getMailboxManager();
- mailboxManager.unsubscribe(mailboxSession, mailboxName);
+ subscriptionManager.unsubscribe(mailboxSession, mailboxName);
unsolicitedResponses(session, responder, false);
okComplete(command, tag, responder);
Modified:
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java
(original)
+++
james/imap/trunk/processor/src/main/java/org/apache/james/imap/processor/main/DefaultImapProcessorFactory.java
Sat Aug 21 20:07:09 2010
@@ -23,6 +23,7 @@ import org.apache.james.imap.api.message
import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.api.process.ImapProcessorFactory;
import org.apache.james.imap.mailbox.MailboxManager;
+import org.apache.james.imap.mailbox.SubscriptionManager;
import org.apache.james.imap.message.response.UnpooledStatusResponseFactory;
import org.apache.james.imap.processor.DefaultProcessorChain;
import org.apache.james.imap.processor.base.ImapResponseMessageProcessor;
@@ -33,13 +34,13 @@ import org.apache.james.imap.processor.b
*/
public class DefaultImapProcessorFactory implements ImapProcessorFactory {
- public static final ImapProcessor createDefaultProcessor(final
MailboxManager mailboxManager) {
+ public static final ImapProcessor createDefaultProcessor(final
MailboxManager mailboxManager, final SubscriptionManager subscriptionManager) {
final StatusResponseFactory statusResponseFactory = new
UnpooledStatusResponseFactory();
final UnknownRequestProcessor unknownRequestImapProcessor = new
UnknownRequestProcessor(
statusResponseFactory);
final ImapProcessor imap4rev1Chain = DefaultProcessorChain
.createDefaultChain(unknownRequestImapProcessor,
- mailboxManager, statusResponseFactory);
+ mailboxManager, subscriptionManager,
statusResponseFactory);
final ImapProcessor result = new ImapResponseMessageProcessor(
imap4rev1Chain);
return result;
@@ -47,10 +48,6 @@ public class DefaultImapProcessorFactory
private MailboxManager mailboxManager;
- public final void configure(MailboxManager mailboxManager) {
- setMailboxManager(mailboxManager);
- }
-
public final MailboxManager getMailboxManager() {
return mailboxManager;
}
@@ -59,11 +56,21 @@ public class DefaultImapProcessorFactory
this.mailboxManager = mailboxManager;
}
+ private SubscriptionManager subscriptionManager;
+
+ public final SubscriptionManager getSubscriptionManager() {
+ return subscriptionManager;
+ }
+
+ public final void setSubscriptionManager(SubscriptionManager
subscriptionManager) {
+ this.subscriptionManager = subscriptionManager;
+ }
+
/*
* (non-Javadoc)
* @see
org.apache.james.imap.api.process.ImapProcessorFactory#buildImapProcessor()
*/
public ImapProcessor buildImapProcessor() {
- return createDefaultProcessor(mailboxManager);
+ return createDefaultProcessor(mailboxManager, subscriptionManager);
}
}
Modified:
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java
(original)
+++
james/imap/trunk/processor/src/test/java/org/apache/james/imap/processor/LSubProcessorTest.java
Sat Aug 21 20:07:09 2010
@@ -34,6 +34,7 @@ import org.apache.james.imap.api.process
import org.apache.james.imap.mailbox.MailboxManager;
import org.apache.james.imap.mailbox.MailboxMetaData;
import org.apache.james.imap.mailbox.MailboxSession;
+import org.apache.james.imap.mailbox.SubscriptionManager;
import org.apache.james.imap.message.request.LsubRequest;
import org.apache.james.imap.message.response.LSubResponse;
import org.apache.james.imap.processor.base.ImapSessionUtils;
@@ -71,7 +72,7 @@ public class LSubProcessorTest {
ImapProcessor next;
- MailboxManager manager;
+ SubscriptionManager manager;
ImapProcessor.Responder responder;
@@ -104,9 +105,9 @@ public class LSubProcessorTest {
result = mockery.mock(MailboxMetaData.class);
statusResponse = mockery.mock(StatusResponse.class);
responderImpl = responder;
- manager = mockery. mock(MailboxManager.class);
+ manager = mockery. mock(SubscriptionManager.class);
mailboxSession = mockery.mock(MailboxSession.class);
- processor = new LSubProcessor(next, manager, serverResponseFactory);
+ processor = new LSubProcessor(next,
mockery.mock(MailboxManager.class), manager, serverResponseFactory);
}
@Test
Modified:
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/DelegatingMailboxManager.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/DelegatingMailboxManager.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/DelegatingMailboxManager.java
(original)
+++
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/DelegatingMailboxManager.java
Sat Aug 21 20:07:09 2010
@@ -20,7 +20,6 @@
package org.apache.james.imap.store;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Locale;
import java.util.Random;
@@ -31,7 +30,6 @@ import org.apache.james.imap.mailbox.Mai
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxManager;
import org.apache.james.imap.mailbox.MailboxSession;
-import org.apache.james.imap.mailbox.SubscriptionException;
/**
* Abstract {...@link MailboxManager} which delegates various stuff to the
{...@link Authenticator} and {...@link Subscriber}
@@ -40,11 +38,9 @@ import org.apache.james.imap.mailbox.Sub
public abstract class DelegatingMailboxManager implements MailboxManager {
private final Authenticator authenticator;
- private final Subscriber subscriper;
private final static Random RANDOM = new Random();
- public DelegatingMailboxManager(final Authenticator authenticator, final
Subscriber subscriper) {
- this.subscriper = subscriper;
+ public DelegatingMailboxManager(final Authenticator authenticator) {
this.authenticator = authenticator;
}
@@ -151,28 +147,4 @@ public abstract class DelegatingMailboxM
}
- /*
- * (non-Javadoc)
- * @see
org.apache.james.imap.mailbox.MailboxManager#subscribe(org.apache.james.imap.mailbox.MailboxSession,
java.lang.String)
- */
- public void subscribe(MailboxSession session, String mailbox) throws
SubscriptionException {
- subscriper.subscribe(session, mailbox);
- }
-
- /*
- * (non-Javadoc)
- * @see
org.apache.james.imap.mailbox.MailboxManager#subscriptions(org.apache.james.imap.mailbox.MailboxSession)
- */
- public Collection<String> subscriptions(MailboxSession session) throws
SubscriptionException {
- return subscriper.subscriptions(session);
- }
-
- /*
- * (non-Javadoc)
- * @see
org.apache.james.imap.mailbox.MailboxManager#unsubscribe(org.apache.james.imap.mailbox.MailboxSession,
java.lang.String)
- */
- public void unsubscribe(MailboxSession session, String mailbox) throws
SubscriptionException {
- subscriper.unsubscribe(session, mailbox);
- }
-
}
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=987821&r1=987820&r2=987821&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
Sat Aug 21 20:07:09 2010
@@ -61,8 +61,8 @@ public abstract class StoreMailboxManage
private final MailboxPathLock lock = new MailboxPathLock();
protected final MailboxSessionMapperFactory<Id>
mailboxSessionMapperFactory;
- public StoreMailboxManager(MailboxSessionMapperFactory<Id>
mailboxSessionMapperFactory, final Authenticator authenticator, final
Subscriber subscriber) {
- super(authenticator, subscriber);
+ public StoreMailboxManager(MailboxSessionMapperFactory<Id>
mailboxSessionMapperFactory, final Authenticator authenticator) {
+ super(authenticator);
this.mailboxSessionMapperFactory = mailboxSessionMapperFactory;
// The dispatcher need to have the delegating listener added
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=987821&r1=987820&r2=987821&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
Sat Aug 21 20:07:09 2010
@@ -25,6 +25,7 @@ import java.util.List;
import org.apache.james.imap.mailbox.MailboxException;
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.user.SubscriptionMapper;
import org.apache.james.imap.store.user.model.Subscription;
@@ -32,7 +33,7 @@ import org.apache.james.imap.store.user.
/**
* Manages subscriptions.
*/
-public abstract class StoreSubscriptionManager<Id> implements Subscriber {
+public abstract class StoreSubscriptionManager<Id> implements
SubscriptionManager {
private static final int INITIAL_SIZE = 32;
@@ -44,7 +45,7 @@ public abstract class StoreSubscriptionM
/*
* (non-Javadoc)
- * @see
org.apache.james.imap.store.Subscriber#subscribe(org.apache.james.imap.mailbox.MailboxSession,
java.lang.String)
+ * @see
org.apache.james.imap.mailbox.SubscriptionManager#subscribe(org.apache.james.imap.mailbox.MailboxSession,
java.lang.String)
*/
public void subscribe(final MailboxSession session, final String mailbox)
throws SubscriptionException {
final SubscriptionMapper mapper =
mapperFactory.getSubscriptionMapper(session);
@@ -74,9 +75,10 @@ public abstract class StoreSubscriptionM
*/
protected abstract Subscription createSubscription(final MailboxSession
session, final String mailbox);
+
/*
* (non-Javadoc)
- * @see
org.apache.james.imap.store.Subscriber#subscriptions(org.apache.james.imap.mailbox.MailboxSession)
+ * @see
org.apache.james.imap.mailbox.SubscriptionManager#subscriptions(org.apache.james.imap.mailbox.MailboxSession)
*/
public Collection<String> subscriptions(final MailboxSession session)
throws SubscriptionException {
final SubscriptionMapper mapper =
mapperFactory.getSubscriptionMapper(session);
@@ -90,7 +92,7 @@ public abstract class StoreSubscriptionM
/*
* (non-Javadoc)
- * @see
org.apache.james.imap.store.Subscriber#unsubscribe(java.lang.String,
java.lang.String)
+ * @see
org.apache.james.imap.mailbox.SubscriptionManager#unsubscribe(org.apache.james.imap.mailbox.MailboxSession,
java.lang.String)
*/
public void unsubscribe(final MailboxSession session, final String
mailbox) throws SubscriptionException {
final SubscriptionMapper mapper =
mapperFactory.getSubscriptionMapper(session);
Modified:
james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
(original)
+++
james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
Sat Aug 21 20:07:09 2010
@@ -44,7 +44,6 @@ import org.apache.james.imap.mailbox.Mai
import org.apache.james.imap.mailbox.util.SimpleMailboxMetaData;
import org.apache.james.imap.store.Authenticator;
import org.apache.james.imap.store.DelegatingMailboxManager;
-import org.apache.james.imap.store.Subscriber;
import org.apache.james.mailboxmanager.torque.om.MailboxRow;
import org.apache.james.mailboxmanager.torque.om.MailboxRowPeer;
import org.apache.torque.TorqueException;
@@ -65,8 +64,8 @@ public class TorqueMailboxManager extend
private final Map<String, TorqueMailbox> mailboxes;
- public TorqueMailboxManager(final Authenticator authenticator, final
Subscriber subscriper) {
- super(authenticator, subscriper);
+ public TorqueMailboxManager(final Authenticator authenticator) {
+ super(authenticator);
this.lock = new ReentrantReadWriteLock();
mailboxes = new HashMap<String, TorqueMailbox>();
}
Modified:
james/imap/trunk/torque/src/test/java/org/apache/james/mailboxmanager/torque/TorqueHostSystemFactory.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/torque/src/test/java/org/apache/james/mailboxmanager/torque/TorqueHostSystemFactory.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/torque/src/test/java/org/apache/james/mailboxmanager/torque/TorqueHostSystemFactory.java
(original)
+++
james/imap/trunk/torque/src/test/java/org/apache/james/mailboxmanager/torque/TorqueHostSystemFactory.java
Sat Aug 21 20:07:09 2010
@@ -22,6 +22,7 @@ package org.apache.james.mailboxmanager.
import java.io.File;
import org.apache.commons.io.FileUtils;
+import org.apache.james.imap.api.process.ImapProcessor;
import org.apache.james.imap.encode.main.DefaultImapEncoderFactory;
import org.apache.james.imap.functional.ImapHostSystem;
import org.apache.james.imap.main.DefaultImapDecoderFactory;
@@ -44,13 +45,14 @@ public class TorqueHostSystemFactory {
public static HostSystem createStandardImap() throws Exception {
ImapHostSystem host = TorqueMailboxManagerProviderSingleton.HOST;
- final DefaultImapProcessorFactory defaultImapProcessorFactory = new
DefaultImapProcessorFactory();
+ final ImapProcessor defaultImapProcessorFactory =
DefaultImapProcessorFactory.createDefaultProcessor(TorqueMailboxManagerProviderSingleton
+ .getTorqueMailboxManagerInstance(),
TorqueMailboxManagerProviderSingleton.getSubscriptionManager());
+
resetUserMetaData();
-
defaultImapProcessorFactory.configure(TorqueMailboxManagerProviderSingleton
- .getTorqueMailboxManagerInstance());
+
host.configure(new DefaultImapDecoderFactory().buildImapDecoder(),
new DefaultImapEncoderFactory().buildImapEncoder(),
- defaultImapProcessorFactory.buildImapProcessor());
+ defaultImapProcessorFactory);
return host;
}
}
Modified:
james/imap/trunk/torque/src/test/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProviderSingleton.java
URL:
http://svn.apache.org/viewvc/james/imap/trunk/torque/src/test/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProviderSingleton.java?rev=987821&r1=987820&r2=987821&view=diff
==============================================================================
---
james/imap/trunk/torque/src/test/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProviderSingleton.java
(original)
+++
james/imap/trunk/torque/src/test/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManagerProviderSingleton.java
Sat Aug 21 20:07:09 2010
@@ -29,6 +29,7 @@ import org.apache.commons.configuration.
import org.apache.james.imap.functional.ImapHostSystem;
import org.apache.james.imap.functional.InMemoryUserManager;
import org.apache.james.imap.mailbox.MailboxManager;
+import org.apache.james.imap.mailbox.SubscriptionManager;
import org.apache.james.mailboxmanager.torque.om.MailboxRowPeer;
import org.apache.james.mailboxmanager.torque.om.MessageBodyPeer;
import org.apache.james.mailboxmanager.torque.om.MessageFlagsPeer;
@@ -160,7 +161,8 @@ public class TorqueMailboxManagerProvide
private static TorqueMailboxManager TORQUE_MAILBOX_MANAGER;
- private static InMemoryUserManager USER_MANAGER;
+ private static InMemoryUserManager USER_MANAGER = new
InMemoryUserManager();
+
public static final ImapHostSystem HOST = new TorqueHostSystem();
@@ -170,15 +172,19 @@ public class TorqueMailboxManagerProvide
return getMailboxManager();
}
+
+ public synchronized static SubscriptionManager getSubscriptionManager(){
+ return USER_MANAGER;
+ }
+
public static void addUser(String user, String password) {
USER_MANAGER.addUser(user, password);
}
private static TorqueMailboxManager getMailboxManager() throws Exception {
if (TORQUE_MAILBOX_MANAGER == null) {
- USER_MANAGER = new InMemoryUserManager();
initialize();
- TORQUE_MAILBOX_MANAGER = new TorqueMailboxManager(USER_MANAGER,
USER_MANAGER);
+ TORQUE_MAILBOX_MANAGER = new TorqueMailboxManager(USER_MANAGER);
}
return TORQUE_MAILBOX_MANAGER;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]