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 2017/09/11 02:36:52 UTC
[08/23] james-project git commit: JAMES-2138 move MailAddress to a
new james-core project
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageTest.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageTest.java b/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageTest.java
new file mode 100644
index 0000000..8b51e50
--- /dev/null
+++ b/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageTest.java
@@ -0,0 +1,437 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.server.core;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.util.Arrays;
+import java.util.Enumeration;
+import java.util.Properties;
+
+import javax.mail.BodyPart;
+import javax.mail.Session;
+import javax.mail.internet.InternetHeaders;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+
+import org.apache.james.lifecycle.api.LifecycleUtil;
+import org.apache.mailet.base.RFC2822Headers;
+import org.junit.Test;
+
+/**
+ * Test the subject folding issue.
+ */
+public class MimeMessageTest {
+
+ protected MimeMessage getSimpleMessage() throws Exception {
+ MimeMessage mmCreated = new MimeMessage(Session.getDefaultInstance(new Properties()));
+ mmCreated.setSubject("test");
+ mmCreated.setText("test body");
+ mmCreated.saveChanges();
+ return mmCreated;
+ }
+
+ protected String getSimpleMessageCleanedSource() {
+ return "Subject: test\r\n"
+ + "MIME-Version: 1.0\r\n"
+ + "Content-Type: text/plain; charset=us-ascii\r\n"
+ + "Content-Transfer-Encoding: 7bit\r\n"
+ + "\r\n"
+ + "test body";
+ }
+
+ protected MimeMessage getMessageWithBadReturnPath() throws Exception {
+ MimeMessage mmCreated = new MimeMessage(Session.getDefaultInstance(new Properties()));
+ mmCreated.setSubject("test");
+ mmCreated.setHeader(RFC2822Headers.RETURN_PATH, "<my...@example.com>");
+ mmCreated.setText("test body");
+ mmCreated.saveChanges();
+ return mmCreated;
+ }
+
+ protected String getMessageWithBadReturnPathSource() {
+ return "Subject: test\r\n"
+ + "Return-Path: <my...@example.com>\r\n"
+ + "MIME-Version: 1.0\r\n"
+ + "Content-Type: text/plain; charset=us-ascii\r\n"
+ + "Content-Transfer-Encoding: 7bit\r\n"
+ + "\r\n"
+ + "test body";
+ }
+
+ protected String getSimpleMessageCleanedSourceHeaderExpected() {
+ return "X-Test: foo\r\n" + getSimpleMessageCleanedSource();
+ }
+
+ /*
+ * Class under test for String getSubject()
+ */
+ @Test
+ public void testSimpleMessage() throws Exception {
+ MimeMessage m = getSimpleMessage();
+ assertEquals(getSimpleMessageCleanedSource(), getCleanedMessageSource(m));
+ LifecycleUtil.dispose(m);
+ }
+
+ protected MimeMessage getMultipartMessage() throws Exception {
+ MimeMessage mmCreated = new MimeMessage(Session.getDefaultInstance(new Properties()));
+ mmCreated.setSubject("test");
+ MimeMultipart mm = new MimeMultipart("alternative");
+ mm.addBodyPart(new MimeBodyPart(new InternetHeaders(new ByteArrayInputStream("X-header: test1\r\nContent-Type: text/plain; charset=Cp1252\r\n".
+ getBytes())), "first part \u00F2\u00E0\u00F9".getBytes()));
+ mm.addBodyPart(new MimeBodyPart(new InternetHeaders(new ByteArrayInputStream("X-header: test2\r\nContent-Type: text/plain; charset=Cp1252\r\nContent-Transfer-Encoding: quoted-printable\r\n".
+ getBytes())), "second part =E8=E8".getBytes()));
+ mmCreated.setContent(mm);
+ mmCreated.saveChanges();
+ return mmCreated;
+ }
+
+ protected String getMultipartMessageSource() {
+ return "Subject: test\r\n"
+ + "MIME-Version: 1.0\r\n"
+ + "Content-Type: multipart/alternative; \r\n"
+ + "\tboundary=\"----=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\"\r\n"
+ + "\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\r\n"
+ + "X-header: test1\r\n"
+ + "Content-Type: text/plain; charset=Cp1252\r\n"
+ + "Content-Transfer-Encoding: quoted-printable\r\n"
+ + "\r\n"
+ + "first part =E8\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\r\n"
+ + "X-header: test2\r\n"
+ + "Content-Type: text/plain; charset=Cp1252\r\n"
+ + "Content-Transfer-Encoding: quoted-printable\r\n"
+ + "\r\n"
+ + "second part =E8=E8\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX--\r\n";
+ }
+
+ protected String getMultipartMessageExpected1() {
+ return "Subject: test\r\n"
+ + "MIME-Version: 1.0\r\n"
+ + "Content-Type: multipart/alternative; \r\n"
+ + "\tboundary=\"----=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\"\r\n"
+ + "\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\r\n"
+ + "X-header: test1\r\n"
+ + "Content-Type: text/plain; charset=Cp1252\r\n"
+ + "Content-Transfer-Encoding: quoted-printable\r\n"
+ + "\r\n"
+ + "test=80\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\r\n"
+ + "X-header: test2\r\n"
+ + "Content-Type: text/plain; charset=Cp1252\r\n"
+ + "Content-Transfer-Encoding: quoted-printable\r\n"
+ + "\r\n"
+ + "second part =E8=E8\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX--\r\n";
+ }
+
+ protected String getMultipartMessageExpected2() {
+ return "Subject: test\r\n"
+ + "MIME-Version: 1.0\r\n"
+ + "Content-Type: multipart/alternative; \r\n"
+ + "\tboundary=\"----=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\"\r\n"
+ + "\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\r\n"
+ + "X-header: test1\r\n"
+ + "Content-Type: text/plain; charset=Cp1252\r\n"
+ + "Content-Transfer-Encoding: quoted-printable\r\n"
+ + "\r\n"
+ + "test=80\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\r\n"
+ + "X-header: test2\r\n"
+ + "Content-Type: text/plain; charset=Cp1252\r\n"
+ + "Content-Transfer-Encoding: quoted-printable\r\n"
+ + "\r\n"
+ + "second part =E8=E8\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\r\n"
+ + "Subject: test3\r\n"
+ + "\r\n"
+ + "third part\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX--\r\n";
+ }
+
+ protected String getMultipartMessageExpected3() {
+ return "Subject: test\r\n"
+ + "MIME-Version: 1.0\r\n"
+ + "Content-Type: binary/octet-stream\r\n"
+ + "Content-Transfer-Encoding: quoted-printable\r\n"
+ + "\r\n"
+ + "mynewco=F2=E0=F9ntent=80=E0!";
+ }
+
+ /*
+ * Class under test for String getSubject()
+ */
+ @Test
+ public void testMultipartMessageChanges() throws Exception {
+
+ MimeMessage mm = getMultipartMessage();
+
+ // ByteArrayOutputStream out = new ByteArrayOutputStream();
+ // mmCreated.writeTo(out,new String[] {"Message-ID"});
+ // String messageSource = out.toString();
+ // System.out.println(messageSource);
+
+ MimeMultipart content1 = (MimeMultipart) mm.getContent();
+ BodyPart b1 = content1.getBodyPart(0);
+ b1.setContent("test\u20AC", "text/plain; charset=Cp1252");
+ mm.setContent(content1, mm.getContentType());
+ // .setHeader(RFC2822Headers.CONTENT_TYPE,contentType);
+ mm.saveChanges();
+
+ assertEquals(getMultipartMessageExpected1(), getCleanedMessageSource(mm));
+
+ MimeMultipart content2 = (MimeMultipart) mm.getContent();
+ content2.addBodyPart(new MimeBodyPart(new InternetHeaders(new ByteArrayInputStream(
+ "Subject: test3\r\n".getBytes())), "third part".getBytes()));
+ mm.setContent(content2, mm.getContentType());
+ mm.saveChanges();
+
+ assertEquals(getMultipartMessageExpected2(), getCleanedMessageSource(mm));
+
+ mm.setContent("mynewco\u00F2\u00E0\u00F9ntent\u20AC\u00E0!", "text/plain; charset=cp1252");
+ mm.setHeader(RFC2822Headers.CONTENT_TYPE, "binary/octet-stream");
+ // mm.setHeader("Content-Transfer-Encoding","8bit");
+ mm.saveChanges();
+
+ assertEquals(getMultipartMessageExpected3(), getCleanedMessageSource(mm));
+
+ LifecycleUtil.dispose(mm);
+
+ }
+
+ protected MimeMessage getMissingEncodingAddHeaderMessage() throws Exception {
+ MimeMessage m = new MimeMessage(Session.getDefaultInstance(new Properties()));
+ m.setText("Test\u00E0\r\n");
+ m.setSubject("test");
+ m.saveChanges();
+ return m;
+ }
+
+ protected String getMissingEncodingAddHeaderSource() {
+ return "Subject: test\r\n"
+ + "\r\n"
+ + "Test\u00E0\r\n";
+ }
+
+ protected String getMissingEncodingAddHeaderExpected() {
+ return "Subject: test\r\n"
+ + "MIME-Version: 1.0\r\n"
+ + "Content-Type: text/plain; charset=Cp1252\r\n"
+ + "Content-Transfer-Encoding: quoted-printable\r\n"
+ + "\r\n"
+ + "Test=E0\r\n";
+ }
+
+ /**
+ * This test is not usable in different locale environment.
+ */
+ /*
+ * public void testMissingEncodingAddHeader() throws Exception {
+ *
+ *
+ * MimeMessage mm = getMissingEncodingAddHeaderMessage();
+ * mm.setHeader("Content-Transfer-Encoding", "quoted-printable");
+ * mm.saveChanges();
+ *
+ * assertEquals(getMissingEncodingAddHeaderExpected(),getCleanedMessageSource
+ * (mm)); }
+ */
+ protected String getCleanedMessageSource(MimeMessage mm) throws Exception {
+ ByteArrayOutputStream out2;
+ out2 = new ByteArrayOutputStream();
+ mm.writeTo(out2, new String[]{"Message-ID"});
+
+ String res = out2.toString();
+
+ int p = res.indexOf("\r\n\r\n");
+ if (p > 0) {
+ String head = res.substring(0, p);
+ String[] str = head.split("\r\n");
+ Arrays.sort(str);
+ StringBuilder outputHead = new StringBuilder();
+ for (int i = str.length - 1; i >= 0; i--) {
+ outputHead.append(str[i]);
+ outputHead.append("\r\n");
+ }
+ outputHead.append(res.substring(p + 2));
+ res = outputHead.toString();
+ }
+
+ res = res.replaceAll("----=_Part_\\d*_\\d+\\.\\d+", "----=_Part_\\0_XXXXXXXXXXX.XXXXXXXXXXX");
+ return res;
+ }
+
+ protected void debugMessage(MimeMessage mm) throws Exception {
+ System.out.println("-------------------");
+ System.out.println(getCleanedMessageSource(mm));
+ System.out.println("-------------------");
+ }
+
+ protected MimeMessage getMissingEncodingMessage() throws Exception {
+ MimeMessage mmCreated = new MimeMessage(Session.getDefaultInstance(new Properties()));
+ mmCreated.setSubject("test");
+ MimeMultipart mm = new MimeMultipart("alternative");
+ mm.addBodyPart(new MimeBodyPart(new InternetHeaders(new ByteArrayInputStream("X-header: test2\r\nContent-Type: text/plain; charset=Cp1252\r\nContent-Transfer-Encoding: quoted-printable\r\n".
+ getBytes())), "second part =E8=E8".getBytes()));
+ mmCreated.setContent(mm);
+ mmCreated.saveChanges();
+ return mmCreated;
+ }
+
+ protected String getMissingEncodingMessageSource() {
+ return "Subject: test\r\n"
+ + "MIME-Version: 1.0\r\n"
+ + "Content-Type: multipart/alternative; \r\n"
+ + "\tboundary=\"----=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\"\r\n"
+ + "\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX\r\n"
+ + "X-header: test2\r\n"
+ + "Content-Type: text/plain; charset=Cp1252\r\n"
+ + "Content-Transfer-Encoding: quoted-printable\r\n"
+ + "\r\n"
+ + "second part =E8=E8\r\n"
+ + "------=_Part_0_XXXXXXXXXXX.XXXXXXXXXXX--\r\n";
+ }
+
+ @Test
+ public void testGetLineCount() throws Exception {
+ MimeMessage mm = getMissingEncodingMessage();
+ try {
+ int count = mm.getLineCount();
+ assertTrue(count == -1 || count == 7);
+ } catch (Exception e) {
+ fail("Unexpected exception in getLineCount");
+ }
+ LifecycleUtil.dispose(mm);
+ }
+
+ /**
+ * This test throw a NullPointerException when the original message was
+ * created by a MimeMessageInputStreamSource.
+ */
+ @Test
+ public void testMessageCloningViaCoW() throws Exception {
+ MimeMessage mmorig = getSimpleMessage();
+
+ MimeMessage mm = new MimeMessageCopyOnWriteProxy(mmorig);
+
+ MimeMessage mm2 = new MimeMessageCopyOnWriteProxy(mm);
+
+ mm2.setHeader("Subject", "Modified");
+
+ LifecycleUtil.dispose(mm2);
+ System.gc();
+ Thread.sleep(200);
+ // ((Disposable)mail_dup.getMessage()).dispose();
+
+ mm.setHeader("Subject", "Modified");
+
+ LifecycleUtil.dispose(mm);
+ LifecycleUtil.dispose(mmorig);
+ }
+
+ /**
+ * This test throw a NullPointerException when the original message was
+ * created by a MimeMessageInputStreamSource.
+ */
+ @Test
+ public void testMessageCloningViaCoW2() throws Exception {
+ MimeMessage mmorig = getSimpleMessage();
+
+ MimeMessage mm = new MimeMessageCopyOnWriteProxy(mmorig);
+
+ MimeMessage mm2 = new MimeMessageCopyOnWriteProxy(mm);
+
+ LifecycleUtil.dispose(mm);
+ mm = null;
+ System.gc();
+ Thread.sleep(200);
+
+ try {
+ mm2.writeTo(System.out);
+ } catch (Exception e) {
+ e.printStackTrace();
+ fail("Exception while writing the message to output");
+ }
+
+ LifecycleUtil.dispose(mm2);
+ LifecycleUtil.dispose(mmorig);
+ }
+
+ /**
+ * This test throw a NullPointerException when the original message was
+ * created by a MimeMessageInputStreamSource.
+ */
+ @Test
+ public void testMessageCloningViaCoWSubjectLost() throws Exception {
+ MimeMessage mmorig = getSimpleMessage();
+
+ MimeMessage mm = new MimeMessageCopyOnWriteProxy(mmorig);
+
+ mm.setHeader("X-Test", "foo");
+ mm.saveChanges();
+
+ assertEquals(getSimpleMessageCleanedSourceHeaderExpected(), getCleanedMessageSource(mm));
+
+ LifecycleUtil.dispose(mm);
+ LifecycleUtil.dispose(mmorig);
+ }
+
+ @Test
+ public void testReturnPath() throws Exception {
+ MimeMessage message = getSimpleMessage();
+ assertNull(message.getHeader(RFC2822Headers.RETURN_PATH));
+ LifecycleUtil.dispose(message);
+ }
+
+ @Test
+ public void testHeaderOrder() throws Exception {
+ MimeMessage message = getSimpleMessage();
+ message.setHeader(RFC2822Headers.RETURN_PATH, "<te...@test.de>");
+ @SuppressWarnings("unchecked")
+ Enumeration<String> h = message.getAllHeaderLines();
+
+ assertEquals(h.nextElement(), "Return-Path: <te...@test.de>");
+ LifecycleUtil.dispose(message);
+ }
+
+ /**
+ * http://issues.apache.org/jira/browse/GERONIMO-4261
+ *
+ * This bug was in geronimo-javamail_1.4-1.5 Has been fixed in
+ * geronimo-javamail_1.4-1.6
+ */
+ @Test
+ public void testGeronimoIndexOutOfBounds() throws Exception {
+ String message = " \r\n" + "Subject: test\r\n" + "\r\n" + "Body\r\n";
+
+ byte[] messageBytes = message.getBytes("US-ASCII");
+ new MimeMessage(null, new ByteArrayInputStream(messageBytes));
+ }
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageUtilTest.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageUtilTest.java b/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageUtilTest.java
new file mode 100644
index 0000000..0f023da
--- /dev/null
+++ b/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageUtilTest.java
@@ -0,0 +1,65 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+
+package org.apache.james.server.core;
+
+import javax.mail.MessagingException;
+import javax.mail.Session;
+import javax.mail.internet.MimeMessage;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.Properties;
+import org.junit.Test;
+
+public class MimeMessageUtilTest {
+
+ @Test
+ public void testWriteMimeMessageMultipartWithMessageID() throws MessagingException, IOException {
+ String message = "Received: from localhost.localdomain ([127.0.0.1])\r\n" +
+ " by athlon14 (JAMES SMTP Server 2.3-dev) with SMTP ID 694\r\n" +
+ " for <te...@athlon14.bf.loc>;\r\n" +
+ " Sat, 18 Feb 2006 19:30:53 +0100 (CET)\r\n" +
+ "Subject: ext2int\r\n" +
+ "X-James-Postage: This is a test mail sent by James Postage\r\n" +
+ "Mime-Version: 1.0\r\n" +
+ "Content-Type: multipart/alternative; boundary=\"XyoYyxCQIfmZ5Sxofid6XQVZt5Z09XtTnqBF4Z45XSA=\"\r\n" +
+ "Date: Sat, 18 Feb 2006 19:30:53 +0100 (CET)\r\n" +
+ "From: test_ext2@another.bf.loc\r\n" +
+ "\r\n" +
+ "\r\n" +
+ "--XyoYyxCQIfmZ5Sxofid6XQVZt5Z09XtTnqBF4Z45XSA=\r\n" +
+ "Content-Type: text/plain\r\n" +
+ "\r\n" +
+ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n" +
+ "--XyoYyxCQIfmZ5Sxofid6XQVZt5Z09XtTnqBF4Z45XSA=\r\n" +
+ "Content-Type: application/octet-stream\r\n" +
+ "\r\n" +
+ "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\r\n" +
+ "--XyoYyxCQIfmZ5Sxofid6XQVZt5Z09XtTnqBF4Z45XSA=--\r\n";
+
+ MimeMessage mimeMessage = new MimeMessage(Session.getDefaultInstance(new Properties()), new ByteArrayInputStream(message.getBytes()));
+ mimeMessage.getSize();
+ ByteArrayOutputStream headerOut = new ByteArrayOutputStream();
+ ByteArrayOutputStream bodyOut = new ByteArrayOutputStream();
+ MimeMessageUtil.writeTo(mimeMessage, headerOut, bodyOut);
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageWrapperTest.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageWrapperTest.java b/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageWrapperTest.java
new file mode 100644
index 0000000..ebd92d3
--- /dev/null
+++ b/server/container/core/src/test/java/org/apache/james/server/core/MimeMessageWrapperTest.java
@@ -0,0 +1,289 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.server.core;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
+import java.io.BufferedReader;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.Enumeration;
+import java.util.Properties;
+
+import javax.mail.MessagingException;
+import javax.mail.Session;
+import javax.mail.internet.MimeMessage;
+import javax.mail.util.SharedByteArrayInputStream;
+
+import org.apache.james.lifecycle.api.LifecycleUtil;
+import org.apache.mailet.base.RFC2822Headers;
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.rules.ExpectedException;
+
+/**
+ * Test the subject folding issue.
+ */
+public class MimeMessageWrapperTest extends MimeMessageFromStreamTest {
+
+ private final class TestableMimeMessageWrapper extends MimeMessageWrapper {
+
+ boolean messageLoadable = true;
+ boolean headersLoadable = true;
+
+ private TestableMimeMessageWrapper(MimeMessageSource source) throws MessagingException {
+ super(source);
+ }
+
+ public boolean messageParsed() {
+ return messageParsed;
+ }
+
+ public void setHeadersLoadable(boolean headersLoadable) {
+ this.headersLoadable = headersLoadable;
+ }
+
+ @Override
+ protected synchronized void loadHeaders() throws MessagingException {
+ if (headersLoadable) {
+ super.loadHeaders();
+ } else {
+ throw new IllegalStateException("headersLoadable disabled");
+ }
+ }
+
+ @Override
+ public synchronized void loadMessage() throws MessagingException {
+ if (messageLoadable) {
+ super.loadMessage();
+ } else {
+ throw new IllegalStateException("messageLoadable disabled");
+ }
+ }
+ }
+ TestableMimeMessageWrapper mw = null;
+ final String content = "Subject: foo\r\nContent-Transfer-Encoding2: plain";
+ final String sep = "\r\n\r\n";
+ final String body = "bar\r\n";
+
+ @Rule
+ public ExpectedException expectedException = ExpectedException.none();
+
+ @Override
+ protected MimeMessage getMessageFromSources(String sources) throws Exception {
+ MimeMessageInputStreamSource mmis = new MimeMessageInputStreamSource("test", new SharedByteArrayInputStream(sources.getBytes()));
+ return new TestableMimeMessageWrapper(mmis);
+ }
+
+ @Before
+ public void setUp() throws Exception {
+ mw = (TestableMimeMessageWrapper) getMessageFromSources(content + sep + body);
+ }
+
+ @After
+ public void tearDown() throws Exception {
+ LifecycleUtil.dispose(mw);
+ }
+
+ @Test
+ public void testDeferredMessageLoading() throws MessagingException, IOException {
+ assertEquals("foo", mw.getSubject());
+ assertFalse(mw.messageParsed());
+ assertEquals("bar\r\n", mw.getContent());
+ assertTrue(mw.messageParsed());
+ assertFalse(mw.isModified());
+ }
+
+ /**
+ * this is commented out due optimisation reverts (JAMES-559) public void
+ * testDeferredMessageLoadingWhileWriting() throws MessagingException,
+ * IOException { mw.setMessageLoadable(false);
+ * assertEquals("foo",mw.getSubject()); assertFalse(mw.isModified());
+ * mw.setSubject("newSubject"); assertEquals("newSubject",mw.getSubject());
+ * assertFalse(mw.messageParsed()); assertTrue(mw.isModified());
+ * mw.setMessageLoadable(true);
+ *
+ * }
+ */
+ @Test
+ public void testDeferredHeaderLoading() throws MessagingException, IOException {
+ mw.setHeadersLoadable(false);
+
+ expectedException.expect(IllegalStateException.class);
+
+ mw.getSubject();
+ }
+
+ /**
+ * See JAMES-474 MimeMessageWrapper(MimeMessage) should clone the original
+ * message.
+ */
+ @Test
+ public void testMessageCloned() throws MessagingException, IOException, InterruptedException {
+ MimeMessageWrapper mmw = new MimeMessageWrapper(mw);
+ LifecycleUtil.dispose(mw);
+ mw = null;
+ System.gc();
+ Thread.sleep(200);
+ mmw.writeTo(System.out);
+ }
+
+ @Test
+ public void testGetSubjectFolding() throws Exception {
+ StringBuilder res = new StringBuilder();
+ BufferedReader r = new BufferedReader(new InputStreamReader(mw.getInputStream()));
+ String line;
+ while (r.ready()) {
+ line = r.readLine();
+ res.append(line).append("\r\n");
+ }
+ r.close();
+ assertEquals(body, res.toString());
+ }
+
+ @Test
+ public void testAddHeaderAndSave() throws Exception {
+ mw.addHeader("X-Test", "X-Value");
+
+ assertEquals("X-Value", mw.getHeader("X-Test")[0]);
+
+ mw.saveChanges();
+
+ ByteArrayOutputStream rawMessage = new ByteArrayOutputStream();
+ mw.writeTo(rawMessage);
+
+ assertEquals("X-Value", mw.getHeader("X-Test")[0]);
+
+ String res = rawMessage.toString();
+
+ boolean found = res.indexOf("X-Test: X-Value") > 0;
+ assertEquals(true, found);
+ }
+
+ @Test
+ public void testReplaceReturnPathOnBadMessage() throws Exception {
+ MimeMessage message = getMessageWithBadReturnPath();
+ message.setHeader(RFC2822Headers.RETURN_PATH, "<te...@test.de>");
+ @SuppressWarnings("unchecked")
+ Enumeration<String> e = message.getMatchingHeaderLines(new String[]{"Return-Path"});
+ assertEquals("Return-Path: <te...@test.de>", e.nextElement());
+ assertFalse(e.hasMoreElements());
+ @SuppressWarnings("unchecked")
+ Enumeration<String> h = message.getAllHeaderLines();
+ assertEquals("Return-Path: <te...@test.de>", h.nextElement());
+ assertFalse(h.nextElement().toString().startsWith("Return-Path:"));
+ LifecycleUtil.dispose(message);
+ }
+
+ @Test
+ public void testAddReturnPathOnBadMessage() throws Exception {
+ MimeMessage message = getMessageWithBadReturnPath();
+ message.addHeader(RFC2822Headers.RETURN_PATH, "<te...@test.de>");
+ // test that we have now 2 return-paths
+ @SuppressWarnings("unchecked")
+ Enumeration<String> e = message.getMatchingHeaderLines(new String[]{"Return-Path"});
+ assertEquals("Return-Path: <te...@test.de>", e.nextElement());
+ assertEquals("Return-Path: <my...@example.com>", e.nextElement());
+ // test that return-path is the first line
+ @SuppressWarnings("unchecked")
+ Enumeration<String> h = message.getAllHeaderLines();
+ assertEquals("Return-Path: <te...@test.de>", h.nextElement());
+ LifecycleUtil.dispose(message);
+ }
+
+ /**
+ * Test for JAMES-1154
+ */
+ @Test
+ public void testMessageStreamWithUpatedHeaders() throws MessagingException, IOException {
+ mw.addHeader("X-Test", "X-Value");
+
+ assertEquals("X-Value", mw.getHeader("X-Test")[0]);
+
+ mw.saveChanges();
+
+ BufferedReader reader = new BufferedReader(new InputStreamReader(mw.getMessageInputStream()));
+
+ boolean headerUpdated = reader.lines()
+ .anyMatch(line -> line.equals("X-Test: X-Value"));
+ reader.close();
+ assertTrue(headerUpdated);
+ }
+
+ /**
+ * Test for JAMES-1154
+ */
+ @Test
+ public void testMessageStreamWithUpatedContent() throws MessagingException, IOException {
+ String newContent = "This is the new message content!";
+ mw.setText(newContent);
+ assertEquals(newContent, mw.getContent());
+
+ mw.saveChanges();
+
+ BufferedReader reader = new BufferedReader(new InputStreamReader(mw.getMessageInputStream()));
+
+ boolean contentUpdated = reader.lines()
+ .anyMatch(line -> line.equals(newContent));
+ reader.close();
+ assertTrue(contentUpdated);
+ }
+
+ @Test
+ public void testSize() throws MessagingException {
+ assertEquals(body.length(), mw.getSize());
+ }
+
+ @Test
+ public void testSizeModifiedHeaders() throws MessagingException {
+ mw.addHeader("whatever", "test");
+ assertEquals(body.length(), mw.getSize());
+ }
+
+ @Test
+ public void testSizeModifiedBodyWithoutSave() throws MessagingException {
+ String newBody = "This is the new body of the message";
+ mw.setText(newBody);
+ assertEquals(body.length(), mw.getSize());
+ }
+
+ @Test
+ public void testSizeModifiedBodyWithSave() throws MessagingException {
+ String newBody = "This is the new body of the message";
+ mw.setText(newBody);
+ mw.saveChanges();
+ assertEquals(body.length(), mw.getSize());
+ }
+
+ @Test
+ public void jiraJames1593() throws MessagingException, IOException {
+ Properties noProperties = new Properties();
+ Session session = Session.getDefaultInstance(noProperties);
+ InputStream stream = ClassLoader.getSystemResourceAsStream("JAMES-1593.eml");
+ MimeMessage message = new MimeMessage(session, stream);
+ MimeMessageWrapper wrapper = new MimeMessageWrapper(message);
+ assertEquals("\"base64\"", wrapper.getEncoding());
+ }
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/core/src/test/java/org/apache/james/server/core/filesystem/FileSystemImplTest.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/test/java/org/apache/james/server/core/filesystem/FileSystemImplTest.java b/server/container/core/src/test/java/org/apache/james/server/core/filesystem/FileSystemImplTest.java
new file mode 100644
index 0000000..c32b65a
--- /dev/null
+++ b/server/container/core/src/test/java/org/apache/james/server/core/filesystem/FileSystemImplTest.java
@@ -0,0 +1,32 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.server.core.filesystem;
+
+import org.apache.james.server.core.JamesServerResourceLoader;
+import org.apache.james.filesystem.api.AbstractFileSystemTest;
+import org.apache.james.filesystem.api.FileSystem;
+
+public class FileSystemImplTest extends AbstractFileSystemTest {
+
+ @Override
+ protected FileSystem buildFileSystem(String configurationRootDirectory) {
+ return new FileSystemImpl(new JamesServerResourceLoader(configurationRootDirectory));
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/core/src/test/java/org/apache/james/server/core/filesystem/SimpleUrlTest.java
----------------------------------------------------------------------
diff --git a/server/container/core/src/test/java/org/apache/james/server/core/filesystem/SimpleUrlTest.java b/server/container/core/src/test/java/org/apache/james/server/core/filesystem/SimpleUrlTest.java
new file mode 100644
index 0000000..420f8b3
--- /dev/null
+++ b/server/container/core/src/test/java/org/apache/james/server/core/filesystem/SimpleUrlTest.java
@@ -0,0 +1,114 @@
+/****************************************************************
+ * Licensed to the Apache Software Foundation (ASF) under one *
+ * or more contributor license agreements. See the NOTICE file *
+ * distributed with this work for additional information *
+ * regarding copyright ownership. The ASF licenses this file *
+ * to you under the Apache License, Version 2.0 (the *
+ * "License"); you may not use this file except in compliance *
+ * with the License. You may obtain a copy of the License at *
+ * *
+ * http://www.apache.org/licenses/LICENSE-2.0 *
+ * *
+ * Unless required by applicable law or agreed to in writing, *
+ * software distributed under the License is distributed on an *
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY *
+ * KIND, either express or implied. See the License for the *
+ * specific language governing permissions and limitations *
+ * under the License. *
+ ****************************************************************/
+package org.apache.james.server.core.filesystem;
+
+import static org.assertj.core.api.Assertions.assertThat;
+
+import org.junit.Test;
+
+public class SimpleUrlTest {
+
+ @Test(expected=NullPointerException.class)
+ public void simplifyPathShouldThrowOnNull() {
+ SimpleUrl.simplifyPath(null);
+ }
+
+ @Test
+ public void simplifyPathShouldReturnEmptyOnEmptyArray() {
+ String actual = SimpleUrl.simplifyPath("");
+ assertThat(actual).isEmpty();
+ }
+
+ @Test
+ public void simplifyPathShoudReturnEmptyWhenSimplifyingCurrentDir() {
+ String actual = SimpleUrl.simplifyPath("./bar/.././foo/..");
+ assertThat(actual).isEmpty();
+ }
+
+ @Test
+ public void simplifyPathShoudReturnSimplifiedDirectory() {
+ String actual = SimpleUrl.simplifyPath("../foo/../bar/./baz");
+ assertThat(actual).isEqualTo("../bar/baz");
+ }
+
+ @Test
+ public void simplifiedShouldReturnEmptyWhenEmptyInput() {
+ assertThat(new SimpleUrl("").getSimplified()).isEmpty();
+ }
+
+ @Test(expected=NullPointerException.class)
+ public void simplifiedShouldThrowWhenNullInput() {
+ new SimpleUrl(null);
+ }
+
+ @Test
+ public void simplifiedShouldReturnInputValueWhenProtocolOnlyInput() {
+ assertThat(new SimpleUrl("file:").getSimplified()).isEqualTo("file:");
+ }
+
+ @Test
+ public void simplifiedShouldReturnInputValueWhenRelativePath() {
+ assertThat(new SimpleUrl("abcd/ef/gh").getSimplified()).isEqualTo("abcd/ef/gh");
+ }
+
+ @Test
+ public void simplifiedShouldReturnInputValueWhenAbsolutePath() {
+ assertThat(new SimpleUrl("/abcd/ef/gh").getSimplified()).isEqualTo("/abcd/ef/gh");
+ }
+
+ @Test
+ public void simplifiedShouldReturnInputValueWhenHttpUrl() {
+ assertThat(new SimpleUrl("http://example.com/ef/gh").getSimplified()).isEqualTo("http://example.com/ef/gh");
+ }
+
+ @Test
+ public void simplifiedShouldReturnInputValueWhenPathContainsColumn() {
+ assertThat(new SimpleUrl("ab/cd:ef/gh").getSimplified()).isEqualTo("ab/cd:ef/gh");
+ }
+
+ @Test
+ public void simplifiedShouldCollapseComplexePathWhenContainingParentDirElement() {
+ assertThat(new SimpleUrl("file:///home/user/./foo/../.bar/baz").getSimplified()).isEqualTo("file:///home/user/.bar/baz");
+ }
+
+ @Test
+ public void simplifiedShouldCollapseComplexePathWhenContainingParentDirElementInRelativePath() {
+ assertThat(new SimpleUrl("file://../.././foo/../.bar/baz").getSimplified()).isEqualTo("file://../../.bar/baz");
+ }
+
+ @Test
+ public void simplifiedShouldCollapseComplexePathWhenContainingParentDirElementWithoutDoubleSlashes() {
+ assertThat(new SimpleUrl("file:/home/user/./foo/../.bar/baz").getSimplified()).isEqualTo("file:/home/user/.bar/baz");
+ }
+
+ @Test
+ public void simplifiedShouldCollapseComplexePathWhenContainingParentDirElementInRelativePathWithoutDoubleSlashes() {
+ assertThat(new SimpleUrl("file:../.././foo/../.bar/baz").getSimplified()).isEqualTo("file:../../.bar/baz");
+ }
+
+ @Test
+ public void simplifiedShouldReplaceASingleWindowSeperatorByASlash() {
+ assertThat(new SimpleUrl("\\").getSimplified()).isEqualTo("/");
+ }
+
+ @Test
+ public void simplifiedShouldReplaceAllWindowsSeperatorBySlashes() {
+ assertThat(new SimpleUrl("file:c:\\\\programs\\run.exe").getSimplified()).isEqualTo("file:c://programs/run.exe");
+ }
+}
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/guice/custom-mailets/src/main/java/com/custom/matchers/AnotherMatcher.java
----------------------------------------------------------------------
diff --git a/server/container/guice/custom-mailets/src/main/java/com/custom/matchers/AnotherMatcher.java b/server/container/guice/custom-mailets/src/main/java/com/custom/matchers/AnotherMatcher.java
index 06cd44a..1b9dd6c 100644
--- a/server/container/guice/custom-mailets/src/main/java/com/custom/matchers/AnotherMatcher.java
+++ b/server/container/guice/custom-mailets/src/main/java/com/custom/matchers/AnotherMatcher.java
@@ -24,7 +24,7 @@ import java.util.Collection;
import javax.mail.MessagingException;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.mailet.base.GenericMatcher;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/guice/custom-mailets/src/main/java/org/apache/james/transport/matchers/CustomMatcher.java
----------------------------------------------------------------------
diff --git a/server/container/guice/custom-mailets/src/main/java/org/apache/james/transport/matchers/CustomMatcher.java b/server/container/guice/custom-mailets/src/main/java/org/apache/james/transport/matchers/CustomMatcher.java
index 785592a..eea805f 100644
--- a/server/container/guice/custom-mailets/src/main/java/org/apache/james/transport/matchers/CustomMatcher.java
+++ b/server/container/guice/custom-mailets/src/main/java/org/apache/james/transport/matchers/CustomMatcher.java
@@ -24,7 +24,7 @@ import java.util.Collection;
import javax.mail.MessagingException;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.mailet.base.GenericMatcher;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/guice/guice-common/src/main/java/org/apache/james/modules/CommonServicesModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/CommonServicesModule.java b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/CommonServicesModule.java
index cc308a2..30d123e 100644
--- a/server/container/guice/guice-common/src/main/java/org/apache/james/modules/CommonServicesModule.java
+++ b/server/container/guice/guice-common/src/main/java/org/apache/james/modules/CommonServicesModule.java
@@ -24,8 +24,8 @@ import java.util.Optional;
import javax.inject.Named;
import javax.inject.Singleton;
-import org.apache.james.core.JamesServerResourceLoader;
-import org.apache.james.core.filesystem.FileSystemImpl;
+import org.apache.james.server.core.JamesServerResourceLoader;
+import org.apache.james.server.core.filesystem.FileSystemImpl;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.filesystem.api.JamesDirectoriesProvider;
import org.apache.james.modules.server.AsyncTasksExecutorModule;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/guice/guice-common/src/test/java/org/apache/james/modules/TestFilesystemModule.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/modules/TestFilesystemModule.java b/server/container/guice/guice-common/src/test/java/org/apache/james/modules/TestFilesystemModule.java
index 9f5bba4..29486a1 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/modules/TestFilesystemModule.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/modules/TestFilesystemModule.java
@@ -23,7 +23,7 @@ import java.io.File;
import java.io.IOException;
import java.util.function.Supplier;
-import org.apache.james.core.JamesServerResourceLoader;
+import org.apache.james.server.core.JamesServerResourceLoader;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.filesystem.api.JamesDirectoriesProvider;
import org.junit.rules.TemporaryFolder;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
index 6318fc7..e9b715b 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/FileConfigurationProviderTest.java
@@ -22,8 +22,8 @@ package org.apache.james.utils;
import static org.assertj.core.api.Assertions.assertThat;
import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.james.core.JamesServerResourceLoader;
-import org.apache.james.core.filesystem.FileSystemImpl;
+import org.apache.james.server.core.JamesServerResourceLoader;
+import org.apache.james.server.core.filesystem.FileSystemImpl;
import org.apache.james.filesystem.api.FileSystem;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/guice/guice-common/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java
----------------------------------------------------------------------
diff --git a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java
index 9964eae..8c4e309 100644
--- a/server/container/guice/guice-common/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java
+++ b/server/container/guice/guice-common/src/test/java/org/apache/james/utils/InMemoryMailRepositoryStoreTest.java
@@ -24,8 +24,8 @@ import static org.assertj.core.api.Assertions.fail;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.james.core.JamesServerResourceLoader;
-import org.apache.james.core.filesystem.FileSystemImpl;
+import org.apache.james.server.core.JamesServerResourceLoader;
+import org.apache.james.server.core.filesystem.FileSystemImpl;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.mailrepository.api.MailRepositoryStore;
import org.apache.james.mailrepository.file.FileMailRepository;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueFactory.java
----------------------------------------------------------------------
diff --git a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueFactory.java b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueFactory.java
index eebc896..d3f5941 100644
--- a/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueFactory.java
+++ b/server/container/guice/memory-guice/src/main/java/org/apache/james/modules/server/MemoryMailQueueFactory.java
@@ -27,7 +27,7 @@ import java.util.concurrent.TimeUnit;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
-import org.apache.james.core.MailImpl;
+import org.apache.james.server.core.MailImpl;
import org.apache.james.queue.api.MailQueue;
import org.apache.james.queue.api.MailQueueFactory;
import org.apache.james.queue.api.MailQueueItemDecoratorFactory;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/spring/src/main/java/org/apache/james/container/spring/context/JamesServerApplicationContext.java
----------------------------------------------------------------------
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/context/JamesServerApplicationContext.java b/server/container/spring/src/main/java/org/apache/james/container/spring/context/JamesServerApplicationContext.java
index 06dba52..c8bdc91 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/context/JamesServerApplicationContext.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/context/JamesServerApplicationContext.java
@@ -20,7 +20,7 @@ package org.apache.james.container.spring.context;
import org.apache.james.container.spring.resource.DefaultJamesResourceLoader;
import org.apache.james.container.spring.resource.JamesResourceLoader;
-import org.apache.james.core.JamesServerResourceLoader;
+import org.apache.james.server.core.JamesServerResourceLoader;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.core.io.Resource;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/spring/src/main/java/org/apache/james/container/spring/tool/James23Importer.java
----------------------------------------------------------------------
diff --git a/server/container/spring/src/main/java/org/apache/james/container/spring/tool/James23Importer.java b/server/container/spring/src/main/java/org/apache/james/container/spring/tool/James23Importer.java
index e9fb853..f17e39d 100644
--- a/server/container/spring/src/main/java/org/apache/james/container/spring/tool/James23Importer.java
+++ b/server/container/spring/src/main/java/org/apache/james/container/spring/tool/James23Importer.java
@@ -27,7 +27,7 @@ import javax.inject.Named;
import javax.mail.Flags;
import javax.mail.MessagingException;
-import org.apache.james.core.MimeMessageInputStream;
+import org.apache.james.server.core.MimeMessageInputStream;
import org.apache.james.domainlist.api.DomainList;
import org.apache.james.domainlist.api.DomainListException;
import org.apache.james.mailbox.MailboxManager;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/container/spring/src/test/java/org/apache/james/container/spring/filesystem/FileSystemImplTest.java
----------------------------------------------------------------------
diff --git a/server/container/spring/src/test/java/org/apache/james/container/spring/filesystem/FileSystemImplTest.java b/server/container/spring/src/test/java/org/apache/james/container/spring/filesystem/FileSystemImplTest.java
index 8b5b9e2..e878a02 100644
--- a/server/container/spring/src/test/java/org/apache/james/container/spring/filesystem/FileSystemImplTest.java
+++ b/server/container/spring/src/test/java/org/apache/james/container/spring/filesystem/FileSystemImplTest.java
@@ -21,7 +21,7 @@ package org.apache.james.container.spring.filesystem;
import org.apache.james.container.spring.context.JamesServerApplicationContext;
import org.apache.james.container.spring.resource.DefaultJamesResourceLoader;
import org.apache.james.container.spring.resource.JamesResourceLoader;
-import org.apache.james.core.JamesServerResourceLoader;
+import org.apache.james.server.core.JamesServerResourceLoader;
import org.apache.james.filesystem.api.AbstractFileSystemTest;
import org.apache.james.filesystem.api.FileSystem;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-api/src/main/java/org/apache/james/user/api/UsersRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-api/src/main/java/org/apache/james/user/api/UsersRepository.java b/server/data/data-api/src/main/java/org/apache/james/user/api/UsersRepository.java
index 038fd30..8cb09ac 100644
--- a/server/data/data-api/src/main/java/org/apache/james/user/api/UsersRepository.java
+++ b/server/data/data-api/src/main/java/org/apache/james/user/api/UsersRepository.java
@@ -22,7 +22,7 @@ package org.apache.james.user.api;
import java.util.Iterator;
import org.apache.james.user.api.model.User;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
/**
* Interface for a repository of users. A repository represents a logical
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-api/src/main/java/org/apache/james/user/api/model/JamesUser.java
----------------------------------------------------------------------
diff --git a/server/data/data-api/src/main/java/org/apache/james/user/api/model/JamesUser.java b/server/data/data-api/src/main/java/org/apache/james/user/api/model/JamesUser.java
index 65dda8a..1db501d 100644
--- a/server/data/data-api/src/main/java/org/apache/james/user/api/model/JamesUser.java
+++ b/server/data/data-api/src/main/java/org/apache/james/user/api/model/JamesUser.java
@@ -19,7 +19,7 @@
package org.apache.james.user.api.model;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
/**
* Interface for objects representing users of an email/ messaging system.
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
index b26d2e2..9865783 100644
--- a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/FileMailRepository.java
@@ -35,8 +35,8 @@ import javax.mail.internet.MimeMessage;
import org.apache.commons.configuration.DefaultConfigurationBuilder;
import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.james.core.MimeMessageCopyOnWriteProxy;
-import org.apache.james.core.MimeMessageWrapper;
+import org.apache.james.server.core.MimeMessageCopyOnWriteProxy;
+import org.apache.james.server.core.MimeMessageWrapper;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.mailrepository.lib.AbstractMailRepository;
import org.apache.james.repository.file.FilePersistentObjectRepository;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MBoxMailRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MBoxMailRepository.java b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MBoxMailRepository.java
index f96e883..2ea4417 100755
--- a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MBoxMailRepository.java
+++ b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MBoxMailRepository.java
@@ -72,7 +72,7 @@ import javax.mail.internet.MimeMessage;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.io.FileUtils;
-import org.apache.james.core.MailImpl;
+import org.apache.james.server.core.MailImpl;
import org.apache.james.lifecycle.api.Configurable;
import org.apache.james.mailrepository.api.MailRepository;
import org.apache.mailet.Mail;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MimeMessageStreamRepositorySource.java
----------------------------------------------------------------------
diff --git a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MimeMessageStreamRepositorySource.java b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MimeMessageStreamRepositorySource.java
index 4cc7c71..a06475f 100644
--- a/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MimeMessageStreamRepositorySource.java
+++ b/server/data/data-file/src/main/java/org/apache/james/mailrepository/file/MimeMessageStreamRepositorySource.java
@@ -19,7 +19,7 @@
package org.apache.james.mailrepository.file;
-import org.apache.james.core.MimeMessageSource;
+import org.apache.james.server.core.MimeMessageSource;
import org.apache.james.repository.api.StreamRepository;
import java.io.IOException;
@@ -87,7 +87,7 @@ public class MimeMessageStreamRepositorySource extends MimeMessageSource {
}
/**
- * @see org.apache.james.core.MimeMessageSource#getMessageSize()
+ * @see org.apache.james.server.core.MimeMessageSource#getMessageSize()
*/
public long getMessageSize() throws IOException {
if (size == -1) {
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java b/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
index 475bc45..6c3e796 100644
--- a/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
+++ b/server/data/data-jcr/src/main/java/org/apache/james/mailrepository/jcr/JCRMailRepository.java
@@ -58,11 +58,11 @@ import org.apache.commons.io.IOUtils;
import org.apache.jackrabbit.commons.cnd.CndImporter;
import org.apache.jackrabbit.util.ISO9075;
import org.apache.jackrabbit.util.Text;
-import org.apache.james.core.MailImpl;
+import org.apache.james.server.core.MailImpl;
import org.apache.james.mailrepository.api.MailRepository;
import org.apache.james.mailrepository.lib.AbstractMailRepository;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
index 00c5d2a..d1ad86c 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/JDBCMailRepository.java
@@ -51,16 +51,16 @@ import javax.sql.DataSource;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.DefaultConfigurationBuilder;
import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.james.core.MailImpl;
-import org.apache.james.core.MimeMessageCopyOnWriteProxy;
-import org.apache.james.core.MimeMessageWrapper;
+import org.apache.james.server.core.MailImpl;
+import org.apache.james.server.core.MimeMessageCopyOnWriteProxy;
+import org.apache.james.server.core.MimeMessageWrapper;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.mailrepository.lib.AbstractMailRepository;
import org.apache.james.repository.file.FilePersistentStreamRepository;
import org.apache.james.util.sql.JDBCUtil;
import org.apache.james.util.sql.SqlResources;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MessageInputStream.java
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MessageInputStream.java b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MessageInputStream.java
index 1474431..4985da6 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MessageInputStream.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MessageInputStream.java
@@ -30,9 +30,9 @@ import java.io.PipedOutputStream;
import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
-import org.apache.james.core.MimeMessageCopyOnWriteProxy;
-import org.apache.james.core.MimeMessageUtil;
-import org.apache.james.core.MimeMessageWrapper;
+import org.apache.james.server.core.MimeMessageCopyOnWriteProxy;
+import org.apache.james.server.core.MimeMessageUtil;
+import org.apache.james.server.core.MimeMessageWrapper;
import org.apache.james.repository.api.StreamRepository;
import org.apache.mailet.Mail;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java
index 53373da..fab0714 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/mailrepository/jdbc/MimeMessageJDBCSource.java
@@ -29,7 +29,7 @@ import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
-import org.apache.james.core.MimeMessageSource;
+import org.apache.james.server.core.MimeMessageSource;
import org.apache.james.repository.api.StreamRepository;
import org.apache.james.util.sql.JDBCUtil;
@@ -117,7 +117,7 @@ public class MimeMessageJDBCSource extends MimeMessageSource {
* is to support a repository with the entire message in the database, which
* is how James 1.2 worked.
*
- * @see org.apache.james.core.MimeMessageSource#getInputStream()
+ * @see org.apache.james.server.core.MimeMessageSource#getInputStream()
*/
public synchronized InputStream getInputStream() throws IOException {
Connection conn = null;
@@ -176,7 +176,7 @@ public class MimeMessageJDBCSource extends MimeMessageSource {
/**
* Runs a custom SQL statement to check the size of the message body
*
- * @see org.apache.james.core.MimeMessageSource#getMessageSize()
+ * @see org.apache.james.server.core.MimeMessageSource#getMessageSize()
*/
public synchronized long getMessageSize() throws IOException {
if (size != -1)
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/JamesUsersJdbcRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/JamesUsersJdbcRepository.java b/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/JamesUsersJdbcRepository.java
index 6f2756d..ed3f182 100644
--- a/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/JamesUsersJdbcRepository.java
+++ b/server/data/data-jdbc/src/main/java/org/apache/james/user/jdbc/JamesUsersJdbcRepository.java
@@ -22,7 +22,7 @@ package org.apache.james.user.jdbc;
import org.apache.james.user.api.model.User;
import org.apache.james.user.lib.model.DefaultJamesUser;
import org.apache.james.user.lib.model.DefaultUser;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/vacation/RecipientId.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/vacation/RecipientId.java b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/vacation/RecipientId.java
index 9bae604..f8e8f2c 100644
--- a/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/vacation/RecipientId.java
+++ b/server/data/data-jmap/src/main/java/org/apache/james/jmap/api/vacation/RecipientId.java
@@ -21,7 +21,7 @@ package org.apache.james.jmap.api.vacation;
import java.util.Objects;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import com.google.common.base.Preconditions;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/vacation/AbstractNotificationRegistryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/vacation/AbstractNotificationRegistryTest.java b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/vacation/AbstractNotificationRegistryTest.java
index ba687d0..dd31bae 100644
--- a/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/vacation/AbstractNotificationRegistryTest.java
+++ b/server/data/data-jmap/src/test/java/org/apache/james/jmap/api/vacation/AbstractNotificationRegistryTest.java
@@ -29,7 +29,7 @@ import java.util.Optional;
import java.util.concurrent.TimeUnit;
import org.apache.james.util.date.ZonedDateTimeProvider;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-ldap-integration-testing/src/test/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-ldap-integration-testing/src/test/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepositoryTest.java b/server/data/data-ldap-integration-testing/src/test/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepositoryTest.java
index 785d74f..619f2af 100644
--- a/server/data/data-ldap-integration-testing/src/test/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepositoryTest.java
+++ b/server/data/data-ldap-integration-testing/src/test/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepositoryTest.java
@@ -23,7 +23,7 @@ import static org.assertj.core.api.Assertions.assertThat;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.configuration.plist.PropertyListConfiguration;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
index bae64b4..27092ac 100644
--- a/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
+++ b/server/data/data-ldap/src/main/java/org/apache/james/user/ldap/ReadOnlyUsersLDAPRepository.java
@@ -50,7 +50,7 @@ import org.apache.james.util.retry.naming.ldap.RetryingLdapContext;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
import org.apache.commons.lang.StringUtils;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java
index ff40572..7e429f5 100644
--- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java
+++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/AbstractRecipientRewriteTable.java
@@ -34,7 +34,7 @@ import org.apache.james.lifecycle.api.Configurable;
import org.apache.james.rrt.api.RecipientRewriteTable;
import org.apache.james.rrt.api.RecipientRewriteTableException;
import org.apache.james.rrt.lib.Mapping.Type;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java
index c3859e0..966feee 100644
--- a/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java
+++ b/server/data/data-library/src/main/java/org/apache/james/rrt/lib/RecipientRewriteTableUtil.java
@@ -27,7 +27,7 @@ import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
import org.apache.james.rrt.api.RecipientRewriteTable;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
/**
* This helper class contains methods for the RecipientRewriteTable implementations
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
index 28f6128..ebc60ee 100644
--- a/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
+++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/AbstractUsersRepository.java
@@ -30,7 +30,7 @@ import org.apache.james.user.api.UsersRepository;
import org.apache.james.user.api.UsersRepositoryException;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import com.google.common.annotations.VisibleForTesting;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-library/src/main/java/org/apache/james/user/lib/model/DefaultJamesUser.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/main/java/org/apache/james/user/lib/model/DefaultJamesUser.java b/server/data/data-library/src/main/java/org/apache/james/user/lib/model/DefaultJamesUser.java
index 29e449a..6f0960e 100644
--- a/server/data/data-library/src/main/java/org/apache/james/user/lib/model/DefaultJamesUser.java
+++ b/server/data/data-library/src/main/java/org/apache/james/user/lib/model/DefaultJamesUser.java
@@ -20,7 +20,7 @@
package org.apache.james.user.lib.model;
import org.apache.james.user.api.model.JamesUser;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
/**
* Implementation of User Interface.
@@ -87,7 +87,7 @@ public class DefaultJamesUser extends DefaultUser implements JamesUser {
}
/**
- * @see org.apache.james.user.api.model.JamesUser#setForwardingDestination(org.apache.mailet.MailAddress)
+ * @see org.apache.james.user.api.model.JamesUser#setForwardingDestination(MailAddress)
*/
public boolean setForwardingDestination(MailAddress address) {
/* TODO: Some verification would be good */
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-library/src/test/java/org/apache/james/mailrepository/AbstractMailRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/mailrepository/AbstractMailRepositoryTest.java b/server/data/data-library/src/test/java/org/apache/james/mailrepository/AbstractMailRepositoryTest.java
index 56e3979..571d314 100644
--- a/server/data/data-library/src/test/java/org/apache/james/mailrepository/AbstractMailRepositoryTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/mailrepository/AbstractMailRepositoryTest.java
@@ -33,13 +33,13 @@ import javax.mail.MessagingException;
import javax.mail.internet.MimeMessage;
import javax.mail.util.SharedByteArrayInputStream;
-import org.apache.james.core.MailImpl;
-import org.apache.james.core.MimeMessageCopyOnWriteProxy;
-import org.apache.james.core.MimeMessageInputStreamSource;
+import org.apache.james.server.core.MailImpl;
+import org.apache.james.server.core.MimeMessageCopyOnWriteProxy;
+import org.apache.james.server.core.MimeMessageInputStreamSource;
import org.apache.james.lifecycle.api.LifecycleUtil;
import org.apache.james.mailrepository.api.MailRepository;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java
----------------------------------------------------------------------
diff --git a/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java b/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java
index a4d889d..dd52a7f 100644
--- a/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java
+++ b/server/data/data-library/src/test/java/org/apache/james/user/lib/AbstractUsersRepositoryTest.java
@@ -28,7 +28,7 @@ import org.apache.james.lifecycle.api.LifecycleUtil;
import org.apache.james.user.api.AlreadyExistInUsersRepositoryException;
import org.apache.james.user.api.UsersRepositoryException;
import org.apache.james.user.api.model.User;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.junit.Assume;
import org.junit.Test;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
index 7aee891..22eaac4 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/mailets/TemporaryFilesystemModule.java
@@ -30,7 +30,7 @@ import java.util.List;
import java.util.function.Supplier;
import org.apache.commons.io.IOUtils;
-import org.apache.james.core.JamesServerResourceLoader;
+import org.apache.james.server.core.JamesServerResourceLoader;
import org.apache.james.filesystem.api.FileSystem;
import org.apache.james.filesystem.api.JamesDirectoriesProvider;
import org.apache.james.modules.CommonServicesModule;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
index 01a3e02..47f71c4 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/AmqpForwardAttachmentTest.java
@@ -37,7 +37,7 @@ import org.apache.james.util.streams.SwarmGenericContainer;
import org.apache.james.utils.IMAPMessageReader;
import org.apache.james.utils.DataProbeImpl;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.mailet.base.test.FakeMail;
import org.apache.mailet.base.test.MimeMessageBuilder;
import org.junit.After;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
index 15b1fac..6247e2e 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/ICSAttachmentWorkflowTest.java
@@ -39,7 +39,7 @@ import org.apache.james.util.streams.SwarmGenericContainer;
import org.apache.james.utils.IMAPMessageReader;
import org.apache.james.utils.DataProbeImpl;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.mailet.base.test.FakeMail;
import org.apache.mailet.base.test.MimeMessageBuilder;
import org.junit.After;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
----------------------------------------------------------------------
diff --git a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
index b11d216..bb24326 100644
--- a/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
+++ b/server/mailet/integration-testing/src/test/java/org/apache/james/transport/mailets/StripAttachmentTest.java
@@ -35,7 +35,7 @@ import org.apache.james.probe.DataProbe;
import org.apache.james.utils.IMAPMessageReader;
import org.apache.james.utils.DataProbeImpl;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.mailet.base.test.FakeMail;
import org.apache.mailet.base.test.MimeMessageBuilder;
import org.junit.After;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/ExceptionThrowingMatcher.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/ExceptionThrowingMatcher.java b/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/ExceptionThrowingMatcher.java
index cd5e98e..839c981 100644
--- a/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/ExceptionThrowingMatcher.java
+++ b/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/ExceptionThrowingMatcher.java
@@ -21,7 +21,7 @@ package org.apache.james.mailetcontainer.api.mock;
import java.util.Collection;
import javax.mail.MessagingException;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.mailet.Matcher;
import org.apache.mailet.MatcherConfig;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMailetContext.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMailetContext.java b/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMailetContext.java
index 8662256..ac061d7 100644
--- a/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMailetContext.java
+++ b/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMailetContext.java
@@ -32,7 +32,7 @@ import javax.mail.internet.MimeMessage;
import org.apache.mailet.HostAddress;
import org.apache.mailet.LookupException;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.mailet.MailetContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMatcher.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMatcher.java b/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMatcher.java
index 6407eb8..170e83f 100644
--- a/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMatcher.java
+++ b/server/mailet/mailetcontainer-api/src/test/java/org/apache/james/mailetcontainer/api/mock/MockMatcher.java
@@ -26,7 +26,7 @@ import java.util.List;
import javax.mail.MessagingException;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.mailet.Matcher;
import org.apache.mailet.MatcherConfig;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
index c0fa112..197035e 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/JamesMailetContext.java
@@ -40,7 +40,7 @@ import javax.mail.internet.ParseException;
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.james.core.MailImpl;
+import org.apache.james.server.core.MailImpl;
import org.apache.james.dnsservice.api.DNSService;
import org.apache.james.dnsservice.api.TemporaryResolutionException;
import org.apache.james.dnsservice.library.MXHostAddressIterator;
@@ -55,7 +55,7 @@ import org.apache.james.user.api.UsersRepositoryException;
import org.apache.mailet.HostAddress;
import org.apache.mailet.LookupException;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.mailet.MailetContext;
import org.apache.mailet.base.RFC2822Headers;
import org.slf4j.Logger;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/ProcessorUtil.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/ProcessorUtil.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/ProcessorUtil.java
index 1d127c4..25adf18 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/ProcessorUtil.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/ProcessorUtil.java
@@ -26,7 +26,7 @@ import java.util.Collection;
import javax.mail.MessagingException;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.mailet.MailetException;
import org.slf4j.Logger;
http://git-wip-us.apache.org/repos/asf/james-project/blob/936746b9/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java
----------------------------------------------------------------------
diff --git a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java
index ff5b812..df09138 100644
--- a/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java
+++ b/server/mailet/mailetcontainer-camel/src/main/java/org/apache/james/mailetcontainer/impl/camel/MatcherSplitter.java
@@ -32,14 +32,14 @@ import org.apache.camel.Body;
import org.apache.camel.ExchangeProperty;
import org.apache.camel.Handler;
import org.apache.camel.InOnly;
-import org.apache.james.core.MailImpl;
+import org.apache.james.server.core.MailImpl;
import org.apache.james.mailetcontainer.impl.ProcessorUtil;
import org.apache.james.mailetcontainer.lib.AbstractStateMailetProcessor.MailetProcessorListener;
import org.apache.james.metrics.api.MetricFactory;
import org.apache.james.metrics.api.TimeMetric;
import org.apache.james.util.MDCBuilder;
import org.apache.mailet.Mail;
-import org.apache.mailet.MailAddress;
+import org.apache.james.core.MailAddress;
import org.apache.mailet.Matcher;
import org.slf4j.Logger;
---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org