package pt.estgp.estgweb.utils;
import org.apache.log4j.Logger;
import pt.estgp.estgweb.Globals;
import javax.mail.Message;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* @author Jorge Machado
* @date 20/Mar/2008
* @time 18:32:21
* @see pt.estgp.estgweb.utils
*/
public class EmailPersonalizedCertificated
extends Email
implements 1.5.0/docs/api/java/io/Serializable.html">Serializable
{
private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger =
1.5.0/docs/api/java/util/logging/Logger.html">Logger.
getLogger(EmailPersonalizedCertificated.
class);
/**FIELDS FOR PERSONALIZED EMAILS**/
private 1.5.0/docs/api/java/lang/String.html">String urlPatternWithoutCetificate =
null;
private List
<Long
> userIds =
null;
public EmailPersonalizedCertificated cloneEmailForJob
(){
EmailPersonalizedCertificated email =
new EmailPersonalizedCertificated
(subject, from, emailTemplateName, arguments
);
email =
(EmailPersonalizedCertificated
) super.
cloneEmailForJob(email
);
email.
urlPatternWithoutCetificate =
this.
urlPatternWithoutCetificate;
if(this.
userIds !=
null)
{
email.
userIds =
new ArrayList
<Long
>();
email.
userIds.
addAll(this.
userIds);
}
return email
;
}
public EmailPersonalizedCertificated
()
{
}
public EmailPersonalizedCertificated
(1.5.0/docs/api/java/lang/String.html">String urlPatternWithoutCetificate,
List
<Long
> userIds
)
{
this.
urlPatternWithoutCetificate = urlPatternWithoutCetificate
;
this.
userIds = filterUserIds
(userIds
);
}
public EmailPersonalizedCertificated
(1.5.0/docs/api/java/lang/String.html">String subject,
1.5.0/docs/api/java/lang/String.html">String from,
1.5.0/docs/api/java/lang/String.html">String mailTemplateName, List
<String
> arguments
)
{
super( subject,
new ArrayList
<String
>(), from, mailTemplateName, arguments, Message.
RecipientType.
TO);
}
public EmailPersonalizedCertificated
(1.5.0/docs/api/java/lang/String.html">String subject,
1.5.0/docs/api/java/lang/String.html">String from,
1.5.0/docs/api/java/lang/String.html">String mailTemplateName, List
<String
> arguments,
1.5.0/docs/api/java/lang/String.html">String urlPatternWithoutCetificate,
List
<Long
> userIds
)
{
super( subject,
new ArrayList
<String
>(), from, mailTemplateName, arguments, Message.
RecipientType.
TO);
this.
urlPatternWithoutCetificate = urlPatternWithoutCetificate
;
this.
userIds = filterUserIds
(userIds
);
}
public boolean isSystemAssumingTestEmail
() {
return systemAssumingTestEmail
;
}
public 1.5.0/docs/api/java/lang/String.html">String getFromName
() {
return fromName
;
}
public void setFromName
(1.5.0/docs/api/java/lang/String.html">String fromName
) {
this.
fromName = fromName
;
}
public 1.5.0/docs/api/java/lang/String.html">String getSubject
()
{
return subject
;
}
public List
<String
> getRecipients
()
{
return recipients
;
}
public void setRecipients
(List
<String
> recipients
)
{
systemAssumingTestEmail =
true;//ja nao estao sobre
this.
recipients = filterRecipients
(recipients
);
}
public 1.5.0/docs/api/java/lang/String.html">String getUrlPatternWithoutCetificate
() {
return urlPatternWithoutCetificate
;
}
public void setUrlPatternWithoutCetificate
(1.5.0/docs/api/java/lang/String.html">String urlPatternWithoutCetificate
) {
this.
urlPatternWithoutCetificate = urlPatternWithoutCetificate
;
}
public List
<Long
> getUserIds
() {
return userIds
;
}
public void setUserIds
(List
<Long
> userIds
) {
this.
userIds = filterUserIds
(userIds
);
}
/**
* Garante que os users Idss não são usados em testes
* @return
*/
protected List
<Long
> filterUserIds
(List
<Long
> userIds
)
{
if(Globals.
TEST_ENVIRONEMENT)
{
userIds =
new ArrayList
<Long
>();
userIds.
add(new 1.5.0/docs/api/java/lang/Long.html">Long(1
));//Adding super user
}
return userIds
;
}
}