diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/EmailMessageProperties.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/EmailMessageProperties.java
new file mode 100644
index 00000000000..d4c9380333a
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/EmailMessageProperties.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (c) 2014, 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.common;
+
+
+public class EmailMessageProperties {
+
+ private String messageBody;
+ private String[] mailTo;
+ private String[] ccList;
+ private String[] bccList;
+ private String subject;
+
+ public String getMessageBody() {
+ return messageBody;
+ }
+
+ public void setMessageBody(String messageBody) {
+ this.messageBody = messageBody;
+ }
+
+ public String[] getMailTo() {
+ return mailTo;
+ }
+
+ public void setMailTo(String[] mailTo) {
+ this.mailTo = mailTo;
+ }
+
+ public String[] getCcList() {
+ return ccList;
+ }
+
+ public void setCcList(String[] ccList) {
+ this.ccList = ccList;
+ }
+
+ public String[] getBccList() {
+ return bccList;
+ }
+
+ public void setBccList(String[] bccList) {
+ this.bccList = bccList;
+ }
+
+ public String getSubject() {
+ return subject;
+ }
+
+ public void setSubject(String subject) {
+ this.subject = subject;
+ }
+}
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 7dde13ebe5f..393d5aa2edd 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
@@ -54,6 +54,7 @@
org.wso2.carbon.device.mgt.core.internal
org.apache.axis2.*;version="${axis2.osgi.version.range}",
+ org.apache.axiom.*; version="${axiom.osgi.version.range}",
org.osgi.framework,
org.osgi.service.component,
org.apache.commons.logging,
@@ -159,6 +160,23 @@
org.wso2.carbon.governance
org.wso2.carbon.governance.api
+
+ org.apache.axis2.transport
+ axis2-transport-mail
+
+
+
+ org.apache.ws.commons.axiom
+ axiom-api
+
+
+ org.apache.ws.commons.axiom
+ axiom-impl
+
+
+ org.apache.ws.commons.axiom.wso2
+ axiom
+
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 4623d37a122..3de82f76ccd 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
@@ -18,6 +18,7 @@
package org.wso2.carbon.device.mgt.core;
import org.wso2.carbon.device.mgt.common.*;
+import org.wso2.carbon.device.mgt.common.Device;
import org.wso2.carbon.device.mgt.common.spi.DeviceManager;
import org.wso2.carbon.device.mgt.common.license.mgt.License;
import org.wso2.carbon.device.mgt.core.dao.DeviceDAO;
@@ -25,8 +26,7 @@ import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOException;
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
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.dto.*;
import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager;
import org.wso2.carbon.device.mgt.core.license.mgt.LicenseManagerImpl;
@@ -35,6 +35,7 @@ import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManagementExcept
import org.wso2.carbon.device.mgt.common.operation.mgt.OperationManager;
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.util.DeviceManagerUtil;
import java.util.ArrayList;
import java.util.List;
@@ -128,7 +129,29 @@ public class DeviceManagementServiceProviderImpl implements DeviceManagementServ
@Override
public List getAllDevices() throws DeviceManagementException {
- return null;
+ List convertedDevicesList = new ArrayList();
+ try {
+ List devicesList = this.deviceDAO.getDevices();
+ for (int x = 0; x < devicesList.size(); x++) {
+ org.wso2.carbon.device.mgt.core.dto.Device device = devicesList.get(x);
+ device.setDeviceType(deviceTypeDAO.getDeviceType(device.getDeviceTypeId()));
+ DeviceManager dms =
+ this.getPluginRepository().getDeviceManagementProvider(device.getDeviceType().getName());
+ DeviceType deviceType = this.deviceTypeDAO.getDeviceType(device.getDeviceTypeId());
+ Device convertedDevice = DeviceManagementDAOUtil.convertDevice(device, deviceType);
+ DeviceIdentifier deviceIdentifier =
+ DeviceManagementDAOUtil.createDeviceIdentifier(device, deviceType);
+ Device dmsDevice = dms.getDevice(deviceIdentifier);
+ if (dmsDevice != null) {
+ convertedDevice.setProperties(dmsDevice.getProperties());
+ convertedDevice.setFeatures(dmsDevice.getFeatures());
+ }
+ convertedDevicesList.add(convertedDevice);
+ }
+ } catch (DeviceManagementDAOException e) {
+ throw new DeviceManagementException("Error occurred while obtaining devices all devices", e);
+ }
+ return convertedDevicesList;
}
@Override
@@ -161,7 +184,31 @@ public class DeviceManagementServiceProviderImpl implements DeviceManagementServ
@Override
public List getDeviceListOfUser(String username) throws DeviceManagementException {
- return null;
+ List devicesOfUser = new ArrayList();
+ try {
+ int tenantId = DeviceManagerUtil.getTenantId();
+ List devicesList = this.deviceDAO.getDeviceListOfUser(username, tenantId);
+ for (int x = 0; x < devicesList.size(); x++) {
+ org.wso2.carbon.device.mgt.core.dto.Device device = devicesList.get(x);
+ device.setDeviceType(deviceTypeDAO.getDeviceType(device.getDeviceTypeId()));
+ DeviceManager dms =
+ this.getPluginRepository().getDeviceManagementProvider(device.getDeviceType().getName());
+ Device convertedDevice = DeviceManagementDAOUtil.convertDevice(device, device.getDeviceType());
+ DeviceIdentifier deviceIdentifier = new DeviceIdentifier();
+ deviceIdentifier.setId(device.getDeviceIdentificationId());
+ deviceIdentifier.setType(device.getDeviceType().getName());
+ Device dmsDevice = dms.getDevice(deviceIdentifier);
+ if (dmsDevice != null) {
+ convertedDevice.setProperties(dmsDevice.getProperties());
+ convertedDevice.setFeatures(dmsDevice.getFeatures());
+ }
+ devicesOfUser.add(convertedDevice);
+ }
+ } catch (DeviceManagementDAOException e) {
+ throw new DeviceManagementException("Error occurred while obtaining devices for user " +
+ "'" + username + "'", e);
+ }
+ return devicesOfUser;
}
@Override
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/EmailServiceProviderImpl.java
new file mode 100644
index 00000000000..a52706753cb
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/EmailServiceProviderImpl.java
@@ -0,0 +1,124 @@
+/*
+ * 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;
+
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axis2.AxisFault;
+import org.apache.axis2.Constants;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.client.ServiceClient;
+import org.apache.axis2.context.ConfigurationContext;
+import org.apache.axis2.context.MessageContext;
+import org.apache.axis2.transport.base.BaseConstants;
+import org.apache.axis2.transport.mail.MailConstants;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.wso2.carbon.device.mgt.common.DeviceManagementException;
+import org.wso2.carbon.device.mgt.common.EmailMessageProperties;
+import org.wso2.carbon.device.mgt.core.internal.EmailServiceDataHolder;
+import org.wso2.carbon.device.mgt.core.service.EmailService;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.concurrent.LinkedBlockingQueue;
+import java.util.concurrent.ThreadPoolExecutor;
+import java.util.concurrent.TimeUnit;
+
+public class EmailServiceProviderImpl implements EmailService {
+
+ private static ThreadPoolExecutor threadPoolExecutor;
+ private static final int MIN_THREAD = 8;
+ private static final int MAX_THREAD = 100;
+ private static final long DEFAULT_KEEP_ALIVE_TIME = 20;
+ private static final String EMAIL_URI_SCHEME = "mailto:";
+
+ private static Log log = LogFactory.getLog(EmailServiceProviderImpl.class);
+
+ public EmailServiceProviderImpl() {
+ init();
+ }
+
+ private void init() {
+ if (threadPoolExecutor == null) {
+ threadPoolExecutor = new ThreadPoolExecutor(MIN_THREAD, MAX_THREAD, DEFAULT_KEEP_ALIVE_TIME,
+ TimeUnit.SECONDS, new LinkedBlockingQueue(1000));
+ }
+ }
+
+ @Override
+ public void sendEmail(EmailMessageProperties emailMessageProperties) throws DeviceManagementException {
+ for(String toAddr:emailMessageProperties.getMailTo()) {
+ threadPoolExecutor
+ .submit(new EmailSender(toAddr, emailMessageProperties.getSubject(),
+ emailMessageProperties.getMessageBody()));
+ }
+ }
+
+ class EmailSender implements Runnable {
+
+ String to;
+ String subject;
+ String body;
+
+ EmailSender(String to, String subject, String body) {
+ this.to = to;
+ this.subject = subject;
+ this.body = body;
+ }
+
+ public void run() {
+ Map headerMap = new HashMap();
+ headerMap.put(MailConstants.MAIL_HEADER_SUBJECT, subject);
+ OMElement payload = OMAbstractFactory.getOMFactory().createOMElement(
+ BaseConstants.DEFAULT_TEXT_WRAPPER, null);
+ payload.setText(body);
+ try {
+ ServiceClient serviceClient;
+ ConfigurationContext configContext = EmailServiceDataHolder.getInstance()
+ .getConfigurationContextService().getClientConfigContext();
+ //Set configuration service client if available, else create new service client
+ if (configContext != null) {
+ serviceClient = new ServiceClient(configContext, null);
+ } else {
+ serviceClient = new ServiceClient();
+ }
+ Options options = new Options();
+ options.setProperty(Constants.Configuration.ENABLE_REST, Constants.VALUE_TRUE);
+ options.setProperty(MessageContext.TRANSPORT_HEADERS, headerMap);
+ options.setProperty(MailConstants.TRANSPORT_MAIL_FORMAT,
+ MailConstants.TRANSPORT_FORMAT_TEXT);
+ options.setTo(new EndpointReference(EMAIL_URI_SCHEME + to));
+ serviceClient.setOptions(options);
+ 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);
+ }
+ }
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java
index 51ed6428993..fb27efe523e 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAO.java
@@ -58,6 +58,6 @@ public interface DeviceDAO {
* @return List of devices of the user.
* @throws DeviceManagementDAOException
*/
- List getDeviceListOfUser(String username) throws DeviceManagementDAOException;
+ List getDeviceListOfUser(String username , int tenantId) throws DeviceManagementDAOException;
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceDAOImpl.java
index 4f665ed90fa..9300e49c1b8 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceDAOImpl.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/impl/DeviceDAOImpl.java
@@ -107,7 +107,7 @@ public class DeviceDAOImpl implements DeviceDAO {
conn = this.getConnection();
String sql =
"SELECT d.ID, d.DESCRIPTION, d.NAME, d.DATE_OF_ENROLLMENT, d.DATE_OF_LAST_UPDATE, d.OWNERSHIP, d.STATUS, " +
- "d.DEVICE_TYPE_ID, d.DEVICE_IDENTIFICATION, d.OWNER, d.TENANT_ID FROM DM_DEVICE d, DEVICE_TYPE dt WHERE " +
+ "d.DEVICE_TYPE_ID, d.DEVICE_IDENTIFICATION, d.OWNER, d.TENANT_ID FROM DM_DEVICE d, DM_DEVICE_TYPE dt WHERE " +
"dt.NAME = ? AND d.DEVICE_IDENTIFICATION = ?";
stmt = conn.prepareStatement(sql);
stmt.setString(1, deviceIdentifier.getType());
@@ -140,7 +140,42 @@ public class DeviceDAOImpl implements DeviceDAO {
@Override
public List getDevices() throws DeviceManagementDAOException {
- return null;
+ Connection conn = null;
+ PreparedStatement stmt = null;
+ ResultSet resultSet = null;
+ List devicesList = null;
+ try {
+ conn = this.getConnection();
+ String selectDBQueryForType = "SELECT ID, DESCRIPTION, NAME, DATE_OF_ENROLLMENT, " +
+ "DATE_OF_LAST_UPDATE, OWNERSHIP, STATUS, DEVICE_TYPE_ID, " +
+ "DEVICE_IDENTIFICATION, OWNER, TENANT_ID FROM DM_DEVICE ";
+ stmt = conn.prepareStatement(selectDBQueryForType);
+ resultSet = stmt.executeQuery();
+ devicesList = new ArrayList();
+ while (resultSet.next()) {
+ Device device = new Device();
+ device.setId(resultSet.getInt(1));
+ device.setDescription(resultSet.getString(2));
+ device.setName(resultSet.getString(3));
+ device.setDateOfEnrollment(resultSet.getLong(4));
+ device.setDateOfLastUpdate(resultSet.getLong(5));
+ //TODO:- Ownership is not a enum in DeviceDAO
+ device.setOwnerShip(resultSet.getString(6));
+ device.setStatus(Status.valueOf(resultSet.getString(7)));
+ device.setDeviceTypeId(resultSet.getInt(8));
+ device.setDeviceIdentificationId(resultSet.getString(9));
+ device.setOwnerId(resultSet.getString(10));
+ device.setTenantId(resultSet.getInt(11));
+ devicesList.add(device);
+ }
+ } catch (SQLException e) {
+ String msg = "Error occurred while listing all devices for type ";
+ log.error(msg, e);
+ throw new DeviceManagementDAOException(msg, e);
+ } finally {
+ DeviceManagementDAOUtil.cleanupResources(conn, stmt, resultSet);
+ }
+ return devicesList;
}
@Override
@@ -178,9 +213,7 @@ public class DeviceDAOImpl implements DeviceDAO {
List devicesList = null;
try {
conn = this.getConnection();
- String selectDBQueryForType = "SELECT ID, DESCRIPTION, NAME, DATE_OF_ENROLLMENT, " +
- "DATE_OF_LAST_UPDATE, OWNERSHIP, STATUS, DEVICE_TYPE_ID, " +
- "DEVICE_IDENTIFICATION, OWNER, TENANT_ID FROM DM_DEVICE " +
+ String selectDBQueryForType = "SELECT ID, DESCRIPTION, NAME, DATE_OF_ENROLLMENT, DATE_OF_LAST_UPDATE, OWNERSHIP, STATUS, DEVICE_TYPE_ID, DEVICE_IDENTIFICATION, OWNER, TENANT_ID FROM DM_DEVICE " +
"WHERE DM_DEVICE.DEVICE_TYPE_ID = ?";
stmt = conn.prepareStatement(selectDBQueryForType);
stmt.setInt(1, type);
@@ -212,9 +245,50 @@ public class DeviceDAOImpl implements DeviceDAO {
return devicesList;
}
- @Override
- public List getDeviceListOfUser(String username) throws DeviceManagementDAOException {
- return null;
+ @Override public List getDeviceListOfUser(String username, int tenantId) throws DeviceManagementDAOException {
+ Connection conn = this.getConnection();
+ PreparedStatement stmt = null;
+ List deviceList = new ArrayList();
+ try {
+ stmt = conn.prepareStatement(
+ "SELECT DM_DEVICE_TYPE.ID, DM_DEVICE_TYPE.NAME, DM_DEVICE.ID, DM_DEVICE.DESCRIPTION, " +
+ "DM_DEVICE.NAME, DM_DEVICE.DATE_OF_ENROLLMENT, DM_DEVICE.DATE_OF_LAST_UPDATE, " +
+ "DM_DEVICE.OWNERSHIP, DM_DEVICE.STATUS, DM_DEVICE.DEVICE_TYPE_ID, " +
+ "DM_DEVICE.DEVICE_IDENTIFICATION, DM_DEVICE.OWNER, DM_DEVICE.TENANT_ID FROM " +
+ "DM_DEVICE, DM_DEVICE_TYPE WHERE DM_DEVICE.DEVICE_TYPE_ID = DM_DEVICE_TYPE.ID " +
+ "AND DM_DEVICE.OWNER =? AND DM_DEVICE.TENANT_ID =?");
+ stmt.setString(1, username);
+ stmt.setInt(2, tenantId);
+ ResultSet resultSet = stmt.executeQuery();
+
+ while (resultSet.next()) {
+ Device device = new Device();
+ DeviceType deviceType = new DeviceType();
+ int id = resultSet.getInt(resultSet.getInt(1));
+ deviceType.setId(id);
+ deviceType.setName(resultSet.getString(2));
+ device.setId(resultSet.getInt(3));
+ device.setDescription(resultSet.getString(4));
+ device.setName(resultSet.getString(5));
+ device.setDateOfEnrollment(resultSet.getLong(6));
+ device.setDateOfLastUpdate(resultSet.getLong(7));
+ //TODO:- Ownership is not a enum in DeviceDAO
+ device.setOwnerShip(resultSet.getString(8));
+ device.setStatus(Status.valueOf(resultSet.getString(9)));
+ device.setDeviceTypeId(resultSet.getInt(10));
+ device.setDeviceIdentificationId(resultSet.getString(11));
+ device.setOwnerId(resultSet.getString(12));
+ device.setTenantId(resultSet.getInt(13));
+ deviceList.add(device);
+ }
+ } catch (SQLException e) {
+ String msg = "Error occurred while fetching the list of devices belongs to " + username;
+ log.error(msg, e);
+ throw new DeviceManagementDAOException(msg, e);
+ } finally {
+ DeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
+ }
+ return deviceList;
}
private Connection getConnection() throws DeviceManagementDAOException {
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java
index a20c763baa2..5a0f9965830 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementDataHolder.java
@@ -19,9 +19,9 @@
package org.wso2.carbon.device.mgt.core.internal;
-import org.wso2.carbon.device.mgt.core.service.DeviceManagementService;
-import org.wso2.carbon.device.mgt.core.config.license.LicenseConfig;
import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager;
+import org.wso2.carbon.device.mgt.core.config.license.LicenseConfig;
+import org.wso2.carbon.device.mgt.core.service.DeviceManagementService;
import org.wso2.carbon.registry.core.service.RegistryService;
import org.wso2.carbon.user.core.service.RealmService;
import org.wso2.carbon.user.core.tenant.TenantManager;
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java
index 4d79e586940..e2a6f5c9741 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/DeviceManagementServiceComponent.java
@@ -22,21 +22,22 @@ import org.apache.commons.logging.LogFactory;
import org.osgi.framework.BundleContext;
import org.osgi.service.component.ComponentContext;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
+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.LicenseManager;
import org.wso2.carbon.device.mgt.common.spi.DeviceManager;
import org.wso2.carbon.device.mgt.core.DeviceManagementConstants;
import org.wso2.carbon.device.mgt.core.DeviceManagementRepository;
import org.wso2.carbon.device.mgt.core.DeviceManagementServiceProviderImpl;
-import org.wso2.carbon.device.mgt.core.service.DeviceManagementService;
import org.wso2.carbon.device.mgt.core.config.DeviceConfigurationManager;
import org.wso2.carbon.device.mgt.core.config.DeviceManagementConfig;
import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig;
-import org.wso2.carbon.device.mgt.common.license.mgt.License;
import org.wso2.carbon.device.mgt.core.config.license.LicenseConfig;
import org.wso2.carbon.device.mgt.core.config.license.LicenseConfigurationManager;
import org.wso2.carbon.device.mgt.core.dao.DeviceManagementDAOFactory;
-import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManagementException;
-import org.wso2.carbon.device.mgt.common.license.mgt.LicenseManager;
import org.wso2.carbon.device.mgt.core.license.mgt.LicenseManagerImpl;
+import org.wso2.carbon.device.mgt.core.operation.mgt.dao.OperationManagementDAOFactory;
+import org.wso2.carbon.device.mgt.core.service.DeviceManagementService;
import org.wso2.carbon.device.mgt.core.service.DeviceManagementServiceImpl;
import org.wso2.carbon.device.mgt.core.util.DeviceManagementSchemaInitializer;
import org.wso2.carbon.registry.core.service.RegistryService;
@@ -94,6 +95,8 @@ public class DeviceManagementServiceComponent {
DeviceManagementDataHolder.getInstance().setLicenseManager(licenseManager);
DeviceManagementDataHolder.getInstance().setLicenseConfig(licenseConfig);
+ OperationManagementDAOFactory.init(dsConfig);
+
/* If -Dsetup option enabled then create device management database schema */
String setupOption =
System.getProperty(DeviceManagementConstants.Common.PROPERTY_SETUP);
@@ -234,7 +237,7 @@ public class DeviceManagementServiceComponent {
*/
protected void unsetRegistryService(RegistryService registryService) {
if (log.isDebugEnabled()) {
- log.debug("Unsetting Registry Service");
+ log.debug("Un setting Registry Service");
}
DeviceManagementDataHolder.getInstance().setRegistryService(null);
}
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
new file mode 100644
index 00000000000..3e100d50e90
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/EmailServiceComponent.java
@@ -0,0 +1,83 @@
+/*
+ * 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.internal;
+
+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.service.EmailService;
+import org.wso2.carbon.device.mgt.core.service.EmailServiceImpl;
+import org.wso2.carbon.utils.ConfigurationContextService;
+
+/**
+ * @scr.component component.name="org.wso2.carbon.device.emailmanager" immediate="true"
+ * @scr.reference name="configurationcontext.service"
+ * interface="org.wso2.carbon.utils.ConfigurationContextService" cardinality="1..1"
+ * policy="dynamic" bind="setConfigurationContextService" unbind="unsetConfigurationContextService"
+ */
+public class EmailServiceComponent {
+
+ private static Log log = LogFactory.getLog(EmailServiceComponent.class);
+
+ /**
+ * initialize the email service here service here.
+ *
+ * @param context
+ */
+ protected void activate(ComponentContext context) {
+ try {
+ if (log.isDebugEnabled()) {
+ log.debug("Initializing email service bundle");
+ }
+
+ /* Initializing Email Service Configurations */
+
+ EmailService emailServiceProvider = new EmailServiceProviderImpl();
+ EmailServiceDataHolder.getInstance().setEmailServiceProvider(emailServiceProvider); ;
+
+ this.registerServices(context);
+
+ if (log.isDebugEnabled()) {
+ 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);
+ }
+ }
+ protected void setConfigurationContextService(ConfigurationContextService configurationContextService) {
+ EmailServiceDataHolder.getInstance().setConfigurationContextService(configurationContextService);
+ }
+ protected void unsetConfigurationContextService(ConfigurationContextService configurationContextService) {
+ EmailServiceDataHolder.getInstance().setConfigurationContextService(null);
+ }
+
+ private void registerServices(ComponentContext componentContext) {
+ if (log.isDebugEnabled()) {
+ log.debug("Registering OSGi service Email Service Impl");
+ }
+ /* Registering Email Service */
+ BundleContext bundleContext = componentContext.getBundleContext();
+ 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/internal/EmailServiceDataHolder.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/EmailServiceDataHolder.java
new file mode 100644
index 00000000000..0093ff6bdba
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/internal/EmailServiceDataHolder.java
@@ -0,0 +1,58 @@
+/*
+ * 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.internal;
+
+import org.wso2.carbon.device.mgt.core.service.EmailService;
+import org.wso2.carbon.utils.ConfigurationContextService;
+
+public class EmailServiceDataHolder {
+
+ private static EmailServiceDataHolder thisInstance = new EmailServiceDataHolder();
+ private ConfigurationContextService configurationContextService;
+ private EmailService emailServiceProvider;
+
+ public static EmailServiceDataHolder getThisInstance() {
+ return thisInstance;
+ }
+
+ public static void setThisInstance(EmailServiceDataHolder thisInstance) {
+ EmailServiceDataHolder.thisInstance = thisInstance;
+ }
+
+ private EmailServiceDataHolder() {
+ }
+
+ public static EmailServiceDataHolder getInstance() {
+ return thisInstance;
+ }
+
+ public ConfigurationContextService getConfigurationContextService() {
+ return configurationContextService;
+ }
+
+ public void setConfigurationContextService(ConfigurationContextService configurationContextService) {
+ this.configurationContextService = configurationContextService;
+ }
+ public EmailService getEmailServiceProvider() {
+ return emailServiceProvider;
+ }
+
+ public void setEmailServiceProvider(EmailService emailServiceProvider) {
+ this.emailServiceProvider = emailServiceProvider;
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/dao/OperationManagementDAOFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/dao/OperationManagementDAOFactory.java
index 8600b00e96d..bae92c0ab95 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/dao/OperationManagementDAOFactory.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/operation/mgt/dao/OperationManagementDAOFactory.java
@@ -59,6 +59,9 @@ public class OperationManagementDAOFactory {
public static void init(DataSource dtSource) {
dataSource = dtSource;
}
+ public static void init(DataSourceConfig config) {
+ dataSource = resolveDataSource(config);
+ }
public static void beginTransaction() throws OperationManagementDAOException {
try {
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 b024829c55e..1f156f4f62e 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
@@ -19,6 +19,7 @@ package org.wso2.carbon.device.mgt.core.service;
import org.wso2.carbon.device.mgt.common.Device;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
+import org.wso2.carbon.device.mgt.common.EmailMessageProperties;
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;
@@ -33,6 +34,8 @@ public interface DeviceManagementService extends DeviceManager, LicenseManager,
List getAllDevices(String type) throws DeviceManagementException;
+ List getAllDevices() throws DeviceManagementException;
+
List getDeviceListOfUser(String username) 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 40a11815482..ed4594da783 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
@@ -17,7 +17,10 @@
*/
package org.wso2.carbon.device.mgt.core.service;
-import org.wso2.carbon.device.mgt.common.*;
+import org.wso2.carbon.device.mgt.common.Device;
+import org.wso2.carbon.device.mgt.common.DeviceIdentifier;
+import org.wso2.carbon.device.mgt.common.DeviceManagementException;
+import org.wso2.carbon.device.mgt.common.FeatureManager;
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;
@@ -39,66 +42,65 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
}
@Override
- public boolean enrollDevice(Device device) throws DeviceManagementException {
- return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().enrollDevice(device);
- }
+ public boolean enrollDevice(Device device) throws DeviceManagementException {
+ return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().enrollDevice(device);
+ }
- @Override
- public boolean modifyEnrollment(Device device) throws DeviceManagementException {
- return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().modifyEnrollment(device);
- }
+ @Override
+ public boolean modifyEnrollment(Device device) throws DeviceManagementException {
+ return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().modifyEnrollment(device);
+ }
- @Override
- public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
- return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().disenrollDevice(deviceId);
- }
+ @Override
+ public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException {
+ return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().disenrollDevice(deviceId);
+ }
- @Override
- public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
- return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().isEnrolled(deviceId);
- }
+ @Override
+ public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException {
+ return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().isEnrolled(deviceId);
+ }
- @Override
- public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
- return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().isActive(deviceId);
- }
+ @Override
+ public boolean isActive(DeviceIdentifier deviceId) throws DeviceManagementException {
+ return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().isActive(deviceId);
+ }
- @Override
- public boolean setActive(DeviceIdentifier deviceId, boolean status) throws DeviceManagementException {
- return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().setActive(deviceId, status);
- }
+ @Override
+ public boolean setActive(DeviceIdentifier deviceId, boolean status) throws DeviceManagementException {
+ return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().setActive(deviceId, status);
+ }
@Override
public List getAllDevices() throws DeviceManagementException {
- return null;
+ return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().getAllDevices();
}
@Override
- public List getAllDevices(String type) throws DeviceManagementException {
- return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().getAllDevices(type);
- }
+ public List getAllDevices(String type) throws DeviceManagementException {
+ return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().getAllDevices(type);
+ }
- @Override
- public List getDeviceListOfUser(String username) throws DeviceManagementException{
- return null;
+ public List getDeviceListOfUser(String username) throws DeviceManagementException {
+ return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().getDeviceListOfUser(username);
}
@Override
- public org.wso2.carbon.device.mgt.common.Device getDevice(DeviceIdentifier deviceId)
- throws DeviceManagementException {
+ public org.wso2.carbon.device.mgt.common.Device getDevice(DeviceIdentifier deviceId)
+ throws DeviceManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().getDevice(deviceId);
- }
+ }
- @Override
- public boolean updateDeviceInfo(Device device) throws DeviceManagementException {
- return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().updateDeviceInfo(device);
- }
+ @Override
+ public boolean updateDeviceInfo(Device device) throws DeviceManagementException {
+ return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().updateDeviceInfo(device);
+ }
- @Override
- public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType) throws DeviceManagementException {
- return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().setOwnership(deviceId,
+ @Override
+ public boolean setOwnership(DeviceIdentifier deviceId, String ownershipType) throws DeviceManagementException {
+ return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().setOwnership(deviceId,
ownershipType);
- }
+ }
@Override
public License getLicense(String deviceType, String languageCode) throws LicenseManagementException {
@@ -113,7 +115,7 @@ public class DeviceManagementServiceImpl implements DeviceManagementService {
@Override
public boolean addOperation(Operation operation,
- List devices) throws OperationManagementException {
+ List devices) throws OperationManagementException {
return DeviceManagementDataHolder.getInstance().getDeviceManagementProvider().addOperation(operation, devices);
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/EmailService.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/EmailService.java
new file mode 100644
index 00000000000..d53ddca970e
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/EmailService.java
@@ -0,0 +1,26 @@
+/*
+ * 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.service;
+
+import org.wso2.carbon.device.mgt.common.DeviceManagementException;
+import org.wso2.carbon.device.mgt.common.EmailMessageProperties;
+
+public interface EmailService {
+
+ public void sendEmail(EmailMessageProperties emailMessageProperties) throws DeviceManagementException;
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/EmailServiceImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/EmailServiceImpl.java
new file mode 100644
index 00000000000..807c5116599
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/service/EmailServiceImpl.java
@@ -0,0 +1,31 @@
+/*
+ * 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.service;
+
+import org.wso2.carbon.device.mgt.common.DeviceManagementException;
+import org.wso2.carbon.device.mgt.common.EmailMessageProperties;
+import org.wso2.carbon.device.mgt.core.internal.EmailServiceDataHolder;
+
+public class EmailServiceImpl implements EmailService{
+
+ @Override
+ public void sendEmail(EmailMessageProperties emailMessageProperties) throws DeviceManagementException {
+ EmailServiceDataHolder.getInstance().getEmailServiceProvider().sendEmail(emailMessageProperties);
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java
index 110e46dacf4..37f405bda40 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/util/DeviceManagerUtil.java
@@ -20,6 +20,7 @@ package org.wso2.carbon.device.mgt.core.util;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.w3c.dom.Document;
+import org.wso2.carbon.context.PrivilegedCarbonContext;
import org.wso2.carbon.device.mgt.common.Device;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig;
@@ -41,96 +42,109 @@ import java.util.Map;
public final class DeviceManagerUtil {
- private static final Log log = LogFactory.getLog(DeviceManagerUtil.class);
+ private static final Log log = LogFactory.getLog(DeviceManagerUtil.class);
- public static Document convertToDocument(File file) throws DeviceManagementException {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setNamespaceAware(true);
- try {
- DocumentBuilder docBuilder = factory.newDocumentBuilder();
- return docBuilder.parse(file);
- } catch (Exception e) {
- throw new DeviceManagementException("Error occurred while parsing file, while converting " +
- "to a org.w3c.dom.Document", e);
- }
+ public static Document convertToDocument(File file) throws DeviceManagementException {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ factory.setNamespaceAware(true);
+ try {
+ DocumentBuilder docBuilder = factory.newDocumentBuilder();
+ return docBuilder.parse(file);
+ } catch (Exception e) {
+ throw new DeviceManagementException("Error occurred while parsing file, while converting " +
+ "to a org.w3c.dom.Document", e);
+ }
}
- /**
- * Resolve data source from the data source definition.
- *
- * @param config data source configuration
- * @return data source resolved from the data source definition
- */
- public static DataSource resolveDataSource(DataSourceConfig config) {
- DataSource dataSource = null;
- if (config == null) {
- throw new RuntimeException("Device Management Repository data source configuration is null and thus, " +
+ /**
+ * Resolve data source from the data source definition.
+ *
+ * @param config data source configuration
+ * @return data source resolved from the data source definition
+ */
+ public static DataSource resolveDataSource(DataSourceConfig config) {
+ DataSource dataSource = null;
+ if (config == null) {
+ throw new RuntimeException("Device Management Repository data source configuration is null and thus, " +
"is not initialized");
- }
- JNDILookupDefinition jndiConfig = config.getJndiLookupDefinition();
- if (jndiConfig != null) {
- if (log.isDebugEnabled()) {
- log.debug("Initializing Device Management Repository data source using the JNDI Lookup Definition");
- }
- List jndiPropertyList =
- jndiConfig.getJndiProperties();
- if (jndiPropertyList != null) {
- Hashtable