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 ma...@apache.org on 2015/11/03 17:41:06 UTC

svn commit: r1712323 - in /james/project/trunk/mailbox: cassandra/ cassandra/src/main/java/org/apache/james/mailbox/cassandra/ cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/ store/ store/src/main/java/org/apache/james/mailbox/store/

Author: matthieu
Date: Tue Nov  3 16:41:05 2015
New Revision: 1712323

URL: http://svn.apache.org/viewvc?rev=1712323&view=rev
Log:
JAMES-1626 Use javax.inject in Cassandra mailbox

Modified:
    james/project/trunk/mailbox/cassandra/pom.xml
    james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
    james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
    james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java
    james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java
    james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
    james/project/trunk/mailbox/store/pom.xml
    james/project/trunk/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java

Modified: james/project/trunk/mailbox/cassandra/pom.xml
URL: http://svn.apache.org/viewvc/james/project/trunk/mailbox/cassandra/pom.xml?rev=1712323&r1=1712322&r2=1712323&view=diff
==============================================================================
--- james/project/trunk/mailbox/cassandra/pom.xml (original)
+++ james/project/trunk/mailbox/cassandra/pom.xml Tue Nov  3 16:41:05 2015
@@ -152,6 +152,10 @@
                     <version>16.0</version>
                 </dependency>
                 <dependency>
+                    <groupId>javax.inject</groupId>
+                    <artifactId>javax.inject</artifactId>
+                </dependency>
+                <dependency>
                     <groupId>${javax.mail.groupId}</groupId>
                     <artifactId>${javax.mail.artifactId}</artifactId>
                 </dependency>

Modified: james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java
URL: http://svn.apache.org/viewvc/james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java?rev=1712323&r1=1712322&r2=1712323&view=diff
==============================================================================
--- james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java (original)
+++ james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxManager.java Tue Nov  3 16:41:05 2015
@@ -19,6 +19,9 @@
 
 package org.apache.james.mailbox.cassandra;
 
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
 import org.apache.james.mailbox.MailboxPathLocker;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.acl.SimpleGroupMembershipResolver;
@@ -35,9 +38,11 @@ import org.apache.james.mailbox.store.ma
 /**
  * Cassandra implementation of {@link StoreMailboxManager}
  */
