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

matthieu pushed a commit to branch inject-deps-by-constructor
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit 91e8436fb25f710759db2c87fd70d9abd5d23a53
Author: Matthieu Baechler <[email protected]>
AuthorDate: Thu May 11 23:23:18 2023 +0200

    Replace field injection by injection by constructor
---
 .../apache/james/imapserver/netty/IMAPServer.java   |  4 +++-
 .../james/imapserver/netty/IMAPServerFactory.java   | 11 +++--------
 .../james/imapserver/netty/IMAPServerTest.java      | 17 +++++++++--------
 .../lib/netty/AbstractConfigurableAsyncServer.java  |  5 ++---
 .../lib/netty/AbstractProtocolAsyncServer.java      |  7 ++++---
 .../lib/AbstractConfigurableAsyncServerTest.java    |  8 ++++++--
 .../apache/james/lmtpserver/netty/LMTPServer.java   |  5 ++++-
 .../james/lmtpserver/netty/LMTPServerFactory.java   |  8 +-------
 .../managesieveserver/netty/ManageSieveServer.java  |  4 +++-
 .../netty/ManageSieveServerFactory.java             |  3 +--
 .../apache/james/pop3server/netty/POP3Server.java   |  6 ++++++
 .../james/pop3server/netty/POP3ServerFactory.java   | 21 +++++----------------
 .../org/apache/james/pop3server/POP3ServerTest.java |  8 +-------
 .../apache/james/smtpserver/netty/SMTPServer.java   | 10 ++++------
 .../james/smtpserver/netty/SMTPServerFactory.java   |  8 +-------
 .../apache/james/smtpserver/AuthAnnounceTest.java   |  9 +--------
 .../java/org/apache/james/smtpserver/DSNTest.java   |  9 +--------
 .../apache/james/smtpserver/FutureReleaseTest.java  |  7 +++----
 .../org/apache/james/smtpserver/SMTPSaslTest.java   |  9 +--------
 .../org/apache/james/smtpserver/SMTPServerTest.java |  9 +--------
 20 files changed, 60 insertions(+), 108 deletions(-)

diff --git 
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
 
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
index 5ded55125b..e93f90353f 100644
--- 
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
+++ 
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServer.java
@@ -26,6 +26,7 @@ import java.util.concurrent.TimeUnit;
 import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.configuration2.tree.ImmutableNode;
+import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.imap.api.ImapConfiguration;
 import org.apache.james.imap.api.ImapConstants;
 import org.apache.james.imap.api.process.ImapProcessor;
@@ -147,7 +148,8 @@ public class IMAPServer extends 
AbstractConfigurableAsyncServer implements ImapC
     private ReactiveThrottler reactiveThrottler;
 
 
