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/20 01:57:07 UTC
[james-project] 39/49: [Refactoring] protocols-smtp should rely on
constructor injection
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 a82bcf13eb597bd6799a30f7adaf87d8548ff974
Author: Benoit Tellier <bt...@linagora.com>
AuthorDate: Sun Nov 17 21:03:59 2019 +0700
[Refactoring] protocols-smtp should rely on constructor injection
---
.../smtpserver/AuthRequiredToRelayRcptHook.java | 5 ++---
.../james/smtpserver/JamesMailCmdHandler.java | 10 +++-------
.../james/smtpserver/JamesRcptCmdHandler.java | 9 ++-------
.../apache/james/smtpserver/SendMailHandler.java | 7 +++----
.../SenderAuthIdentifyVerificationRcptHook.java | 13 ++++---------
.../james/smtpserver/UsersRepositoryAuthHook.java | 19 ++-----------------
.../james/smtpserver/fastfail/DNSRBLHandler.java | 5 ++---
.../fastfail/ResolvableEhloHeloHandler.java | 5 ++---
.../fastfail/ReverseEqualsEhloHeloHandler.java | 5 ++---
.../james/smtpserver/fastfail/ValidRcptMX.java | 21 ++-------------------
.../fastfail/ValidSenderDomainHandler.java | 5 ++---
.../james/smtpserver/ValidRcptHandlerTest.java | 5 ++---
.../apache/james/smtpserver/ValidRcptMXTest.java | 3 +--
13 files changed, 29 insertions(+), 83 deletions(-)
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AuthRequiredToRelayRcptHook.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AuthRequiredToRelayRcptHook.java
index 5a17e0b..6cec91d 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AuthRequiredToRelayRcptHook.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/AuthRequiredToRelayRcptHook.java
@@ -26,11 +26,10 @@ import org.apache.james.domainlist.api.DomainListException;
import org.apache.james.protocols.smtp.core.AbstractAuthRequiredToRelayRcptHook;
public class AuthRequiredToRelayRcptHook extends AbstractAuthRequiredToRelayRcptHook {
-
- private DomainList domains;
+ private final DomainList domains;
@Inject
- public void setDomainList(DomainList domains) {
+ public AuthRequiredToRelayRcptHook(DomainList domains) {
this.domains = domains;
}
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/JamesMailCmdHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/JamesMailCmdHandler.java
index 9ff0e71..ad5d057 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/JamesMailCmdHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/JamesMailCmdHandler.java
@@ -26,19 +26,15 @@ import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.protocols.smtp.core.MailCmdHandler;
public class JamesMailCmdHandler extends MailCmdHandler {
-
- private DomainList domainList;
+ private final DomainList domainList;
@Inject
- public JamesMailCmdHandler(MetricFactory metricFactory) {
+ public JamesMailCmdHandler(MetricFactory metricFactory, DomainList domainList) {
super(metricFactory);
- }
-
- @Inject
- public final void setDomainList(DomainList domainList) {
this.domainList = domainList;
}
+
@Override
public String getDefaultDomain() {
try {
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/JamesRcptCmdHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/JamesRcptCmdHandler.java
index 1ec3a2f..129a832 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/JamesRcptCmdHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/JamesRcptCmdHandler.java
@@ -27,16 +27,11 @@ import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.protocols.smtp.core.RcptCmdHandler;
public class JamesRcptCmdHandler extends RcptCmdHandler {
-
- private DomainList domainList;
+ private final DomainList domainList;
@Inject
- public JamesRcptCmdHandler(MetricFactory metricFactory) {
+ public JamesRcptCmdHandler(MetricFactory metricFactory, DomainList domainList) {
super(metricFactory);
- }
-
- @Inject
- public final void setDomainList(DomainList domainList) {
this.domainList = domainList;
}
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
index 90ddd4f..4de5cfe 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SendMailHandler.java
@@ -23,7 +23,6 @@ import javax.inject.Inject;
import javax.mail.MessagingException;
import org.apache.commons.configuration2.Configuration;
-import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.james.protocols.smtp.SMTPSession;
import org.apache.james.protocols.smtp.dsn.DSNStatus;
import org.apache.james.protocols.smtp.hook.HookResult;
@@ -40,16 +39,16 @@ import org.slf4j.LoggerFactory;
public class SendMailHandler implements JamesMessageHook {
private static final Logger LOGGER = LoggerFactory.getLogger(SendMailHandler.class);
+ private final MailQueueFactory<?> queueFactory;
private MailQueue queue;
- private MailQueueFactory<?> queueFactory;
@Inject
- public void setMailQueueFactory(MailQueueFactory<?> queueFactory) {
+ public SendMailHandler(MailQueueFactory<?> queueFactory) {
this.queueFactory = queueFactory;
}
@Override
- public void init(Configuration config) throws ConfigurationException {
+ public void init(Configuration config) {
queue = queueFactory.createQueue(MailQueueFactory.SPOOL);
}
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java
index 44b453f..5ed3567 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/SenderAuthIdentifyVerificationRcptHook.java
@@ -39,18 +39,13 @@ import org.apache.james.user.api.UsersRepositoryException;
* Handler which check if the authenticated user is incorrect
*/
public class SenderAuthIdentifyVerificationRcptHook extends AbstractSenderAuthIdentifyVerificationRcptHook {
-
- private DomainList domains;
- private UsersRepository users;
-
- @Inject
- public final void setUsersRepository(UsersRepository users) {
- this.users = users;
- }
+ private final DomainList domains;
+ private final UsersRepository users;
@Inject
- public void setDomainList(DomainList domains) {
+ public SenderAuthIdentifyVerificationRcptHook(DomainList domains, UsersRepository users) {
this.domains = domains;
+ this.users = users;
}
@Override
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/UsersRepositoryAuthHook.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/UsersRepositoryAuthHook.java
index 669e223..bf88b00 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/UsersRepositoryAuthHook.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/UsersRepositoryAuthHook.java
@@ -36,25 +36,10 @@ import org.slf4j.LoggerFactory;
public class UsersRepositoryAuthHook implements AuthHook {
private static final Logger LOGGER = LoggerFactory.getLogger(UsersRepositoryAuthHook.class);
- private UsersRepository users;
+ private final UsersRepository users;
- /**
- * Gets the users repository.
- *
- * @return the users
- */
- public final UsersRepository getUsers() {
- return users;
- }
-
- /**
- * Sets the users repository.
- *
- * @param users
- * the users to set
- */
@Inject
- public final void setUsersRepository(UsersRepository users) {
+ public UsersRepositoryAuthHook(UsersRepository users) {
this.users = users;
}
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
index a3dd178..0caac3b 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/DNSRBLHandler.java
@@ -33,11 +33,10 @@ import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.protocols.api.handler.ProtocolHandler;
public class DNSRBLHandler extends org.apache.james.protocols.smtp.core.fastfail.DNSRBLHandler implements ProtocolHandler {
-
- private DNSService dns;
+ private final DNSService dns;
@Inject
- public void setDNSService(DNSService dns) {
+ public DNSRBLHandler(DNSService dns) {
this.dns = dns;
}
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ResolvableEhloHeloHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ResolvableEhloHeloHandler.java
index 9af6100..940e7ee 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ResolvableEhloHeloHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ResolvableEhloHeloHandler.java
@@ -25,11 +25,10 @@ import javax.inject.Inject;
import org.apache.james.dnsservice.api.DNSService;
public class ResolvableEhloHeloHandler extends org.apache.james.protocols.smtp.core.fastfail.ResolvableEhloHeloHandler {
-
- private DNSService dns;
+ private final DNSService dns;
@Inject
- public void setDNSService(DNSService dns) {
+ public ResolvableEhloHeloHandler(DNSService dns) {
this.dns = dns;
}
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ReverseEqualsEhloHeloHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ReverseEqualsEhloHeloHandler.java
index 1d2ce4c..8090fad 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ReverseEqualsEhloHeloHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ReverseEqualsEhloHeloHandler.java
@@ -25,11 +25,10 @@ import javax.inject.Inject;
import org.apache.james.dnsservice.api.DNSService;
public class ReverseEqualsEhloHeloHandler extends org.apache.james.protocols.smtp.core.fastfail.ReverseEqualsEhloHeloHandler {
-
- private DNSService dns;
+ private final DNSService dns;
@Inject
- public void setDNSService(DNSService dns) {
+ public ReverseEqualsEhloHeloHandler(DNSService dns) {
this.dns = dns;
}
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
index e0684e1..dedbdcf 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidRcptMX.java
@@ -50,33 +50,16 @@ import com.github.steveash.guavate.Guavate;
* authorized user or an authorized network.
*/
public class ValidRcptMX implements RcptHook, ProtocolHandler {
-
private static final Logger LOGGER = LoggerFactory.getLogger(ValidRcptMX.class);
- private DNSService dnsService = null;
-
+ private final DNSService dnsService;
private NetMatcher bNetwork = null;
- /**
- * Gets the DNS service.
- *
- * @return the dnsService
- */
- public final DNSService getDNSService() {
- return dnsService;
- }
-
- /**
- * Sets the DNS service.
- *
- * @param dnsService the dnsService to set
- */
@Inject
- public final void setDNSService(DNSService dnsService) {
+ public ValidRcptMX(DNSService dnsService) {
this.dnsService = dnsService;
}
-
/**
* Set the banned networks
*
diff --git a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java
index c3e2236..2bdc60a 100644
--- a/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java
+++ b/server/protocols/protocols-smtp/src/main/java/org/apache/james/smtpserver/fastfail/ValidSenderDomainHandler.java
@@ -26,11 +26,10 @@ import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.protocols.smtp.SMTPSession;
public class ValidSenderDomainHandler extends org.apache.james.protocols.smtp.core.fastfail.ValidSenderDomainHandler {
-
- private DNSService dnsService;
+ private final DNSService dnsService;
@Inject
- public void setDNSService(DNSService dnsService) {
+ public ValidSenderDomainHandler(DNSService dnsService) {
this.dnsService = dnsService;
}
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
index 72543f7..13adf0f 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptHandlerTest.java
@@ -59,13 +59,12 @@ public class ValidRcptHandlerTest {
@Before
public void setUp() throws Exception {
- UsersRepository users = MemoryUsersRepository.withoutVirtualHosting();
- users.addUser(VALID_USER, PASSWORD);
-
MemoryDomainList memoryDomainList = new MemoryDomainList(mock(DNSService.class));
memoryDomainList.configure(DomainListConfiguration.builder()
.defaultDomain(Domain.LOCALHOST)
.build());
+ UsersRepository users = MemoryUsersRepository.withoutVirtualHosting(memoryDomainList);
+ users.addUser(VALID_USER, PASSWORD);
memoryRecipientRewriteTable = new MemoryRecipientRewriteTable();
memoryRecipientRewriteTable.setDomainList(memoryDomainList);
diff --git a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
index c7db08d..be784d7 100644
--- a/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
+++ b/server/protocols/protocols-smtp/src/test/java/org/apache/james/smtpserver/ValidRcptMXTest.java
@@ -81,8 +81,7 @@ public class ValidRcptMXTest {
MailAddress mailAddress = new MailAddress("test@" + INVALID_HOST);
SMTPSession session = setupMockedSMTPSession(mailAddress);
- ValidRcptMX handler = new ValidRcptMX();
- handler.setDNSService(dns);
+ ValidRcptMX handler = new ValidRcptMX(dns);
handler.setBannedNetworks(ImmutableList.of(bannedAddress), dns);
HookReturnCode rCode = handler.doRcpt(session, MaybeSender.nullSender(), mailAddress).getResult();
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org