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, "<mybadret...@example.com>"); + mmCreated.setText("test body"); + mmCreated.saveChanges(); + return mmCreated; + } + + protected String getMessageWithBadReturnPathSource() { + return "Subject: test\r\n" + + "Return-Path: <mybadret...@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, "<t...@test.de>"); + @SuppressWarnings("unchecked") + Enumeration<String> h = message.getAllHeaderLines(); + + assertEquals(h.nextElement(), "Return-Path: <t...@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 <test_i...@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_e...@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, "<t...@test.de>"); + @SuppressWarnings("unchecked") + Enumeration<String> e = message.getMatchingHeaderLines(new String[]{"Return-Path"}); + assertEquals("Return-Path: <t...@test.de>", e.nextElement()); + assertFalse(e.hasMoreElements()); + @SuppressWarnings("unchecked") + Enumeration<String> h = message.getAllHeaderLines(); + assertEquals("Return-Path: <t...@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, "<t...@test.de>"); + // test that we have now 2 return-paths + @SuppressWarnings("unchecked") + Enumeration<String> e = message.getMatchingHeaderLines(new String[]{"Return-Path"}); + assertEquals("Return-Path: <t...@test.de>", e.nextElement()); + assertEquals("Return-Path: <mybadret...@example.com>", e.nextElement()); + // test that return-path is the first line + @SuppressWarnings("unchecked") + Enumeration<String> h = message.getAllHeaderLines(); + assertEquals("Return-Path: <t...@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-unsubscr...@james.apache.org For additional commands, e-mail: server-dev-h...@james.apache.org