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 7f6c503f4df8d94f0d440a99f892a0f7ff7b4d2d
Author: Benoit Tellier <[email protected]>
AuthorDate: Mon Feb 7 10:57:16 2022 +0700

    JAMES-3683 Introduce a redis.properties configuration file
---
 server/mailet/rate-limiter-redis/README.adoc       | 30 +++++-----------------
 .../mailet/rate-limiter-redis/docker-compose.yml   |  1 +
 .../mailet/rate-limiter-redis/mailetcontainer.xml  |  1 -
 server/mailet/rate-limiter-redis/pom.xml           | 11 ++++++++
 server/mailet/rate-limiter-redis/redis.properties  |  1 +
 .../rate/limiter/redis/RedisRateLimiter.scala      | 19 +++++++-------
 .../redis/RedisRateLimiterConfiguration.scala      |  6 ++---
 .../james/rate/limiter/api/RateLimiter.scala       |  5 ----
 .../rate/limiter/memory/MemoryRateLimiter.scala    | 17 ++++++------
 .../james/transport/mailets/GlobalRateLimit.scala  |  9 +++----
 .../mailets/PerRecipientRateLimitMailet.scala      |  5 ++--
 .../transport/mailets/PerSenderRateLimit.scala     |  9 +++----
 .../transport/mailets/GlobalRateLimitTest.scala    |  4 +--
 .../mailets/PerRecipientRateLimitMailetTest.scala  |  4 +--
 .../transport/mailets/PerSenderRateLimitTest.scala |  4 +--
 15 files changed, 58 insertions(+), 68 deletions(-)

diff --git a/server/mailet/rate-limiter-redis/README.adoc 
b/server/mailet/rate-limiter-redis/README.adoc
index 404c455..2602c3c 100644
--- a/server/mailet/rate-limiter-redis/README.adoc
+++ b/server/mailet/rate-limiter-redis/README.adoc
@@ -13,31 +13,15 @@ for the underlying rate limiting.
 `extension.properties`:
 
 ----
-guice.extension.module=org.apache.james.rate.limiter.redis.R
+guice.extension.module=org.apache.james.rate.limiter.redis.RedisRateLimiterModule
 ----
 
-- 4. Use the rate limiting mailets within `mailetcontainer.xml`
+- 4. Provide a `redis.properties` file:
 
-We provide a sample `docker-compose` demonstrating this setup.
-
-== Additionnal mailet parameters
-
-Mailets need to specify the `redisURL` tag.
-
-This consists in a list of urls to contact the Redis servers.
-
-Specifying a single URL will connect to a single Redis instance.
-
-Specifying a coma delimited list of URLs will connect to Redis as a cluster.
-
-Eg:
+----
+redisURL=redis://redis:6379
+----
 
