You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by lh...@apache.org on 2008/03/06 13:58:14 UTC
svn commit: r634253 [3/3] - in /servicemix/smx3/trunk: ./ archetypes/
archetypes/servicemix-archetypes-itests/
archetypes/servicemix-archetypes-itests/src/test/java/org/apache/servicemix/tooling/
archetypes/servicemix-mail-service-unit/ archetypes/serv...
Added: servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-mail/src/test/java/org/apache/servicemix/mail/DefaultMailMarshalerTest.java
URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-mail/src/test/java/org/apache/servicemix/mail/DefaultMailMarshalerTest.java?rev=634253&view=auto
==============================================================================
--- servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-mail/src/test/java/org/apache/servicemix/mail/DefaultMailMarshalerTest.java (added)
+++ servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-mail/src/test/java/org/apache/servicemix/mail/DefaultMailMarshalerTest.java Thu Mar 6 04:58:09 2008
@@ -0,0 +1,937 @@
+/*
+ * 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.servicemix.mail;
+
+import java.io.File;
+import java.util.Iterator;
+
+import javax.activation.DataHandler;
+import javax.activation.FileDataSource;
+import javax.jbi.messaging.InOnly;
+import javax.jbi.messaging.NormalizedMessage;
+import javax.mail.BodyPart;
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.Session;
+import javax.mail.internet.InternetAddress;
+import javax.mail.internet.MimeBodyPart;
+import javax.mail.internet.MimeMessage;
+import javax.mail.internet.MimeMultipart;
+
+import junit.framework.TestCase;
+
+import org.apache.servicemix.jbi.jaxp.SourceTransformer;
+import org.apache.servicemix.jbi.jaxp.StringSource;
+import org.apache.servicemix.jbi.messaging.InOnlyImpl;
+import org.apache.servicemix.mail.marshaler.AbstractMailMarshaler;
+import org.apache.servicemix.mail.marshaler.DefaultMailMarshaler;
+
+/**
+ * this is a collection of test which validate the marshaler conversion results
+ * to make sure the conversion always delivers the expected results
+ *
+ * @author lhein
+ */
+public class DefaultMailMarshalerTest extends TestCase {
+ private static final String SUBJECT = "subject";
+ private static final String FROM = "user@localhost.lan";
+ private static final String TO = "anotheruser@localhost.lan";
+ private static final String CC = "ccuser@localhost.lan";
+ private static final String BCC = "bcc@localhost.lan";
+ private static final String FILE = "smx-logo.png";
+ private static final String TEXT = "This is a plain text test!";
+ private static final String HTML = "<?xml version=\"1.0\"?><test>This is a html text test!</test>";
+ private static final String PATH = "./src/test/resources/";
+
+ private DefaultMailMarshaler marshaler;
+ private SourceTransformer st;
+ private Session session;
+
+ /**
+ * @throws java.lang.Exception
+ */
+ public void setUp() throws Exception {
+ this.marshaler = new DefaultMailMarshaler();
+ this.st = new SourceTransformer();
+ this.session = Session.getDefaultInstance(System.getProperties(), null);
+ }
+
+ /**
+ * @throws java.lang.Exception
+ */
+ public void tearDown() throws Exception {
+ this.marshaler = null;
+ this.st = null;
+ this.session = null;
+ }
+
+ /**
+ * Test method for
+ * {@link net.compart.jbi.mail.marshaler.AbstractMailMarshaler#getDefaultSenderForOutgoingMails()}.
+ */
+ public void testGetDefaultSenderForOutgoingMails() {
+ assertEquals("Marshaler's default sender is not correct!", marshaler
+ .getDefaultSenderForOutgoingMails(), AbstractMailMarshaler.DEFAULT_SENDER);
+ }
+
+ /**
+ * validates the commons fields expected in normalized message
+ *
+ * @param nmsg the normalized message
+ */
+ private void validateCommonsInJBI(NormalizedMessage nmsg) {
+ assertEquals("The SUBJECT is wrong!", SUBJECT, nmsg
+ .getProperty(AbstractMailMarshaler.MSG_TAG_SUBJECT));
+ assertEquals("The FROM is wrong!", FROM, nmsg.getProperty(AbstractMailMarshaler.MSG_TAG_FROM));
+ assertEquals("The TO is wrong!", TO, nmsg.getProperty(AbstractMailMarshaler.MSG_TAG_TO));
+ assertEquals("The CC is wrong!", CC, nmsg.getProperty(AbstractMailMarshaler.MSG_TAG_CC));
+ }
+
+ /**
+ * test the conversion of plain text mails to normalized messages
+ */
+ public void testPlainTextToJBI() throws Exception {
+ // prepare the mail
+ MimeMessage mail = prepareTextMail(false);
+
+ // prepare the jbi objects
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // do conversion
+ marshaler.convertMailToJBI(exchange, nmsg, mail);
+
+ // test the result
+ validateCommonsInJBI(nmsg);
+ assertEquals("The TEXT content is wrong!", TEXT, nmsg.getProperty(AbstractMailMarshaler.MSG_TAG_TEXT));
+ assertNotNull("The message content was null!", nmsg.getContent());
+
+ String result = st.contentToString(nmsg);
+ assertEquals("The content is wrong!", TEXT, result);
+ }
+
+ /**
+ * test the conversion of html mails to normalized messages
+ */
+ public void testHTMLToJBI() throws Exception {
+ // prepare the mail
+ MimeMessage mail = prepareHTMLMail(false);
+
+ // prepare the jbi objects
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // do conversion
+ marshaler.convertMailToJBI(exchange, nmsg, mail);
+
+ // test the result
+ validateCommonsInJBI(nmsg);
+ assertEquals("The HTML content is wrong!", HTML, nmsg.getProperty(AbstractMailMarshaler.MSG_TAG_HTML));
+ assertNotNull("The message content was null!", nmsg.getContent());
+
+ String result = st.contentToString(nmsg);
+ assertEquals("The content is wrong!", HTML, result);
+ }
+
+ /**
+ * test the conversion of plain text + html mails to normalized messages
+ */
+ public void testBothToJBI() throws Exception {
+ // prepare the mail
+ MimeMessage mail = prepareBothMail(false);
+
+ // prepare the jbi objects
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // do conversion
+ marshaler.convertMailToJBI(exchange, nmsg, mail);
+
+ // test the result
+ validateCommonsInJBI(nmsg);
+ assertEquals("The HTML content is wrong!", HTML, nmsg.getProperty(AbstractMailMarshaler.MSG_TAG_HTML));
+ assertEquals("The TEXT content is wrong!", TEXT, nmsg.getProperty(AbstractMailMarshaler.MSG_TAG_TEXT));
+ assertNotNull("The message content was null!", nmsg.getContent());
+
+ String result = st.contentToString(nmsg);
+ assertEquals("The content is wrong!", TEXT, result);
+ }
+
+ /**
+ * test the conversion of plain text mails to normalized messages with
+ * attachments
+ */
+ public void testPlainTextWithAttachmentsToJBI() throws Exception {
+ // prepare the mail
+ MimeMessage mail = prepareTextMail(true);
+
+ // prepare the jbi objects
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // do conversion
+ marshaler.convertMailToJBI(exchange, nmsg, mail);
+
+ // test the result
+ validateCommonsInJBI(nmsg);
+ assertEquals("The TEXT content is wrong!", TEXT, nmsg.getProperty(AbstractMailMarshaler.MSG_TAG_TEXT));
+ assertNotNull("The message content was null!", nmsg.getContent());
+
+ String result = st.contentToString(nmsg);
+ assertEquals("The content is wrong!", TEXT, result);
+
+ if (nmsg.getAttachmentNames().size() != 1) {
+ fail("The attachments are invalid. Expected: 1 Found: " + nmsg.getAttachmentNames().size());
+ }
+
+ Iterator it = nmsg.getAttachmentNames().iterator();
+ if (it.hasNext()) {
+ String key = (String)it.next();
+ DataHandler dh = nmsg.getAttachment(key);
+ assertNotNull("The attachment is missing!", dh);
+ assertEquals("The name of the attachment is invalid!", FILE, key);
+ assertEquals("The name of the attachments handler is invalid!", FILE, dh.getName());
+ }
+ }
+
+ /**
+ * test the conversion of html mails to normalized messages with attachments
+ */
+ public void testHtmlWithAttachmentsToJBI() throws Exception {
+ // prepare the mail
+ MimeMessage mail = prepareHTMLMail(true);
+
+ // prepare the jbi objects
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // do conversion
+ marshaler.convertMailToJBI(exchange, nmsg, mail);
+
+ // test the result
+ validateCommonsInJBI(nmsg);
+ assertEquals("The HTML content is wrong!", HTML, nmsg.getProperty(AbstractMailMarshaler.MSG_TAG_HTML));
+ assertNotNull("The message content was null!", nmsg.getContent());
+
+ String result = st.contentToString(nmsg);
+ assertEquals("The content is wrong!", HTML, result);
+
+ if (nmsg.getAttachmentNames().size() != 1) {
+ fail("The attachments are invalid. Expected: 1 Found: " + nmsg.getAttachmentNames().size());
+ }
+
+ Iterator it = nmsg.getAttachmentNames().iterator();
+ if (it.hasNext()) {
+ String key = (String)it.next();
+ DataHandler dh = nmsg.getAttachment(key);
+ assertNotNull("The attachment is missing!", dh);
+ assertEquals("The name of the attachment is invalid!", FILE, key);
+ assertEquals("The name of the attachments handler is invalid!", FILE, dh.getName());
+ }
+ }
+
+ /**
+ * test the conversion of plain text + html mails to normalized messages
+ * with attachments
+ */
+ public void testBothWithAttachmentsToJBI() throws Exception {
+ // prepare the mail
+ MimeMessage mail = prepareBothMail(true);
+
+ // prepare the jbi objects
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // do conversion
+ marshaler.convertMailToJBI(exchange, nmsg, mail);
+
+ // test the result
+ validateCommonsInJBI(nmsg);
+ assertEquals("The HTML content is wrong!", HTML, nmsg.getProperty(AbstractMailMarshaler.MSG_TAG_HTML));
+ assertEquals("The TEXT content is wrong!", TEXT, nmsg.getProperty(AbstractMailMarshaler.MSG_TAG_TEXT));
+ assertNotNull("The message content was null!", nmsg.getContent());
+
+ String result = st.contentToString(nmsg);
+ assertEquals("The content is wrong!", TEXT, result);
+
+ if (nmsg.getAttachmentNames().size() != 1) {
+ fail("The attachments are invalid. Expected: 1 Found: " + nmsg.getAttachmentNames().size());
+ }
+
+ Iterator it = nmsg.getAttachmentNames().iterator();
+ if (it.hasNext()) {
+ String key = (String)it.next();
+ DataHandler dh = nmsg.getAttachment(key);
+ assertNotNull("The attachment is missing!", dh);
+ assertEquals("The name of the attachment is invalid!", FILE, key);
+ assertEquals("The name of the attachments handler is invalid!", FILE, dh.getName());
+ }
+ }
+
+ /**
+ * test the conversion of normalized messages to plain text mails
+ */
+ public void testJbiToPlainText() throws Exception {
+ MimeMessage mail = new MimeMessage(session);
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // prepare headers
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_FROM, FROM);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TO, TO);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_CC, CC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_BCC, BCC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_SUBJECT, SUBJECT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TEXT, TEXT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_REPLYTO, FROM);
+ // prepare content
+ nmsg.setContent(new StringSource(TEXT));
+
+ // convert
+ marshaler.convertJBIToMail(mail, exchange, nmsg, null);
+
+ // test the result
+ assertEquals("The FROM is invalid!", FROM, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_FROM)[0]
+ .toString());
+ assertEquals("The TO is invalid!", TO, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_TO)[0]
+ .toString());
+ assertEquals("The CC is invalid!", CC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_CC)[0]
+ .toString());
+ assertEquals("The BCC is invalid!", BCC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_BCC)[0]
+ .toString());
+ assertEquals("The SUBJECT is invalid!", SUBJECT, mail
+ .getHeader(AbstractMailMarshaler.MAIL_TAG_SUBJECT)[0].toString());
+ assertEquals("The TEXT is invalid!", TEXT, mail.getContent());
+ assertEquals("The REPLY-TO is invalid!", FROM,
+ mail.getHeader(AbstractMailMarshaler.MAIL_TAG_REPLYTO)[0].toString());
+ }
+
+ /**
+ * test the conversion of normalized messages to html mails
+ */
+ public void testJbiToHTML() throws Exception {
+ MimeMessage mail = new MimeMessage(session);
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // prepare headers
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_FROM, FROM);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TO, TO);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_CC, CC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_BCC, BCC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_SUBJECT, SUBJECT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_HTML, HTML);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_REPLYTO, FROM);
+ // prepare content
+ nmsg.setContent(new StringSource(HTML));
+
+ // convert
+ marshaler.convertJBIToMail(mail, exchange, nmsg, null);
+
+ // test the result
+ assertEquals("The FROM is invalid!", FROM, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_FROM)[0]
+ .toString());
+ assertEquals("The TO is invalid!", TO, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_TO)[0]
+ .toString());
+ assertEquals("The CC is invalid!", CC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_CC)[0]
+ .toString());
+ assertEquals("The BCC is invalid!", BCC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_BCC)[0]
+ .toString());
+ assertEquals("The SUBJECT is invalid!", SUBJECT, mail
+ .getHeader(AbstractMailMarshaler.MAIL_TAG_SUBJECT)[0].toString());
+ assertEquals("The HTML is invalid!", HTML, ((MimeMultipart)mail.getContent()).getBodyPart(0)
+ .getContent());
+ assertEquals("The REPLY-TO is invalid!", FROM,
+ mail.getHeader(AbstractMailMarshaler.MAIL_TAG_REPLYTO)[0].toString());
+ }
+
+ /**
+ * test the conversion of normalized messages to html + plain text mails
+ */
+ public void testJbiToBoth() throws Exception {
+ MimeMessage mail = new MimeMessage(session);
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // prepare headers
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_FROM, FROM);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TO, TO);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_CC, CC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_BCC, BCC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_SUBJECT, SUBJECT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TEXT, TEXT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_HTML, HTML);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_REPLYTO, FROM);
+ // prepare content
+ nmsg.setContent(new StringSource(TEXT));
+
+ // convert
+ marshaler.convertJBIToMail(mail, exchange, nmsg, null);
+
+ // test the result
+ assertEquals("The FROM is invalid!", FROM, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_FROM)[0]
+ .toString());
+ assertEquals("The TO is invalid!", TO, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_TO)[0]
+ .toString());
+ assertEquals("The CC is invalid!", CC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_CC)[0]
+ .toString());
+ assertEquals("The BCC is invalid!", BCC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_BCC)[0]
+ .toString());
+ assertEquals("The SUBJECT is invalid!", SUBJECT, mail
+ .getHeader(AbstractMailMarshaler.MAIL_TAG_SUBJECT)[0].toString());
+ assertEquals("The TEXT is invalid!", TEXT, ((MimeMultipart)mail.getContent()).getBodyPart(0)
+ .getContent());
+ assertEquals("The HTML is invalid!", HTML, ((MimeMultipart)mail.getContent()).getBodyPart(1)
+ .getContent());
+ assertEquals("The REPLY-TO is invalid!", FROM,
+ mail.getHeader(AbstractMailMarshaler.MAIL_TAG_REPLYTO)[0].toString());
+ }
+
+ /**
+ * test the conversion of normalized messages without needed headers to
+ * mails
+ */
+ public void testRawTextToMail() throws Exception {
+ MimeMessage mail = new MimeMessage(session);
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // prepare headers
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_FROM, FROM);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TO, TO);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_CC, CC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_BCC, BCC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_SUBJECT, SUBJECT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_REPLYTO, FROM);
+ // prepare content
+ nmsg.setContent(new StringSource(TEXT));
+
+ // convert
+ marshaler.convertJBIToMail(mail, exchange, nmsg, null);
+
+ // test the result
+ assertEquals("The FROM is invalid!", FROM, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_FROM)[0]
+ .toString());
+ assertEquals("The TO is invalid!", TO, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_TO)[0]
+ .toString());
+ assertEquals("The CC is invalid!", CC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_CC)[0]
+ .toString());
+ assertEquals("The BCC is invalid!", BCC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_BCC)[0]
+ .toString());
+ assertEquals("The SUBJECT is invalid!", SUBJECT, mail
+ .getHeader(AbstractMailMarshaler.MAIL_TAG_SUBJECT)[0].toString());
+ assertEquals("The TEXT is invalid!", TEXT, mail.getContent());
+ assertEquals("The REPLY-TO is invalid!", FROM,
+ mail.getHeader(AbstractMailMarshaler.MAIL_TAG_REPLYTO)[0].toString());
+ }
+
+ /**
+ * test the conversion of normalized messages without needed headers to
+ * mails
+ */
+ public void testRawHTMLToMail() throws Exception {
+ MimeMessage mail = new MimeMessage(session);
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // prepare headers
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_FROM, FROM);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TO, TO);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_CC, CC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_BCC, BCC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_SUBJECT, SUBJECT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_REPLYTO, FROM);
+ // prepare content
+ nmsg.setContent(new StringSource(HTML));
+
+ // convert
+ marshaler.convertJBIToMail(mail, exchange, nmsg, null);
+
+ // test the result
+ assertEquals("The FROM is invalid!", FROM, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_FROM)[0]
+ .toString());
+ assertEquals("The TO is invalid!", TO, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_TO)[0]
+ .toString());
+ assertEquals("The CC is invalid!", CC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_CC)[0]
+ .toString());
+ assertEquals("The BCC is invalid!", BCC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_BCC)[0]
+ .toString());
+ assertEquals("The SUBJECT is invalid!", SUBJECT, mail
+ .getHeader(AbstractMailMarshaler.MAIL_TAG_SUBJECT)[0].toString());
+ assertEquals("The HTML is invalid!", HTML, ((MimeMultipart)mail.getContent()).getBodyPart(0)
+ .getContent());
+ assertEquals("The REPLY-TO is invalid!", FROM,
+ mail.getHeader(AbstractMailMarshaler.MAIL_TAG_REPLYTO)[0].toString());
+ }
+
+ /**
+ * test the conversion of normalized messages to plain text mails
+ */
+ public void testJbiWithAttachmentsToPlainText() throws Exception {
+ MimeMessage mail = new MimeMessage(session);
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // prepare headers
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_FROM, FROM);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TO, TO);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_CC, CC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_BCC, BCC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_SUBJECT, SUBJECT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TEXT, TEXT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_REPLYTO, FROM);
+ // prepare content
+ nmsg.setContent(new StringSource(TEXT));
+ // prepare attachment
+ nmsg.addAttachment(FILE, new DataHandler(new FileDataSource(new File(PATH, FILE))));
+
+ // convert
+ marshaler.convertJBIToMail(mail, exchange, nmsg, null);
+
+ // test the result
+ assertEquals("The FROM is invalid!", FROM, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_FROM)[0]
+ .toString());
+ assertEquals("The TO is invalid!", TO, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_TO)[0]
+ .toString());
+ assertEquals("The CC is invalid!", CC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_CC)[0]
+ .toString());
+ assertEquals("The BCC is invalid!", BCC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_BCC)[0]
+ .toString());
+ assertEquals("The SUBJECT is invalid!", SUBJECT, mail
+ .getHeader(AbstractMailMarshaler.MAIL_TAG_SUBJECT)[0].toString());
+ assertEquals("The TEXT is invalid!", TEXT, ((MimeMultipart)mail.getContent()).getBodyPart(0)
+ .getContent());
+ assertEquals("The REPLY-TO is invalid!", FROM,
+ mail.getHeader(AbstractMailMarshaler.MAIL_TAG_REPLYTO)[0].toString());
+
+ // check attachment
+ assertNotNull("No attachment part found!", ((MimeMultipart)mail.getContent()).getBodyPart(1));
+ BodyPart att = ((MimeMultipart)mail.getContent()).getBodyPart(1);
+ assertEquals("Attachment file name is invalid!", FILE, att.getFileName());
+ assertEquals("DataHandler name is invalid!", FILE, att.getDataHandler().getName());
+ if (att.getDataHandler().getInputStream().available() != new File(PATH, FILE).length()) {
+ fail("Attachment size wrong. Expected: " + new File(PATH, FILE).length() + " Found: "
+ + att.getDataHandler().getInputStream().available());
+ }
+ }
+
+ /**
+ * test the conversion of normalized messages to html mails
+ */
+ public void testJbiWithAttachmentsToHTML() throws Exception {
+ MimeMessage mail = new MimeMessage(session);
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // prepare headers
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_FROM, FROM);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TO, TO);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_CC, CC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_BCC, BCC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_SUBJECT, SUBJECT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_HTML, HTML);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_REPLYTO, FROM);
+ // prepare content
+ nmsg.setContent(new StringSource(HTML));
+ // prepare attachment
+ nmsg.addAttachment(FILE, new DataHandler(new FileDataSource(new File(PATH, FILE))));
+
+ // convert
+ marshaler.convertJBIToMail(mail, exchange, nmsg, null);
+
+ // test the result
+ assertEquals("The FROM is invalid!", FROM, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_FROM)[0]
+ .toString());
+ assertEquals("The TO is invalid!", TO, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_TO)[0]
+ .toString());
+ assertEquals("The CC is invalid!", CC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_CC)[0]
+ .toString());
+ assertEquals("The BCC is invalid!", BCC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_BCC)[0]
+ .toString());
+ assertEquals("The SUBJECT is invalid!", SUBJECT, mail
+ .getHeader(AbstractMailMarshaler.MAIL_TAG_SUBJECT)[0].toString());
+ assertEquals("The HTML is invalid!", HTML, ((MimeMultipart)mail.getContent()).getBodyPart(0)
+ .getContent());
+ assertEquals("The REPLY-TO is invalid!", FROM,
+ mail.getHeader(AbstractMailMarshaler.MAIL_TAG_REPLYTO)[0].toString());
+
+ // check attachment
+ assertNotNull("No attachment part found!", ((MimeMultipart)mail.getContent()).getBodyPart(1));
+ BodyPart att = ((MimeMultipart)mail.getContent()).getBodyPart(1);
+ assertEquals("Attachment file name is invalid!", FILE, att.getFileName());
+ assertEquals("DataHandler name is invalid!", FILE, att.getDataHandler().getName());
+ if (att.getDataHandler().getInputStream().available() != new File(PATH, FILE).length()) {
+ fail("Attachment size wrong. Expected: " + new File(PATH, FILE).length() + " Found: "
+ + att.getDataHandler().getInputStream().available());
+ }
+ }
+
+ /**
+ * test the conversion of normalized messages to html + plain text mails
+ */
+ public void testJbiWithAttachmentsToBoth() throws Exception {
+ MimeMessage mail = new MimeMessage(session);
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // prepare headers
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_FROM, FROM);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TO, TO);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_CC, CC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_BCC, BCC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_SUBJECT, SUBJECT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TEXT, TEXT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_HTML, HTML);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_REPLYTO, FROM);
+ // prepare content
+ nmsg.setContent(new StringSource(TEXT));
+ // prepare attachment
+ nmsg.addAttachment(FILE, new DataHandler(new FileDataSource(new File(PATH, FILE))));
+
+ // convert
+ marshaler.convertJBIToMail(mail, exchange, nmsg, null);
+
+ // test the result
+ assertEquals("The FROM is invalid!", FROM, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_FROM)[0]
+ .toString());
+ assertEquals("The TO is invalid!", TO, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_TO)[0]
+ .toString());
+ assertEquals("The CC is invalid!", CC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_CC)[0]
+ .toString());
+ assertEquals("The BCC is invalid!", BCC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_BCC)[0]
+ .toString());
+ assertEquals("The SUBJECT is invalid!", SUBJECT, mail
+ .getHeader(AbstractMailMarshaler.MAIL_TAG_SUBJECT)[0].toString());
+ assertEquals("The TEXT is invalid!", TEXT, ((MimeMultipart)mail.getContent()).getBodyPart(0)
+ .getContent());
+ assertEquals("The HTML is invalid!", HTML, ((MimeMultipart)mail.getContent()).getBodyPart(1)
+ .getContent());
+ assertEquals("The REPLY-TO is invalid!", FROM,
+ mail.getHeader(AbstractMailMarshaler.MAIL_TAG_REPLYTO)[0].toString());
+
+ // check attachment
+ assertNotNull("No attachment part found!", ((MimeMultipart)mail.getContent()).getBodyPart(2));
+ BodyPart att = ((MimeMultipart)mail.getContent()).getBodyPart(2);
+ assertEquals("Attachment file name is invalid!", FILE, att.getFileName());
+ assertEquals("DataHandler name is invalid!", FILE, att.getDataHandler().getName());
+ if (att.getDataHandler().getInputStream().available() != new File(PATH, FILE).length()) {
+ fail("Attachment size wrong. Expected: " + new File(PATH, FILE).length() + " Found: "
+ + att.getDataHandler().getInputStream().available());
+ }
+ }
+
+ /**
+ * test the conversion of normalized messages without needed headers to
+ * mails
+ */
+ public void testRawTextWithAttachmentsToMail() throws Exception {
+ MimeMessage mail = new MimeMessage(session);
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // prepare headers
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_FROM, FROM);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TO, TO);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_CC, CC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_BCC, BCC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_SUBJECT, SUBJECT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_REPLYTO, FROM);
+ // prepare content
+ nmsg.setContent(new StringSource(TEXT));
+ // prepare attachment
+ nmsg.addAttachment(FILE, new DataHandler(new FileDataSource(new File(PATH, FILE))));
+
+ // convert
+ marshaler.convertJBIToMail(mail, exchange, nmsg, null);
+
+ // test the result
+ assertEquals("The FROM is invalid!", FROM, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_FROM)[0]
+ .toString());
+ assertEquals("The TO is invalid!", TO, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_TO)[0]
+ .toString());
+ assertEquals("The CC is invalid!", CC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_CC)[0]
+ .toString());
+ assertEquals("The BCC is invalid!", BCC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_BCC)[0]
+ .toString());
+ assertEquals("The SUBJECT is invalid!", SUBJECT, mail
+ .getHeader(AbstractMailMarshaler.MAIL_TAG_SUBJECT)[0].toString());
+ assertEquals("The TEXT is invalid!", TEXT, ((MimeMultipart)mail.getContent()).getBodyPart(0)
+ .getContent());
+ assertEquals("The REPLY-TO is invalid!", FROM,
+ mail.getHeader(AbstractMailMarshaler.MAIL_TAG_REPLYTO)[0].toString());
+
+ // check attachment
+ assertNotNull("No attachment part found!", ((MimeMultipart)mail.getContent()).getBodyPart(1));
+ BodyPart att = ((MimeMultipart)mail.getContent()).getBodyPart(1);
+ assertEquals("Attachment file name is invalid!", FILE, att.getFileName());
+ assertEquals("DataHandler name is invalid!", FILE, att.getDataHandler().getName());
+ if (att.getDataHandler().getInputStream().available() != new File(PATH, FILE).length()) {
+ fail("Attachment size wrong. Expected: " + new File(PATH, FILE).length() + " Found: "
+ + att.getDataHandler().getInputStream().available());
+ }
+ }
+
+ /**
+ * test the conversion of normalized messages without needed headers to
+ * mails
+ */
+ public void testRawHTMLWithAttachmentsToMail() throws Exception {
+ MimeMessage mail = new MimeMessage(session);
+ InOnly exchange = new InOnlyImpl();
+ NormalizedMessage nmsg = exchange.createMessage();
+
+ // prepare headers
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_FROM, FROM);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_TO, TO);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_CC, CC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_BCC, BCC);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_SUBJECT, SUBJECT);
+ nmsg.setProperty(AbstractMailMarshaler.MSG_TAG_REPLYTO, FROM);
+ // prepare content
+ nmsg.setContent(new StringSource(HTML));
+ // prepare attachment
+ nmsg.addAttachment(FILE, new DataHandler(new FileDataSource(new File(PATH, FILE))));
+
+ // convert
+ marshaler.convertJBIToMail(mail, exchange, nmsg, null);
+
+ // test the result
+ assertEquals("The FROM is invalid!", FROM, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_FROM)[0]
+ .toString());
+ assertEquals("The TO is invalid!", TO, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_TO)[0]
+ .toString());
+ assertEquals("The CC is invalid!", CC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_CC)[0]
+ .toString());
+ assertEquals("The BCC is invalid!", BCC, mail.getHeader(AbstractMailMarshaler.MAIL_TAG_BCC)[0]
+ .toString());
+ assertEquals("The SUBJECT is invalid!", SUBJECT, mail
+ .getHeader(AbstractMailMarshaler.MAIL_TAG_SUBJECT)[0].toString());
+ assertEquals("The HTML is invalid!", HTML, ((MimeMultipart)mail.getContent()).getBodyPart(0)
+ .getContent());
+ assertEquals("The REPLY-TO is invalid!", FROM,
+ mail.getHeader(AbstractMailMarshaler.MAIL_TAG_REPLYTO)[0].toString());
+
+ // check attachment
+ assertNotNull("No attachment part found!", ((MimeMultipart)mail.getContent()).getBodyPart(1));
+ BodyPart att = ((MimeMultipart)mail.getContent()).getBodyPart(1);
+ assertEquals("Attachment file name is invalid!", FILE, att.getFileName());
+ assertEquals("DataHandler name is invalid!", FILE, att.getDataHandler().getName());
+ if (att.getDataHandler().getInputStream().available() != new File(PATH, FILE).length()) {
+ fail("Attachment size wrong. Expected: " + new File(PATH, FILE).length() + " Found: "
+ + att.getDataHandler().getInputStream().available());
+ }
+ }
+
+ /**
+ * creates a mail with or without attachments in plain text
+ *
+ * @param withAttachments flag if attachments should be used
+ * @return
+ */
+ private MimeMessage prepareTextMail(boolean withAttachments) throws MessagingException {
+ // Create the message
+ MimeMessage message = new MimeMessage(session);
+
+ // Fill its headers
+ message.setSubject(SUBJECT);
+ message.setFrom(new InternetAddress(FROM));
+ message.addRecipient(Message.RecipientType.TO, new InternetAddress(TO));
+ message.addRecipient(Message.RecipientType.CC, new InternetAddress(CC));
+ message.addRecipient(Message.RecipientType.BCC, new InternetAddress(BCC));
+
+ if (withAttachments) {
+ // Create your new message part
+ BodyPart messageBodyPart = new MimeBodyPart();
+
+ // Set the content of the body part
+ messageBodyPart.setContent(TEXT, "text/plain");
+
+ // Create a related multi-part to combine the parts
+ MimeMultipart multipart = new MimeMultipart("related");
+
+ // Add body part to multipart
+ multipart.addBodyPart(messageBodyPart);
+
+ // Create part for the image
+ messageBodyPart = new MimeBodyPart();
+
+ // Fetch the image and associate to part
+ FileDataSource fds = new FileDataSource(new File(PATH, FILE));
+ messageBodyPart.setDataHandler(new DataHandler(fds));
+ messageBodyPart.setFileName(fds.getName());
+
+ // Add part to multi-part
+ multipart.addBodyPart(messageBodyPart);
+
+ // Associate multi-part with message
+ message.setContent(multipart);
+ } else {
+ // no attachments, so set text directly
+ message.setText(TEXT);
+ }
+
+ message.saveChanges();
+
+ return message;
+ }
+
+ /**
+ * creates a mail with or without attachments in html
+ *
+ * @param withAttachments flag if attachments should be used
+ * @return
+ */
+ private MimeMessage prepareHTMLMail(boolean withAttachments) throws MessagingException {
+ // Create the message
+ MimeMessage message = new MimeMessage(session);
+
+ // Fill its headers
+ message.setSubject(SUBJECT);
+ message.setFrom(new InternetAddress(FROM));
+ message.addRecipient(Message.RecipientType.TO, new InternetAddress(TO));
+ message.addRecipient(Message.RecipientType.CC, new InternetAddress(CC));
+ message.addRecipient(Message.RecipientType.BCC, new InternetAddress(BCC));
+
+ if (withAttachments) {
+ // Create a Multipart
+ MimeMultipart multipart = new MimeMultipart();
+
+ // Create your new message part
+ BodyPart messageBodyPart = new MimeBodyPart();
+
+ // Set the content of the body part
+ messageBodyPart.setContent(HTML, "text/html");
+
+ // Add body part to multipart
+ multipart.addBodyPart(messageBodyPart);
+
+ // Create part for the image
+ messageBodyPart = new MimeBodyPart();
+
+ // Fetch the image and associate to part
+ FileDataSource fds = new FileDataSource(new File(PATH, FILE));
+ messageBodyPart.setDataHandler(new DataHandler(fds));
+ messageBodyPart.setFileName(fds.getName());
+
+ // Add part to multi-part
+ multipart.addBodyPart(messageBodyPart);
+
+ // Associate multi-part with message
+ message.setContent(multipart);
+ } else {
+ // Create a Multipart
+ MimeMultipart multipart = new MimeMultipart("alternate");
+
+ // Create your new message part
+ MimeBodyPart messageBodyPart = new MimeBodyPart();
+
+ // Set the content of the body part
+ messageBodyPart.setContent(HTML, "text/html");
+
+ // Add body part to multipart
+ multipart.addBodyPart(messageBodyPart, 0);
+
+ message.setDisposition(null);
+ message.setContent(multipart);
+ }
+
+ message.saveChanges();
+
+ return message;
+ }
+
+ /**
+ * creates a mail with or without attachments in html
+ *
+ * @param withAttachments flag if attachments should be used
+ * @return
+ */
+ private MimeMessage prepareBothMail(boolean withAttachments) throws MessagingException {
+ // Create the message
+ MimeMessage message = new MimeMessage(session);
+
+ // Fill its headers
+ message.setSubject(SUBJECT);
+ message.setFrom(new InternetAddress(FROM));
+ message.addRecipient(Message.RecipientType.TO, new InternetAddress(TO));
+ message.addRecipient(Message.RecipientType.CC, new InternetAddress(CC));
+ message.addRecipient(Message.RecipientType.BCC, new InternetAddress(BCC));
+
+ if (withAttachments) {
+ // Create a Multipart
+ MimeMultipart multipart = new MimeMultipart();
+
+ // Create your new message part
+ BodyPart messageBodyPart = new MimeBodyPart();
+
+ // Set the content of the body part
+ messageBodyPart.setContent(TEXT, "text/plain");
+
+ // Add body part to multipart
+ multipart.addBodyPart(messageBodyPart);
+
+ messageBodyPart = new MimeBodyPart();
+
+ // Set the content of the body part
+ messageBodyPart.setContent(HTML, "text/html");
+
+ // Add body part to multipart
+ multipart.addBodyPart(messageBodyPart);
+
+ // Create part for the image
+ messageBodyPart = new MimeBodyPart();
+
+ // Fetch the image and associate to part
+ FileDataSource fds = new FileDataSource(new File(PATH, FILE));
+ messageBodyPart.setDataHandler(new DataHandler(fds));
+ messageBodyPart.setFileName(fds.getName());
+
+ // Add part to multi-part
+ multipart.addBodyPart(messageBodyPart);
+
+ // Associate multi-part with message
+ message.setContent(multipart);
+ } else {
+ // Create a Multipart
+ MimeMultipart multipart = new MimeMultipart("alternate");
+
+ // Create your new message part
+ BodyPart messageBodyPart = new MimeBodyPart();
+
+ // Set the content of the body part
+ messageBodyPart.setContent(TEXT, "text/plain");
+
+ // Add body part to multipart
+ multipart.addBodyPart(messageBodyPart);
+
+ messageBodyPart = new MimeBodyPart();
+
+ // Set the content of the body part
+ messageBodyPart.setContent(HTML, "text/html");
+
+ // Add body part to multipart
+ multipart.addBodyPart(messageBodyPart);
+
+ message.setDisposition(null);
+ message.setContent(multipart);
+ }
+
+ message.saveChanges();
+
+ return message;
+ }
+}
Added: servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-mail/src/test/resources/smx-logo.png
URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-mail/src/test/resources/smx-logo.png?rev=634253&view=auto
==============================================================================
Binary file - no diff available.
Propchange: servicemix/smx3/trunk/deployables/bindingcomponents/servicemix-mail/src/test/resources/smx-logo.png
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Modified: servicemix/smx3/trunk/distributions/apache-servicemix/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/distributions/apache-servicemix/pom.xml?rev=634253&r1=634252&r2=634253&view=diff
==============================================================================
--- servicemix/smx3/trunk/distributions/apache-servicemix/pom.xml (original)
+++ servicemix/smx3/trunk/distributions/apache-servicemix/pom.xml Thu Mar 6 04:58:09 2008
@@ -78,6 +78,10 @@
</dependency>
<dependency>
<groupId>org.apache.servicemix</groupId>
+ <artifactId>servicemix-mail</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicemix</groupId>
<artifactId>servicemix-osworkflow</artifactId>
</dependency>
<dependency>
@@ -391,6 +395,13 @@
<artifactItem>
<groupId>org.apache.servicemix</groupId>
<artifactId>servicemix-jsr181</artifactId>
+ <version>${servicemix-version}</version>
+ <classifier>installer</classifier>
+ <type>zip</type>
+ </artifactItem>
+ <artifactItem>
+ <groupId>org.apache.servicemix</groupId>
+ <artifactId>servicemix-mail</artifactId>
<version>${servicemix-version}</version>
<classifier>installer</classifier>
<type>zip</type>
Modified: servicemix/smx3/trunk/distributions/apache-servicemix/src/main/release/bin/smx-arch
URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/distributions/apache-servicemix/src/main/release/bin/smx-arch?rev=634253&r1=634252&r2=634253&view=diff
==============================================================================
--- servicemix/smx3/trunk/distributions/apache-servicemix/src/main/release/bin/smx-arch (original)
+++ servicemix/smx3/trunk/distributions/apache-servicemix/src/main/release/bin/smx-arch Thu Mar 6 04:58:09 2008
@@ -76,7 +76,7 @@
echo " http-consumer, http-provider,"
echo " jms-consumer, jms-provider,"
echo " ftp-poller, ftp-sender,"
- echo " jsr181-annotated, jsr181-wsdl-first,"
+ echo " jsr181-annotated, jsr181-wsdl-first, mail,"
echo " saxon-xquery, saxon-xslt, osworkflow,"
echo " eip, lwcontainer, bean, ode, camel"
echo " cxf-se, cxf-bc"
Modified: servicemix/smx3/trunk/distributions/apache-servicemix/src/main/release/bin/smx-arch.bat
URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/distributions/apache-servicemix/src/main/release/bin/smx-arch.bat?rev=634253&r1=634252&r2=634253&view=diff
==============================================================================
--- servicemix/smx3/trunk/distributions/apache-servicemix/src/main/release/bin/smx-arch.bat (original)
+++ servicemix/smx3/trunk/distributions/apache-servicemix/src/main/release/bin/smx-arch.bat Thu Mar 6 04:58:09 2008
@@ -47,7 +47,7 @@
echo http-consumer, http-provider,
echo jms-consumer, jms-provider,
echo ftp-poller, ftp-sender,
-echo jsr181-annotated, jsr181-wsdl-first,
+echo jsr181-annotated, jsr181-wsdl-first, mail,
echo saxon-xquery, saxon-xslt, osworkflow,
echo eip, lwcontainer, bean, ode, camel
echo cxf-se, cxf-bc
Modified: servicemix/smx3/trunk/pom.xml
URL: http://svn.apache.org/viewvc/servicemix/smx3/trunk/pom.xml?rev=634253&r1=634252&r2=634253&view=diff
==============================================================================
--- servicemix/smx3/trunk/pom.xml (original)
+++ servicemix/smx3/trunk/pom.xml Thu Mar 6 04:58:09 2008
@@ -732,6 +732,11 @@
</dependency>
<dependency>
<groupId>org.apache.servicemix</groupId>
+ <artifactId>servicemix-mail</artifactId>
+ <version>3.3-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.servicemix</groupId>
<artifactId>servicemix-osworkflow</artifactId>
<version>3.3-SNAPSHOT</version>
</dependency>