You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by be...@apache.org on 2006/09/27 08:33:30 UTC

svn commit: r450344 - in /james/postage/trunk/src/main/java/org/apache/james/postage/mail: AbstractMailFactory.java DefaultMailFactory.java

Author: berndf
Date: Tue Sep 26 23:33:29 2006
New Revision: 450344

URL: http://svn.apache.org/viewvc?view=rev&rev=450344
Log:
extract abstract MailFactory to facilitate development of custom test mails (POSTAGE-5)

Added:
    james/postage/trunk/src/main/java/org/apache/james/postage/mail/AbstractMailFactory.java
Modified:
    james/postage/trunk/src/main/java/org/apache/james/postage/mail/DefaultMailFactory.java

Added: james/postage/trunk/src/main/java/org/apache/james/postage/mail/AbstractMailFactory.java
URL: http://svn.apache.org/viewvc/james/postage/trunk/src/main/java/org/apache/james/postage/mail/AbstractMailFactory.java?view=auto&rev=450344
==============================================================================
--- james/postage/trunk/src/main/java/org/apache/james/postage/mail/AbstractMailFactory.java (added)
+++ james/postage/trunk/src/main/java/org/apache/james/postage/mail/AbstractMailFactory.java Tue Sep 26 23:33:29 2006
@@ -0,0 +1,92 @@
+package org.apache.james.postage.mail;
+
+import javax.mail.Message;
+import javax.mail.MessagingException;
+import javax.mail.Session;
+import javax.mail.internet.MimeMessage;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.apache.james.postage.configuration.MailSender;
+import org.apache.james.postage.result.MailProcessingRecord;
+
+public abstract class AbstractMailFactory {
+
+	private static Log log = LogFactory.getLog(DefaultMailFactory.class);
+
+	private static final char[] CHARSET = new char[]
+	                                {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
+	                                 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
+	                                 'u', 'v', 'w', 'x', 'y', 'z',
+	                                 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
+	                                 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
+	                                 'U', 'V', 'W', 'X', 'Y', 'Z'};
+
+	public static char getRandomChar() {
+	    return CHARSET[getRandomInt()];
+	}
+
+	private static int getRandomInt() {
+	    return (int)(Math.random() * (double)(CHARSET.length - 1));
+	}
+
+	public static byte getRandomByte() {
+	    return (byte)CHARSET[getRandomInt()];
+	}
+
+	public AbstractMailFactory() {
+		super();
+	}
+
+	/**
+	 * generates a mail containing data common to all test mails: postage headers, 
+	 */
+	public Message createMail(Session mailSession, MailSender mailSender, MailProcessingRecord mailProcessingRecord) {
+	    
+		MimeMessage message = new MimeMessage(mailSession);
+	
+	    try {
+	        message.addHeader(HeaderConstants.JAMES_POSTAGE_HEADER, "This is a test mail sent by James Postage");
+	        message.addHeader(HeaderConstants.JAMES_POSTAGE_VALIDATORCLASSNAME_HEADER, getValidatorClass().getName());
+	        message.setSubject(mailSender.getSubject());
+	        message.addHeader("Message-ID", "Postage-" + System.currentTimeMillis());
+	        mailProcessingRecord.setSubject(mailSender.getSubject());
+	
+	        if (mailProcessingRecord.getMailId() != null) {
+	            message.addHeader(HeaderConstants.MAIL_ID_HEADER, mailProcessingRecord.getMailId());
+	        } else {
+	        	log.warn("ID header is NULL!");
+	        	throw new RuntimeException("could not create mail with ID = NULL");
+	        }
+	
+	        populateMessage(message, mailSender, mailProcessingRecord);
+	
+	    } catch (MessagingException e) {
+	        mailProcessingRecord.setErrorTextSending(e.toString());
+	        log.error("mail could not be created", e);
+	        return null;
+	    }
+	    return message;
+	}
+
+	/**
+	 * here, the test case specific data must be added to the message.
+	 * @param message
+	 * @param mailSender
+	 * @param mailProcessingRecord
+	 * @throws MessagingException
+	 */
+	abstract protected void populateMessage(MimeMessage message, MailSender mailSender, MailProcessingRecord mailProcessingRecord) throws MessagingException;
+
+	/**
+	 * the class representing the validator 
+	 * 
+	 * @return validator class
+	 */
+	abstract protected Class getValidatorClass();
+	
+	protected int generateRandomPartSize(int sizeMin, int sizeMax) {
+	    return (int)(Math.random() * (double)(sizeMax - sizeMin)) + sizeMin;
+	}
+
+}
\ No newline at end of file

