mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Email format
This commit is contained in:
parent
28a00cd21c
commit
a458c71789
@ -17,6 +17,8 @@
|
|||||||
*/
|
*/
|
||||||
package org.wso2.carbon.device.mgt.core;
|
package org.wso2.carbon.device.mgt.core;
|
||||||
|
|
||||||
|
import org.apache.commons.logging.Log;
|
||||||
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.device.mgt.common.*;
|
import org.wso2.carbon.device.mgt.common.*;
|
||||||
import org.wso2.carbon.device.mgt.common.license.mgt.License;
|
import org.wso2.carbon.device.mgt.common.license.mgt.License;
|
||||||
import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
|
import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
|
||||||
@ -40,6 +42,8 @@ import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerImpl;
|
|||||||
import org.wso2.carbon.device.mgt.core.service.DeviceManagementService;
|
import org.wso2.carbon.device.mgt.core.service.DeviceManagementService;
|
||||||
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.net.URLEncoder;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -51,6 +55,8 @@ public class DeviceManagementServiceProviderImpl implements DeviceManagementServ
|
|||||||
private OperationManager operationManager;
|
private OperationManager operationManager;
|
||||||
private LicenseManager licenseManager;
|
private LicenseManager licenseManager;
|
||||||
|
|
||||||
|
private static Log log = LogFactory.getLog(DeviceManagementServiceProviderImpl.class);
|
||||||
|
|
||||||
public DeviceManagementServiceProviderImpl(DeviceManagementRepository pluginRepository) {
|
public DeviceManagementServiceProviderImpl(DeviceManagementRepository pluginRepository) {
|
||||||
this.pluginRepository = pluginRepository;
|
this.pluginRepository = pluginRepository;
|
||||||
this.deviceDAO = DeviceManagementDAOFactory.getDeviceDAO();
|
this.deviceDAO = DeviceManagementDAOFactory.getDeviceDAO();
|
||||||
@ -216,16 +222,45 @@ public class DeviceManagementServiceProviderImpl implements DeviceManagementServ
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendEnrollInvitation(String emailAddress) throws DeviceManagementException {
|
public void sendEnrollInvitation(String title, String userName, String emailAddress, String enrolUrl) throws
|
||||||
|
DeviceManagementException {
|
||||||
|
|
||||||
EmailMessageProperties emailMessageProperties = new EmailMessageProperties();
|
EmailMessageProperties emailMessageProperties = new EmailMessageProperties();
|
||||||
EnrolmentNotifications enrolmentNotifications = DeviceConfigurationManager.getInstance()
|
EnrolmentNotifications enrolmentNotifications = DeviceConfigurationManager.getInstance()
|
||||||
.getNotificationMessagesConfig()
|
.getNotificationMessagesConfig().getEnrolmentNotifications();
|
||||||
.getEnrolmentNotifications();
|
|
||||||
|
|
||||||
emailMessageProperties.setMailTo(new String[] { emailAddress });
|
emailMessageProperties.setMailTo(new String[] { emailAddress });
|
||||||
emailMessageProperties.setSubject(enrolmentNotifications.getSubject());
|
emailMessageProperties.setSubject(enrolmentNotifications.getSubject());
|
||||||
emailMessageProperties.setMessageBody(enrolmentNotifications.getMessage());
|
|
||||||
|
String messageHeader = enrolmentNotifications.getHeader();
|
||||||
|
String messageBody = enrolmentNotifications.getBody();
|
||||||
|
String messageFooter = enrolmentNotifications.getFooter();
|
||||||
|
|
||||||
|
StringBuilder messageBuilder = new StringBuilder();
|
||||||
|
|
||||||
|
try {
|
||||||
|
messageHeader = messageHeader.replaceAll("\\{title\\}",
|
||||||
|
URLEncoder.encode(title, "UTF-8"));
|
||||||
|
|
||||||
|
messageHeader = messageHeader.replaceAll("\\{user-name\\}",
|
||||||
|
URLEncoder.encode(userName, "UTF-8"));
|
||||||
|
|
||||||
|
messageBody = messageBody+ System.getProperty("line.separator") + enrolmentNotifications.getUrl()
|
||||||
|
.replaceAll("\\{downloadUrl\\}", URLEncoder.encode(enrolUrl, "UTF-8"));
|
||||||
|
|
||||||
|
messageBuilder.append(messageHeader).append(System.getProperty("line.separator"))
|
||||||
|
.append(System.getProperty("line.separator"));
|
||||||
|
|
||||||
|
messageBuilder.append(messageBody).append(System.getProperty("line.separator"))
|
||||||
|
.append(System.getProperty("line.separator")).append(messageFooter);
|
||||||
|
} catch (IOException ioEx) {
|
||||||
|
String errorMsg = "Error replacing tags in email template" + title;
|
||||||
|
log.error(errorMsg, ioEx);
|
||||||
|
throw new DeviceManagementException(errorMsg, ioEx);
|
||||||
|
}
|
||||||
|
emailMessageProperties.setMessageBody(messageBuilder.toString());
|
||||||
EmailServiceDataHolder.getInstance().getEmailServiceProvider().sendEmail(emailMessageProperties);
|
EmailServiceDataHolder.getInstance().getEmailServiceProvider().sendEmail(emailMessageProperties);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -24,19 +24,39 @@ import javax.xml.bind.annotation.XmlRootElement;
|
|||||||
@XmlRootElement(name = "EnrolmentNotifications")
|
@XmlRootElement(name = "EnrolmentNotifications")
|
||||||
public class EnrolmentNotifications {
|
public class EnrolmentNotifications {
|
||||||
|
|
||||||
private String message;
|
private String header;
|
||||||
|
private String body;
|
||||||
|
private String footer;
|
||||||
private String subject;
|
private String subject;
|
||||||
|
private String url;
|
||||||
|
|
||||||
@XmlElement(name = "message", required = true)
|
@XmlElement(name = "Header", required = true)
|
||||||
public String getMessage() {
|
public String getHeader() {
|
||||||
return message;
|
return header;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setMessage(String message) {
|
public void setHeader(String header) {
|
||||||
this.message = message;
|
this.header = header;
|
||||||
}
|
}
|
||||||
|
|
||||||
@XmlElement(name = "subject", required = true)
|
@XmlElement(name = "Body", required = true)
|
||||||
|
public String getBody() {
|
||||||
|
return body;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setBody(String body) {
|
||||||
|
this.body = body;
|
||||||
|
}
|
||||||
|
|
||||||
|
@XmlElement(name = "Footer", required = true)
|
||||||
|
public String getFooter() {
|
||||||
|
return footer;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFooter(String footer) {
|
||||||
|
this.footer = footer;
|
||||||
|
}
|
||||||
|
@XmlElement(name = "Subject", required = true)
|
||||||
public String getSubject() {
|
public String getSubject() {
|
||||||
return subject;
|
return subject;
|
||||||
}
|
}
|
||||||
@ -44,4 +64,12 @@ public class EnrolmentNotifications {
|
|||||||
public void setSubject(String subject) {
|
public void setSubject(String subject) {
|
||||||
this.subject = subject;
|
this.subject = subject;
|
||||||
}
|
}
|
||||||
|
@XmlElement(name = "Url", required = true)
|
||||||
|
public String getUrl() {
|
||||||
|
return url;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setUrl(String url) {
|
||||||
|
this.url = url;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -38,6 +38,6 @@ public interface DeviceManagementService extends DeviceManager, LicenseManager,
|
|||||||
|
|
||||||
List<Device> getDeviceListOfUser(String username) throws DeviceManagementException;
|
List<Device> getDeviceListOfUser(String username) throws DeviceManagementException;
|
||||||
|
|
||||||
void sendEnrollInvitation(String emailAddress) throws DeviceManagementException;
|
void sendEnrollInvitation(String title, String userName, String emailAddress, String enrolUrl) throws DeviceManagementException;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -26,7 +26,6 @@ import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
|
|||||||
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
import org.wso2.carbon.device.mgt.common.operation.mgt.Operation;
|
||||||
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
|
||||||
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
|
||||||
import org.wso2.carbon.device.mgt.core.internal.EmailServiceDataHolder;
|
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
@ -87,8 +86,10 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void sendEnrollInvitation(String emailAddress) throws DeviceManagementException {
|
public void sendEnrollInvitation(String title, String userName, String emailAddress, String enrolUrl)
|
||||||
DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().sendEnrollInvitation(emailAddress);
|
throws DeviceManagementException {
|
||||||
|
DeviceManagementDataHolder.getInstance().getDeviceManagementProvider()
|
||||||
|
.sendEnrollInvitation(title, userName, emailAddress, enrolUrl);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|||||||
@ -20,7 +20,14 @@
|
|||||||
|
|
||||||
<Notifications>
|
<Notifications>
|
||||||
<EnrolmentNotifications>
|
<EnrolmentNotifications>
|
||||||
<message>Please enroll your device</message>
|
<Header>Dear {title} {user-name},</Header>
|
||||||
<subject>Enroll your device</subject>
|
<Body>Please go to the following url and enrol your device</Body>
|
||||||
|
<Url>{downloadUrl}</Url>
|
||||||
|
<Footer>
|
||||||
|
Best Regards,
|
||||||
|
WSO2 Carbon Team
|
||||||
|
http://www.wso2.com
|
||||||
|
</Footer>
|
||||||
|
<Subject>Enrol your device</Subject>
|
||||||
</EnrolmentNotifications>
|
</EnrolmentNotifications>
|
||||||
</Notifications>
|
</Notifications>
|
||||||
Loading…
Reference in New Issue
Block a user