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

Peter Muir peter at bleepbleep.org.uk
Sat Feb 10 11:32:29 EST 2007


  User: pmuir   
  Date: 07/02/10 11:32:29

  Modified:    src/mail/org/jboss/seam/mail/ui  UIMessage.java
  Log:
  JBSEAM-695
  
  Revision  Changes    Path
  1.8       +105 -46   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.7
  retrieving revision 1.8
  diff -u -b -r1.7 -r1.8
  --- UIMessage.java	3 Feb 2007 23:49:03 -0000	1.7
  +++ UIMessage.java	10 Feb 2007 16:32:29 -0000	1.8
  @@ -12,40 +12,52 @@
   import javax.mail.internet.MimeMultipart;
   
   import org.jboss.seam.mail.MailSession;
  -
  +import org.jboss.seam.mail.ui.context.MailFacesContextImpl;
   
   /**
    * JSF component which delimites the start and end of the mail message.  
    */
  -// TODO Support encoding
   public class UIMessage extends MailComponent
   {
      
  -   public static class Importance {
  +   public static class Importance
  +   {
         
         public static final String LOW = "low";
  +
         public static final String NORMAL = "normal";
  +
         public static final String HIGH = "high";
         
      }
      
      private MimeMessage mimeMessage;
  +
      private Session session;
      
      private String importance;
  +
      private String precedence;
  +
      private Boolean requestReadReceipt;
   
  +   private String urlBase;
  +
  +   private String absoluteUrlBase;
  +
      /**
  -    * Get the JavaMail Session to use.
  -    * If not set the default session is used
  +    * Get the JavaMail Session to use. If not set the default session is used
       */
      public Session getMailSession()
      {
  -      if (session == null) {
  -         if (getValue("session") !=  null) {
  +      if (session == null)
  +      {
  +         if (getValue("session") != null)
  +         {
               session = (Session) getValue("session");
  -         } else {
  +         }
  +         else
  +         {
               session = MailSession.instance();
            }
         }
  @@ -57,8 +69,10 @@
         this.session = session;
      }
      
  -   public MimeMessage getMimeMessage() throws MessagingException {
  -      if (mimeMessage == null) {
  +   public MimeMessage getMimeMessage() throws MessagingException
  +   {
  +      if (mimeMessage == null)
  +      {
            mimeMessage = new MimeMessage(getMailSession());
            Multipart root = new MimeMultipart();
            mimeMessage.setContent(root);
  @@ -69,11 +83,18 @@
      @Override
      public void encodeBegin(FacesContext context) throws IOException
      {
  +      if (getAbsoluteUrlBase() != null) {
  +         MailFacesContextImpl.start(getAbsoluteUrlBase());
  +      } else if (getUrlBase() != null) {
  +         MailFacesContextImpl.start(getUrlBase() + context.getExternalContext().getRequestContextPath());
  +      }
         mimeMessage = null;
  -      try {
  +      try
  +      {
            if (Importance.HIGH.equalsIgnoreCase(getImportance())) 
            {
  -        	 // Various mail client's use different headers for indicating importance
  +            // Various mail client's use different headers for indicating
  +            // importance
           	 // This is a common set, more may need to be added.
               getMimeMessage().addHeader("X-Prioity", "1");
               getMimeMessage().addHeader("Priority", "Urgent");
  @@ -85,7 +106,8 @@
               getMimeMessage().addHeader("Priority", "Non-urgent");
               getMimeMessage().addHeader("Importance", "low");
            }
  -         if (getPrecedence() != null) {
  +         if (getPrecedence() != null)
  +         {
               getMimeMessage().addHeader("Precedence", getPrecedence());
            }
         }
  @@ -101,9 +123,11 @@
         super.encodeEnd(arg0);
         try
         {
  -         if (isRequestReadReceipt() && getMimeMessage().getFrom() != null && getMimeMessage().getFrom().length == 1)
  +         if (isRequestReadReceipt() && getMimeMessage().getFrom() != null
  +                  && getMimeMessage().getFrom().length == 1)
            {
  -            getMimeMessage().addHeader("Disposition-Notification-To", getMimeMessage().getFrom()[0].toString());   
  +            getMimeMessage().addHeader("Disposition-Notification-To",
  +                     getMimeMessage().getFrom()[0].toString());
            }
            Transport.send(getMimeMessage());
         }
  @@ -111,6 +135,7 @@
         {
            throw new FacesException(e.getMessage(), e);
         }
  +      MailFacesContextImpl.stop();
      }
      
      @Override
  @@ -170,4 +195,38 @@
         this.requestReadReceipt = requestReadReceipt;
      }
   
  +   public String getAbsoluteUrlBase()
  +   {
  +      if (absoluteUrlBase == null)
  +      {
  +         return getString("absoluteUrlBase");
  +      }
  +      else
  +      {
  +         return absoluteUrlBase;
  +      }
  +   }
  +
  +   public void setAbsoluteUrlBase(String absoluteUrlBase)
  +   {
  +      this.absoluteUrlBase = absoluteUrlBase;
  +   }
  +
  +   public String getUrlBase()
  +   {
  +      if (urlBase == null)
  +      {
  +         return urlBase;
  +      }
  +      else
  +      {
  +         return urlBase;
  +      }
  +   }
  +
  +   public void setUrlBase(String urlBase)
  +   {
  +      this.urlBase = urlBase;
  +   }
  +
   }
  
  
  



More information about the jboss-cvs-commits mailing list