[jboss-cvs] jboss-seam/src/mail/org/jboss/seam/mail/ui ...

Peter Muir peter at bleepbleep.org.uk
Thu Mar 22 14:06:15 EDT 2007


  User: pmuir   
  Date: 07/03/22 14:06:15

  Modified:    src/mail/org/jboss/seam/mail/ui      UIMessage.java
                        AddressComponent.java UIBody.java
                        MailComponent.java UISubject.java
  Log:
  JBSEAM-1006
  
  Revision  Changes    Path
  1.12      +24 -0     jboss-seam/src/mail/org/jboss/seam/mail/ui/UIMessage.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UIMessage.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/mail/org/jboss/seam/mail/ui/UIMessage.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -b -r1.11 -r1.12
  --- UIMessage.java	22 Mar 2007 16:18:30 -0000	1.11
  +++ UIMessage.java	22 Mar 2007 18:06:15 -0000	1.12
  @@ -8,6 +8,7 @@
   import javax.mail.Multipart;
   import javax.mail.Session;
   import javax.mail.Transport;
  +import javax.mail.internet.InternetHeaders;
   import javax.mail.internet.MimeMessage;
   import javax.mail.internet.MimeMultipart;
   
  @@ -44,6 +45,8 @@
   
      private String urlBase;
   
  +   private String charset;
  +
      /**
       * Get the JavaMail Session to use. If not set the default session is used
       */
  @@ -224,4 +227,25 @@
         this.urlBase = urlBase;
      }
   
  +   public String getCharset()
  +   {
  +      if (charset != null)
  +      {
  +         return charset;
  +      }
  +      else if (getString("charset") != null)
  +      {
  +         return getString("charset");
  +      }
  +      else
  +      {
  +         return FacesContext.getCurrentInstance().getResponseWriter().getCharacterEncoding();
  +      }
  +   }
  +   
  +   public void setCharset(String charset)
  +   {
  +      this.charset = charset;
  +   }
  +
   }
  
  
  
  1.3       +10 -2     jboss-seam/src/mail/org/jboss/seam/mail/ui/AddressComponent.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: AddressComponent.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/mail/org/jboss/seam/mail/ui/AddressComponent.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- AddressComponent.java	24 Jan 2007 22:21:51 -0000	1.2
  +++ AddressComponent.java	22 Mar 2007 18:06:15 -0000	1.3
  @@ -26,7 +26,15 @@
      {
          InternetAddress address = new InternetAddress();
         address.setAddress(getAddress() != null ? getAddress() : encode(facesContext));
  +      String charset = findMessage().getCharset();
  +      if (charset == null)
  +      {
         address.setPersonal(getName());
  +      }
  +      else
  +      {
  +         address.setPersonal(getName(), charset);
  +      }
         address.validate();
         return address;
      }
  
  
  
  1.9       +6 -4      jboss-seam/src/mail/org/jboss/seam/mail/ui/UIBody.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UIBody.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/mail/org/jboss/seam/mail/ui/UIBody.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -b -r1.8 -r1.9
  --- UIBody.java	19 Feb 2007 17:04:10 -0000	1.8
  +++ UIBody.java	22 Mar 2007 18:06:15 -0000	1.9
  @@ -86,10 +86,11 @@
      {
         BodyPart bodyPart = new MimeBodyPart();
         bodyPart.setDisposition("inline");
  -      if ( facesContext.getResponseWriter().getCharacterEncoding() != null) 
  +      String charset = findMessage().getCharset();
  +      if ( charset != null) 
         {
            bodyPart.setContent(body, "text/plain; charset="
  -               + facesContext.getResponseWriter().getCharacterEncoding() + "; format=flowed");
  +               + charset + "; format=flowed");
         } 
         else 
         {
  @@ -103,10 +104,11 @@
      {
         BodyPart bodyPart = new MimeBodyPart();
         bodyPart.setDisposition("inline");
  -      if ( facesContext.getResponseWriter().getCharacterEncoding() != null) 
  +      String charset = findMessage().getCharset();
  +      if ( charset != null) 
         {
            bodyPart.setContent(body, "text/html; charset="
  -                  + facesContext.getResponseWriter().getCharacterEncoding());
  +                  + charset);
         } 
         else 
         {
  
  
  
  1.6       +20 -9     jboss-seam/src/mail/org/jboss/seam/mail/ui/MailComponent.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: MailComponent.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/mail/org/jboss/seam/mail/ui/MailComponent.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -r1.5 -r1.6
  --- MailComponent.java	2 Feb 2007 21:20:41 -0000	1.5
  +++ MailComponent.java	22 Mar 2007 18:06:15 -0000	1.6
  @@ -20,6 +20,10 @@
   public abstract class MailComponent extends UIComponentBase
   {
   
  +   // Cache Message
  +   
  +   private UIMessage message;
  +   
      private static final String FAMILY = "org.jboss.seam.mail";
   
      @Override
  @@ -58,15 +62,22 @@
       * @throws MessagingException 
       */
      public MimeMessage findMimeMessage() throws MessagingException {
  -       UIMessage parent = (UIMessage) findParent(this, UIMessage.class);
  -       if (parent != null) 
  -       {
  -           return parent.getMimeMessage();
  +      return findMessage().getMimeMessage();
          }
  -       else 
  +   
  +   /**
  +    * look up the tree for UIMessage
  +    */
  +   public UIMessage findMessage() {
  +      if (message == null)
          {
  -           return null;
  +          message = (UIMessage) findParent(this, UIMessage.class);
  +          if (message == null)
  +          {
  +             throw new UnsupportedOperationException("Must have a m:message tag in the tree");
  +          }
          }
  +      return message;
      }
      
      public MimeMultipart getRootMultipart() throws IOException, MessagingException  {
  
  
  
  1.3       +9 -1      jboss-seam/src/mail/org/jboss/seam/mail/ui/UISubject.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: UISubject.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/mail/org/jboss/seam/mail/ui/UISubject.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- UISubject.java	24 Jan 2007 22:21:51 -0000	1.2
  +++ UISubject.java	22 Mar 2007 18:06:15 -0000	1.3
  @@ -17,8 +17,16 @@
         try
         {
            String subject = encode(facesContext);
  +         String charset = findMessage().getCharset();
  +         if (charset == null)
  +         {
            findMimeMessage().setSubject(subject);
         }
  +         else
  +         {
  +            findMimeMessage().setSubject(subject, charset);
  +         }
  +      }
         catch (MessagingException e)
         {
            throw new FacesException(e.getMessage(), e);
  
  
  



More information about the jboss-cvs-commits mailing list