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