Modified: james/postage/trunk/src/main/java/org/apache/james/postage/mail/DefaultMailFactory.java
URL: http://svn.apache.org/viewvc/james/postage/trunk/src/main/java/org/apache/james/postage/mail/DefaultMailFactory.java?view=diff&rev=450344&r1=450343&r2=450344
==============================================================================
--- james/postage/trunk/src/main/java/org/apache/james/postage/mail/DefaultMailFactory.java (original)
+++ james/postage/trunk/src/main/java/org/apache/james/postage/mail/DefaultMailFactory.java Tue Sep 26 23:33:29 2006
@@ -20,110 +20,62 @@
 
 package org.apache.james.postage.mail;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.james.postage.configuration.MailSender;
 import org.apache.james.postage.result.MailProcessingRecord;
 
 import javax.activation.DataHandler;
-import javax.mail.Message;
 import javax.mail.MessagingException;
 import javax.mail.Multipart;
-import javax.mail.Session;
 import javax.mail.internet.MimeBodyPart;
 import javax.mail.internet.MimeMessage;
 import javax.mail.internet.MimeMultipart;
 import javax.mail.util.ByteArrayDataSource;
 
-public class DefaultMailFactory implements MailFactory {
+public class DefaultMailFactory extends AbstractMailFactory implements MailFactory {
 
-    private static Log log = LogFactory.getLog(DefaultMailFactory.class);
+	protected void populateMessage(MimeMessage message, MailSender mailSender, MailProcessingRecord mailProcessingRecord) throws MessagingException {
+        message.addHeader("Mime-Version", "1.0");
+        message.addHeader("Content-Type", "multipart/mixed");
 
-    private final static char[] CHARSET = new char[]
-                                {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
-                                 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
-                                 'u', 'v', 'w', 'x', 'y', 'z',
-                                 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
-                                 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
-                                 'U', 'V', 'W', 'X', 'Y', 'Z'};
-
-
-    public Message createMail(Session mailSession, MailSender mailSender, MailProcessingRecord mailProcessingRecord) {
-        MimeMessage message = new MimeMessage(mailSession);
-
-        try {
-            message.addHeader("Mime-Version", "1.0");
-            message.addHeader(HeaderConstants.JAMES_POSTAGE_HEADER, "This is a test mail sent by James Postage");
-            message.addHeader(HeaderConstants.JAMES_POSTAGE_VALIDATORCLASSNAME_HEADER, "org.apache.james.postage.mail.DefaultMailValidator");
-            message.setSubject(mailSender.getSubject());
-            message.addHeader("Message-ID", "Postage-" + System.currentTimeMillis());
-            mailProcessingRecord.setSubject(mailSender.getSubject());
-            message.addHeader("Content-Type", "multipart/mixed");
-
-            Multipart multipart = new MimeMultipart("mixed");
-
-            if (mailProcessingRecord.getMailId() != null) {
-                message.addHeader(HeaderConstants.MAIL_ID_HEADER, mailProcessingRecord.getMailId());
-            } else {
-            	// TODO resolve situations when ID is null
-            	log.warn("ID header is NULL!");
-            	throw new RuntimeException("could not create mail with ID = NULL");
-            }
-
-            if (mailSender.sendTextPart()) {
-                int sizeMinText = mailSender.getSizeMinText();
-                int sizeMaxText = mailSender.getSizeMaxText();
-                MimeBodyPart part = new MimeBodyPart();
+		Multipart multipart = new MimeMultipart("mixed");
 
-                int mailSize = generateRandomPartSize(sizeMinText, sizeMaxText);
-                mailProcessingRecord.setByteSendText(mailSize);
+		if (mailSender.sendTextPart()) {
+		    int sizeMinText = mailSender.getSizeMinText();
+		    int sizeMaxText = mailSender.getSizeMaxText();
+		    MimeBodyPart part = new MimeBodyPart();
 
-                StringBuffer textBody = new StringBuffer(mailSize);
-                for (int i = 0; i < mailSize; i++) textBody.append(getRandomChar());
+		    int mailSize = generateRandomPartSize(sizeMinText, sizeMaxText);
+		    mailProcessingRecord.setByteSendText(mailSize);
 
-                part.setText(textBody.toString());
+		    StringBuffer textBody = new StringBuffer(mailSize);
+		    for (int i = 0; i < mailSize; i++) textBody.append(getRandomChar());
+
+		    part.setText(textBody.toString());
 
 //                part.setDataHandler(new DataHandler(textBody.toString(), "text/plain"));
-                
-                multipart.addBodyPart(part);
-            }
-
-            if (mailSender.sendBinaryPart()) {
-                int sizeMinBinary = mailSender.getSizeMinBinary();
-                int sizeMaxBinary = mailSender.getSizeMaxBinary();
-                MimeBodyPart part = new MimeBodyPart();
-
-                int mailSize = generateRandomPartSize(sizeMinBinary, sizeMaxBinary);
-                mailProcessingRecord.setByteSendBinary(mailSize);
-
-                byte[] bytes = new byte[mailSize];
-                for (int i = 0; i < mailSize; i++) bytes[i] = getRandomByte();
-
-                part.setDataHandler(new DataHandler(new ByteArrayDataSource(bytes, "application/octet-stream")));
-                multipart.addBodyPart(part);
-            }
-            message.setContent(multipart);
-        } catch (MessagingException e) {
-            mailProcessingRecord.setErrorTextSending(e.toString());
-            log.error("mail could not be created", e);
-            return null;
-        }
-        return message;
-    }
-
-    private int generateRandomPartSize(int sizeMin, int sizeMax) {
-        return (int)(Math.random() * (double)(sizeMax - sizeMin)) + sizeMin;
-    }
-
-    public static char getRandomChar() {
-        return CHARSET[getRandomInt()];
-    }
-
-    private static int getRandomInt() {
-        return (int)(Math.random() * (double)(CHARSET.length - 1));
-    }
-
-    public static byte getRandomByte() {
-        return (byte)CHARSET[getRandomInt()];
-    }
+		    
+		    multipart.addBodyPart(part);
+		}
+
+		if (mailSender.sendBinaryPart()) {
+		    int sizeMinBinary = mailSender.getSizeMinBinary();
+		    int sizeMaxBinary = mailSender.getSizeMaxBinary();
+		    MimeBodyPart part = new MimeBodyPart();
+
+		    int mailSize = generateRandomPartSize(sizeMinBinary, sizeMaxBinary);
+		    mailProcessingRecord.setByteSendBinary(mailSize);
+
+		    byte[] bytes = new byte[mailSize];
+		    for (int i = 0; i < mailSize; i++) bytes[i] = getRandomByte();
+
+		    part.setDataHandler(new DataHandler(new ByteArrayDataSource(bytes, "application/octet-stream")));
+		    multipart.addBodyPart(part);
+		}
+		message.setContent(multipart);
+	}
+	
+	protected Class getValidatorClass() {
+		return DefaultMailValidator.class;
+	}
+
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org


Re: svn commit: r450344 - in /james/postage/trunk/src/main/java/org/apache/james/postage/mail: AbstractMailFactory.java DefaultMailFactory.java

Posted by Bernd Fondermann <be...@googlemail.com>.
ok, there is room for improvement... I am working on fixing format and
adding headers.

  Bernd

On 9/27/06, berndf@apache.org <be...@apache.org> wrote:
> Author: berndf
> Date: Tue Sep 26 23:33:29 2006
> New Revision: 450344
>
> URL: http://svn.apache.org/viewvc?view=rev&rev=450344
> Log:
> extract abstract MailFactory to facilitate development of custom test mails (POSTAGE-5)
>
> Added:
>     james/postage/trunk/src/main/java/org/apache/james/postage/mail/AbstractMailFactory.java
> Modified:
>     james/postage/trunk/src/main/java/org/apache/james/postage/mail/DefaultMailFactory.java
>
> Added: james/postage/trunk/src/main/java/org/apache/james/postage/mail/AbstractMailFactory.java
> URL: http://svn.apache.org/viewvc/james/postage/trunk/src/main/java/org/apache/james/postage/mail/AbstractMailFactory.java?view=auto&rev=450344
> ==============================================================================
> --- james/postage/trunk/src/main/java/org/apache/james/postage/mail/AbstractMailFactory.java (added)
> +++ james/postage/trunk/src/main/java/org/apache/james/postage/mail/AbstractMailFactory.java Tue Sep 26 23:33:29 2006
> @@ -0,0 +1,92 @@
> +package org.apache.james.postage.mail;
>
> +
>
> +import javax.mail.Message;
>
> +import javax.mail.MessagingException;
>
> +import javax.mail.Session;
>
> +import javax.mail.internet.MimeMessage;
>
> +
>
> +import org.apache.commons.logging.Log;
>
> +import org.apache.commons.logging.LogFactory;
>
> +import org.apache.james.postage.configuration.MailSender;
>
> +import org.apache.james.postage.result.MailProcessingRecord;
>
> +
>
> +public abstract class AbstractMailFactory {
>
> +
>
> +       private static Log log = LogFactory.getLog(DefaultMailFactory.class);
>
> +
>
> +       private static final char[] CHARSET = new char[]
>
> +                                       {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
>
> +                                        'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
>
> +                                        'u', 'v', 'w', 'x', 'y', 'z',
>
> +                                        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
>
> +                                        'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
>
> +                                        'U', 'V', 'W', 'X', 'Y', 'Z'};
>
> +
>
> +       public static char getRandomChar() {
>
> +           return CHARSET[getRandomInt()];
>
> +       }
>
> +
>
> +       private static int getRandomInt() {
>
> +           return (int)(Math.random() * (double)(CHARSET.length - 1));
>
> +       }
>
> +
>
> +       public static byte getRandomByte() {
>
> +           return (byte)CHARSET[getRandomInt()];
>
> +       }
>
> +
>
> +       public AbstractMailFactory() {
>
> +               super();
>
> +       }
>
> +
>
> +       /**
>
> +        * generates a mail containing data common to all test mails: postage headers,
>
> +        */
>
> +       public Message createMail(Session mailSession, MailSender mailSender, MailProcessingRecord mailProcessingRecord) {
>
> +
>
> +               MimeMessage message = new MimeMessage(mailSession);
>
> +
>
> +           try {
>
> +               message.addHeader(HeaderConstants.JAMES_POSTAGE_HEADER, "This is a test mail sent by James Postage");
>
> +               message.addHeader(HeaderConstants.JAMES_POSTAGE_VALIDATORCLASSNAME_HEADER, getValidatorClass().getName());
>
> +               message.setSubject(mailSender.getSubject());
>
> +               message.addHeader("Message-ID", "Postage-" + System.currentTimeMillis());
>
> +               mailProcessingRecord.setSubject(mailSender.getSubject());
>
> +
>
> +               if (mailProcessingRecord.getMailId() != null) {
>
> +                   message.addHeader(HeaderConstants.MAIL_ID_HEADER, mailProcessingRecord.getMailId());
>
> +               } else {
>
> +                       log.warn("ID header is NULL!");
>
> +                       throw new RuntimeException("could not create mail with ID = NULL");
>
> +               }
>
> +
>
> +               populateMessage(message, mailSender, mailProcessingRecord);
>
> +
>
> +           } catch (MessagingException e) {
>
> +               mailProcessingRecord.setErrorTextSending(e.toString());
>
> +               log.error("mail could not be created", e);
>
> +               return null;
>
> +           }
>
> +           return message;
>
> +       }
>
> +
>
> +       /**
>
> +        * here, the test case specific data must be added to the message.
>
> +        * @param message
>
> +        * @param mailSender
>
> +        * @param mailProcessingRecord
>
> +        * @throws MessagingException
>
> +        */
>
> +       abstract protected void populateMessage(MimeMessage message, MailSender mailSender, MailProcessingRecord mailProcessingRecord) throws MessagingException;
>
> +
>
> +       /**
>
> +        * the class representing the validator
>
> +        *
>
> +        * @return validator class
>
> +        */
>
> +       abstract protected Class getValidatorClass();
>
> +
>
> +       protected int generateRandomPartSize(int sizeMin, int sizeMax) {
>
> +           return (int)(Math.random() * (double)(sizeMax - sizeMin)) + sizeMin;
>
> +       }
>
> +
>
> +}
> \ No newline at end of file
>
> Modified: james/postage/trunk/src/main/java/org/apache/james/postage/mail/DefaultMailFactory.java
> URL: http://svn.apache.org/viewvc/james/postage/trunk/src/main/java/org/apache/james/postage/mail/DefaultMailFactory.java?view=diff&rev=450344&r1=450343&r2=450344
> ==============================================================================
> --- james/postage/trunk/src/main/java/org/apache/james/postage/mail/DefaultMailFactory.java (original)
> +++ james/postage/trunk/src/main/java/org/apache/james/postage/mail/DefaultMailFactory.java Tue Sep 26 23:33:29 2006
> @@ -20,110 +20,62 @@
>
>  package org.apache.james.postage.mail;
>
> -import org.apache.commons.logging.Log;
> -import org.apache.commons.logging.LogFactory;
>  import org.apache.james.postage.configuration.MailSender;
>  import org.apache.james.postage.result.MailProcessingRecord;
>
>  import javax.activation.DataHandler;
> -import javax.mail.Message;
>  import javax.mail.MessagingException;
>  import javax.mail.Multipart;
> -import javax.mail.Session;
>  import javax.mail.internet.MimeBodyPart;
>  import javax.mail.internet.MimeMessage;
>  import javax.mail.internet.MimeMultipart;
>  import javax.mail.util.ByteArrayDataSource;
>
> -public class DefaultMailFactory implements MailFactory {
> +public class DefaultMailFactory extends AbstractMailFactory implements MailFactory {
>
> -    private static Log log = LogFactory.getLog(DefaultMailFactory.class);
> +       protected void populateMessage(MimeMessage message, MailSender mailSender, MailProcessingRecord mailProcessingRecord) throws MessagingException {
> +        message.addHeader("Mime-Version", "1.0");
> +        message.addHeader("Content-Type", "multipart/mixed");
>
> -    private final static char[] CHARSET = new char[]
> -                                {'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j',
> -                                 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't',
> -                                 'u', 'v', 'w', 'x', 'y', 'z',
> -                                 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J',
> -                                 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T',
> -                                 'U', 'V', 'W', 'X', 'Y', 'Z'};
> -
> -
> -    public Message createMail(Session mailSession, MailSender mailSender, MailProcessingRecord mailProcessingRecord) {
> -        MimeMessage message = new MimeMessage(mailSession);
> -
> -        try {
> -            message.addHeader("Mime-Version", "1.0");
> -            message.addHeader(HeaderConstants.JAMES_POSTAGE_HEADER, "This is a test mail sent by James Postage");
> -            message.addHeader(HeaderConstants.JAMES_POSTAGE_VALIDATORCLASSNAME_HEADER, "org.apache.james.postage.mail.DefaultMailValidator");
> -            message.setSubject(mailSender.getSubject());
> -            message.addHeader("Message-ID", "Postage-" + System.currentTimeMillis());
> -            mailProcessingRecord.setSubject(mailSender.getSubject());
> -            message.addHeader("Content-Type", "multipart/mixed");
> -
> -            Multipart multipart = new MimeMultipart("mixed");
> -
> -            if (mailProcessingRecord.getMailId() != null) {
> -                message.addHeader(HeaderConstants.MAIL_ID_HEADER, mailProcessingRecord.getMailId());
> -            } else {
> -               // TODO resolve situations when ID is null
> -               log.warn("ID header is NULL!");
> -               throw new RuntimeException("could not create mail with ID = NULL");
> -            }
> -
> -            if (mailSender.sendTextPart()) {
> -                int sizeMinText = mailSender.getSizeMinText();
> -                int sizeMaxText = mailSender.getSizeMaxText();
> -                MimeBodyPart part = new MimeBodyPart();
> +               Multipart multipart = new MimeMultipart("mixed");
>
> -                int mailSize = generateRandomPartSize(sizeMinText, sizeMaxText);
> -                mailProcessingRecord.setByteSendText(mailSize);
> +               if (mailSender.sendTextPart()) {
> +                   int sizeMinText = mailSender.getSizeMinText();
> +                   int sizeMaxText = mailSender.getSizeMaxText();
> +                   MimeBodyPart part = new MimeBodyPart();
>
> -                StringBuffer textBody = new StringBuffer(mailSize);
> -                for (int i = 0; i < mailSize; i++) textBody.append(getRandomChar());
> +                   int mailSize = generateRandomPartSize(sizeMinText, sizeMaxText);
> +                   mailProcessingRecord.setByteSendText(mailSize);
>
> -                part.setText(textBody.toString());
> +                   StringBuffer textBody = new StringBuffer(mailSize);
> +                   for (int i = 0; i < mailSize; i++) textBody.append(getRandomChar());
> +
> +                   part.setText(textBody.toString());
>
>  //                part.setDataHandler(new DataHandler(textBody.toString(), "text/plain"));
> -
> -                multipart.addBodyPart(part);
> -            }
> -
> -            if (mailSender.sendBinaryPart()) {
> -                int sizeMinBinary = mailSender.getSizeMinBinary();
> -                int sizeMaxBinary = mailSender.getSizeMaxBinary();
> -                MimeBodyPart part = new MimeBodyPart();
> -
> -                int mailSize = generateRandomPartSize(sizeMinBinary, sizeMaxBinary);
> -                mailProcessingRecord.setByteSendBinary(mailSize);
> -
> -                byte[] bytes = new byte[mailSize];
> -                for (int i = 0; i < mailSize; i++) bytes[i] = getRandomByte();
> -
> -                part.setDataHandler(new DataHandler(new ByteArrayDataSource(bytes, "application/octet-stream")));
> -                multipart.addBodyPart(part);
> -            }
> -            message.setContent(multipart);
> -        } catch (MessagingException e) {
> -            mailProcessingRecord.setErrorTextSending(e.toString());
> -            log.error("mail could not be created", e);
> -            return null;
> -        }
> -        return message;
> -    }
> -
> -    private int generateRandomPartSize(int sizeMin, int sizeMax) {
> -        return (int)(Math.random() * (double)(sizeMax - sizeMin)) + sizeMin;
> -    }
> -
> -    public static char getRandomChar() {
> -        return CHARSET[getRandomInt()];
> -    }
> -
> -    private static int getRandomInt() {
> -        return (int)(Math.random() * (double)(CHARSET.length - 1));
> -    }
> -
> -    public static byte getRandomByte() {
> -        return (byte)CHARSET[getRandomInt()];
> -    }
> +
> +                   multipart.addBodyPart(part);
> +               }
> +
> +               if (mailSender.sendBinaryPart()) {
> +                   int sizeMinBinary = mailSender.getSizeMinBinary();
> +                   int sizeMaxBinary = mailSender.getSizeMaxBinary();
> +                   MimeBodyPart part = new MimeBodyPart();
> +
> +                   int mailSize = generateRandomPartSize(sizeMinBinary, sizeMaxBinary);
> +                   mailProcessingRecord.setByteSendBinary(mailSize);
> +
> +                   byte[] bytes = new byte[mailSize];
> +                   for (int i = 0; i < mailSize; i++) bytes[i] = getRandomByte();
> +
> +                   part.setDataHandler(new DataHandler(new ByteArrayDataSource(bytes, "application/octet-stream")));
> +                   multipart.addBodyPart(part);
> +               }
> +               message.setContent(multipart);
> +       }
> +
> +       protected Class getValidatorClass() {
> +               return DefaultMailValidator.class;
> +       }
> +
>  }
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
> For additional commands, e-mail: server-dev-help@james.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org