package org.ovirt.engine.core.notifier.utils.sender.mail; import org.ovirt.engine.core.common.businessentities.event_audit_log_subscriber; /** * Creates a simple message subject and body using helper class {@linkplain MessageHelper} to determine <br> * the structure of the message subject and body */ public class EventMessageContent { private String subject; private String body; private void prepareMessageSubject(String hostName, event_audit_log_subscriber eventData) { subject = MessageHelper.prepareMessageSubject(eventData.getevent_type(), hostName, eventData.getmessage()); } private void prepareMessageBody(event_audit_log_subscriber eventData, boolean isBodyHtml) { MessageBody messageBody = new MessageBody(); messageBody.setUserInfo(eventData.getuser_name()); messageBody.setVmInfo(eventData.getvm_name()); messageBody.setHostInfo(eventData.getvds_name()); messageBody.setTemplateInfo(eventData.getvm_template_name()); messageBody.setDatacenterInfo(eventData.getstorage_pool_name()); messageBody.setStorageDomainInfo(eventData.getstorage_domain_name()); messageBody.setLogTime(eventData.getlog_time() != null ? eventData.getlog_time().toString() : ""); messageBody.setSeverity(String.valueOf(eventData.getseverity())); messageBody.setMessage(eventData.getmessage()); if (isBodyHtml) { this.body = MessageHelper.prepareHTMLMessageBody(messageBody); } else { this.body = MessageHelper.prepareMessageBody(messageBody); } } /** * returns a readable format of message body * @return a readable format of message body */ public String getMessageBody() { return body; } /** * returns a readable format of message subject * @return a readable format of message subject */ public String getMessageSubject() { return subject; } /** * Produces a readable message subject and body based on provided parameters<br> * The format of the subject and body are defined by {@linkplain MessageHelper} * @param hostName * the host name on which the subject will refer to * @param eventData * associated entry which the message will be created by * @param isBodyHtml * defines the format of message body */ public void prepareMessage(String hostName, event_audit_log_subscriber eventData, boolean isBodyHtml) { prepareMessageSubject(hostName, eventData); prepareMessageBody(eventData, isBodyHtml); } }