diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java
index 0649a9d6a3d..9802fe30fe0 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/DeviceManagementConstants.java
@@ -34,7 +34,7 @@ public final class DeviceManagementConstants {
public static final String SECURE_VAULT_NS = "http://org.wso2.securevault/configuration";
}
- public static class MobileDeviceTypes {
+ public static final class MobileDeviceTypes {
private MobileDeviceTypes() {
throw new AssertionError();
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/util/DeviceManagementDAOUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/util/DeviceManagementDAOUtil.java
index b71aaeaa155..0fa7f34af88 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/util/DeviceManagementDAOUtil.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/util/DeviceManagementDAOUtil.java
@@ -109,11 +109,15 @@ public final class DeviceManagementDAOUtil {
deviceBO.setName(device.getName());
deviceBO.setDateOfEnrollment(device.getDateOfEnrolment());
deviceBO.setDateOfLastUpdate(device.getDateOfLastUpdate());
- deviceBO.setStatus(Status.valueOf(String.valueOf(device.isStatus())));
+ if (!device.isStatus()){
+ deviceBO.setStatus(Status.INACTIVE);
+ }else{
+ deviceBO.setStatus(Status.ACTIVE);
+ }
deviceBO.setOwnerId(device.getOwner());
deviceBO.setOwnerShip(device.getOwnership());
deviceBO.setTenantId(DeviceManagementDAOUtil.getTenantId());
- deviceBO.setDeviceType(Integer.parseInt(device.getType()));
+ //deviceBO.setDeviceType(Integer.parseInt(device.getType()));
return deviceBO;
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/pom.xml b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/pom.xml
index 8dd8ef138c2..510ee66d728 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/pom.xml
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/pom.xml
@@ -74,10 +74,13 @@
org.wso2.carbonorg.wso2.carbon.logging
+
+ org.wso2.carbon
+ org.wso2.carbon.utils
+ org.eclipse.osgiorg.eclipse.osgi.services
- 3.2.0.v20090520-1800
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidDeviceManagerService.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidDeviceManagerService.java
index 3246b21f219..805345e7439 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidDeviceManagerService.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidDeviceManagerService.java
@@ -86,4 +86,6 @@ public class AndroidDeviceManagerService implements DeviceManagerService {
return true;
}
+ //should implement equals and hashcode in all service bundles
+
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceConfigurationManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceConfigurationManager.java
index 3038387c637..1a248119969 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceConfigurationManager.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceConfigurationManager.java
@@ -1,25 +1,25 @@
/*
* 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.
+ *
+ * Licensed 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.
- * 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.
+ *
+ * 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.mobile.impl.config;
import org.w3c.dom.Document;
-import org.wso2.carbon.device.mgt.common.DeviceManagementConstants;
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
-import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig;
-import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
+import org.wso2.carbon.device.mgt.mobile.impl.util.MobileDeviceManagerUtil;
+import org.wso2.carbon.device.mgt.mobile.impl.config.datasource.MobileDataSourceConfig;
import org.wso2.carbon.utils.CarbonUtils;
import javax.xml.bind.JAXBContext;
@@ -31,43 +31,46 @@ import java.io.File;
*/
public class MobileDeviceConfigurationManager {
- private MobileDeviceManagementConfig currentDeviceConfig;
- private static MobileDeviceConfigurationManager deviceConfigManager;
+ private static final String MOBILE_DEVICE_CONFIG_XML_NAME = "mobile-config.xml";
+ private MobileDeviceManagementConfig currentMobileDeviceConfig;
+ private static MobileDeviceConfigurationManager mobileDeviceConfigManager;
- private final String deviceMgtConfigXMLPath = CarbonUtils.getCarbonConfigDirPath() + File.separator +
- DeviceManagementConstants.DataSourceProperties.DEVICE_CONFIG_XML_NAME;
+ private final String mobileDeviceMgtConfigXMLPath =
+ CarbonUtils.getCarbonConfigDirPath() + File.separator +
+ MOBILE_DEVICE_CONFIG_XML_NAME;
- public static MobileDeviceConfigurationManager getInstance() {
- if (deviceConfigManager == null) {
- synchronized (MobileDeviceConfigurationManager.class) {
- if (deviceConfigManager == null) {
- deviceConfigManager = new MobileDeviceConfigurationManager();
- }
- }
- }
- return deviceConfigManager;
- }
+ public static MobileDeviceConfigurationManager getInstance() {
+ if (mobileDeviceConfigManager == null) {
+ synchronized (MobileDeviceConfigurationManager.class) {
+ if (mobileDeviceConfigManager == null) {
+ mobileDeviceConfigManager = new MobileDeviceConfigurationManager();
+ }
+ }
+ }
+ return mobileDeviceConfigManager;
+ }
- public synchronized void initConfig() throws DeviceManagementException {
- try {
- File deviceMgtConfig = new File(deviceMgtConfigXMLPath);
- Document doc = DeviceManagerUtil.convertToDocument(deviceMgtConfig);
+ public synchronized void initConfig() throws DeviceManagementException {
+ try {
+ File mobileDeviceMgtConfig = new File(mobileDeviceMgtConfigXMLPath);
+ Document doc = MobileDeviceManagerUtil.convertToDocument(mobileDeviceMgtConfig);
+ JAXBContext mobileDeviceMgmtContext =
+ JAXBContext.newInstance(MobileDeviceManagementConfig.class);
+ Unmarshaller unmarshaller = mobileDeviceMgmtContext.createUnmarshaller();
+ this.currentMobileDeviceConfig =
+ (MobileDeviceManagementConfig) unmarshaller.unmarshal(doc);
+ } catch (Exception e) {
+ throw new DeviceManagementException(
+ "Error occurred while initializing Mobile Device Management config", e);
+ }
+ }
- /* Un-marshaling Device Management configuration */
- JAXBContext rssContext = JAXBContext.newInstance(MobileDeviceManagementConfig.class);
- Unmarshaller unmarshaller = rssContext.createUnmarshaller();
- this.currentDeviceConfig = (MobileDeviceManagementConfig) unmarshaller.unmarshal(doc);
- } catch (Exception e) {
- throw new DeviceManagementException("Error occurred while initializing RSS config", e);
- }
- }
+ public MobileDeviceManagementConfig getMobileDeviceManagementConfig() {
+ return currentMobileDeviceConfig;
+ }
- public MobileDeviceManagementConfig getDeviceManagementConfig() {
- return currentDeviceConfig;
- }
-
- public DataSourceConfig getDataSourceConfig() {
- return currentDeviceConfig.getMobileDeviceMgtRepository().getDataSourceConfig();
- }
+ public MobileDataSourceConfig getMobileDataSourceConfig() {
+ return currentMobileDeviceConfig.getMobileDeviceMgtRepository().getMobileDataSourceConfig();
+ }
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceManagementConfig.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceManagementConfig.java
index 0c9ff1a1b85..203245e5bd1 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceManagementConfig.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceManagementConfig.java
@@ -19,20 +19,21 @@ import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
/**
- * Represents Device Mgt configuration.
+ * Represents Mobile Device Mgt configuration.
*/
@XmlRootElement(name = "MobileDeviceMgtConfiguration")
public final class MobileDeviceManagementConfig {
- private DeviceManagementRepository deviceMgtRepository;
+ private MobileDeviceManagementRepository mobileDeviceMgtRepository;
@XmlElement(name = "ManagementRepository", nillable = false)
- public DeviceManagementRepository getDeviceMgtRepository() {
- return deviceMgtRepository;
+ public MobileDeviceManagementRepository getMobileDeviceMgtRepository() {
+ return mobileDeviceMgtRepository;
}
- public void setDeviceMgtRepository(DeviceManagementRepository deviceMgtRepository) {
- this.deviceMgtRepository = deviceMgtRepository;
+ public void setMobileDeviceMgtRepository(
+ MobileDeviceManagementRepository mobileDeviceMgtRepository) {
+ this.mobileDeviceMgtRepository = mobileDeviceMgtRepository;
}
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceManagementRepository.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceManagementRepository.java
index e115d96cf9a..9987d1763da 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceManagementRepository.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/MobileDeviceManagementRepository.java
@@ -15,7 +15,7 @@
*/
package org.wso2.carbon.device.mgt.mobile.impl.config;
-import org.wso2.carbon.device.mgt.core.config.datasource.DataSourceConfig;
+import org.wso2.carbon.device.mgt.mobile.impl.config.datasource.MobileDataSourceConfig;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@@ -26,15 +26,15 @@ import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "ManagementRepository")
public class MobileDeviceManagementRepository {
- private DataSourceConfig dataSourceConfig;
+ private MobileDataSourceConfig mobileDataSourceConfig;
@XmlElement(name = "DataSourceConfiguration", nillable = false)
- public DataSourceConfig getDataSourceConfig() {
- return dataSourceConfig;
+ public MobileDataSourceConfig getMobileDataSourceConfig() {
+ return mobileDataSourceConfig;
}
- public void setDataSourceConfig(DataSourceConfig dataSourceConfig) {
- this.dataSourceConfig = dataSourceConfig;
+ public void setMobileDataSourceConfig(MobileDataSourceConfig mobileDataSourceConfig) {
+ this.mobileDataSourceConfig = mobileDataSourceConfig;
}
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/datasource/JNDILookupDefinition.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/datasource/JNDILookupDefinition.java
index 6eadecd50b3..94d62a1d264 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/datasource/JNDILookupDefinition.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/config/datasource/JNDILookupDefinition.java
@@ -1,16 +1,17 @@
/*
* 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.
+ *
+ * Licensed 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.
- * 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.
+ *
+ * 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.mobile.impl.config.datasource;
@@ -19,7 +20,7 @@ import javax.xml.bind.annotation.*;
import java.util.List;
/**
- * Class for hold JndiLookupDefinition of rss-manager.xml at parsing with JAXB
+ * Class for hold JndiLookupDefinition of mobile-config.xml at parsing with JAXB
*/
@XmlRootElement(name = "JndiLookupDefinition")
public class JNDILookupDefinition {
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAO.java
index 1d4ab3ab803..16330df10c1 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAO.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAO.java
@@ -19,7 +19,8 @@ package org.wso2.carbon.device.mgt.mobile.impl.dao;
import org.wso2.carbon.device.mgt.mobile.impl.dto.MobileDevice;
/**
- * This class represents the key operations associated with persisting mobile-device related information.
+ * This class represents the key operations associated with persisting mobile-device related
+ * information.
*/
public interface MobileDeviceDAO {
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceManagementDAOException.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceManagementDAOException.java
index 8047d932a24..d0d03fcacf1 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceManagementDAOException.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceManagementDAOException.java
@@ -25,9 +25,10 @@ public class MobileDeviceManagementDAOException extends Exception {
private static final long serialVersionUID = 2021891706072918865L;
/**
- * Constructs a new exception with the specified detail message and nested exception.
+ * Constructs a new MobileDeviceManagementDAOException with the specified detail message and
+ * nested exception.
*
- * @param message error message
+ * @param message error message
* @param nestedException exception
*/
public MobileDeviceManagementDAOException(String message, Exception nestedException) {
@@ -36,7 +37,8 @@ public class MobileDeviceManagementDAOException extends Exception {
}
/**
- * Constructs a new exception with the specified detail message and cause.
+ * Constructs a new MobileDeviceManagementDAOException with the specified detail message
+ * and cause.
*
* @param message the detail message.
* @param cause the cause of this exception.
@@ -47,7 +49,7 @@ public class MobileDeviceManagementDAOException extends Exception {
}
/**
- * Constructs a new exception with the specified detail message
+ * Constructs a new MobileDeviceManagementDAOException with the specified detail message
*
* @param message the detail message.
*/
@@ -57,9 +59,9 @@ public class MobileDeviceManagementDAOException extends Exception {
}
/**
- * Constructs a new exception with the specified and cause.
+ * Constructs a new MobileDeviceManagementDAOException with the specified and cause.
*
- * @param cause the cause of this exception.
+ * @param cause the cause of this exception.
*/
public MobileDeviceManagementDAOException(Throwable cause) {
super(cause);
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceManagementDAOFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceManagementDAOFactory.java
index dbc129a4e5b..65750447d55 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceManagementDAOFactory.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceManagementDAOFactory.java
@@ -1,7 +1,104 @@
+/*
+ * Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
+ *
+ * Licensed 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.mobile.impl.dao;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+import org.wso2.carbon.device.mgt.mobile.impl.config.datasource.MobileDataSourceConfig;
+import org.wso2.carbon.device.mgt.mobile.impl.config.datasource.JNDILookupDefinition;
+import org.wso2.carbon.device.mgt.mobile.impl.dao.impl.MobileDeviceDAOImpl;
+import org.wso2.carbon.device.mgt.mobile.impl.dao.impl.MobileDeviceModelDAOImpl;
+import org.wso2.carbon.device.mgt.mobile.impl.dao.impl.MobileDeviceVendorDAOImpl;
+import org.wso2.carbon.device.mgt.mobile.impl.dao.impl.MobileOSVersionDAOImpl;
+import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDeviceManagementDAOUtil;
+
+import javax.sql.DataSource;
+import java.util.Hashtable;
+import java.util.List;
+
/**
- * Created by harshan on 12/15/14.
+ * Factory class used to create MobileDeviceManagement related DAO objects.
*/
public class MobileDeviceManagementDAOFactory {
+
+ private static DataSource dataSource;
+ private static final Log log = LogFactory.getLog(MobileDeviceManagementDAOFactory.class);
+
+ public static MobileDeviceDAO getMobileDeviceDAO() {
+ return new MobileDeviceDAOImpl(dataSource);
+ }
+
+ public static MobileDeviceModelDAO getMobileDeviceModelDAO() {
+ return new MobileDeviceModelDAOImpl(dataSource);
+ }
+
+ public static MobileDeviceVendorDAO getMobileDeviceVendorDAO() {
+ return new MobileDeviceVendorDAOImpl(dataSource);
+ }
+
+ public static MobileOSVersionDAO getMobileOSVersionDAO() {
+ return new MobileOSVersionDAOImpl(dataSource);
+ }
+
+ public static void init(MobileDataSourceConfig config) {
+ dataSource = resolveDataSource(config);
+ }
+
+ public static void init(DataSource dtSource) {
+ dataSource = dtSource;
+ }
+
+ /**
+ * Resolve data source from the data source definition
+ *
+ * @param config data source configuration
+ * @return data source resolved from the data source definition
+ */
+ private static DataSource resolveDataSource(MobileDataSourceConfig 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.getJndiLookupDefintion();
+ 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