Author: btellier
Date: Tue Sep 22 10:26:47 2015
New Revision: 1704545
URL: http://svn.apache.org/viewvc?rev=1704545&view=rev
Log:
MAILBOX-64 Adding annotations for quotas
Modified:
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManager.java
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManager.java
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryPerUserMaxQuotaManager.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/FixedMaxQuotaManager.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdater.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoMaxQuotaManager.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaManager.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaUpdater.java
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/StoreQuotaManager.java
Modified:
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManager.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManager.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManager.java
(original)
+++
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraCurrentQuotaManager.java
Tue Sep 22 10:26:47 2015
@@ -35,6 +35,10 @@ import org.apache.james.mailbox.exceptio
import org.apache.james.mailbox.model.QuotaRoot;
import org.apache.james.mailbox.store.quota.StoreCurrentQuotaManager;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
+@Singleton
public class CassandraCurrentQuotaManager implements StoreCurrentQuotaManager {
private final Session session;
@@ -43,6 +47,7 @@ public class CassandraCurrentQuotaManage
private final PreparedStatement getCurrentMessageCountStatement;
private final PreparedStatement getCurrentStorageStatement;
+ @Inject
public CassandraCurrentQuotaManager(Session session) {
this.session = session;
this.increaseStatement =
session.prepare(update(CassandraCurrentQuota.TABLE_NAME)
Modified:
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManager.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManager.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManager.java
(original)
+++
james/mailbox/trunk/cassandra/src/main/java/org/apache/james/mailbox/cassandra/quota/CassandraPerUserMaxQuotaManager.java
Tue Sep 22 10:26:47 2015
@@ -35,6 +35,10 @@ import org.apache.james.mailbox.model.Qu
import org.apache.james.mailbox.model.QuotaRoot;
import org.apache.james.mailbox.quota.MaxQuotaManager;
+import javax.inject.Inject;
+import javax.inject.Singleton;
+
+@Singleton
public class CassandraPerUserMaxQuotaManager implements MaxQuotaManager {
private final Session session;
@@ -47,6 +51,7 @@ public class CassandraPerUserMaxQuotaMan
private final Statement getDefaultMaxStorageStatement;
private final Statement getDefaultMaxMessageStatement;
+ @Inject
public CassandraPerUserMaxQuotaManager(Session session) {
this.session = session;
this.setMaxStorageStatement =
session.prepare(insertInto(CassandraMaxQuota.TABLE_NAME)
Modified:
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java
(original)
+++
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java
Tue Sep 22 10:26:47 2015
@@ -32,9 +32,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import javax.inject.Inject;
+import javax.inject.Singleton;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.atomic.AtomicLong;
+@Singleton
public class InMemoryCurrentQuotaManager implements StoreCurrentQuotaManager {
private static final Logger LOGGER =
LoggerFactory.getLogger(InMemoryCurrentQuotaManager.class);
Modified:
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryPerUserMaxQuotaManager.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryPerUserMaxQuotaManager.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryPerUserMaxQuotaManager.java
(original)
+++
james/mailbox/trunk/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryPerUserMaxQuotaManager.java
Tue Sep 22 10:26:47 2015
@@ -26,6 +26,9 @@ import org.apache.james.mailbox.exceptio
import org.apache.james.mailbox.model.Quota;
import org.apache.james.mailbox.model.QuotaRoot;
+import javax.inject.Singleton;
+
+@Singleton
public class InMemoryPerUserMaxQuotaManager implements MaxQuotaManager {
private long maxMessage = Quota.UNLIMITED;
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
Tue Sep 22 10:26:47 2015
@@ -34,14 +34,18 @@ import org.apache.james.mailbox.store.ma
import org.apache.james.mailbox.store.mail.model.Mailbox;
import org.apache.james.mailbox.store.mail.model.Message;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import java.util.Iterator;
import java.util.List;
+@Singleton
public class CurrentQuotaCalculator {
private final MailboxSessionMapperFactory factory;
private final QuotaRootResolver quotaRootResolver;
+ @Inject
public CurrentQuotaCalculator(MailboxSessionMapperFactory factory,
QuotaRootResolver quotaRootResolver) {
this.factory = factory;
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/DefaultQuotaRootResolver.java
Tue Sep 22 10:26:47 2015
@@ -31,14 +31,18 @@ import org.apache.james.mailbox.quota.Qu
import org.apache.james.mailbox.store.MailboxSessionMapperFactory;
import org.apache.james.mailbox.store.mail.model.Mailbox;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import java.util.List;
+@Singleton
public class DefaultQuotaRootResolver implements QuotaRootResolver {
public static final String SEPARATOR = "&"; // Character illegal for
mailbox naming in regard of RFC 3501 section 5.1
private final MailboxSessionMapperFactory factory;
+ @Inject
public DefaultQuotaRootResolver(MailboxSessionMapperFactory factory) {
this.factory = factory;
}
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/FixedMaxQuotaManager.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/FixedMaxQuotaManager.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/FixedMaxQuotaManager.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/FixedMaxQuotaManager.java
Tue Sep 22 10:26:47 2015
@@ -6,11 +6,14 @@ import org.apache.james.mailbox.quota.Ma
import org.apache.james.mailbox.model.Quota;
import org.apache.james.mailbox.model.QuotaRoot;
+import javax.inject.Singleton;
+
/**
* {@link MaxQuotaManager} which use the same quota for all users.
*
* By default this means not quota at all
*/
+@Singleton
public class FixedMaxQuotaManager implements MaxQuotaManager {
private long maxStorage = Quota.UNLIMITED;
private long maxMessage = Quota.UNLIMITED;
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdater.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdater.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdater.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/ListeningCurrentQuotaUpdater.java
Tue Sep 22 10:26:47 2015
@@ -26,7 +26,9 @@ import org.apache.james.mailbox.model.Qu
import org.apache.james.mailbox.quota.QuotaRootResolver;
import javax.inject.Inject;
+import javax.inject.Singleton;
+@Singleton
public class ListeningCurrentQuotaUpdater implements MailboxListener,
QuotaUpdater {
private StoreCurrentQuotaManager currentQuotaManager;
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoMaxQuotaManager.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoMaxQuotaManager.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoMaxQuotaManager.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoMaxQuotaManager.java
Tue Sep 22 10:26:47 2015
@@ -24,11 +24,14 @@ import org.apache.james.mailbox.model.Qu
import org.apache.james.mailbox.model.QuotaRoot;
import org.apache.james.mailbox.quota.MaxQuotaManager;
+import javax.inject.Singleton;
+
/**
* A Max Quota Manager that simply throws exceptions
*
* Intended to be used to disactivate Max Quota admin support
*/
+@Singleton
public class NoMaxQuotaManager implements MaxQuotaManager {
@Override
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaManager.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaManager.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaManager.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaManager.java
Tue Sep 22 10:26:47 2015
@@ -24,9 +24,12 @@ import org.apache.james.mailbox.model.Qu
import org.apache.james.mailbox.model.QuotaRoot;
import org.apache.james.mailbox.quota.QuotaManager;
+import javax.inject.Singleton;
+
/**
* This quota manager is intended to be used when you want to deactivate the
Quota feature
*/
+@Singleton
public class NoQuotaManager implements QuotaManager {
@Override
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaUpdater.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaUpdater.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaUpdater.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/NoQuotaUpdater.java
Tue Sep 22 10:26:47 2015
@@ -19,5 +19,8 @@
package org.apache.james.mailbox.store.quota;
+import javax.inject.Singleton;
+
+@Singleton
public class NoQuotaUpdater implements QuotaUpdater {
}
Modified:
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/StoreQuotaManager.java
URL:
http://svn.apache.org/viewvc/james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/StoreQuotaManager.java?rev=1704545&r1=1704544&r2=1704545&view=diff
==============================================================================
---
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/StoreQuotaManager.java
(original)
+++
james/mailbox/trunk/store/src/main/java/org/apache/james/mailbox/store/quota/StoreQuotaManager.java
Tue Sep 22 10:26:47 2015
@@ -27,12 +27,14 @@ import org.apache.james.mailbox.model.Qu
import org.apache.james.mailbox.model.QuotaRoot;
import javax.inject.Inject;
+import javax.inject.Singleton;
/**
* Default implementation for the Quota Manager.
*
* Relies on the CurrentQuotaManager and MaxQuotaManager provided.
*/
+@Singleton
public class StoreQuotaManager implements QuotaManager {
private CurrentQuotaManager currentQuotaManager;
private MaxQuotaManager maxQuotaManager;
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]