-```
-<mailet matcher="All" class="PerSenderRateLimit">
-    <redisURL>redis://localhost:6379</redisURL>
-    <keyPrefix>myPrefix</keyPrefix>
-    <duration>1h</duration>
-    <count>10</count>
-</mailet>
-``
+- 5. Use the rate limiting mailets within `mailetcontainer.xml`
 
+We provide a sample `docker-compose` demonstrating this setup.
\ No newline at end of file
diff --git a/server/mailet/rate-limiter-redis/docker-compose.yml 
b/server/mailet/rate-limiter-redis/docker-compose.yml
index d21bf4c..45b1db8 100644
--- a/server/mailet/rate-limiter-redis/docker-compose.yml
+++ b/server/mailet/rate-limiter-redis/docker-compose.yml
@@ -14,4 +14,5 @@ services:
     volumes:
       - 
$PWD/target/james-server-rate-limiter-redis-3.7.0-SNAPSHOT-jar-with-dependencies.jar:/root/extensions-jars/james-server-rate-limiter-redis.jar
       - $PWD/extensions.properties:/root/conf/extensions.properties
+      - $PWD/redis.properties:/root/conf/redis.properties
       - $PWD/mailetcontainer.xml:/root/conf/mailetcontainer.xml
diff --git a/server/mailet/rate-limiter-redis/mailetcontainer.xml 
b/server/mailet/rate-limiter-redis/mailetcontainer.xml
index 1dd804c..8804b31 100644
--- a/server/mailet/rate-limiter-redis/mailetcontainer.xml
+++ b/server/mailet/rate-limiter-redis/mailetcontainer.xml
@@ -102,7 +102,6 @@
 
         <processor state="relay" enableJmx="true">
             <mailet matcher="All" class="PerSenderRateLimit">
-                <redisURL>redis://redis:6379</redisURL>
                 <keyPrefix>myPrefix</keyPrefix>
                 <duration>1h</duration>
                 <count>10</count>
diff --git a/server/mailet/rate-limiter-redis/pom.xml 
b/server/mailet/rate-limiter-redis/pom.xml
index 878b6e8..1665ac8 100644
--- a/server/mailet/rate-limiter-redis/pom.xml
+++ b/server/mailet/rate-limiter-redis/pom.xml
@@ -49,6 +49,12 @@
         </dependency>
         <dependency>
             <groupId>${james.groupId}</groupId>
+            <artifactId>james-server-guice-configuration</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>${james.groupId}</groupId>
             <artifactId>james-server-rate-limiter</artifactId>
         </dependency>
         <dependency>
@@ -97,6 +103,11 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.commons</groupId>
+            <artifactId>commons-configuration2</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>org.testcontainers</groupId>
             <artifactId>testcontainers</artifactId>
             <scope>test</scope>
diff --git a/server/mailet/rate-limiter-redis/redis.properties 
b/server/mailet/rate-limiter-redis/redis.properties
new file mode 100644
index 0000000..20c1718
--- /dev/null
+++ b/server/mailet/rate-limiter-redis/redis.properties
@@ -0,0 +1 @@
+redisURL=redis://redis:6379
\ No newline at end of file
diff --git 
a/server/mailet/rate-limiter-redis/src/main/scala/org/apache/james/rate/limiter/redis/RedisRateLimiter.scala
 
b/server/mailet/rate-limiter-redis/src/main/scala/org/apache/james/rate/limiter/redis/RedisRateLimiter.scala
index e30a810..f2b3f7b 100644
--- 
a/server/mailet/rate-limiter-redis/src/main/scala/org/apache/james/rate/limiter/redis/RedisRateLimiter.scala
+++ 
b/server/mailet/rate-limiter-redis/src/main/scala/org/apache/james/rate/limiter/redis/RedisRateLimiter.scala
@@ -19,14 +19,15 @@
 
 package org.apache.james.rate.limiter.redis
 
-import com.google.inject.AbstractModule
+import com.google.inject.{AbstractModule, Provides}
 import 
es.moki.ratelimitj.core.limiter.request.{AbstractRequestRateLimiterFactory, 
ReactiveRequestRateLimiter, RequestLimitRule}
 import es.moki.ratelimitj.redis.request.{RedisClusterRateLimiterFactory, 
RedisSlidingWindowRequestRateLimiter, RedisRateLimiterFactory => 
RedisSingleInstanceRateLimitjFactory}
 import io.lettuce.core.RedisClient
 import io.lettuce.core.cluster.RedisClusterClient
+import javax.inject.Inject
 import org.apache.james.rate.limiter.api.Increment.Increment
-import org.apache.james.rate.limiter.api.{AcceptableRate, RateExceeded, 
RateLimiter, RateLimiterFactory, RateLimiterFactoryProvider, RateLimitingKey, 
RateLimitingResult, Rule, Rules}
-import org.apache.mailet.MailetConfig
+import org.apache.james.rate.limiter.api.{AcceptableRate, RateExceeded, 
RateLimiter, RateLimiterFactory, RateLimitingKey, RateLimitingResult, Rule, 
Rules}
+import org.apache.james.utils.PropertiesProvider
 import org.reactivestreams.Publisher
 import reactor.core.scala.publisher.SMono
 
@@ -34,15 +35,15 @@ import scala.jdk.CollectionConverters._
 
 class RedisRateLimiterModule() extends AbstractModule {
   override def configure(): Unit =
-    bind(classOf[RateLimiterFactoryProvider])
-      .to(classOf[RedisRateLimiterFactoryProvider])
-}
+    bind(classOf[RateLimiterFactory])
+      .to(classOf[RedisRateLimiterFactory])
 
-class RedisRateLimiterFactoryProvider extends RateLimiterFactoryProvider {
-  override def create(mailetConfig: MailetConfig): RateLimiterFactory = new 
RedisRateLimiterFactory(RedisRateLimiterConfiguration.from(mailetConfig))
+  @Provides
+  def provideConfig(propertiesProvider: PropertiesProvider): 
RedisRateLimiterConfiguration =
+    
RedisRateLimiterConfiguration.from(propertiesProvider.getConfiguration("redis"))
 }
 
-class RedisRateLimiterFactory(redisConfiguration: 
RedisRateLimiterConfiguration) extends RateLimiterFactory {
+class RedisRateLimiterFactory @Inject()(redisConfiguration: 
RedisRateLimiterConfiguration) extends RateLimiterFactory {
   val rateLimitjFactory: 
AbstractRequestRateLimiterFactory[RedisSlidingWindowRequestRateLimiter] =
     if (redisConfiguration.redisURI.value.size > 1) {
       new 
RedisClusterRateLimiterFactory(RedisClusterClient.create(redisConfiguration.redisURI.value.asJava))
diff --git 
a/server/mailet/rate-limiter-redis/src/main/scala/org/apache/james/rate/limiter/redis/RedisRateLimiterConfiguration.scala
 
b/server/mailet/rate-limiter-redis/src/main/scala/org/apache/james/rate/limiter/redis/RedisRateLimiterConfiguration.scala
index 7a84e19..1bd9be1 100644
--- 
a/server/mailet/rate-limiter-redis/src/main/scala/org/apache/james/rate/limiter/redis/RedisRateLimiterConfiguration.scala
+++ 
b/server/mailet/rate-limiter-redis/src/main/scala/org/apache/james/rate/limiter/redis/RedisRateLimiterConfiguration.scala
@@ -26,12 +26,12 @@ import eu.timepit.refined
 import eu.timepit.refined.api.Refined
 import eu.timepit.refined.collection.NonEmpty
 import io.lettuce.core.RedisURI
+import org.apache.commons.configuration2.Configuration
 import org.apache.james.rate.limiter.redis.RedisUris.RedisUris
-import org.apache.mailet.MailetConfig
 
 object RedisRateLimiterConfiguration {
-  def from(mailetConfig: MailetConfig): RedisRateLimiterConfiguration =
-    from(mailetConfig.getInitParameter("redisURL"))
+  def from(config: Configuration): RedisRateLimiterConfiguration =
+    from(config.getString("redisURL"))
 
   def from(redisUri: String, windowPrecision: Option[Duration] = None): 
RedisRateLimiterConfiguration = {
     Preconditions.checkArgument(redisUri != null && !redisUri.isBlank)
diff --git 
a/server/mailet/rate-limiter/src/main/scala/org/apache/james/rate/limiter/api/RateLimiter.scala
 
b/server/mailet/rate-limiter/src/main/scala/org/apache/james/rate/limiter/api/RateLimiter.scala
index 83c69ba..1be822e 100644
--- 
a/server/mailet/rate-limiter/src/main/scala/org/apache/james/rate/limiter/api/RateLimiter.scala
+++ 
b/server/mailet/rate-limiter/src/main/scala/org/apache/james/rate/limiter/api/RateLimiter.scala
@@ -26,7 +26,6 @@ import eu.timepit.refined.api.Refined
 import eu.timepit.refined.numeric.Positive
 import org.apache.james.rate.limiter.api.AllowedQuantity.AllowedQuantity
 import org.apache.james.rate.limiter.api.Increment.Increment
-import org.apache.mailet.MailetConfig
 import org.reactivestreams.Publisher
 
 trait RateLimitingKey {
@@ -78,10 +77,6 @@ trait RateLimiterFactory {
    def withSpecification(rules: Rules): RateLimiter
 }
 
-trait RateLimiterFactoryProvider {
-  def create(mailetConfig: MailetConfig): RateLimiterFactory
-}
-
 sealed trait RateLimitingResult {
   def merge(other: RateLimitingResult): RateLimitingResult
 }
diff --git 
a/server/mailet/rate-limiter/src/main/scala/org/apache/james/rate/limiter/memory/MemoryRateLimiter.scala
 
b/server/mailet/rate-limiter/src/main/scala/org/apache/james/rate/limiter/memory/MemoryRateLimiter.scala
index c57e9d8..9b62411 100644
--- 
a/server/mailet/rate-limiter/src/main/scala/org/apache/james/rate/limiter/memory/MemoryRateLimiter.scala
+++ 
b/server/mailet/rate-limiter/src/main/scala/org/apache/james/rate/limiter/memory/MemoryRateLimiter.scala
@@ -24,9 +24,9 @@ import java.time.Duration
 import com.google.inject.AbstractModule
 import es.moki.ratelimitj.core.limiter.request.{RequestLimitRule, 
RequestRateLimiter}
 import 
es.moki.ratelimitj.inmemory.request.InMemorySlidingWindowRequestRateLimiter
+import javax.inject.Inject
 import org.apache.james.rate.limiter.api.Increment.Increment
-import org.apache.james.rate.limiter.api.{AcceptableRate, RateExceeded, 
RateLimiter, RateLimiterFactory, RateLimiterFactoryProvider, RateLimitingKey, 
RateLimitingResult, Rule, Rules}
-import org.apache.mailet.MailetConfig
+import org.apache.james.rate.limiter.api.{AcceptableRate, RateExceeded, 
RateLimiter, RateLimiterFactory, RateLimitingKey, RateLimitingResult, Rule, 
Rules}
 import org.reactivestreams.Publisher
 import reactor.core.scala.publisher.SMono
 
@@ -34,15 +34,16 @@ import scala.jdk.CollectionConverters._
 
 class MemoryRateLimiterModule() extends AbstractModule {
   override def configure(): Unit =
-    bind(classOf[RateLimiterFactoryProvider])
-      .to(classOf[MemoryRateLimiterFactoryProvider])
+    bind(classOf[RateLimiterFactory])
+      .to(classOf[MemoryRateLimiterFactory])
 }
 
-class MemoryRateLimiterFactoryProvider() extends RateLimiterFactoryProvider {
-  override def create(mailetConfig: MailetConfig): RateLimiterFactory = new 
MemoryRateLimiterFactory()
-}
+class MemoryRateLimiterFactory (precision: Option[Duration] = None) extends 
RateLimiterFactory {
+  @Inject()
+  def this() = {
+    this(None)
+  }
 
-class MemoryRateLimiterFactory(precision: Option[Duration] = None) extends 
RateLimiterFactory {
   override def withSpecification(rules: Rules): RateLimiter = {
     MemoryRateLimiter(new InMemorySlidingWindowRequestRateLimiter(rules.rules
       .map(convert)
diff --git 
a/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/GlobalRateLimit.scala
 
b/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/GlobalRateLimit.scala
index 6d30f7a..1b891b0 100644
--- 
a/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/GlobalRateLimit.scala
+++ 
b/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/GlobalRateLimit.scala
@@ -22,7 +22,7 @@ package org.apache.james.transport.mailets
 import java.time.Duration
 
 import javax.inject.Inject
-import org.apache.james.rate.limiter.api.{AcceptableRate, RateExceeded, 
RateLimiter, RateLimiterFactory, RateLimiterFactoryProvider, RateLimitingKey, 
RateLimitingResult}
+import org.apache.james.rate.limiter.api.{AcceptableRate, RateExceeded, 
RateLimiter, RateLimiterFactory, RateLimitingKey, RateLimitingResult}
 import org.apache.mailet.Mail
 import org.apache.mailet.base.GenericMailet
 import org.reactivestreams.Publisher
@@ -88,14 +88,14 @@ case class GlobalRateLimiter(rateLimiter: 
Option[RateLimiter], keyPrefix: Option
  *   </code></pre>
  *
  *  <p>Note that to use this extension you need to place the rate-limiter JAR 
in the <code>extensions-jars</code> folder
- *  and need to configure a viable option to invoke 
<code>RateLimiterFactoryProvider</code> which can be done by
+ *  and need to configure a viable option to invoke 
<code>RateLimiterFactory</code> which can be done by
  *  loading 
<code>org.apache.james.rate.limiter.memory.MemoryRateLimiterModule</code> Guice 
module within the
  *  <code>guice.extension.module</code> in <code>extensions.properties</code> 
configuration file. Note that other Rate
  *  limiter implementation might require extra configuration parameters within 
your mailet.</p>
  *
- * @param rateLimiterFactoryProvider Allows instantiations of the underlying 
rate limiters.
+ * @param rateLimiterFactory Allows instantiations of the underlying rate 
limiters.
  */
-class GlobalRateLimit @Inject()(rateLimiterFactoryProvider: 
RateLimiterFactoryProvider) extends GenericMailet {
+class GlobalRateLimit @Inject()(rateLimiterFactory: RateLimiterFactory) 
extends GenericMailet {
   private var countRateLimiter: GlobalRateLimiter = _
   private var recipientsRateLimiter: GlobalRateLimiter = _
   private var sizeRateLimiter: GlobalRateLimiter = _
@@ -104,7 +104,6 @@ class GlobalRateLimit @Inject()(rateLimiterFactoryProvider: 
RateLimiterFactoryPr
   private var keyPrefix: Option[KeyPrefix] = _
 
   override def init(): Unit = {
-    val rateLimiterFactory = rateLimiterFactoryProvider.create(getMailetConfig)
     val duration: Duration = parseDuration()
 
     keyPrefix = Option(getInitParameter("keyPrefix")).map(KeyPrefix)
diff --git 
a/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/PerRecipientRateLimitMailet.scala
 
b/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/PerRecipientRateLimitMailet.scala
index b6f6c23..31e2d7f 100644
--- 
a/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/PerRecipientRateLimitMailet.scala
+++ 
b/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/PerRecipientRateLimitMailet.scala
@@ -26,7 +26,7 @@ import com.google.common.collect.ImmutableList
 import javax.inject.Inject
 import org.apache.james.core.MailAddress
 import org.apache.james.lifecycle.api.LifecycleUtil
-import org.apache.james.rate.limiter.api.{AcceptableRate, RateExceeded, 
RateLimiter, RateLimiterFactory, RateLimiterFactoryProvider, RateLimitingKey, 
RateLimitingResult}
+import org.apache.james.rate.limiter.api.{AcceptableRate, RateExceeded, 
RateLimiter, RateLimiterFactory, RateLimitingKey, RateLimitingResult}
 import org.apache.james.util.ReactorUtils.DEFAULT_CONCURRENCY
 import org.apache.mailet.Mail
 import org.apache.mailet.base.GenericMailet
@@ -50,12 +50,11 @@ case class RecipientKey(keyPrefix: Option[KeyPrefix], 
entityType: EntityType, ma
   }${entityType.asString()}_${mailAddress.asString()}"
 }
 
-class PerRecipientRateLimitMailet @Inject()(rateLimiterFactoryProvider: 
RateLimiterFactoryProvider) extends GenericMailet {
+class PerRecipientRateLimitMailet @Inject()(rateLimiterFactory: 
RateLimiterFactory) extends GenericMailet {
   private var exceededProcessor: String = _
   private var rateLimiters: Seq[PerRecipientRateLimiter] = _
 
   override def init(): Unit = {
-    val rateLimiterFactory: RateLimiterFactory = 
rateLimiterFactoryProvider.create(getMailetConfig)
     val duration: Duration = parseDuration()
     val keyPrefix: Option[KeyPrefix] = 
Option(getInitParameter("keyPrefix")).map(KeyPrefix)
     exceededProcessor = getInitParameter("exceededProcessor", Mail.ERROR)
diff --git 
a/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/PerSenderRateLimit.scala
 
b/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/PerSenderRateLimit.scala
index edd83e6..cc4129b 100644
--- 
a/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/PerSenderRateLimit.scala
+++ 
b/server/mailet/rate-limiter/src/main/scala/org/apache/james/transport/mailets/PerSenderRateLimit.scala
@@ -24,7 +24,7 @@ import java.time.Duration
 import com.google.common.annotations.VisibleForTesting
 import javax.inject.Inject
 import org.apache.james.core.MailAddress
-import org.apache.james.rate.limiter.api.{AcceptableRate, RateExceeded, 
RateLimiter, RateLimiterFactory, RateLimiterFactoryProvider, RateLimitingKey, 
RateLimitingResult}
+import org.apache.james.rate.limiter.api.{AcceptableRate, RateExceeded, 
RateLimiter, RateLimiterFactory, RateLimitingKey, RateLimitingResult}
 import org.apache.mailet.Mail
 import org.apache.mailet.base.GenericMailet
 import org.reactivestreams.Publisher
@@ -88,14 +88,14 @@ case class SenderKey(keyPrefix: Option[KeyPrefix], 
entityType: EntityType, mailA
  *   </code></pre>
  *
  *  <p>Note that to use this extension you need to place the rate-limiter JAR 
in the <code>extensions-jars</code> folder
- *  and need to configure a viable option to invoke 
<code>RateLimiterFactoryProvider</code> which can be done by
+ *  and need to configure a viable option to invoke 
<code>RateLimiterFactory</code> which can be done by
  *  loading 
<code>org.apache.james.rate.limiter.memory.MemoryRateLimiterModule</code> Guice 
module within the
  *  <code>guice.extension.module</code> in <code>extensions.properties</code> 
configuration file. Note that other Rate
  *  limiter implementation might require extra configuration parameters within 
your mailet.</p>
  *
- * @param rateLimiterFactoryProvider Allows instantiations of the underlying 
rate limiters.
+ * @param rateLimiterFactory Allows instantiations of the underlying rate 
limiters.
  */
-class PerSenderRateLimit @Inject()(rateLimiterFactoryProvider: 
RateLimiterFactoryProvider) extends GenericMailet {
+class PerSenderRateLimit @Inject()(rateLimiterFactory: RateLimiterFactory) 
extends GenericMailet {
   private var countRateLimiter: PerSenderRateLimiter = _
   private var recipientsRateLimiter: PerSenderRateLimiter = _
   private var sizeRateLimiter: PerSenderRateLimiter = _
@@ -104,7 +104,6 @@ class PerSenderRateLimit 
@Inject()(rateLimiterFactoryProvider: RateLimiterFactor
   private var keyPrefix: Option[KeyPrefix] = _
 
   override def init(): Unit = {
-    val rateLimiterFactory = rateLimiterFactoryProvider.create(getMailetConfig)
     val duration: Duration = parseDuration()
 
     keyPrefix = Option(getInitParameter("keyPrefix")).map(KeyPrefix)
diff --git 
a/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/GlobalRateLimitTest.scala
 
b/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/GlobalRateLimitTest.scala
index c79c2a3..96a2b51 100644
--- 
a/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/GlobalRateLimitTest.scala
+++ 
b/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/GlobalRateLimitTest.scala
@@ -20,7 +20,7 @@
 package org.apache.james.transport.mailets
 
 import org.apache.james.core.MailAddress
-import org.apache.james.rate.limiter.memory.MemoryRateLimiterFactoryProvider
+import org.apache.james.rate.limiter.memory.MemoryRateLimiterFactory
 import org.apache.mailet.base.test.{FakeMail, FakeMailetConfig}
 import org.apache.mailet.{Mail, MailetConfig}
 import org.assertj.core.api.Assertions.assertThat
@@ -31,7 +31,7 @@ import scala.jdk.CollectionConverters._
 
 class GlobalRateLimitTest {
   def testee(mailetConfig: MailetConfig): GlobalRateLimit = {
-    val mailet = new GlobalRateLimit(new MemoryRateLimiterFactoryProvider())
+    val mailet = new GlobalRateLimit(new MemoryRateLimiterFactory())
     mailet.init(mailetConfig)
     mailet
   }
diff --git 
a/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/PerRecipientRateLimitMailetTest.scala
 
b/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/PerRecipientRateLimitMailetTest.scala
index 7e7a3b6..f45002b 100644
--- 
a/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/PerRecipientRateLimitMailetTest.scala
+++ 
b/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/PerRecipientRateLimitMailetTest.scala
@@ -20,7 +20,7 @@
 package org.apache.james.transport.mailets
 
 import org.apache.james.core.MailAddress
-import org.apache.james.rate.limiter.memory.MemoryRateLimiterFactoryProvider
+import org.apache.james.rate.limiter.memory.MemoryRateLimiterFactory
 import org.apache.mailet.base.test.{FakeMail, FakeMailContext, 
FakeMailetConfig}
 import org.apache.mailet.{Mail, MailetConfig}
 import org.assertj.core.api.Assertions.{assertThat, assertThatCode, 
assertThatThrownBy}
@@ -34,7 +34,7 @@ import scala.jdk.CollectionConverters._
 class PerRecipientRateLimitMailetTest {
 
   def testee(mailetConfig: MailetConfig) : PerRecipientRateLimitMailet = {
-    val mailet: PerRecipientRateLimitMailet = new 
PerRecipientRateLimitMailet(new MemoryRateLimiterFactoryProvider())
+    val mailet: PerRecipientRateLimitMailet = new 
PerRecipientRateLimitMailet(new MemoryRateLimiterFactory())
     mailet.init(mailetConfig)
     mailet
   }
diff --git 
a/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/PerSenderRateLimitTest.scala
 
b/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/PerSenderRateLimitTest.scala
index aa3cce6..fcfd01c 100644
--- 
a/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/PerSenderRateLimitTest.scala
+++ 
b/server/mailet/rate-limiter/src/test/scala/org/apache/james/transport/mailets/PerSenderRateLimitTest.scala
@@ -20,7 +20,7 @@
 package org.apache.james.transport.mailets
 
 import org.apache.james.core.MailAddress
-import org.apache.james.rate.limiter.memory.MemoryRateLimiterFactoryProvider
+import org.apache.james.rate.limiter.memory.MemoryRateLimiterFactory
 import org.apache.mailet.base.test.{FakeMail, FakeMailetConfig}
 import org.apache.mailet.{Mail, MailetConfig}
 import org.assertj.core.api.Assertions.{assertThat, assertThatCode, 
assertThatThrownBy}
@@ -31,7 +31,7 @@ import scala.jdk.CollectionConverters._
 
 class PerSenderRateLimitTest {
   def testee(mailetConfig: MailetConfig): PerSenderRateLimit = {
-    val mailet = new PerSenderRateLimit(new MemoryRateLimiterFactoryProvider())
+    val mailet = new PerSenderRateLimit(new MemoryRateLimiterFactory())
     mailet.init(mailetConfig)
     mailet
   }

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to