commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From quint...@apache.org
Subject cvs commit: jakarta-commons-sandbox/email/src/java/org/apache/commons/mail MultiPartEmail.java
Date Mon, 10 Mar 2003 04:19:26 GMT
quintonm    2003/03/09 20:19:26

  Modified:    email/src/java/org/apache/commons/mail MultiPartEmail.java
  Log:
  Changed the names of the instance variables containing MimeMultipart and the first BodyPart.
 The
  old names were exactly opposite of what they actually contained.  The corresponding get
methods
  were also updated.
  
  send() has been overridden to set the content of the first body part to an empty string
if it
  is null.  This prevents an IOException from being thrown when the message is sent without
first
  calling setMsg().  A good example of this would be sending an attachment without a message
in the
  body.
  
  Revision  Changes    Path
  1.4       +49 -20    jakarta-commons-sandbox/email/src/java/org/apache/commons/mail/MultiPartEmail.java
  
  Index: MultiPartEmail.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/email/src/java/org/apache/commons/mail/MultiPartEmail.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MultiPartEmail.java	10 Mar 2003 00:27:33 -0000	1.3
  +++ MultiPartEmail.java	10 Mar 2003 04:19:25 -0000	1.4
  @@ -85,10 +85,10 @@
   public class MultiPartEmail extends Email
   {
       /** Body portion of the email. */
  -    private MimeMultipart emailBody = null;
  +    private MimeMultipart container = null;
   
       /** The message container. */
  -    private MimeBodyPart messageContainer = null;
  +    private MimeBodyPart primaryBodyPart = null;
   
       /** Indicates if the message has been initialized */
       private boolean initialized = false;
  @@ -105,13 +105,12 @@
               throw new IllegalStateException("Already initialized");
           }
   
  -        /* The body of the mail. */
  -        emailBody = new MimeMultipart();
  -        super.setContent(emailBody);
  -
  -        /* The messageContainer message content. */
  -        messageContainer = new MimeBodyPart();
  -        emailBody.addBodyPart(messageContainer);
  +        container = new MimeMultipart();
  +        super.setContent(container);
  +
  +        // Add the first body part to the message.  The fist body part must be
  +        primaryBodyPart = new MimeBodyPart();
  +        container.addBodyPart(primaryBodyPart);
   
           initialized = true;
       }
  @@ -127,16 +126,46 @@
       {
           if (charset != null)
           {
  -            getMessageContainer().setText(msg, charset);
  +            getPrimaryBodyPart().setText(msg, charset);
           }
           else
           {
  -            getMessageContainer().setText(msg);
  +            getPrimaryBodyPart().setText(msg);
           }
           return this;
       }
   
       /**
  +     * Sends the mail message
  +     *
  +     * @throws MessagingException
  +     */
  +    public void send() throws MessagingException
  +    {
  +        // before a multipart message can be sent, we must make sure that
  +        // the content for the main body part was actually set.  If not,
  +        // an IOException will be thrown during super.send().
  +
  +        MimeBodyPart body = this.getPrimaryBodyPart();
  +        Object content = null;
  +        try
  +        {
  +            content = body.getContent();
  +        }
  +        catch (IOException e)
  +        {
  +            // do nothing here.  content will be set to an empty string
  +            // as a result.
  +        }
  +        if(content == null)
  +        {
  +            body.setContent("", TEXT_PLAIN);
  +        }
  +
  +        super.send();
  +    }
  +
  +    /**
        * Attach an EmailAttachement.
        *
        * @param attachment An EmailAttachment.
  @@ -243,7 +272,7 @@
               throws MessagingException
       {
           MimeBodyPart mbp = new MimeBodyPart();
  -        getEmailBody().addBodyPart(mbp);
  +        getContainer().addBodyPart(mbp);
   
           mbp.setDisposition(disposition);
           if (StringUtils.isEmpty(name))
  @@ -258,31 +287,31 @@
       }
   
       /**
  -     * Gets the message container.
  +     * Gets first body part of the message.
        *
  -     * @return The message container.
  +     * @return The primary body part.
        * @throws MessagingException message could not be initialized
        */
  -    protected MimeBodyPart getMessageContainer() throws MessagingException
  +    protected MimeBodyPart getPrimaryBodyPart() throws MessagingException
       {
           if(!initialized) {
               init();
           }
  -        return messageContainer;
  +        return primaryBodyPart;
       }
   
       /**
  -     * Gets the message body.
  +     * Gets the message container.
        *
        * @return The message container.
        * @throws MessagingException message could not be initialized
        */
  -    protected MimeMultipart getEmailBody() throws MessagingException
  +    protected MimeMultipart getContainer() throws MessagingException
       {
           if(!initialized) {
               init();
           }
  -        return emailBody;
  +        return container;
       }
   
   }
  
  
  

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


Mime
View raw message