+@Singleton
 public class CassandraMailboxManager extends StoreMailboxManager<CassandraId> {
     private MailboxPathLocker locker;
 
+    @Inject
     public CassandraMailboxManager(CassandraMailboxSessionMapperFactory mapperFactory, Authenticator authenticator, final MailboxPathLocker locker) {
         super(mapperFactory,
             authenticator,

Modified: james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java
URL: http://svn.apache.org/viewvc/james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java?rev=1712323&r1=1712322&r2=1712323&view=diff
==============================================================================
--- james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java (original)
+++ james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraMailboxSessionMapperFactory.java Tue Nov  3 16:41:05 2015
@@ -20,6 +20,7 @@
 package org.apache.james.mailbox.cassandra;
 
 import org.apache.james.backends.cassandra.init.CassandraTypesProvider;
+import javax.inject.Inject;
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.cassandra.mail.CassandraMailboxMapper;
 import org.apache.james.mailbox.cassandra.mail.CassandraMessageMapper;
@@ -45,6 +46,7 @@ public class CassandraMailboxSessionMapp
     private final CassandraTypesProvider typesProvider;
     private int maxRetry;
 
+    @Inject
     public CassandraMailboxSessionMapperFactory(UidProvider<CassandraId> uidProvider, ModSeqProvider<CassandraId> modSeqProvider, Session session, CassandraTypesProvider typesProvider) {
         this.uidProvider = uidProvider;
         this.modSeqProvider = modSeqProvider;

Modified: james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java
URL: http://svn.apache.org/viewvc/james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java?rev=1712323&r1=1712322&r2=1712323&view=diff
==============================================================================
--- james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java (original)
+++ james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/CassandraSubscriptionManager.java Tue Nov  3 16:41:05 2015
@@ -19,6 +19,8 @@
 
 package org.apache.james.mailbox.cassandra;
 
+import javax.inject.Inject;
+
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.store.StoreSubscriptionManager;
 import org.apache.james.mailbox.store.user.model.Subscription;
@@ -30,6 +32,7 @@ import org.apache.james.mailbox.store.us
  */
 public class CassandraSubscriptionManager extends StoreSubscriptionManager {
 
+    @Inject
     public CassandraSubscriptionManager(CassandraMailboxSessionMapperFactory mapperFactory) {
         super(mapperFactory);
     }

Modified: james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java
URL: http://svn.apache.org/viewvc/james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java?rev=1712323&r1=1712322&r2=1712323&view=diff
==============================================================================
--- james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java (original)
+++ james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraModSeqProvider.java Tue Nov  3 16:41:05 2015
@@ -29,6 +29,7 @@ import static org.apache.james.mailbox.c
 import static org.apache.james.mailbox.cassandra.table.CassandraMessageModseqTable.TABLE_NAME;
 
 import java.util.Optional;
+import javax.inject.Inject;
 
 import org.apache.james.backends.cassandra.utils.CassandraConstants;
 import org.apache.james.backends.cassandra.utils.LightweightTransactionException;
@@ -60,6 +61,7 @@ public class CassandraModSeqProvider imp
         this.runner = new FunctionRunnerWithRetry(maxRetry);
     }
 
+    @Inject
     public CassandraModSeqProvider(Session session) {
         this(session, DEFAULT_MAX_RETRY);
     }

Modified: james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java
URL: http://svn.apache.org/viewvc/james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java?rev=1712323&r1=1712322&r2=1712323&view=diff
==============================================================================
--- james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java (original)
+++ james/project/trunk/mailbox/cassandra/src/main/java/org/apache/james/mailbox/cassandra/mail/CassandraUidProvider.java Tue Nov  3 16:41:05 2015
@@ -19,8 +19,6 @@
 
 package org.apache.james.mailbox.cassandra.mail;
 
-import java.util.Optional;
-
 import static com.datastax.driver.core.querybuilder.QueryBuilder.eq;
 import static com.datastax.driver.core.querybuilder.QueryBuilder.insertInto;
 import static com.datastax.driver.core.querybuilder.QueryBuilder.select;
@@ -32,6 +30,10 @@ import static org.apache.james.mailbox.c
 import com.datastax.driver.core.querybuilder.BuiltStatement;
 import com.google.common.base.Throwables;
 import org.apache.james.backends.cassandra.utils.LightweightTransactionException;
+
+import java.util.Optional;
+import javax.inject.Inject;
+
 import org.apache.james.mailbox.MailboxSession;
 import org.apache.james.mailbox.cassandra.CassandraId;
 import org.apache.james.backends.cassandra.utils.FunctionRunnerWithRetry;
@@ -39,11 +41,11 @@ import org.apache.james.mailbox.cassandr
 import org.apache.james.mailbox.exception.MailboxException;
 import org.apache.james.mailbox.store.mail.UidProvider;
 import org.apache.james.mailbox.store.mail.model.Mailbox;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.datastax.driver.core.ResultSet;
 import com.datastax.driver.core.Session;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 public class CassandraUidProvider implements UidProvider<CassandraId> {
     public final static int DEFAULT_MAX_RETRY = 100000;
@@ -58,6 +60,7 @@ public class CassandraUidProvider implem
         this.runner = new FunctionRunnerWithRetry(maxRetry);
     }
 
+    @Inject
     public CassandraUidProvider(Session session) {
         this(session, DEFAULT_MAX_RETRY);
     }

Modified: james/project/trunk/mailbox/store/pom.xml
URL: http://svn.apache.org/viewvc/james/project/trunk/mailbox/store/pom.xml?rev=1712323&r1=1712322&r2=1712323&view=diff
==============================================================================
--- james/project/trunk/mailbox/store/pom.xml (original)
+++ james/project/trunk/mailbox/store/pom.xml Tue Nov  3 16:41:05 2015
@@ -57,6 +57,10 @@
             <artifactId>${javax.mail.artifactId}</artifactId>
         </dependency>
         <dependency>
+            <groupId>javax.inject</groupId>
+            <artifactId>javax.inject</artifactId>
+        </dependency>
+        <dependency>
             <groupId>commons-lang</groupId>
             <artifactId>commons-lang</artifactId>
         </dependency>

Modified: james/project/trunk/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java
URL: http://svn.apache.org/viewvc/james/project/trunk/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java?rev=1712323&r1=1712322&r2=1712323&view=diff
==============================================================================
--- james/project/trunk/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java (original)
+++ james/project/trunk/mailbox/store/src/main/java/org/apache/james/mailbox/store/StoreMailboxManager.java Tue Nov  3 16:41:05 2015
@@ -26,6 +26,10 @@ import java.util.List;
 import java.util.Locale;
 import java.util.Random;
 
+import javax.annotation.PostConstruct;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
 import org.apache.james.mailbox.MailboxListener;
 import org.apache.james.mailbox.MailboxManager;
 import org.apache.james.mailbox.MailboxPathLocker;
@@ -75,6 +79,7 @@ import org.slf4j.Logger;
  *
  * @param <Id>
  */
+@Singleton
 public class StoreMailboxManager<Id extends MailboxId> implements MailboxManager {
 
     public static final char SQL_WILDCARD_CHAR = '%';
@@ -111,6 +116,7 @@ public class StoreMailboxManager<Id exte
     private int fetchBatchSize = DEFAULT_FETCH_BATCH_SIZE;
 
 
+    @Inject
     public StoreMailboxManager(MailboxSessionMapperFactory<Id> mailboxSessionMapperFactory, final Authenticator authenticator, final MailboxPathLocker locker, final MailboxACLResolver aclResolver, final GroupMembershipResolver groupMembershipResolver) {
         this.authenticator = authenticator;
         this.locker = locker;
@@ -158,6 +164,7 @@ public class StoreMailboxManager<Id exte
      * @throws MailboxException
      */
     @SuppressWarnings("rawtypes")
+    @PostConstruct
     public void init() throws MailboxException {
         // The dispatcher need to have the delegating listener added
         dispatcher = new MailboxEventDispatcher<Id>(getDelegationListener());



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org