-    public IMAPServer(ImapDecoder decoder, ImapEncoder encoder, ImapProcessor 
processor, ImapMetrics imapMetrics, GaugeRegistry gaugeRegistry) {
+    public IMAPServer(ImapDecoder decoder, ImapEncoder encoder, ImapProcessor 
processor, ImapMetrics imapMetrics, GaugeRegistry gaugeRegistry, FileSystem 
fileSystem) {
+        super(fileSystem);
         this.processor = processor;
         this.encoder = encoder;
         this.decoder = decoder;
diff --git 
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
 
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
index b0830f7986..324e12fe56 100644
--- 
a/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
+++ 
b/server/protocols/protocols-imap4/src/main/java/org/apache/james/imapserver/netty/IMAPServerFactory.java
@@ -62,19 +62,14 @@ public class IMAPServerFactory extends 
AbstractServerFactory {
         this.gaugeRegistry = gaugeRegistry;
     }
 
-    protected IMAPServer createServer(HierarchicalConfiguration<ImmutableNode> 
config) {
-        ImapSuite imapSuite = imapSuiteProvider.apply(config);
-        return new IMAPServer(imapSuite.getDecoder(), imapSuite.getEncoder(), 
imapSuite.getProcessor(), imapMetrics, gaugeRegistry);
-    }
-    
     @Override
     protected List<AbstractConfigurableAsyncServer> 
createServers(HierarchicalConfiguration<ImmutableNode> config) throws Exception 
{
         List<AbstractConfigurableAsyncServer> servers = new ArrayList<>();
         List<HierarchicalConfiguration<ImmutableNode>> configs = 
config.configurationsAt("imapserver");
-        
+        ImapSuite imapSuite = imapSuiteProvider.apply(config);
+
         for (HierarchicalConfiguration<ImmutableNode> serverConfig: configs) {
-            IMAPServer server = createServer(serverConfig);
-            server.setFileSystem(fileSystem);
+            IMAPServer server = new IMAPServer(imapSuite.getDecoder(), 
imapSuite.getEncoder(), imapSuite.getProcessor(), imapMetrics, gaugeRegistry, 
fileSystem);
             server.configure(serverConfig);
             servers.add(server);
         }
diff --git 
a/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java
 
b/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java
index c05aa98d88..77292aa9e9 100644
--- 
a/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java
+++ 
b/server/protocols/protocols-imap4/src/test/java/org/apache/james/imapserver/netty/IMAPServerTest.java
@@ -149,6 +149,13 @@ class IMAPServerTest {
         memoryIntegrationResources = inMemoryIntegrationResources;
 
         RecordingMetricFactory metricFactory = new RecordingMetricFactory();
+
+        Configuration configuration = Configuration.builder()
+                .workingDirectory("../")
+                .configurationFromClasspath()
+                .build();
+        FileSystemImpl fileSystem = new 
FileSystemImpl(configuration.directories());
+
         IMAPServer imapServer = new IMAPServer(
             DefaultImapDecoderFactory.createDecoder(),
             new DefaultImapEncoderFactory().buildImapEncoder(),
@@ -163,14 +170,8 @@ class IMAPServerTest {
                 memoryIntegrationResources.getQuotaRootResolver(),
                 metricFactory),
             new ImapMetrics(metricFactory),
-            new NoopGaugeRegistry());
-
-        Configuration configuration = Configuration.builder()
-            .workingDirectory("../")
-            .configurationFromClasspath()
-            .build();
-        FileSystemImpl fileSystem = new 
FileSystemImpl(configuration.directories());
-        imapServer.setFileSystem(fileSystem);
+            new NoopGaugeRegistry(),
+                fileSystem);
 
         imapServer.configure(config);
         imapServer.init();
diff --git 
a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
 
b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
index 777026bab2..964775a0bd 100644
--- 
a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
+++ 
b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractConfigurableAsyncServer.java
@@ -87,7 +87,7 @@ public abstract class AbstractConfigurableAsyncServer
 
     public static final int DEFAULT_MAX_EXECUTOR_COUNT = 16;
 
-    private FileSystem fileSystem;
+    private final FileSystem fileSystem;
 
     private boolean enabled;
 
@@ -110,8 +110,7 @@ public abstract class AbstractConfigurableAsyncServer
 
     private int port;
 
-    @Inject
-    public final void setFileSystem(FileSystem filesystem) {
+    protected AbstractConfigurableAsyncServer(FileSystem filesystem) {
         this.fileSystem = filesystem;
     }
 
diff --git 
a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java
 
b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java
index e444029c28..195c6c6af0 100644
--- 
a/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java
+++ 
b/server/protocols/protocols-library/src/main/java/org/apache/james/protocols/lib/netty/AbstractProtocolAsyncServer.java
@@ -23,6 +23,7 @@ import javax.inject.Inject;
 import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.configuration2.tree.ImmutableNode;
+import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.protocols.api.handler.ProtocolHandler;
 import org.apache.james.protocols.api.handler.ProtocolHandlerChain;
 import org.apache.james.protocols.lib.ProtocolHandlerChainImpl;
@@ -36,12 +37,12 @@ public abstract class AbstractProtocolAsyncServer extends 
AbstractConfigurableAs
 
     private ProtocolHandlerChainImpl handlerChain;
 
-    private ProtocolHandlerLoader loader;
+    private final ProtocolHandlerLoader loader;
 
     private HierarchicalConfiguration<ImmutableNode> config;
 
-    @Inject
-    public void setProtocolHandlerLoader(ProtocolHandlerLoader loader) {
+    protected AbstractProtocolAsyncServer(ProtocolHandlerLoader loader, 
FileSystem fileSystem) {
+        super(fileSystem);
         this.loader = loader;
     }
     
diff --git 
a/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/AbstractConfigurableAsyncServerTest.java
 
b/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/AbstractConfigurableAsyncServerTest.java
index 0536a6beca..15ea81fbb1 100644
--- 
a/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/AbstractConfigurableAsyncServerTest.java
+++ 
b/server/protocols/protocols-library/src/test/java/org/apache/james/protocols/lib/AbstractConfigurableAsyncServerTest.java
@@ -84,6 +84,11 @@ class AbstractConfigurableAsyncServerTest {
     }
 
     private static class TestableConfigurableAsyncServer extends 
AbstractConfigurableAsyncServer {
+
+        protected TestableConfigurableAsyncServer(FileSystem filesystem) {
+            super(filesystem);
+        }
+
         @Override
         public String getServiceType () {
             return "Test Service";
@@ -132,8 +137,7 @@ class AbstractConfigurableAsyncServerTest {
     }
 
     private void initTestServer(String configFile) throws Exception {
-        testServer = new TestableConfigurableAsyncServer();
-        testServer.setFileSystem(memoryFileSystem);
+        testServer = new TestableConfigurableAsyncServer(memoryFileSystem);
         
testServer.configure(ConfigLoader.getConfig(ClassLoader.getSystemResourceAsStream(configFile)));
     }
 
diff --git 
a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
 
b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
index fcf15a105e..9ac6bb505e 100644
--- 
a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
+++ 
b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServer.java
@@ -23,12 +23,14 @@ import java.util.Optional;
 import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.configuration2.tree.ImmutableNode;
+import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.lmtpserver.CoreCmdHandlerLoader;
 import org.apache.james.lmtpserver.jmx.JMXHandlersLoader;
 import org.apache.james.protocols.api.OidcSASLConfiguration;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.ProtocolTransport;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
+import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
 import org.apache.james.protocols.lib.netty.AbstractProtocolAsyncServer;
 import org.apache.james.protocols.lmtp.LMTPConfiguration;
 import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
@@ -54,7 +56,8 @@ public class LMTPServer extends AbstractProtocolAsyncServer 
implements LMTPServe
     private final LMTPMetricsImpl lmtpMetrics;
     private String lmtpGreeting;
 
-    public LMTPServer(LMTPMetricsImpl lmtpMetrics) {
+    public LMTPServer(LMTPMetricsImpl lmtpMetrics, ProtocolHandlerLoader 
loader, FileSystem fileSystem) {
+        super(loader, fileSystem);
         this.lmtpMetrics = lmtpMetrics;
     }
 
diff --git 
a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
 
b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
index bd68bac41b..f2285b7097 100644
--- 
a/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
+++ 
b/server/protocols/protocols-lmtp/src/main/java/org/apache/james/lmtpserver/netty/LMTPServerFactory.java
@@ -44,19 +44,13 @@ public class LMTPServerFactory extends 
AbstractServerFactory {
         this.lmtpMetrics = new LMTPMetricsImpl(metricFactory);
     }
 
-    protected LMTPServer createServer() {
-       return new LMTPServer(lmtpMetrics);
-    }
-    
     @Override
     protected List<AbstractConfigurableAsyncServer> 
createServers(HierarchicalConfiguration<ImmutableNode> config) throws Exception 
{
         List<AbstractConfigurableAsyncServer> servers = new ArrayList<>();
         List<HierarchicalConfiguration<ImmutableNode>> configs = 
config.configurationsAt("lmtpserver");
         
         for (HierarchicalConfiguration<ImmutableNode> serverConfig: configs) {
-            LMTPServer server = createServer();
-            server.setFileSystem(fileSystem);
-            server.setProtocolHandlerLoader(loader);
+            LMTPServer server = new LMTPServer(lmtpMetrics, loader, 
fileSystem);
             server.configure(serverConfig);
             servers.add(server);
         }
diff --git 
a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
 
b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
index 93ab6ab22c..525bab6cc6 100644
--- 
a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
+++ 
b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServer.java
@@ -28,6 +28,7 @@ import java.util.Optional;
 import org.apache.commons.configuration2.HierarchicalConfiguration;
 import org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.configuration2.tree.ImmutableNode;
+import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.managesieve.transcode.ManageSieveProcessor;
 import org.apache.james.protocols.lib.netty.AbstractConfigurableAsyncServer;
 import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
@@ -61,7 +62,8 @@ public class ManageSieveServer extends 
AbstractConfigurableAsyncServer implement
     private Optional<ConnectionLimitUpstreamHandler> 
connectionLimitUpstreamHandler = Optional.empty();
     private Optional<ConnectionPerIpLimitUpstreamHandler> 
connectionPerIpLimitUpstreamHandler = Optional.empty();
 
-    public ManageSieveServer(int maxLineLength, ManageSieveProcessor 
manageSieveProcessor) {
+    public ManageSieveServer(int maxLineLength, ManageSieveProcessor 
manageSieveProcessor, FileSystem fileSystem) {
+        super(fileSystem);
         this.maxLineLength = maxLineLength;
         this.manageSieveProcessor = manageSieveProcessor;
     }
diff --git 
a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java
 
b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java
index 532052d559..4b5a174702 100644
--- 
a/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java
+++ 
b/server/protocols/protocols-managesieve/src/main/java/org/apache/james/managesieveserver/netty/ManageSieveServerFactory.java
@@ -79,8 +79,7 @@ public class ManageSieveServerFactory extends 
AbstractServerFactory {
         List<HierarchicalConfiguration<ImmutableNode>> configs = 
config.configurationsAt("managesieveserver");
 
         for (HierarchicalConfiguration<ImmutableNode> serverConfig: configs) {
-            ManageSieveServer server = new ManageSieveServer(8000, 
manageSieveProcessor);
-            server.setFileSystem(fileSystem);
+            ManageSieveServer server = new ManageSieveServer(8000, 
manageSieveProcessor, fileSystem);
             server.configure(serverConfig);
             servers.add(server);
         }
diff --git 
a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
 
b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
index 87bc8341f8..c1fd344177 100644
--- 
a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
+++ 
b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3Server.java
@@ -18,10 +18,12 @@
  ****************************************************************/
 package org.apache.james.pop3server.netty;
 
+import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.pop3server.core.CoreCmdHandlerLoader;
 import org.apache.james.pop3server.jmx.JMXHandlersLoader;
 import org.apache.james.protocols.api.ProtocolConfiguration;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
+import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
 import org.apache.james.protocols.lib.netty.AbstractProtocolAsyncServer;
 import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import 
org.apache.james.protocols.netty.AllButStartTlsLineChannelHandlerFactory;
@@ -43,6 +45,10 @@ public class POP3Server extends AbstractProtocolAsyncServer 
implements POP3Serve
     private final ProtocolConfiguration theConfigData = new 
POP3Configuration();
     private POP3Protocol protocol;
 
+    public POP3Server(ProtocolHandlerLoader loader, FileSystem fileSystem) {
+        super(loader, fileSystem);
+    }
+
     @Override
     protected int getDefaultPort() {
         return 110;
diff --git 
a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
 
b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
index fcce3b306e..0aa512d7b2 100644
--- 
a/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
+++ 
b/server/protocols/protocols-pop3/src/main/java/org/apache/james/pop3server/netty/POP3ServerFactory.java
@@ -33,23 +33,14 @@ import 
org.apache.james.protocols.lib.netty.AbstractServerFactory;
 
 public class POP3ServerFactory extends AbstractServerFactory {
 
-    private ProtocolHandlerLoader loader;
-    private FileSystem fileSystem;
+    private final ProtocolHandlerLoader loader;
+    private final FileSystem fileSystem;
 
-    @Inject
-    public void setProtocolHandlerLoader(ProtocolHandlerLoader loader) {
+    public POP3ServerFactory(ProtocolHandlerLoader loader, FileSystem 
fileSystem) {
         this.loader = loader;
+        this.fileSystem = fileSystem;
     }
 
-    @Inject
-    public final void setFileSystem(FileSystem filesystem) {
-        this.fileSystem = filesystem;
-    }
-
-    protected POP3Server createServer() {
-       return new POP3Server();
-    }
-    
     @Override
     protected List<AbstractConfigurableAsyncServer> 
createServers(HierarchicalConfiguration<ImmutableNode> config) throws Exception 
{
 
@@ -57,9 +48,7 @@ public class POP3ServerFactory extends AbstractServerFactory {
         List<HierarchicalConfiguration<ImmutableNode>> configs = 
config.configurationsAt("pop3server");
         
         for (HierarchicalConfiguration<ImmutableNode> serverConfig: configs) {
-            POP3Server server = createServer();
-            server.setProtocolHandlerLoader(loader);
-            server.setFileSystem(fileSystem);
+            POP3Server server = new POP3Server(loader, fileSystem);
             server.configure(serverConfig);
             servers.add(server);
         }
diff --git 
a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
 
b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
index f5df2d54a7..d5855c60ab 100644
--- 
a/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
+++ 
b/server/protocols/protocols-pop3/src/test/java/org/apache/james/pop3server/POP3ServerTest.java
@@ -910,19 +910,13 @@ public class POP3ServerTest {
 
     }
 
-    protected POP3Server createPOP3Server() {
-        return new POP3Server();
-    }
-
     protected void initPOP3Server(XMLConfiguration configuration) throws 
Exception {
         pop3Server.configure(configuration);
         pop3Server.init();
     }
 
     protected void setUpPOP3Server() {
-        pop3Server = createPOP3Server();
-        pop3Server.setFileSystem(fileSystem);
-        pop3Server.setProtocolHandlerLoader(protocolHandlerChain);
+        pop3Server = new POP3Server(protocolHandlerChain, fileSystem);
     }
 
     protected void finishSetUp(XMLConfiguration pop3Configuration) throws 
Exception {
diff --git 
a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
 
b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
index 359880b7e8..5e3c77a8db 100644
--- 
a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
+++ 
b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServer.java
@@ -32,10 +32,12 @@ import 
org.apache.commons.configuration2.ex.ConfigurationException;
 import org.apache.commons.configuration2.tree.ImmutableNode;
 import org.apache.james.dnsservice.api.DNSService;
 import org.apache.james.dnsservice.library.netmatcher.NetMatcher;
+import org.apache.james.filesystem.api.FileSystem;
 import org.apache.james.protocols.api.OidcSASLConfiguration;
 import org.apache.james.protocols.api.ProtocolSession;
 import org.apache.james.protocols.api.ProtocolTransport;
 import org.apache.james.protocols.lib.handler.HandlersPackage;
+import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
 import org.apache.james.protocols.lib.netty.AbstractProtocolAsyncServer;
 import org.apache.james.protocols.netty.AbstractChannelPipelineFactory;
 import 
org.apache.james.protocols.netty.AllButStartTlsLineChannelHandlerFactory;
@@ -188,15 +190,11 @@ public class SMTPServer extends 
AbstractProtocolAsyncServer implements SMTPServe
     private DNSService dns;
     private String authorizedAddresses;
 
-    public SMTPServer(SmtpMetrics smtpMetrics) {
+    public SMTPServer(SmtpMetrics smtpMetrics, DNSService dns, 
ProtocolHandlerLoader protocolHandlerLoader, FileSystem fileSystem) {
+        super(protocolHandlerLoader, fileSystem);
         this.smtpMetrics = smtpMetrics;
     }
 
-    @Inject
-    public void setDnsService(DNSService dns) {
-        this.dns = dns;
-    }
-    
     @Override
     protected void preInit() throws Exception {
         super.preInit();
diff --git 
a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
 
b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
index 6e0be63f9d..8b41517550 100644
--- 
a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
+++ 
b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/netty/SMTPServerFactory.java
@@ -49,9 +49,6 @@ public class SMTPServerFactory extends AbstractServerFactory {
         this.smtpMetrics = new SmtpMetricsImpl(metricFactory);
     }
 
-    protected SMTPServer createServer() {
-       return new SMTPServer(smtpMetrics);
-    }
     
     @Override
     protected List<AbstractConfigurableAsyncServer> 
createServers(HierarchicalConfiguration<ImmutableNode> config) throws Exception 
{
@@ -60,10 +57,7 @@ public class SMTPServerFactory extends AbstractServerFactory 
{
         List<HierarchicalConfiguration<ImmutableNode>> configs = 
config.configurationsAt("smtpserver");
         
         for (HierarchicalConfiguration<ImmutableNode> serverConfig: configs) {
-            SMTPServer server = createServer();
-            server.setDnsService(dns);
-            server.setProtocolHandlerLoader(loader);
-            server.setFileSystem(fileSystem);
+            var server = new SMTPServer(smtpMetrics, dns, loader, fileSystem);
             server.configure(serverConfig);
             servers.add(server);
         }
diff --git 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/AuthAnnounceTest.java
 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/AuthAnnounceTest.java
index 0efa806c7a..e09e87a65a 100644
--- 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/AuthAnnounceTest.java
+++ 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/AuthAnnounceTest.java
@@ -123,18 +123,11 @@ class AuthAnnounceTest {
         mailRepositoryStore.init();
     }
 
-    protected SMTPServer createSMTPServer(SmtpMetricsImpl smtpMetrics) {
-        return new SMTPServer(smtpMetrics);
-    }
-
     protected void setUpSMTPServer() {
         SmtpMetricsImpl smtpMetrics = mock(SmtpMetricsImpl.class);
         when(smtpMetrics.getCommandsMetric()).thenReturn(mock(Metric.class));
         when(smtpMetrics.getConnectionMetric()).thenReturn(mock(Metric.class));
-        smtpServer = createSMTPServer(smtpMetrics);
-        smtpServer.setDnsService(dnsServer);
-        smtpServer.setFileSystem(fileSystem);
-        smtpServer.setProtocolHandlerLoader(chain);
+        smtpServer = new SMTPServer(smtpMetrics, dnsServer, chain, fileSystem);
     }
 
     protected void setUpFakeLoader() {
diff --git 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/DSNTest.java
 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/DSNTest.java
index c937214bab..d8827bdba4 100644
--- 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/DSNTest.java
+++ 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/DSNTest.java
@@ -134,18 +134,11 @@ class DSNTest {
         mailRepositoryStore.init();
     }
 
-    protected SMTPServer createSMTPServer(SmtpMetricsImpl smtpMetrics) {
-        return new SMTPServer(smtpMetrics);
-    }
-
     protected void setUpSMTPServer() {
         SmtpMetricsImpl smtpMetrics = mock(SmtpMetricsImpl.class);
         when(smtpMetrics.getCommandsMetric()).thenReturn(mock(Metric.class));
         when(smtpMetrics.getConnectionMetric()).thenReturn(mock(Metric.class));
-        smtpServer = createSMTPServer(smtpMetrics);
-        smtpServer.setDnsService(dnsServer);
-        smtpServer.setFileSystem(fileSystem);
-        smtpServer.setProtocolHandlerLoader(chain);
+        smtpServer = new SMTPServer(smtpMetrics, dnsServer, chain, fileSystem);
     }
 
     protected void setUpFakeLoader() {
diff --git 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/FutureReleaseTest.java
 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/FutureReleaseTest.java
index dc87df8f8e..bd0f4fc17b 100644
--- 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/FutureReleaseTest.java
+++ 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/FutureReleaseTest.java
@@ -39,6 +39,7 @@ import org.apache.james.metrics.api.Metric;
 import org.apache.james.metrics.api.MetricFactory;
 import org.apache.james.metrics.tests.RecordingMetricFactory;
 import org.apache.james.protocols.api.utils.ProtocolServerUtils;
+import org.apache.james.protocols.lib.handler.ProtocolHandlerLoader;
 import org.apache.james.protocols.lib.mock.MockProtocolHandlerLoader;
 import org.apache.james.queue.api.MailQueueFactory;
 import org.apache.james.queue.api.ManageableMailQueue;
@@ -55,6 +56,7 @@ import 
org.apache.james.server.core.configuration.Configuration;
 import org.apache.james.server.core.configuration.FileConfigurationProvider;
 import org.apache.james.server.core.filesystem.FileSystemImpl;
 import org.apache.james.smtpserver.netty.SMTPServer;
+import org.apache.james.smtpserver.netty.SmtpMetrics;
 import org.apache.james.smtpserver.netty.SmtpMetricsImpl;
 import org.apache.james.user.api.UsersRepository;
 import org.apache.james.user.memory.MemoryUsersRepository;
@@ -134,7 +136,7 @@ class FutureReleaseTest {
     }
 
     protected SMTPServer createSMTPServer(SmtpMetricsImpl smtpMetrics) {
-        return new SMTPServer(smtpMetrics);
+        return new SMTPServer(smtpMetrics, dnsServer, chain, fileSystem);
     }
 
     protected void setUpSMTPServer() {
@@ -142,9 +144,6 @@ class FutureReleaseTest {
         when(smtpMetrics.getCommandsMetric()).thenReturn(mock(Metric.class));
         when(smtpMetrics.getConnectionMetric()).thenReturn(mock(Metric.class));
         smtpServer = createSMTPServer(smtpMetrics);
-        smtpServer.setDnsService(dnsServer);
-        smtpServer.setFileSystem(fileSystem);
-        smtpServer.setProtocolHandlerLoader(chain);
     }
 
     protected void setUpFakeLoader() {
diff --git 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPSaslTest.java
 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPSaslTest.java
index 0a15082d31..d9745b516d 100644
--- 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPSaslTest.java
+++ 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPSaslTest.java
@@ -168,18 +168,11 @@ class SMTPSaslTest {
         mailRepositoryStore.init();
     }
 
-    protected SMTPServer createSMTPServer(SmtpMetricsImpl smtpMetrics) {
-        return new SMTPServer(smtpMetrics);
-    }
-
     protected void setUpSMTPServer() {
         SmtpMetricsImpl smtpMetrics = mock(SmtpMetricsImpl.class);
         when(smtpMetrics.getCommandsMetric()).thenReturn(mock(Metric.class));
         when(smtpMetrics.getConnectionMetric()).thenReturn(mock(Metric.class));
-        smtpServer = createSMTPServer(smtpMetrics);
-        smtpServer.setDnsService(dnsServer);
-        smtpServer.setFileSystem(fileSystem);
-        smtpServer.setProtocolHandlerLoader(chain);
+        smtpServer = new SMTPServer(smtpMetrics, dnsServer, chain, fileSystem);
     }
 
     protected void setUpFakeLoader() {
diff --git 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
index ab4700872d..c7e1313695 100644
--- 
a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
+++ 
b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/SMTPServerTest.java
@@ -248,18 +248,11 @@ public class SMTPServerTest {
         mailRepositoryStore.init();
     }
 
-    protected SMTPServer createSMTPServer(SmtpMetricsImpl smtpMetrics) {
-        return new SMTPServer(smtpMetrics);
-    }
-
     protected void setUpSMTPServer() {
         SmtpMetricsImpl smtpMetrics = mock(SmtpMetricsImpl.class);
         when(smtpMetrics.getCommandsMetric()).thenReturn(mock(Metric.class));
         when(smtpMetrics.getConnectionMetric()).thenReturn(mock(Metric.class));
-        smtpServer = createSMTPServer(smtpMetrics);
-        smtpServer.setDnsService(dnsServer);
-        smtpServer.setFileSystem(fileSystem);
-        smtpServer.setProtocolHandlerLoader(chain);
+        smtpServer = new SMTPServer(smtpMetrics, dnsServer, chain, fileSystem);
         smtpServer.setGracefulShutdown(false);
     }
 


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

Reply via email to