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 bt...@apache.org on 2019/11/19 02:43:44 UTC

[james-project] 42/43: JAMES-2964 simplify quota limit domain object to better represent the domain

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 8f91b92a995eaaa6820777793e6224ec613d5a73
Author: RĂ©mi KOWALSKI <rk...@linagora.com>
AuthorDate: Thu Nov 7 15:06:48 2019 +0100

    JAMES-2964 simplify quota limit domain object to better represent the domain
---
 .../apache/james/core/quota/QuotaCountLimit.java   | 18 --------
 .../apache/james/core/quota/QuotaLimitValue.java   |  7 +---
 .../apache/james/core/quota/QuotaSizeLimit.java    | 18 --------
 .../james/core/quota/QuotaLimitValueTest.java      | 48 ++--------------------
 4 files changed, 5 insertions(+), 86 deletions(-)

diff --git a/core/src/main/java/org/apache/james/core/quota/QuotaCountLimit.java b/core/src/main/java/org/apache/james/core/quota/QuotaCountLimit.java
index 1867e83..40add28 100644
--- a/core/src/main/java/org/apache/james/core/quota/QuotaCountLimit.java
+++ b/core/src/main/java/org/apache/james/core/quota/QuotaCountLimit.java
@@ -56,19 +56,6 @@ public class QuotaCountLimit implements QuotaLimitValue<QuotaCountLimit> {
     }
 
     @Override
-    public QuotaCountLimit add(long additionalValue) {
-        return new QuotaCountLimit(value.map(x -> x + additionalValue));
-    }
-
-    @Override
-    public QuotaCountLimit add(QuotaCountLimit additionalValue) {
-        if (additionalValue.isUnlimited()) {
-            return unlimited();
-        }
-        return new QuotaCountLimit(value.map(x -> x + additionalValue.asLong()));
-    }
-
-    @Override
     public String toString() {
         return MoreObjects.toStringHelper(this)
             .add("value", value.map(String::valueOf).orElse("unlimited"))
@@ -76,11 +63,6 @@ public class QuotaCountLimit implements QuotaLimitValue<QuotaCountLimit> {
     }
 
     @Override
-    public boolean isGreaterThan(QuotaCountLimit other) {
-        return value.orElse(Long.MAX_VALUE) > other.value.orElse(Long.MAX_VALUE);
-    }
-
-    @Override
     public final boolean equals(Object o) {
         if (o instanceof QuotaCountLimit) {
             QuotaCountLimit that = (QuotaCountLimit) o;
diff --git a/core/src/main/java/org/apache/james/core/quota/QuotaLimitValue.java b/core/src/main/java/org/apache/james/core/quota/QuotaLimitValue.java
index ff32575..89de7a9 100644
--- a/core/src/main/java/org/apache/james/core/quota/QuotaLimitValue.java
+++ b/core/src/main/java/org/apache/james/core/quota/QuotaLimitValue.java
@@ -23,7 +23,7 @@ import java.util.Optional;
 public interface QuotaLimitValue<T extends QuotaLimitValue<T>> {
 
     static boolean isValidValue(Optional<Long> value) {
-        return !value.isPresent() || value.get() >= 0;
+        return value.map(longValue -> longValue >= 0).orElse(true);
     }
 
     long asLong();
@@ -34,9 +34,4 @@ public interface QuotaLimitValue<T extends QuotaLimitValue<T>> {
         return !isLimited();
     }
 
-    T add(long additionalValue);
-
-    T add(T additionalValue);
-
-    boolean isGreaterThan(T other);
 }
diff --git a/core/src/main/java/org/apache/james/core/quota/QuotaSizeLimit.java b/core/src/main/java/org/apache/james/core/quota/QuotaSizeLimit.java
index d8997ae..968a11b 100644
--- a/core/src/main/java/org/apache/james/core/quota/QuotaSizeLimit.java
+++ b/core/src/main/java/org/apache/james/core/quota/QuotaSizeLimit.java
@@ -58,24 +58,6 @@ public class QuotaSizeLimit implements QuotaLimitValue<QuotaSizeLimit> {
     }
 
     @Override
-    public QuotaSizeLimit add(long additionalValue) {
-        return new QuotaSizeLimit(value.map(x -> x + additionalValue));
-    }
-
-    @Override
-    public QuotaSizeLimit add(QuotaSizeLimit additionalValue) {
-        if (additionalValue.isUnlimited()) {
-            return unlimited();
-        }
-        return new QuotaSizeLimit(value.map(x -> x + additionalValue.asLong()));
-    }
-
-    @Override
-    public boolean isGreaterThan(QuotaSizeLimit other) {
-        return value.orElse(Long.MAX_VALUE) > other.value.orElse(Long.MAX_VALUE);
-    }
-
-    @Override
     public String toString() {
         return MoreObjects.toStringHelper(this)
             .add("value", value.map(String::valueOf).orElse("unlimited"))
diff --git a/core/src/test/java/org/apache/james/core/quota/QuotaLimitValueTest.java b/core/src/test/java/org/apache/james/core/quota/QuotaLimitValueTest.java
index 8a8e28f..09a3ce7 100644
--- a/core/src/test/java/org/apache/james/core/quota/QuotaLimitValueTest.java
+++ b/core/src/test/java/org/apache/james/core/quota/QuotaLimitValueTest.java
@@ -18,58 +18,18 @@
  ****************************************************************/
 package org.apache.james.core.quota;
 
-import static org.assertj.core.api.Assertions.assertThat;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
 
 import org.junit.jupiter.api.Test;
 
 public interface QuotaLimitValueTest<T extends QuotaLimitValue<T>> {
 
-    T instance(long i);
+    T instance(long value);
 
     T unlimited();
 
     @Test
-    default void greaterThanShouldReturnFalseWhenFirstEqualToSecond() {
-        assertThat(instance(1).isGreaterThan(instance(1))).isFalse();
-    }
-
-    @Test
-    default void greaterThanShouldReturnFalseWhenFirstSmallerThanSecond() {
-        assertThat(instance(1).isGreaterThan(instance(2))).isFalse();
-    }
-
-    @Test
-    default void greaterThanShouldReturnTrueWhenFirstGreaterThanSecond() {
-        assertThat(instance(2).isGreaterThan(instance(1))).isTrue();
-    }
-
-    @Test
-    default void greaterThanShouldReturnFalseWhenFirstIsLimitedAndSecondUnlimited() {
-        assertThat(instance(1).isGreaterThan(unlimited())).isFalse();
-    }
-
-    @Test
-    default void greaterThanShouldReturnFalseWhenBothAreUnlimited() {
-        assertThat(unlimited().isGreaterThan(unlimited())).isFalse();
-    }
-
-    @Test
-    default void greaterThanShouldReturnTrueWhenFirstIsUnlimitedAndSecondLimited() {
-        assertThat(unlimited().isGreaterThan(instance(1))).isTrue();
-    }
-
-    @Test
-    default void addShouldReturnUnlimitedWhenThisIsUnlimited() {
-        assertThat(unlimited().add(2)).isEqualTo(unlimited());
-    }
-
-    @Test
-    default void addShouldReturnUnlimitedWhenBothAre() {
-        assertThat(unlimited().add(unlimited())).isEqualTo(unlimited());
-    }
-
-    @Test
-    default void addShouldReturnSumResult() {
-        assertThat(instance(12).add(instance(23))).isEqualTo(instance(35));
+    default void creatingANegativeQuotaLimitShouldFail() {
+        assertThatThrownBy(() -> instance(-1)).isInstanceOf(IllegalArgumentException.class);
     }
 }


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