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 2018/12/07 01:10:38 UTC
[15/19] james-project git commit: JAMES-2616 SpamAssassin learns
james User not String
JAMES-2616 SpamAssassin learns james User not String
Project: http://git-wip-us.apache.org/repos/asf/james-project/repo
Commit: http://git-wip-us.apache.org/repos/asf/james-project/commit/372930cd
Tree: http://git-wip-us.apache.org/repos/asf/james-project/tree/372930cd
Diff: http://git-wip-us.apache.org/repos/asf/james-project/diff/372930cd
Branch: refs/heads/master
Commit: 372930cd3f64cb9e65cac0d52527feee7656e6f1
Parents: 262e206
Author: tran tien duc <dt...@linagora.com>
Authored: Tue Dec 4 15:44:03 2018 +0700
Committer: Benoit Tellier <bt...@linagora.com>
Committed: Fri Dec 7 07:52:51 2018 +0700
----------------------------------------------------------------------
.../james/mailbox/spamassassin/SpamAssassin.java | 5 +++--
.../mailbox/spamassassin/SpamAssassinListener.java | 7 +++----
.../apache/james/transport/mailets/SpamAssassin.java | 3 ++-
third-party/spamassassin/pom.xml | 4 ++++
.../apache/james/spamassassin/SpamAssassinInvoker.java | 13 +++++++------
.../james/spamassassin/SpamAssassinInvokerTest.java | 3 ++-
6 files changed, 21 insertions(+), 14 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/james-project/blob/372930cd/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassin.java
----------------------------------------------------------------------
diff --git a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassin.java b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassin.java
index b86fe28..a654666 100644
--- a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassin.java
+++ b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassin.java
@@ -23,6 +23,7 @@ import java.util.List;
import javax.inject.Inject;
+import org.apache.james.core.User;
import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.spamassassin.SpamAssassinInvoker;
import org.apache.james.util.Host;
@@ -40,7 +41,7 @@ public class SpamAssassin {
this.spamAssassinConfiguration = spamAssassinConfiguration;
}
- public void learnSpam(List<InputStream> messages, String user) {
+ public void learnSpam(List<InputStream> messages, User user) {
if (spamAssassinConfiguration.isEnable()) {
Host host = spamAssassinConfiguration.getHost().get();
SpamAssassinInvoker invoker = new SpamAssassinInvoker(metricFactory, host.getHostName(), host.getPort());
@@ -49,7 +50,7 @@ public class SpamAssassin {
}
}
- public void learnHam(List<InputStream> messages, String user) {
+ public void learnHam(List<InputStream> messages, User user) {
if (spamAssassinConfiguration.isEnable()) {
Host host = spamAssassinConfiguration.getHost().get();
SpamAssassinInvoker invoker = new SpamAssassinInvoker(metricFactory, host.getHostName(), host.getPort());
http://git-wip-us.apache.org/repos/asf/james-project/blob/372930cd/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java
----------------------------------------------------------------------
diff --git a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java
index 9bf3657..74443c9 100644
--- a/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java
+++ b/mailbox/plugin/spamassassin/src/main/java/org/apache/james/mailbox/spamassassin/SpamAssassinListener.java
@@ -68,17 +68,16 @@ public class SpamAssassinListener implements SpamEventListener {
@Override
public void event(Event event) {
- String username = event.getUser().asString();
if (event instanceof MessageMoveEvent) {
MessageMoveEvent messageMoveEvent = (MessageMoveEvent) event;
if (isMessageMovedToSpamMailbox(messageMoveEvent)) {
LOGGER.debug("Spam event detected");
ImmutableList<InputStream> messages = retrieveMessages(messageMoveEvent);
- spamAssassin.learnSpam(messages, username);
+ spamAssassin.learnSpam(messages, event.getUser());
}
if (isMessageMovedOutOfSpamMailbox(messageMoveEvent)) {
ImmutableList<InputStream> messages = retrieveMessages(messageMoveEvent);
- spamAssassin.learnHam(messages, username);
+ spamAssassin.learnHam(messages, event.getUser());
}
}
if (event instanceof EventFactory.AddedImpl) {
@@ -89,7 +88,7 @@ public class SpamAssassinListener implements SpamEventListener {
.stream()
.map(Throwing.function(MailboxMessage::getFullContent))
.collect(Guavate.toImmutableList());
- spamAssassin.learnHam(contents, username);
+ spamAssassin.learnHam(contents, event.getUser());
}
}
}
http://git-wip-us.apache.org/repos/asf/james-project/blob/372930cd/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
index f9f2634..adda4b7 100644
--- a/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
+++ b/server/mailet/mailets/src/main/java/org/apache/james/transport/mailets/SpamAssassin.java
@@ -26,6 +26,7 @@ import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.apache.james.core.MailAddress;
+import org.apache.james.core.User;
import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.spamassassin.SpamAssassinInvoker;
import org.apache.james.spamassassin.SpamAssassinResult;
@@ -106,7 +107,7 @@ public class SpamAssassin extends GenericMailet {
}
private void querySpamAssassin(Mail mail, MimeMessage message, SpamAssassinInvoker sa, MailAddress recipient) throws MessagingException, UsersRepositoryException {
- SpamAssassinResult result = sa.scanMail(message, usersRepository.getUser(recipient));
+ SpamAssassinResult result = sa.scanMail(message, User.fromUsername(usersRepository.getUser(recipient)));
// Add headers per recipient to mail object
for (String key : result.getHeadersAsAttribute().keySet()) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/372930cd/third-party/spamassassin/pom.xml
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/pom.xml b/third-party/spamassassin/pom.xml
index 3079b24..06a0576 100644
--- a/third-party/spamassassin/pom.xml
+++ b/third-party/spamassassin/pom.xml
@@ -31,6 +31,10 @@
<dependencies>
<dependency>
<groupId>${james.groupId}</groupId>
+ <artifactId>james-core</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>${james.groupId}</groupId>
<artifactId>james-server-testing</artifactId>
<scope>test</scope>
</dependency>
http://git-wip-us.apache.org/repos/asf/james-project/blob/372930cd/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinInvoker.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinInvoker.java b/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinInvoker.java
index 1a97bf8..0a686b1 100644
--- a/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinInvoker.java
+++ b/third-party/spamassassin/src/main/java/org/apache/james/spamassassin/SpamAssassinInvoker.java
@@ -35,6 +35,7 @@ import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import org.apache.commons.io.IOUtils;
+import org.apache.james.core.User;
import org.apache.james.metrics.api.MetricFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -92,12 +93,12 @@ public class SpamAssassinInvoker {
* @throws MessagingException
* if an error on scanning is detected
*/
- public SpamAssassinResult scanMail(MimeMessage message, String user) throws MessagingException {
+ public SpamAssassinResult scanMail(MimeMessage message, User user) throws MessagingException {
return metricFactory.runPublishingTimerMetric(
"spamAssassin-check",
Throwing.supplier(
() -> scanMailWithAdditionalHeaders(message,
- "User: " + user))
+ "User: " + user.asString()))
.sneakyThrow());
}
@@ -187,7 +188,7 @@ public class SpamAssassinInvoker {
* @throws MessagingException
* if an error occured during learning.
*/
- public boolean learnAsSpam(InputStream message, String user) throws MessagingException {
+ public boolean learnAsSpam(InputStream message, User user) throws MessagingException {
return metricFactory.runPublishingTimerMetric(
"spamAssassin-spam-report",
Throwing.supplier(
@@ -203,7 +204,7 @@ public class SpamAssassinInvoker {
* @throws MessagingException
* if an error occured during learning.
*/
- public boolean learnAsHam(InputStream message, String user) throws MessagingException {
+ public boolean learnAsHam(InputStream message, User user) throws MessagingException {
return metricFactory.runPublishingTimerMetric(
"spamAssassin-ham-report",
Throwing.supplier(
@@ -211,7 +212,7 @@ public class SpamAssassinInvoker {
.sneakyThrow());
}
- private boolean reportMessageAs(InputStream message, String user, MessageClass messageClass) throws MessagingException {
+ private boolean reportMessageAs(InputStream message, User user, MessageClass messageClass) throws MessagingException {
try (Socket socket = new Socket(spamdHost, spamdPort);
OutputStream out = socket.getOutputStream();
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(out);
@@ -227,7 +228,7 @@ public class SpamAssassinInvoker {
writer.write(CRLF);
writer.write("Set: local, remote");
writer.write(CRLF);
- writer.write("User: " + user);
+ writer.write("User: " + user.asString());
writer.write(CRLF);
writer.write(CRLF);
writer.flush();
http://git-wip-us.apache.org/repos/asf/james-project/blob/372930cd/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinInvokerTest.java
----------------------------------------------------------------------
diff --git a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinInvokerTest.java b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinInvokerTest.java
index 473c6bf..f712572 100644
--- a/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinInvokerTest.java
+++ b/third-party/spamassassin/src/test/java/org/apache/james/spamassassin/SpamAssassinInvokerTest.java
@@ -25,6 +25,7 @@ import java.nio.charset.StandardCharsets;
import javax.mail.internet.MimeMessage;
+import org.apache.james.core.User;
import org.apache.james.metrics.api.NoopMetricFactory;
import org.apache.james.spamassassin.SpamAssassinExtension.SpamAssassin;
import org.apache.james.util.MimeMessageUtil;
@@ -35,7 +36,7 @@ import org.junit.jupiter.api.extension.ExtendWith;
@ExtendWith(SpamAssassinExtension.class)
public class SpamAssassinInvokerTest {
- public static final String USER = "any@james";
+ public static final User USER = User.fromUsername("any@james");
private SpamAssassin spamAssassin;
private SpamAssassinInvoker testee;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org