[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