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 rc...@apache.org on 2020/04/17 02:06:54 UTC
[james-project] 01/04: JAMES-3138 Strong type count and size in
CurrentQuotas
This is an automated email from the ASF dual-hosted git repository.
rcordier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git
commit b9a1ddc24b589d305c0a9d70112f2ba2f7ab19cd
Author: Rene Cordier <rc...@linagora.com>
AuthorDate: Wed Apr 8 16:55:34 2020 +0700
JAMES-3138 Strong type count and size in CurrentQuotas
---
.../inmemory/quota/InMemoryCurrentQuotaManager.java | 7 ++++---
.../inmemory/quota/InMemoryCurrentQuotaManagerTest.java | 10 +++++++---
.../james/mailbox/store/quota/CurrentQuotaCalculator.java | 14 ++++++++------
3 files changed, 19 insertions(+), 12 deletions(-)
diff --git a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java
index 89ae43e..392196a 100644
--- a/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java
+++ b/mailbox/memory/src/main/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManager.java
@@ -31,6 +31,7 @@ import org.apache.james.mailbox.SessionProvider;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.QuotaRoot;
import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator;
+import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator.CurrentQuotas;
import org.apache.james.mailbox.store.quota.StoreCurrentQuotaManager;
import com.google.common.base.Preconditions;
@@ -102,9 +103,9 @@ public class InMemoryCurrentQuotaManager implements StoreCurrentQuotaManager {
private final AtomicLong count;
private final AtomicLong size;
- public Entry(CurrentQuotaCalculator.CurrentQuotas currentQuotas) {
- this.count = new AtomicLong(currentQuotas.getCount());
- this.size = new AtomicLong(currentQuotas.getSize());
+ public Entry(CurrentQuotas currentQuotas) {
+ this.count = new AtomicLong(currentQuotas.count().asLong());
+ this.size = new AtomicLong(currentQuotas.size().asLong());
}
public AtomicLong getCount() {
diff --git a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
index 182978b..75c9427 100644
--- a/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
+++ b/mailbox/memory/src/test/java/org/apache/james/mailbox/inmemory/quota/InMemoryCurrentQuotaManagerTest.java
@@ -31,12 +31,16 @@ import org.apache.james.core.quota.QuotaSizeUsage;
import org.apache.james.mailbox.SessionProvider;
import org.apache.james.mailbox.model.QuotaRoot;
import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator;
+import org.apache.james.mailbox.store.quota.CurrentQuotaCalculator.CurrentQuotas;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
class InMemoryCurrentQuotaManagerTest {
static final QuotaRoot QUOTA_ROOT = QuotaRoot.quotaRoot("benwa", Optional.empty());
+ static final CurrentQuotas CURRENT_QUOTAS = new CurrentQuotas(
+ QuotaCountUsage.count(18),
+ QuotaSizeUsage.size(512));
InMemoryCurrentQuotaManager testee;
CurrentQuotaCalculator mockedCurrentQuotaCalculator;
@@ -50,7 +54,7 @@ class InMemoryCurrentQuotaManagerTest {
@Test
void getCurrentMessageCountShouldReturnRecalculateMessageCountWhenEntryIsNotInitialized() throws Exception {
when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
- .thenReturn(new CurrentQuotaCalculator.CurrentQuotas(18, 512));
+ .thenReturn(CURRENT_QUOTAS);
assertThat(testee.getCurrentMessageCount(QUOTA_ROOT)).isEqualTo(QuotaCountUsage.count(18));
}
@@ -58,7 +62,7 @@ class InMemoryCurrentQuotaManagerTest {
@Test
void getCurrentStorageShouldReturnRecalculateSizeWhenEntryIsNotInitialized() throws Exception {
when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
- .thenReturn(new CurrentQuotaCalculator.CurrentQuotas(18, 512));
+ .thenReturn(CURRENT_QUOTAS);
assertThat(testee.getCurrentStorage(QUOTA_ROOT)).isEqualTo(QuotaSizeUsage.size(512));
}
@@ -66,7 +70,7 @@ class InMemoryCurrentQuotaManagerTest {
@Test
void getCurrentStorageShouldReRetrieveStoredQuotasWhenCalculateOnUnknownQuotaIsTrue() throws Exception {
when(mockedCurrentQuotaCalculator.recalculateCurrentQuotas(QUOTA_ROOT, null))
- .thenReturn(new CurrentQuotaCalculator.CurrentQuotas(18, 512));
+ .thenReturn(CURRENT_QUOTAS);
testee.increase(QUOTA_ROOT, 10, 100);
diff --git a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
index a46b2dd..99fcaff 100644
--- a/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
+++ b/mailbox/store/src/main/java/org/apache/james/mailbox/store/quota/CurrentQuotaCalculator.java
@@ -26,6 +26,8 @@ import java.util.List;
import javax.inject.Inject;
+import org.apache.james.core.quota.QuotaCountUsage;
+import org.apache.james.core.quota.QuotaSizeUsage;
import org.apache.james.mailbox.MailboxSession;
import org.apache.james.mailbox.exception.MailboxException;
import org.apache.james.mailbox.model.Mailbox;
@@ -60,23 +62,23 @@ public class CurrentQuotaCalculator {
messagesSizes += messages.next().getFullContentOctets();
}
}
- return new CurrentQuotas(messageCount, messagesSizes);
+ return new CurrentQuotas(QuotaCountUsage.count(messageCount), QuotaSizeUsage.size(messagesSizes));
}
public static class CurrentQuotas {
- private final long count;
- private final long size;
+ private final QuotaCountUsage count;
+ private final QuotaSizeUsage size;
- public CurrentQuotas(long count, long size) {
+ public CurrentQuotas(QuotaCountUsage count, QuotaSizeUsage size) {
this.count = count;
this.size = size;
}
- public long getCount() {
+ public QuotaCountUsage count() {
return count;
}
- public long getSize() {
+ public QuotaSizeUsage size() {
return size;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org