You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by no...@apache.org on 2010/08/21 17:54:57 UTC
svn commit: r987775 - in /james/imap/trunk:
jcr/src/main/java/org/apache/james/imap/jcr/
jcr/src/test/java/org/apache/james/imap/jcr/
jpa/src/main/java/org/apache/james/imap/jpa/
jpa/src/main/java/org/apache/james/imap/jpa/openjpa/ jpa/src/test/java/or...
Author: norman
Date: Sat Aug 21 15:54:56 2010
New Revision: 987775
URL: http://svn.apache.org/viewvc?rev=987775&view=rev
Log:
Remove the changes introduces before. We will move the Subscriper to the mailbox api and rename it SubscriptionManager (IMAP-205)
Added:
james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java
- copied unchanged from r987708, james/imap/trunk/jcr/src/main/java/org/apache/james/imap/jcr/JCRSubscriptionManager.java
james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPASubscriptionManager.java
james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/MaildirSubscriptionManager.java
- copied unchanged from r987708, james/imap/trunk/maildir/src/main/java/org/apache/james/imap/maildir/MaildirSubscriptionManager.java
james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemorySubscriptionManager.java
- copied unchanged from r987708, james/imap/trunk/memory/src/main/java/org/apache/james/imap/inmemory/InMemorySubscriptionManager.java
james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreSubscriptionManager.java
- copied unchanged from r987708, james/imap/trunk/store/src/main/java/org/apache/james/imap/store/StoreSubscriptionManager.java
Modified:
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/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/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/Subscriber.java (contents, props changed)
james/imap/trunk/torque/src/main/java/org/apache/james/mailboxmanager/torque/TorqueMailboxManager.java
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -23,16 +23,15 @@ import org.apache.commons.logging.LogFac
import org.apache.james.imap.api.MailboxPath;
import org.apache.james.imap.jcr.mail.JCRMailboxMapper;
import org.apache.james.imap.jcr.mail.model.JCRMailbox;
-import org.apache.james.imap.jcr.user.model.JCRSubscription;
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.mailbox.util.MailboxEventDispatcher;
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;
-import org.apache.james.imap.store.user.model.Subscription;
/**
* JCR implementation of a MailboxManager
@@ -43,12 +42,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) {
- this(mapperFactory, authenticator, new JCRVmNodeLocker());
+ public JCRMailboxManager(JCRMailboxSessionMapperFactory mapperFactory, final Authenticator authenticator, final Subscriber subscriber) {
+ this(mapperFactory, authenticator, subscriber, new JCRVmNodeLocker());
}
- public JCRMailboxManager(JCRMailboxSessionMapperFactory mapperFactory, final Authenticator authenticator, final NodeLocker locker) {
- super(mapperFactory, authenticator);
+ public JCRMailboxManager(JCRMailboxSessionMapperFactory mapperFactory, final Authenticator authenticator, final Subscriber subscriber, final NodeLocker locker) {
+ super(mapperFactory, authenticator, subscriber);
this.mapperFactory = mapperFactory;
}
@@ -70,15 +69,5 @@ public class JCRMailboxManager extends S
});
}
-
-
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.imap.store.StoreMailboxManager#createSubscription(org.apache.james.imap.mailbox.MailboxSession, java.lang.String)
- */
- protected Subscription createSubscription(MailboxSession session, String mailbox) {
- return new JCRSubscription(session.getUser().getUserName(), mailbox, logger);
- }
}
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -30,6 +30,7 @@ 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.mailbox.MailboxSession;
@@ -71,7 +72,7 @@ public class JCRHostSystem extends ImapH
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);
+ mailboxManager = new JCRMailboxManager(mf, userManager, new JCRSubscriptionManager(mf));
final DefaultImapProcessorFactory defaultImapProcessorFactory = new DefaultImapProcessorFactory();
resetUserMetaData();
MailboxSession session = mailboxManager.createSystemSession("test", new SimpleLog("TestLog"));
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -29,6 +29,7 @@ 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;
@@ -63,7 +64,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);
+ mailboxManager = new JCRMailboxManager(mf, null, new JCRSubscriptionManager(mf));
}
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -25,6 +25,7 @@ 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;
@@ -36,8 +37,8 @@ import org.apache.james.imap.store.user.
public abstract class JPAMailboxManager extends StoreMailboxManager<Long> {
public JPAMailboxManager(JPAMailboxSessionMapperFactory mailboxSessionMapperFactory,
- final Authenticator authenticator) {
- super(mailboxSessionMapperFactory, authenticator);
+ final Authenticator authenticator, Subscriber subscripter) {
+ super(mailboxSessionMapperFactory, authenticator, subscripter);
}
@Override
Added: james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPASubscriptionManager.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPASubscriptionManager.java?rev=987775&view=auto
==============================================================================
--- james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPASubscriptionManager.java (added)
+++ james/imap/trunk/jpa/src/main/java/org/apache/james/imap/jpa/JPASubscriptionManager.java Sat Aug 21 15:54:56 2010
@@ -0,0 +1,44 @@
+/****************************************************************
+ * 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.imap.jpa;
+
+import org.apache.james.imap.jpa.user.model.JPASubscription;
+import org.apache.james.imap.mailbox.MailboxSession;
+import org.apache.james.imap.store.StoreSubscriptionManager;
+import org.apache.james.imap.store.user.model.Subscription;
+
+/**
+ * JPA implementation of {@link StoreSubscriptionManager}
+ *
+ */
+public class JPASubscriptionManager extends StoreSubscriptionManager<Long> {
+
+ public JPASubscriptionManager(final JPAMailboxSessionMapperFactory mapperFactory) {
+ super(mapperFactory);
+ }
+
+ /*
+ * (non-Javadoc)
+ * @see org.apache.james.imap.store.StoreSubscriptionManager#createSubscription(org.apache.james.imap.mailbox.MailboxSession, java.lang.String)
+ */
+ protected Subscription createSubscription(final MailboxSession session, final String mailbox) {
+ final Subscription newSubscription = new JPASubscription(session.getUser().getUserName(), mailbox);
+ return newSubscription;
+ }
+}
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -27,6 +27,7 @@ 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;
/**
@@ -37,13 +38,13 @@ public class OpenJPAMailboxManager exten
private boolean useStreaming;
- public OpenJPAMailboxManager(JPAMailboxSessionMapperFactory mapperFactory, Authenticator authenticator, boolean useStreaming) {
- super(mapperFactory, authenticator);
+ public OpenJPAMailboxManager(JPAMailboxSessionMapperFactory mapperFactory, Authenticator authenticator, Subscriber subscripter, boolean useStreaming) {
+ super(mapperFactory, authenticator, subscripter);
this.useStreaming = useStreaming;
}
- public OpenJPAMailboxManager(JPAMailboxSessionMapperFactory mapperFactory, Authenticator authenticator) {
- this(mapperFactory, authenticator, false);
+ public OpenJPAMailboxManager(JPAMailboxSessionMapperFactory mapperFactory, Authenticator authenticator, Subscriber subscripter) {
+ this(mapperFactory, authenticator, subscripter, 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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -75,7 +75,7 @@ public class JPAHostSystem extends ImapH
userManager = new InMemoryUserManager();
entityManagerFactory = OpenJPAPersistence.getEntityManagerFactory(properties);
JPAMailboxSessionMapperFactory mf = new JPAMailboxSessionMapperFactory(entityManagerFactory);
- mailboxManager = new OpenJPAMailboxManager(mf, userManager);
+ mailboxManager = new OpenJPAMailboxManager(mf, userManager, new JPASubscriptionManager(mf));
final DefaultImapProcessorFactory defaultImapProcessorFactory = new DefaultImapProcessorFactory();
resetUserMetaData();
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -71,7 +71,7 @@ public class JPAStressTest extends Abstr
entityManagerFactory = OpenJPAPersistence.getEntityManagerFactory(properties);
JPAMailboxSessionMapperFactory mf = new JPAMailboxSessionMapperFactory(entityManagerFactory);
- mailboxManager = new OpenJPAMailboxManager(mf, null);
+ mailboxManager = new OpenJPAMailboxManager(mf, null, new JPASubscriptionManager(mf));
// Set the lock timeout via SQL because of a bug in openJPA
// https://issues.apache.org/jira/browse/OPENJPA-1656
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -23,21 +23,20 @@ import org.apache.james.imap.mailbox.Mai
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.mailbox.util.MailboxEventDispatcher;
import org.apache.james.imap.maildir.mail.model.MaildirMailbox;
-import org.apache.james.imap.maildir.user.model.MaildirSubscription;
import org.apache.james.imap.store.Authenticator;
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;
-import org.apache.james.imap.store.user.model.Subscription;
public class MaildirMailboxManager extends StoreMailboxManager<Integer> {
public MaildirMailboxManager(
MailboxSessionMapperFactory<Integer> mailboxSessionMapperFactory,
- Authenticator authenticator) {
- super(mailboxSessionMapperFactory, authenticator);
+ Authenticator authenticator, Subscriber subscriber) {
+ super(mailboxSessionMapperFactory, authenticator, subscriber);
}
@Override
@@ -53,11 +52,5 @@ public class MaildirMailboxManager exten
final MailboxMapper<Integer> mapper = mailboxSessionMapperFactory.getMailboxMapper(session);
mapper.save(mailbox);
}
-
- @Override
- protected Subscription createSubscription(MailboxSession session, String mailbox) {
- return new MaildirSubscription(session.getUser().getUserName(), mailbox);
- }
-
}
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -26,6 +26,7 @@ import org.apache.james.imap.functional.
import org.apache.james.imap.functional.InMemoryUserManager;
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.main.DefaultImapDecoderFactory;
import org.apache.james.imap.processor.main.DefaultImapProcessorFactory;
import org.apache.james.test.functional.HostSystem;
@@ -46,7 +47,8 @@ public class MaildirHostSystem extends I
public MaildirHostSystem() {
userManager = new InMemoryUserManager();
mailboxSessionMapperFactory = new MaildirMailboxSessionMapperFactory(MAILDIR_HOME + "/%user");
- mailboxManager = new MaildirMailboxManager(mailboxSessionMapperFactory, userManager);
+ MaildirSubscriptionManager sm = new MaildirSubscriptionManager(mailboxSessionMapperFactory);
+ mailboxManager = new MaildirMailboxManager(mailboxSessionMapperFactory, userManager, sm);
final DefaultImapProcessorFactory defaultImapProcessorFactory = new DefaultImapProcessorFactory();
defaultImapProcessorFactory.configure(mailboxManager);
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -26,6 +26,7 @@ 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;
@@ -38,7 +39,7 @@ public class MaildirStressTest extends A
@Before
public void setUp() {
MaildirMailboxSessionMapperFactory mf = new MaildirMailboxSessionMapperFactory(MAILDIR_HOME + "/%user");
- mailboxManager = new MaildirMailboxManager(mf, null);
+ mailboxManager = new MaildirMailboxManager(mf, null, new MaildirSubscriptionManager(mf));
}
@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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -21,7 +21,6 @@ package org.apache.james.imap.inmemory;
import org.apache.james.imap.api.MailboxPath;
import org.apache.james.imap.inmemory.mail.model.InMemoryMailbox;
-import org.apache.james.imap.inmemory.user.model.InMemorySubscription;
import org.apache.james.imap.mailbox.MailboxException;
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.mailbox.StorageException;
@@ -30,13 +29,13 @@ 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;
-import org.apache.james.imap.store.user.model.Subscription;
public class InMemoryMailboxManager extends StoreMailboxManager<Long> {
- public InMemoryMailboxManager(MailboxSessionMapperFactory<Long> mapperFactory, Authenticator authenticator) {
- super(mapperFactory, authenticator);
+ public InMemoryMailboxManager(MailboxSessionMapperFactory<Long> mapperFactory, Authenticator authenticator, Subscriber subscriber) {
+ super(mapperFactory, authenticator, subscriber);
}
@Override
@@ -62,11 +61,7 @@ public class InMemoryMailboxManager exte
public synchronized void deleteEverything() throws MailboxException {
((InMemoryMailboxSessionMapperFactory) mailboxSessionMapperFactory).deleteAll();
}
-
- @Override
- protected Subscription createSubscription(MailboxSession session, String mailbox) {
- return new InMemorySubscription(mailbox, session.getUser());
- }
+
}
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -24,6 +24,7 @@ import org.apache.james.imap.functional.
import org.apache.james.imap.functional.InMemoryUserManager;
import org.apache.james.imap.inmemory.InMemoryMailboxManager;
import org.apache.james.imap.inmemory.InMemoryMailboxSessionMapperFactory;
+import org.apache.james.imap.inmemory.InMemorySubscriptionManager;
import org.apache.james.imap.main.DefaultImapDecoderFactory;
import org.apache.james.imap.processor.main.DefaultImapProcessorFactory;
import org.apache.james.test.functional.HostSystem;
@@ -41,7 +42,7 @@ public class InMemoryHostSystem extends
private InMemoryHostSystem() {
userManager = new InMemoryUserManager();
factory = new InMemoryMailboxSessionMapperFactory();
- mailboxManager = new InMemoryMailboxManager(factory, userManager);
+ mailboxManager = new InMemoryMailboxManager(factory, userManager, new InMemorySubscriptionManager(factory));
final DefaultImapProcessorFactory defaultImapProcessorFactory = new DefaultImapProcessorFactory();
defaultImapProcessorFactory.configure(mailboxManager);
configure(new DefaultImapDecoderFactory().buildImapDecoder(),
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -20,6 +20,7 @@
package org.apache.james.imap.store;
import java.util.ArrayList;
+import java.util.Collection;
import java.util.Locale;
import java.util.Random;
@@ -30,6 +31,7 @@ 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}
@@ -38,9 +40,11 @@ import org.apache.james.imap.mailbox.Mai
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) {
+ public DelegatingMailboxManager(final Authenticator authenticator, final Subscriber subscriper) {
+ this.subscriper = subscriper;
this.authenticator = authenticator;
}
@@ -145,4 +149,30 @@ public abstract class DelegatingMailboxM
// Default do nothing
}
+
+
+ /*
+ * (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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -20,9 +20,7 @@
package org.apache.james.imap.store;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
-import java.util.HashSet;
import java.util.List;
import org.apache.commons.logging.Log;
@@ -38,15 +36,12 @@ import org.apache.james.imap.mailbox.Mai
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.mailbox.MessageRange;
import org.apache.james.imap.mailbox.StandardMailboxMetaDataComparator;
-import org.apache.james.imap.mailbox.SubscriptionException;
import org.apache.james.imap.mailbox.MailboxMetaData.Selectability;
import org.apache.james.imap.mailbox.util.MailboxEventDispatcher;
import org.apache.james.imap.mailbox.util.SimpleMailboxMetaData;
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;
-import org.apache.james.imap.store.user.SubscriptionMapper;
-import org.apache.james.imap.store.user.model.Subscription;
/**
* This abstract base class of an {@link MailboxManager} implementation provides a high-level api for writing your own
@@ -66,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) {
- super(authenticator);
+ public StoreMailboxManager(MailboxSessionMapperFactory<Id> mailboxSessionMapperFactory, final Authenticator authenticator, final Subscriber subscriber) {
+ super(authenticator, subscriber);
this.mailboxSessionMapperFactory = mailboxSessionMapperFactory;
// The dispatcher need to have the delegating listener added
@@ -312,75 +307,5 @@ public abstract class StoreMailboxManage
public void endProcessingRequest(MailboxSession session) {
mailboxSessionMapperFactory.endRequest(session);
}
-
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.imap.store.Subscriber#subscribe(org.apache.james.imap.mailbox.MailboxSession, java.lang.String)
- */
- public void subscribe(final MailboxSession session, final String mailbox) throws SubscriptionException {
- final SubscriptionMapper mapper = mailboxSessionMapperFactory.getSubscriptionMapper(session);
- try {
- mapper.execute(new TransactionalMapper.VoidTransaction() {
-
- public void runVoid() throws MailboxException {
- final Subscription subscription = mapper.findMailboxSubscriptionForUser(session.getUser().getUserName(), mailbox);
- if (subscription == null) {
- final Subscription newSubscription = createSubscription(session, mailbox);
- mapper.save(newSubscription);
- }
- }
-
- });
- } catch (MailboxException e) {
- throw new SubscriptionException(e.getKey(), (Exception) e.getCause());
- }
- }
-
- /**
- * Create Subscription for the given user and mailbox
- *
- * @param session
- * @param mailbox
- * @return subscription
- */
- protected abstract Subscription createSubscription(final MailboxSession session, final String mailbox);
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.imap.mailbox.MailboxManager#subscriptions(org.apache.james.imap.mailbox.MailboxSession)
- */
- public Collection<String> subscriptions(final MailboxSession session) throws SubscriptionException {
- final SubscriptionMapper mapper = mailboxSessionMapperFactory.getSubscriptionMapper(session);
- final List<Subscription> subscriptions = mapper.findSubscriptionsForUser(session.getUser().getUserName());
- final Collection<String> results = new HashSet<String>();
- for (Subscription subscription:subscriptions) {
- results.add(subscription.getMailbox());
- }
- return results;
- }
-
-
- /*
- * (non-Javadoc)
- * @see org.apache.james.imap.mailbox.MailboxManager#unsubscribe(org.apache.james.imap.mailbox.MailboxSession, java.lang.String)
- */
- public void unsubscribe(final MailboxSession session, final String mailbox) throws SubscriptionException {
- final SubscriptionMapper mapper = mailboxSessionMapperFactory.getSubscriptionMapper(session);
- try {
- mapper.execute(new TransactionalMapper.VoidTransaction() {
-
- public void runVoid() throws MailboxException {
- final Subscription subscription = mapper.findMailboxSubscriptionForUser(session.getUser().getUserName(), mailbox);
- if (subscription != null) {
- mapper.delete(subscription);
- }
- }
-
- });
- } catch (MailboxException e) {
- throw new SubscriptionException(e.getKey(), (Exception)e.getCause());
- }
- }
}
Modified: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/Subscriber.java
URL: http://svn.apache.org/viewvc/james/imap/trunk/store/src/main/java/org/apache/james/imap/store/Subscriber.java?rev=987775&r1=987774&r2=987775&view=diff
==============================================================================
--- james/imap/trunk/store/src/main/java/org/apache/james/imap/store/Subscriber.java (original)
+++ james/imap/trunk/store/src/main/java/org/apache/james/imap/store/Subscriber.java Sat Aug 21 15:54:56 2010
@@ -21,16 +21,12 @@ package org.apache.james.imap.store;
import java.util.Collection;
-import org.apache.james.imap.mailbox.MailboxManager;
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.mailbox.SubscriptionException;
/**
* Subscribes users.
- *
- * @deprecated Use {@link MailboxManager}
*/
-@Deprecated
public interface Subscriber {
/**
Propchange: james/imap/trunk/store/src/main/java/org/apache/james/imap/store/Subscriber.java
('svn:mergeinfo' removed)
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=987775&r1=987774&r2=987775&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 15:54:56 2010
@@ -20,7 +20,6 @@
package org.apache.james.mailboxmanager.torque;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Iterator;
@@ -41,7 +40,6 @@ import org.apache.james.imap.mailbox.Mai
import org.apache.james.imap.mailbox.MailboxSession;
import org.apache.james.imap.mailbox.MessageRange;
import org.apache.james.imap.mailbox.StandardMailboxMetaDataComparator;
-import org.apache.james.imap.mailbox.SubscriptionException;
import org.apache.james.imap.mailbox.MailboxMetaData.Selectability;
import org.apache.james.imap.mailbox.util.SimpleMailboxMetaData;
import org.apache.james.imap.store.Authenticator;
@@ -66,13 +64,11 @@ public class TorqueMailboxManager extend
private final Map<String, TorqueMailbox> mailboxes;
- private Subscriber subscriper;
public TorqueMailboxManager(final Authenticator authenticator, final Subscriber subscriper) {
- super(authenticator);
+ super(authenticator, subscriper);
this.lock = new ReentrantReadWriteLock();
mailboxes = new HashMap<String, TorqueMailbox>();
- this.subscriper = subscriper;
}
public Mailbox getMailbox(MailboxPath path, MailboxSession session)
@@ -375,16 +371,5 @@ public class TorqueMailboxManager extend
mailbox.addListener(listener);
}
- public void subscribe(MailboxSession session, String mailbox) throws SubscriptionException {
- subscriper.subscribe(session, mailbox);
- }
-
- public Collection<String> subscriptions(MailboxSession session) throws SubscriptionException {
- return subscriper.subscriptions(session);
- }
-
- public void unsubscribe(MailboxSession session, String mailbox) throws SubscriptionException {
- subscriper.unsubscribe(session, mailbox);
- }
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org