diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml
index 393d5aa2edd..ea493d6fa71 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/pom.xml
@@ -164,7 +164,6 @@
org.apache.axis2.transport
axis2-transport-mail
-
org.apache.ws.commons.axiom
axiom-api
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementServiceProviderImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementServiceProviderImpl.java
index 96ef8378e1b..ef71d3eb95c 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementServiceProviderImpl.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/DeviceManagementServiceProviderImpl.java
@@ -36,6 +36,7 @@ import org.wso2.carbon.device.mgt.core.dao.DeviceTypeDAO;
import org.wso2.carbon.device.mgt.core.dao.util.DeviceManagementDAOUtil;
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
import org.wso2.carbon.device.mgt.core.dto.Status;
+import org.wso2.carbon.device.mgt.core.email.sender.EmailConfig;
import org.wso2.carbon.device.mgt.core.internal.EmailServiceDataHolder;
import org.wso2.carbon.device.mgt.core.license.mgt.LicenseManagerImpl;
import org.wso2.carbon.device.mgt.core.operation.mgt.OperationManagerImpl;
@@ -229,14 +230,13 @@ public class DeviceManagementServiceProviderImpl implements DeviceManagementServ
}
@Override
- public void sendEnrollInvitation(String title, String userName, String emailAddress, String enrolUrl) throws
- DeviceManagementException {
+ public void sendEnrollInvitation(EmailConfig config) throws DeviceManagementException {
EmailMessageProperties emailMessageProperties = new EmailMessageProperties();
EnrolmentNotifications enrolmentNotifications = DeviceConfigurationManager.getInstance()
.getNotificationMessagesConfig().getEnrolmentNotifications();
- emailMessageProperties.setMailTo(new String[] { emailAddress });
+ emailMessageProperties.setMailTo(new String[] { config.getAddress() });
emailMessageProperties.setSubject(enrolmentNotifications.getSubject());
String messageHeader = enrolmentNotifications.getHeader();
@@ -246,28 +246,25 @@ public class DeviceManagementServiceProviderImpl implements DeviceManagementServ
StringBuilder messageBuilder = new StringBuilder();
try {
- messageHeader = messageHeader.replaceAll("\\{title\\}",
- URLEncoder.encode(title, "UTF-8"));
+ messageHeader = messageHeader.replaceAll("\\{title\\}", URLEncoder.encode(config.getSubject(), "UTF-8"));
- messageHeader = messageHeader.replaceAll("\\{user-name\\}",
- URLEncoder.encode(userName, "UTF-8"));
+ messageHeader =
+ messageHeader.replaceAll("\\{user-name\\}", URLEncoder.encode(config.getFirstName(), "UTF-8"));
- messageBody = messageBody+ System.getProperty("line.separator") + enrolmentNotifications.getUrl()
- .replaceAll("\\{downloadUrl\\}", URLEncoder.encode(enrolUrl, "UTF-8"));
+ messageBody = messageBody + System.getProperty("line.separator") + enrolmentNotifications.getUrl()
+ .replaceAll("\\{downloadUrl\\}", URLEncoder.encode(config.getEnrollmentUrl(), "UTF-8"));
- messageBuilder.append(messageHeader).append(System.getProperty("line.separator"))
- .append(System.getProperty("line.separator"));
+ 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);
+ messageBuilder.append(messageBody).append(System.getProperty("line.separator")).append(
+ System.getProperty("line.separator")).append(messageFooter);
+ } catch (IOException e) {
+ throw new DeviceManagementException("Error replacing tags in email template '" +
+ config.getSubject() + "'", e);
}
emailMessageProperties.setMessageBody(messageBuilder.toString());
EmailServiceDataHolder.getInstance().getEmailServiceProvider().sendEmail(emailMessageProperties);
-
}
@Override
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/email/sender/EmailConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/email/sender/EmailConfig.java
new file mode 100644
index 00000000000..3351cad16fc
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/email/sender/EmailConfig.java
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ *
+ * WSO2 Inc. licenses this file to you under the Apache License,
+ * Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.wso2.carbon.device.mgt.core.email.sender;
+
+public class EmailConfig {
+
+ private String subject;
+ private String firstName;
+ private String address;
+ private String enrollmentUrl;
+
+ public EmailConfig(String subject, String firstName, String address, String enrollmentUrl) {
+ this.subject = subject;
+ this.firstName = firstName;
+ this.address = address;
+ this.enrollmentUrl = enrollmentUrl;
+ }
+
+ public String getSubject() {
+ return subject;
+ }
+
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+
+ public String getFirstName() {
+ return firstName;
+ }
+
+ public void setFirstName(String firstName) {
+ this.firstName = firstName;
+ }
+
+ public String getAddress() {
+ return address;
+ }
+
+ public void setAddress(String address) {
+ this.address = address;
+ }
+
+ public String getEnrollmentUrl() {
+ return enrollmentUrl;
+ }
+
+ public void setEnrollmentUrl(String enrollmentUrl) {
+ this.enrollmentUrl = enrollmentUrl;
+ }
+
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/EmailServiceProviderImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/email/sender/EmailServiceProviderImpl.java
similarity index 91%
rename from components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/EmailServiceProviderImpl.java
rename to components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/email/sender/EmailServiceProviderImpl.java
index a52706753cb..cca14d909fa 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/EmailServiceProviderImpl.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/email/sender/EmailServiceProviderImpl.java
@@ -16,7 +16,7 @@
* under the License.
*/
-package org.wso2.carbon.device.mgt.core;
+package org.wso2.carbon.device.mgt.core.email.sender;
import org.apache.axiom.om.OMAbstractFactory;
import org.apache.axiom.om.OMElement;
@@ -73,7 +73,6 @@ public class EmailServiceProviderImpl implements EmailService {
}
class EmailSender implements Runnable {
-
String to;
String subject;
String body;
@@ -110,14 +109,7 @@ public class EmailServiceProviderImpl implements EmailService {
serviceClient.fireAndForget(payload);
log.debug("Sending confirmation mail to " + to);
} catch (AxisFault e) {
- String msg = "Error in delivering the message, " +
- "subject: " + subject + ", to: " + to + ".";
- log.error(msg);
- } catch (Throwable t) {
- String msg = "Error in delivering the message, " +
- "subject: " + subject + ", to: " + to + ".";
- log.error(msg);
- log.error(t);
+ log.error("Error in delivering the message, subject: '" + subject + "', to: '" + to + "'", e);
}
}
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/EmailServiceComponent.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/EmailServiceComponent.java
index 3e100d50e90..dfad072f8c2 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/EmailServiceComponent.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/EmailServiceComponent.java
@@ -22,8 +22,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.osgi.framework.BundleContext;
import org.osgi.service.component.ComponentContext;
-import org.wso2.carbon.device.mgt.core.DeviceManagementRepository;
-import org.wso2.carbon.device.mgt.core.EmailServiceProviderImpl;
+import org.wso2.carbon.device.mgt.core.email.sender.EmailServiceProviderImpl;
import org.wso2.carbon.device.mgt.core.service.EmailService;
import org.wso2.carbon.device.mgt.core.service.EmailServiceImpl;
import org.wso2.carbon.utils.ConfigurationContextService;
@@ -60,8 +59,7 @@ public class EmailServiceComponent {
log.debug("Email management core bundle has been successfully initialized");
}
} catch (Throwable e) {
- String msg = "Error occurred while initializing device management core bundle";
- log.error(msg, e);
+ log.error("Error occurred while initializing device management core bundle", e);
}
}
protected void setConfigurationContextService(ConfigurationContextService configurationContextService) {
@@ -77,7 +75,7 @@ public class EmailServiceComponent {
}
/* Registering Email Service */
BundleContext bundleContext = componentContext.getBundleContext();
- bundleContext.registerService(EmailService.class.getName(),
- new EmailServiceImpl(), null);
+ bundleContext.registerService(EmailService.class.getName(), new EmailServiceImpl(), null);
}
+
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java
index 225525bc616..cdd487b91d6 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementService.java
@@ -24,6 +24,7 @@ import org.wso2.carbon.device.mgt.common.FeatureManager;
import org.wso2.carbon.device.mgt.common.spi.DeviceManager;
import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager;
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager;
+import org.wso2.carbon.device.mgt.core.email.sender.EmailConfig;
import java.util.List;
@@ -39,8 +40,7 @@ public interface DeviceManagementService extends DeviceManager, LicenseManager,
List getDeviceListOfUser(String username) throws DeviceManagementException;
- void sendEnrollInvitation(String title, String firstName, String emailAddress,
- String enrolUrl) throws DeviceManagementException;
+ void sendEnrollInvitation(EmailConfig config) throws DeviceManagementException;
FeatureManager getFeatureManager(String type) throws DeviceManagementException;
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementServiceImpl.java
index f40240f6c11..480c2f3329b 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementServiceImpl.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/DeviceManagementServiceImpl.java
@@ -25,6 +25,7 @@ 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.operation.mgt.Operation;
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementException;
+import org.wso2.carbon.device.mgt.core.email.sender.EmailConfig;
import org.wso2.carbon.device.mgt.core.internal.DeviceManagementDataHolder;
import java.util.List;
@@ -139,9 +140,8 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
}
@Override
- public void sendEnrollInvitation(String title, String userName, String emailAddress, String enrolUrl)
- throws DeviceManagementException {
- DeviceManagementDataHolder.getInstance().getDeviceManagementProvider()
- .sendEnrollInvitation(title, userName, emailAddress, enrolUrl);
+ public void sendEnrollInvitation(EmailConfig config) throws DeviceManagementException {
+ DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().sendEnrollInvitation(config);
}
+
}