diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/Device.java b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/Device.java
index cb0b2ebad..c00dd7457 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/Device.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.common/src/main/java/org/wso2/carbon/device/mgt/common/Device.java
@@ -15,7 +15,6 @@
*/
package org.wso2.carbon.device.mgt.common;
-import java.util.Date;
import java.util.List;
public class Device {
@@ -28,9 +27,9 @@ public class Device {
private String name;
- private Date dateOfEnrolment;
+ private Long dateOfEnrolment;
- private Date dateOfLastUpdate;
+ private Long dateOfLastUpdate;
private String ownership;
@@ -70,19 +69,19 @@ public class Device {
this.name = name;
}
- public Date getDateOfEnrolment() {
+ public Long getDateOfEnrolment() {
return dateOfEnrolment;
}
- public void setDateOfEnrolment(Date dateOfEnrolment) {
+ public void setDateOfEnrolment(Long dateOfEnrolment) {
this.dateOfEnrolment = dateOfEnrolment;
}
- public Date getDateOfLastUpdate() {
+ public Long getDateOfLastUpdate() {
return dateOfLastUpdate;
}
- public void setDateOfLastUpdate(Date dateOfLastUpdate) {
+ public void setDateOfLastUpdate(Long dateOfLastUpdate) {
this.dateOfLastUpdate = dateOfLastUpdate;
}
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 00ee94cd1..e839f5407 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
@@ -73,6 +73,11 @@
org.apache.maven.plugins
maven-surefire-plugin
2.18
+
+
+ src/test/resources/testng.xml
+
+
@@ -119,6 +124,19 @@
org.jboss.spec.javax.transaction
jboss-transaction-api_1.1_spec
+
+ commons-dbcp
+ commons-dbcp
+ 1.2.2
+ test
+
+
+
+ com.h2database.wso2
+ h2-database-engine
+ test
+
+
org.testng
testng
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 5bf4335db..2c9cb0d58 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
@@ -33,6 +33,8 @@ public interface DeviceDAO {
void deleteDevice(Long deviceId) throws DeviceManagementDAOException;
- List getDeviceByDeviceId(Long deviceId) throws DeviceManagementDAOException;
+ Device getDeviceByDeviceId(Long deviceId) throws DeviceManagementDAOException;
+
+ List getDevices() throws DeviceManagementDAOException;
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java
index 90255603c..bc1ab0255 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dao/DeviceManagementDAOFactory.java
@@ -44,6 +44,10 @@ public class DeviceManagementDAOFactory {
dataSource = resolveDataSource(config);
}
+ public static void init(DataSource dtSource) {
+ dataSource = dtSource;
+ }
+
/**
* Resolve data source from the data source definition
*
@@ -78,4 +82,7 @@ public class DeviceManagementDAOFactory {
return dataSource;
}
+ public static DataSource getDataSource() {
+ return dataSource;
+ }
}
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 94bdc0604..ec48c4c10 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
@@ -61,10 +61,10 @@ public class DeviceDAOImpl implements DeviceDAO {
stmt.setLong(4, new Date().getTime());
stmt.setString(5, device.getOwnerShip());
stmt.setString(6, device.getStatus().toString());
- stmt.setString(7, device.getDeviceType());
+ stmt.setInt(7, device.getDeviceType());
stmt.setString(8, device.getDeviceIdentificationId());
stmt.setString(9, device.getOwnerId());
- stmt.setInt(10, DeviceManagementDAOUtil.getTenantId());
+ stmt.setInt(10, device.getTenantId());
stmt.executeUpdate();
} catch (SQLException e) {
String msg = "Error occurred while enrolling device '" + device.getName() + "'";
@@ -91,11 +91,16 @@ public class DeviceDAOImpl implements DeviceDAO {
}
@Override
- public List getDeviceByDeviceId(Long deviceId)
+ public Device getDeviceByDeviceId(Long deviceId)
throws DeviceManagementDAOException {
return null;
}
+ @Override
+ public List getDevices() throws DeviceManagementDAOException {
+ return null;
+ }
+
private Connection getConnection() throws DeviceManagementDAOException {
try {
return dataSource.getConnection();
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 b15f94d23..b71aaeaa1 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
@@ -113,7 +113,7 @@ public final class DeviceManagementDAOUtil {
deviceBO.setOwnerId(device.getOwner());
deviceBO.setOwnerShip(device.getOwnership());
deviceBO.setTenantId(DeviceManagementDAOUtil.getTenantId());
- deviceBO.setDeviceType(device.getType());
+ deviceBO.setDeviceType(Integer.parseInt(device.getType()));
return deviceBO;
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dto/Device.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dto/Device.java
index 44c9d3e57..21c951cfa 100644
--- a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dto/Device.java
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dto/Device.java
@@ -19,7 +19,6 @@
package org.wso2.carbon.device.mgt.core.dto;
import java.io.Serializable;
-import java.util.Date;
public class Device implements Serializable {
@@ -27,20 +26,20 @@ public class Device implements Serializable {
private String id;
private String description;
private String name;
- private Date dateOfEnrollment;
- private Date dateOfLastUpdate;
+ private Long dateOfEnrollment;
+ private Long dateOfLastUpdate;
private String deviceIdentificationId;
private Status status;
private String ownerId;
private String ownerShip;
private int tenantId;
- private String deviceType;
+ private Integer deviceType;
- public String getDeviceType() {
+ public Integer getDeviceType() {
return deviceType;
}
- public void setDeviceType(String deviceType) {
+ public void setDeviceType(Integer deviceType) {
this.deviceType = deviceType;
}
@@ -68,19 +67,19 @@ public class Device implements Serializable {
this.name = name;
}
- public Date getDateOfEnrollment() {
+ public Long getDateOfEnrollment() {
return dateOfEnrollment;
}
- public void setDateOfEnrollment(Date dateOfEnrollment) {
+ public void setDateOfEnrollment(Long dateOfEnrollment) {
this.dateOfEnrollment = dateOfEnrollment;
}
- public Date getDateOfLastUpdate() {
+ public Long getDateOfLastUpdate() {
return dateOfLastUpdate;
}
- public void setDateOfLastUpdate(Date dateOfLastUpdate) {
+ public void setDateOfLastUpdate(Long dateOfLastUpdate) {
this.dateOfLastUpdate = dateOfLastUpdate;
}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dto/OwnerShip.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dto/OwnerShip.java
new file mode 100644
index 000000000..a31756841
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/main/java/org/wso2/carbon/device/mgt/core/dto/OwnerShip.java
@@ -0,0 +1,6 @@
+package org.wso2.carbon.device.mgt.core.dto;
+
+
+public enum OwnerShip {
+ BYOD,COPE
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/DBTypes.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/DBTypes.java
new file mode 100644
index 000000000..203d580ce
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/DBTypes.java
@@ -0,0 +1,26 @@
+/*
+ * 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.
+ * 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.common;
+
+
+public enum DBTypes {
+ Oracle("Oracle"),H2("H2"),MySql("MySql");
+
+ String dbName ;
+ DBTypes(String dbStrName) {
+ dbName = dbStrName;
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/TestDBConfiguration.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/TestDBConfiguration.java
new file mode 100644
index 000000000..9689cd262
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/TestDBConfiguration.java
@@ -0,0 +1,87 @@
+/*
+ * 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.
+ * 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.common;
+
+import javax.xml.bind.annotation.XmlAttribute;
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+
+@XmlRootElement(name = "DBType")
+public class TestDBConfiguration {
+
+ private String connectionUrl;
+ private String driverClass;
+ private String userName;
+ private String pwd;
+
+ @Override public String toString() {
+ return "TestDBConfiguration{" +
+ "connectionUrl='" + connectionUrl + '\'' +
+ ", driverClass='" + driverClass + '\'' +
+ ", userName='" + userName + '\'' +
+ ", pwd='" + pwd + '\'' +
+ ", dbType='" + dbType + '\'' +
+ '}';
+ }
+
+ private String dbType;
+
+ @XmlElement(name = "connectionurl", nillable = false)
+ public String getConnectionUrl() {
+ return connectionUrl;
+ }
+
+ public void setConnectionUrl(String connectionUrl) {
+ this.connectionUrl = connectionUrl;
+ }
+
+ @XmlElement(name = "driverclass", nillable = false)
+ public String getDriverClass() {
+ return driverClass;
+ }
+
+ public void setDriverClass(String driverClass) {
+ this.driverClass = driverClass;
+ }
+
+ @XmlElement(name = "userName", nillable = false)
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ @XmlElement(name = "pwd", nillable = false)
+ public String getPwd() {
+ return pwd;
+ }
+
+ public void setPwd(String pwd) {
+ this.pwd = pwd;
+ }
+
+ @XmlAttribute(name = "typeName")
+ public String getDbType() {
+ return dbType;
+ }
+
+ public void setDbType(String dbType) {
+ this.dbType = dbType;
+ }
+
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/TestDBConfigurations.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/TestDBConfigurations.java
new file mode 100644
index 000000000..7c7fdfb73
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/common/TestDBConfigurations.java
@@ -0,0 +1,36 @@
+/*
+ * 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.
+ * 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.common;
+
+import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlRootElement;
+import java.util.List;
+
+@XmlRootElement(name = "DeviceMgtTestDBConfigurations")
+public class TestDBConfigurations {
+
+ private List dbTypesList;
+
+ @XmlElement(name = "DBType")
+ public List getDbTypesList() {
+ return dbTypesList;
+ }
+
+ public void setDbTypesList(List dbTypesList) {
+ this.dbTypesList = dbTypesList;
+ }
+
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAOTest.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAOTest.java
new file mode 100644
index 000000000..980527aae
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/dao/DeviceDAOTest.java
@@ -0,0 +1,28 @@
+/*
+ * 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.
+ * 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.dao;
+
+import org.testng.Assert;
+
+public class DeviceDAOTest {
+
+ // @Test
+ public void setUp() throws Exception {
+ // log.info("Testing started.");
+ Assert.assertEquals("A", "A");
+ }
+
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/dao/DeviceMgtDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/dao/DeviceMgtDAOTestSuite.java
new file mode 100644
index 000000000..116a24907
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/java/org/wso2/carbon/device/mgt/core/dao/DeviceMgtDAOTestSuite.java
@@ -0,0 +1,174 @@
+/*
+ * 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.
+ * 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.dao;
+
+import org.apache.commons.dbcp.BasicDataSource;
+import org.testng.Assert;
+import org.testng.annotations.BeforeClass;
+import org.testng.annotations.Parameters;
+import org.testng.annotations.Test;
+import org.w3c.dom.Document;
+import org.wso2.carbon.device.mgt.common.DeviceManagementException;
+import org.wso2.carbon.device.mgt.core.common.DBTypes;
+import org.wso2.carbon.device.mgt.core.common.TestDBConfiguration;
+import org.wso2.carbon.device.mgt.core.common.TestDBConfigurations;
+import org.wso2.carbon.device.mgt.core.dto.Device;
+import org.wso2.carbon.device.mgt.core.dto.DeviceType;
+import org.wso2.carbon.device.mgt.core.dto.OwnerShip;
+import org.wso2.carbon.device.mgt.core.dto.Status;
+import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
+
+import javax.xml.bind.JAXBContext;
+import javax.xml.bind.JAXBException;
+import javax.xml.bind.Unmarshaller;
+import java.io.File;
+import java.sql.*;
+import java.util.Date;
+import java.util.Iterator;
+
+public class DeviceMgtDAOTestSuite {
+
+ private TestDBConfiguration testDBConfiguration;
+ private DeviceType devType = new DeviceType();
+ private Connection conn = null;
+ private Statement stmt = null;
+
+ @BeforeClass
+ @Parameters("dbType")
+ public void setUpDB(String dbTypeStr) throws Exception {
+
+ DBTypes dbType = DBTypes.valueOf(dbTypeStr);
+ testDBConfiguration = getTestDBConfiguration(dbType);
+
+ switch (dbType) {
+ case H2:
+ createH2DB(testDBConfiguration);
+ BasicDataSource testDataSource = new BasicDataSource();
+ testDataSource.setDriverClassName(testDBConfiguration.getDriverClass());
+ testDataSource.setUrl(testDBConfiguration.getConnectionUrl());
+ testDataSource.setUsername(testDBConfiguration.getUserName());
+ testDataSource.setPassword(testDBConfiguration.getPwd());
+ DeviceManagementDAOFactory.init(testDataSource);
+ default:
+ }
+ }
+
+ private TestDBConfiguration getTestDBConfiguration(DBTypes dbType)
+ throws DeviceManagementDAOException, DeviceManagementException {
+
+ File deviceMgtConfig = new File("src/test/resources/testdbconfig.xml");
+ Document doc = null;
+ testDBConfiguration = null;
+ TestDBConfigurations testDBConfigurations = null;
+
+ doc = DeviceManagerUtil.convertToDocument(deviceMgtConfig);
+ JAXBContext testDBContext = null;
+
+ try {
+ testDBContext = JAXBContext.newInstance(TestDBConfigurations.class);
+ Unmarshaller unmarshaller = testDBContext.createUnmarshaller();
+ testDBConfigurations = (TestDBConfigurations) unmarshaller.unmarshal(doc);
+ } catch (JAXBException e) {
+ throw new DeviceManagementDAOException("Error parsing test db configurations", e);
+ }
+
+ Iterator itrDBConfigs = testDBConfigurations.getDbTypesList().iterator();
+ while (itrDBConfigs.hasNext()) {
+ testDBConfiguration = itrDBConfigs.next();
+ if (testDBConfiguration.getDbType().equals(dbType.toString())) {
+ break;
+ }
+ }
+
+ return testDBConfiguration;
+ }
+
+ private void createH2DB(TestDBConfiguration testDBConf) throws Exception {
+
+ Class.forName(testDBConf.getDriverClass());
+ conn = DriverManager.getConnection(testDBConf.getConnectionUrl());
+ stmt = conn.createStatement();
+ stmt.executeUpdate("RUNSCRIPT FROM './src/test/resources/sql/CreateH2TestDB.sql'");
+ stmt.close();
+ conn.close();
+
+ }
+
+ @Test
+ public void addDeviceTypeTest() throws DeviceManagementDAOException, DeviceManagementException {
+
+ DeviceTypeDAO deviceTypeMgtDAO = DeviceManagementDAOFactory.getDeviceTypeDAO();
+
+ devType.setName("IOS");
+
+ deviceTypeMgtDAO.addDeviceType(devType);
+ Long deviceTypeId = null;
+
+ try {
+ conn = DeviceManagementDAOFactory.getDataSource().getConnection();
+ stmt = conn.createStatement();
+ ResultSet resultSet = stmt.executeQuery("SELECT ID,NAME from DM_DEVICE_TYPE DType where DType.NAME='IOS'");
+
+ while (resultSet.next()) {
+ deviceTypeId = resultSet.getLong(1);
+ }
+ conn.close();
+ } catch (SQLException sqlEx) {
+ throw new DeviceManagementDAOException("error in fetch device type by name IOS", sqlEx);
+ }
+
+ Assert.assertNotNull(deviceTypeId, "Device Type Id is null");
+ devType.setId(deviceTypeId);
+
+ }
+
+ @Test(dependsOnMethods = { "addDeviceTypeTest" })
+ public void addDeviceTest() throws DeviceManagementDAOException, DeviceManagementException {
+
+ DeviceDAO deviceMgtDAO = DeviceManagementDAOFactory.getDeviceDAO();
+
+ Device device = new Device();
+
+ device.setDateOfEnrollment(new Date().getTime());
+ device.setDateOfLastUpdate(new Date().getTime());
+ device.setDescription("test description");
+ device.setStatus(Status.ACTIVE);
+ device.setDeviceIdentificationId("111");
+ device.setDeviceType(devType.getId().intValue());
+ device.setOwnerShip(OwnerShip.BYOD.toString());
+ device.setOwnerId("111");
+ device.setTenantId(-1234);
+ deviceMgtDAO.addDevice(device);
+
+ Long deviceId = null;
+ try {
+ conn = DeviceManagementDAOFactory.getDataSource().getConnection();
+ stmt = conn.createStatement();
+ ResultSet resultSet = stmt
+ .executeQuery("SELECT ID from DM_DEVICE DEVICE where DEVICE.DEVICE_IDENTIFICATION='111'");
+
+ while (resultSet.next()) {
+ deviceId = resultSet.getLong(1);
+ }
+ conn.close();
+ } catch (SQLException sqlEx) {
+ throw new DeviceManagementDAOException("error in fetch device by device identification id", sqlEx);
+ }
+
+ Assert.assertNotNull(deviceId, "Device Id is null");
+ }
+
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/CreateH2TestDB.sql b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/CreateH2TestDB.sql
new file mode 100644
index 000000000..afcd19ca0
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/sql/CreateH2TestDB.sql
@@ -0,0 +1,24 @@
+CREATE TABLE IF NOT EXISTS DM_DEVICE_TYPE
+(
+ ID INT auto_increment NOT NULL,
+ NAME VARCHAR(300) NULL DEFAULT NULL,
+ PRIMARY KEY (ID)
+);
+
+CREATE TABLE IF NOT EXISTS DM_DEVICE
+(
+ ID INT auto_increment NOT NULL,
+ DESCRIPTION TEXT NULL DEFAULT NULL,
+ NAME VARCHAR(100) NULL DEFAULT NULL,
+ DATE_OF_ENROLLMENT BIGINT NULL DEFAULT NULL,
+ DATE_OF_LAST_UPDATE BIGINT NULL DEFAULT NULL,
+ OWNERSHIP VARCHAR(45) NULL DEFAULT NULL,
+ STATUS VARCHAR(15) NULL DEFAULT NULL,
+ DEVICE_TYPE_ID INT(11) NULL DEFAULT NULL,
+ DEVICE_IDENTIFICATION VARCHAR(300) NULL DEFAULT NULL,
+ OWNER VARCHAR(45) NULL DEFAULT NULL,
+ TENANT_ID INTEGER DEFAULT 0,
+ PRIMARY KEY (ID),
+ CONSTRAINT fk_DM_DEVICE_DM_DEVICE_TYPE2 FOREIGN KEY (DEVICE_TYPE_ID )
+ REFERENCES DM_DEVICE_TYPE (ID ) ON DELETE NO ACTION ON UPDATE NO ACTION
+);
\ No newline at end of file
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testdbconfig.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testdbconfig.xml
new file mode 100644
index 000000000..34e89a139
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testdbconfig.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+ jdbc:h2:mem:cdm-test-db;DB_CLOSE_DELAY=-1
+ org.h2.Driver
+
+
+
+
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml
new file mode 100644
index 000000000..1bf0f08f8
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.core/src/test/resources/testng.xml
@@ -0,0 +1,28 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
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 648fd2c92..3246b21f2 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
@@ -25,7 +25,7 @@ import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService;
import java.util.List;
/**
- * This represents the Android implementation of DeviceManagerService. *
+ * This represents the Android implementation of DeviceManagerService.
*/
public class AndroidDeviceManagerService implements DeviceManagerService {
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
new file mode 100644
index 000000000..1d4ab3ab8
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAO.java
@@ -0,0 +1,34 @@
+/*
+ * 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.wso2.carbon.device.mgt.mobile.impl.dto.MobileDevice;
+
+/**
+ * This class represents the key operations associated with persisting mobile-device related information.
+ */
+public interface MobileDeviceDAO {
+
+ MobileDevice getDevice(String deviceId) throws MobileDeviceManagementDAOException;
+
+ void addDevice(MobileDevice mobileDevice) throws MobileDeviceManagementDAOException;
+
+ void updateDevice(MobileDevice mobileDevice) throws MobileDeviceManagementDAOException;
+
+ void deleteDevice(String deviceId) throws MobileDeviceManagementDAOException;
+
+}
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
new file mode 100644
index 000000000..8047d932a
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceManagementDAOException.java
@@ -0,0 +1,75 @@
+/*
+ * 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;
+
+/**
+ * Custom exception class for mobile device specific data access related exceptions.
+ */
+public class MobileDeviceManagementDAOException extends Exception {
+
+ private String message;
+ private static final long serialVersionUID = 2021891706072918865L;
+
+ /**
+ * Constructs a new exception with the specified detail message and nested exception.
+ *
+ * @param message error message
+ * @param nestedException exception
+ */
+ public MobileDeviceManagementDAOException(String message, Exception nestedException) {
+ super(message, nestedException);
+ setErrorMessage(message);
+ }
+
+ /**
+ * Constructs a new exception with the specified detail message and cause.
+ *
+ * @param message the detail message.
+ * @param cause the cause of this exception.
+ */
+ public MobileDeviceManagementDAOException(String message, Throwable cause) {
+ super(message, cause);
+ setErrorMessage(message);
+ }
+
+ /**
+ * Constructs a new exception with the specified detail message
+ *
+ * @param message the detail message.
+ */
+ public MobileDeviceManagementDAOException(String message) {
+ super(message);
+ setErrorMessage(message);
+ }
+
+ /**
+ * Constructs a new exception with the specified and cause.
+ *
+ * @param cause the cause of this exception.
+ */
+ public MobileDeviceManagementDAOException(Throwable cause) {
+ super(cause);
+ }
+
+ public String getMessage() {
+ return message;
+ }
+
+ public void setErrorMessage(String errorMessage) {
+ this.message = errorMessage;
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceModelDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceModelDAO.java
new file mode 100644
index 000000000..768f29723
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceModelDAO.java
@@ -0,0 +1,34 @@
+/*
+ * 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.wso2.carbon.device.mgt.mobile.impl.dto.MobileDeviceModel;
+
+/**
+ * This class represents the key operations associated with persisting mobile-device model related
+ * information.
+ */
+public interface MobileDeviceModelDAO {
+
+ MobileDeviceModel getDeviceModel(String modelId) throws MobileDeviceManagementDAOException;
+
+ void addDeviceModel(MobileDeviceModel deviceModel) throws MobileDeviceManagementDAOException;
+
+ void updateDeviceModel(MobileDeviceModel deviceModel) throws MobileDeviceManagementDAOException;
+
+ void deleteDeviceModel(String modelId) throws MobileDeviceManagementDAOException;
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceVendorDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceVendorDAO.java
new file mode 100644
index 000000000..4a4d24bf7
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceVendorDAO.java
@@ -0,0 +1,35 @@
+/*
+ * 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.wso2.carbon.device.mgt.mobile.impl.dto.MobileDeviceVendor;
+
+/**
+ * This class represents the key operations associated with persisting mobile-device vendor
+ * related information.
+ */
+public interface MobileDeviceVendorDAO {
+
+ MobileDeviceVendor getDeviceModel(String vendorId) throws MobileDeviceManagementDAOException;
+
+ void addDeviceVendor(MobileDeviceVendor deviceVendor) throws MobileDeviceManagementDAOException;
+
+ void updateDeviceVendor(MobileDeviceVendor deviceVendor)
+ throws MobileDeviceManagementDAOException;
+
+ void deleteDeviceVendor(String vendorId) throws MobileDeviceManagementDAOException;
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOSVersionDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOSVersionDAO.java
new file mode 100644
index 000000000..dcffc528b
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOSVersionDAO.java
@@ -0,0 +1,34 @@
+/*
+ * 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.wso2.carbon.device.mgt.mobile.impl.dto.MobileOSVersion;
+
+/**
+ * This class represents the key operations associated with persisting mobile-device OS version
+ * related information.
+ */
+public interface MobileOSVersionDAO {
+
+ MobileOSVersion getMobileOSVersion(String versionId) throws MobileDeviceManagementDAOException;
+
+ void addMobileOSVersion(MobileOSVersion osVersion) throws MobileDeviceManagementDAOException;
+
+ void updateMobileOSVersion(MobileOSVersion osVersion) throws MobileDeviceManagementDAOException;
+
+ void deleteMobileOSVersion(String versionId) throws MobileDeviceManagementDAOException;
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileDeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileDeviceDAOImpl.java
new file mode 100644
index 000000000..cdd18e69c
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileDeviceDAOImpl.java
@@ -0,0 +1,48 @@
+/*
+ * 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.impl;
+
+import org.wso2.carbon.device.mgt.mobile.impl.dao.MobileDeviceDAO;
+import org.wso2.carbon.device.mgt.mobile.impl.dao.MobileDeviceManagementDAOException;
+import org.wso2.carbon.device.mgt.mobile.impl.dto.MobileDevice;
+
+/**
+ * Implementation of MobileDeviceDAO.
+ */
+public class MobileDeviceDAOImpl implements MobileDeviceDAO {
+ @Override
+ public MobileDevice getDevice(String deviceId) throws MobileDeviceManagementDAOException {
+ return null;
+ }
+
+ @Override
+ public void addDevice(MobileDevice mobileDevice)
+ throws MobileDeviceManagementDAOException {
+
+ }
+
+ @Override
+ public void updateDevice(MobileDevice mobileDevice)
+ throws MobileDeviceManagementDAOException {
+
+ }
+
+ @Override
+ public void deleteDevice(String deviceId) throws MobileDeviceManagementDAOException {
+
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileDeviceModelImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileDeviceModelImpl.java
new file mode 100644
index 000000000..67179794c
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileDeviceModelImpl.java
@@ -0,0 +1,50 @@
+/*
+ * 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.impl;
+
+import org.wso2.carbon.device.mgt.mobile.impl.dao.MobileDeviceManagementDAOException;
+import org.wso2.carbon.device.mgt.mobile.impl.dao.MobileDeviceModelDAO;
+import org.wso2.carbon.device.mgt.mobile.impl.dto.MobileDeviceModel;
+
+/**
+ * Implementation of MobileDeviceModel.
+ */
+public class MobileDeviceModelImpl implements MobileDeviceModelDAO {
+ @Override
+ public MobileDeviceModel getDeviceModel(String modelId)
+ throws MobileDeviceManagementDAOException {
+ return null;
+ }
+
+ @Override
+ public void addDeviceModel(MobileDeviceModel deviceModel)
+ throws MobileDeviceManagementDAOException {
+
+ }
+
+ @Override
+ public void updateDeviceModel(MobileDeviceModel deviceModel)
+ throws MobileDeviceManagementDAOException {
+
+ }
+
+ @Override
+ public void deleteDeviceModel(String modelId)
+ throws MobileDeviceManagementDAOException {
+
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileDeviceVendorDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileDeviceVendorDAOImpl.java
new file mode 100644
index 000000000..0f4659d97
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileDeviceVendorDAOImpl.java
@@ -0,0 +1,50 @@
+/*
+ * 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.impl;
+
+import org.wso2.carbon.device.mgt.mobile.impl.dao.MobileDeviceManagementDAOException;
+import org.wso2.carbon.device.mgt.mobile.impl.dao.MobileDeviceVendorDAO;
+import org.wso2.carbon.device.mgt.mobile.impl.dto.MobileDeviceVendor;
+
+/**
+ * Implementation of MobileDeviceVendorDAO.
+ */
+public class MobileDeviceVendorDAOImpl implements MobileDeviceVendorDAO {
+ @Override
+ public MobileDeviceVendor getDeviceModel(String vendorId)
+ throws MobileDeviceManagementDAOException {
+ return null;
+ }
+
+ @Override
+ public void addDeviceVendor(MobileDeviceVendor deviceVendor)
+ throws MobileDeviceManagementDAOException {
+
+ }
+
+ @Override
+ public void updateDeviceVendor(MobileDeviceVendor deviceVendor)
+ throws MobileDeviceManagementDAOException {
+
+ }
+
+ @Override
+ public void deleteDeviceVendor(String vendorId)
+ throws MobileDeviceManagementDAOException {
+
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileOSVersionDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileOSVersionDAOImpl.java
new file mode 100644
index 000000000..6bfaccad0
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/impl/MobileOSVersionDAOImpl.java
@@ -0,0 +1,46 @@
+/*
+ * 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.impl;
+
+import org.wso2.carbon.device.mgt.mobile.impl.dao.MobileDeviceManagementDAOException;
+import org.wso2.carbon.device.mgt.mobile.impl.dao.MobileOSVersionDAO;
+import org.wso2.carbon.device.mgt.mobile.impl.dto.MobileOSVersion;
+
+/**
+ * Implementation of MobileOSVersionDAO.
+ */
+public class MobileOSVersionDAOImpl implements MobileOSVersionDAO {
+ @Override public MobileOSVersion getMobileOSVersion(String versionId)
+ throws MobileDeviceManagementDAOException {
+ return null;
+ }
+
+ @Override public void addMobileOSVersion(MobileOSVersion osVersion)
+ throws MobileDeviceManagementDAOException {
+
+ }
+
+ @Override public void updateMobileOSVersion(MobileOSVersion osVersion)
+ throws MobileDeviceManagementDAOException {
+
+ }
+
+ @Override public void deleteMobileOSVersion(String versionId)
+ throws MobileDeviceManagementDAOException {
+
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/util/MobileDeviceManagementDAOUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/util/MobileDeviceManagementDAOUtil.java
new file mode 100644
index 000000000..453a3918d
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dao/util/MobileDeviceManagementDAOUtil.java
@@ -0,0 +1,23 @@
+/*
+ * 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.util;
+
+/**
+ * Utility method required by MobileDeviceManagement DAO classes.
+ */
+public class MobileDeviceManagementDAOUtil {
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileDevice.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileDevice.java
new file mode 100644
index 000000000..f7b1d14b1
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileDevice.java
@@ -0,0 +1,89 @@
+/*
+ * 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.dto;
+
+import java.io.Serializable;
+
+/**
+ * DTO of MobileDevice.
+ */
+public class MobileDevice implements Serializable {
+
+ private String mobileDeviceId;
+ private String regId;
+ private String imei;
+ private String imsi;
+ private int osVersionId;
+ private int modelId;
+ private int vendorId;
+
+ public String getMobileDeviceId() {
+ return mobileDeviceId;
+ }
+
+ public void setMobileDeviceId(String mobileDeviceId) {
+ this.mobileDeviceId = mobileDeviceId;
+ }
+
+ public String getRegId() {
+ return regId;
+ }
+
+ public void setRegId(String regId) {
+ this.regId = regId;
+ }
+
+ public String getImei() {
+ return imei;
+ }
+
+ public void setImei(String imei) {
+ this.imei = imei;
+ }
+
+ public String getImsi() {
+ return imsi;
+ }
+
+ public void setImsi(String imsi) {
+ this.imsi = imsi;
+ }
+
+ public int getOsVersionId() {
+ return osVersionId;
+ }
+
+ public void setOsVersionId(int osVersionId) {
+ this.osVersionId = osVersionId;
+ }
+
+ public int getModelId() {
+ return modelId;
+ }
+
+ public void setModelId(int modelId) {
+ this.modelId = modelId;
+ }
+
+ public int getVendorId() {
+ return vendorId;
+ }
+
+ public void setVendorId(int vendorId) {
+ this.vendorId = vendorId;
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileDeviceModel.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileDeviceModel.java
new file mode 100644
index 000000000..b5d5e5ebb
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileDeviceModel.java
@@ -0,0 +1,44 @@
+/*
+ * 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.dto;
+
+import java.io.Serializable;
+
+/**
+ * DTO of MobileDeviceModel.
+ */
+public class MobileDeviceModel implements Serializable {
+
+ private int modelId;
+ private String model;
+
+ public int getModelId() {
+ return modelId;
+ }
+
+ public void setModelId(int modelId) {
+ this.modelId = modelId;
+ }
+
+ public String getModel() {
+ return model;
+ }
+
+ public void setModel(String model) {
+ this.model = model;
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileDeviceVendor.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileDeviceVendor.java
new file mode 100644
index 000000000..2d48af52a
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileDeviceVendor.java
@@ -0,0 +1,44 @@
+/*
+ * 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.dto;
+
+import java.io.Serializable;
+
+/**
+ * DTO of MobileVendor.
+ */
+public class MobileDeviceVendor implements Serializable {
+
+ private int vendorId;
+ private String vendor;
+
+ public int getVendorId() {
+ return vendorId;
+ }
+
+ public void setVendorId(int vendorId) {
+ this.vendorId = vendorId;
+ }
+
+ public String getVendor() {
+ return vendor;
+ }
+
+ public void setVendor(String vendor) {
+ this.vendor = vendor;
+ }
+}
diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileOSVersion.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileOSVersion.java
new file mode 100644
index 000000000..32a56b6fc
--- /dev/null
+++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/dto/MobileOSVersion.java
@@ -0,0 +1,44 @@
+/*
+ * 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.dto;
+
+import java.io.Serializable;
+
+/**
+ * DTO of MobileOSVersion.
+ */
+public class MobileOSVersion implements Serializable {
+
+ private int osVersionId;
+ private String osVersion;
+
+ public int getOsVersionId() {
+ return osVersionId;
+ }
+
+ public void setOsVersionId(int osVersionId) {
+ this.osVersionId = osVersionId;
+ }
+
+ public String getOsVersion() {
+ return osVersion;
+ }
+
+ public void setOsVersion(String osVersion) {
+ this.osVersion = osVersion;
+ }
+}
diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml
index bcfbf8edf..a154b9ef3 100644
--- a/components/device-mgt/pom.xml
+++ b/components/device-mgt/pom.xml
@@ -69,6 +69,11 @@
org.eclipse.osgi.services
3.3.100.v20120522-1822
+
+ com.h2database.wso2
+ h2-database-engine
+ ${orbit.version.h2.engine}
+
@@ -91,5 +96,7 @@
-
+
+ 1.2.140.wso2v3
+
diff --git a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Authentication.java b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Authentication.java
index 9f04a3110..9b81095ac 100644
--- a/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Authentication.java
+++ b/product/modules/agents/android/jax-rs/src/main/java/cdm/api/android/Authentication.java
@@ -39,7 +39,10 @@ public class Authentication {
@POST
@Path("/device/license")
+ @Produces("application/json")
public String getLicense() {
- return "License Agreement";
+ JsonObject result = new JsonObject();
+ result.addProperty("licenseText", "License Agreement");
+ return result.toString();
}
}