From 3b1e9ebfd53158598cab9ccd286f1b38080b1e58 Mon Sep 17 00:00:00 2001 From: harshanL Date: Thu, 12 Feb 2015 11:55:24 +0530 Subject: [PATCH 1/8] Added unit-tests for mobile related dao layer --- .../dao/MobileDeviceOperationMappingDAO.java | 4 +- .../mgt/mobile/dao/MobileFeatureDAO.java | 4 +- .../mobile/dao/MobileFeaturePropertyDAO.java | 23 +- .../mobile/dao/impl/MobileDeviceDAOImpl.java | 19 +- .../MobileDeviceOperationMappingDAOImpl.java | 2 +- .../mobile/dao/impl/MobileFeatureDAOImpl.java | 49 +- .../impl/MobileFeaturePropertyDAOImpl.java | 29 +- .../dao/impl/MobileOperationDAOImpl.java | 8 +- .../AndroidMobileOperationManager.java | 4 +- .../MobileDeviceManagementConfigTests.java | 180 ++++---- .../device/mgt/mobile/impl/TestUtils.java | 57 --- .../impl/dao/MobileDeviceDAOTestSuite.java | 232 ++++++++++ .../MobileDeviceOperationDAOTestSuite.java | 22 - ...ileDeviceOperationMappingDAOTestSuite.java | 429 +++++++++++++++++ .../impl/dao/MobileFeatureDAOTestSuite.java | 436 ++++++++---------- .../MobileFeaturePropertyDAOTestSuite.java | 211 +++++++++ .../impl/dao/MobileOperationDAOTestSuite.java | 161 +++++++ .../MobileOperationPropertyDAOTestSuite.java | 210 +++++++++ .../impl/dao/util/MobileDatabaseUtils.java | 111 +++++ .../src/test/resources/sql/CreateH2TestDB.sql | 5 +- .../src/test/resources/testng.xml | 9 +- 21 files changed, 1756 insertions(+), 449 deletions(-) delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/TestUtils.java delete mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationDAOTestSuite.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationMappingDAOTestSuite.java create mode 100644 components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/util/MobileDatabaseUtils.java diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java index db7baefd24..f55660e7b1 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java @@ -93,12 +93,12 @@ public interface MobileDeviceOperationMappingDAO { throws MobileDeviceManagementDAOException; /** - * Retrieves all the of mobile device operation mappings relavent to the given mobile device. + * Retrieves all the of mobile device operation mappings relevant to the given mobile device. * * @return Device operation mapping object list. * @throws MobileDeviceManagementDAOException */ - List getAllMobileDeviceOperationNappingsOfDevice(String deviceId) + List getAllMobileDeviceOperationMappingsOfDevice(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/dao/MobileFeatureDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeatureDAO.java index 6d56311954..0248c1a25a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeatureDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeatureDAO.java @@ -32,10 +32,10 @@ public interface MobileFeatureDAO { * Add a new feature to feature table. * * @param mobileFeature Feature object that holds data related to the feature to be inserted. - * @return The status of the operation. If the insert was successful or not. + * @return The id of inserted feature. * @throws MobileDeviceManagementDAOException */ - boolean addMobileFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException; + int addMobileFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException; /** * Update a feature in the feature table. diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java index c547e15e83..e4414c6e6c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java @@ -38,7 +38,7 @@ public interface MobileFeaturePropertyDAO { throws MobileDeviceManagementDAOException; /** - * Update a feature property in the feature property table. + * Updates a feature property in the feature property table. * * @param mobileFeatureProperty Feature property object that holds data has to be updated. * @return The status of the operation. If the update was successful or not. @@ -48,7 +48,7 @@ public interface MobileFeaturePropertyDAO { throws MobileDeviceManagementDAOException; /** - * Delete a given feature property from feature property table. + * Deletes a given feature property from feature property table. * * @param property Property of the feature property to be deleted. * @return The status of the operation. If the operationId was successful or not. @@ -57,22 +57,33 @@ public interface MobileFeaturePropertyDAO { boolean deleteMobileFeatureProperty(String property) throws MobileDeviceManagementDAOException; /** - * Retrieve a given feature property from feature property table. + * Deletes feature properties of a feature from feature property table. + * + * @param featureId Feature-id of the feature corresponding properties should be deleted. + * @return The status of the operation. If the operationId was successful or not. + * @throws MobileDeviceManagementDAOException + */ + boolean deleteMobileFeaturePropertiesOfFeature(Integer featureId) + throws MobileDeviceManagementDAOException; + + /** + * Retrieves a given feature property from feature property table. * * @param property Property of the feature property to be retrieved. * @return Feature property object that holds data of the feature property represented by propertyId. * @throws MobileDeviceManagementDAOException */ - MobileFeatureProperty getMobileFeatureProperty(String property) throws MobileDeviceManagementDAOException; + MobileFeatureProperty getMobileFeatureProperty(String property) + throws MobileDeviceManagementDAOException; /** - * Retrieve a list of feature property corresponds to a feature id . + * Retrieves a list of feature property corresponds to a feature id . * * @param featureId feature id of the feature property to be retrieved. * @return Feature property object that holds data of the feature property represented by propertyId. * @throws MobileDeviceManagementDAOException */ - List getFeaturePropertyOfFeature(Integer featureId) + List getFeaturePropertiesOfFeature(Integer featureId) throws MobileDeviceManagementDAOException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java index 7e60cb95d3..55ec01944a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java @@ -53,11 +53,12 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { try { conn = this.getConnection(); String selectDBQuery = - "SELECT * FROM MBL_DEVICE WHERE MOBILE_DEVICE_ID = ?"; + "SELECT MOBILE_DEVICE_ID, REG_ID, IMEI, IMSI, OS_VERSION,DEVICE_MODEL, VENDOR, " + + "LATITUDE, LONGITUDE FROM MBL_DEVICE WHERE MOBILE_DEVICE_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setString(1, deviceId); ResultSet resultSet = stmt.executeQuery(); - while (resultSet.next()) { + if (resultSet.next()) { mobileDevice = new MobileDevice(); mobileDevice.setMobileDeviceId(resultSet.getString(1)); mobileDevice.setRegId(resultSet.getString(2)); @@ -68,7 +69,6 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { mobileDevice.setVendor(resultSet.getString(7)); mobileDevice.setLatitude(resultSet.getString(8)); mobileDevice.setLongitude(resultSet.getString(9)); - break; } } catch (SQLException e) { String msg = "Error occurred while fetching mobile device '" + @@ -104,7 +104,7 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { stmt.setString(8, mobileDevice.getLatitude()); stmt.setString(9, mobileDevice.getLongitude()); int rows = stmt.executeUpdate(); - if(rows>0){ + if (rows > 0) { status = true; } } catch (SQLException e) { @@ -140,7 +140,7 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { stmt.setString(8, mobileDevice.getLongitude()); stmt.setString(9, mobileDevice.getMobileDeviceId()); int rows = stmt.executeUpdate(); - if(rows>0){ + if (rows > 0) { status = true; } } catch (SQLException e) { @@ -164,9 +164,9 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { String deleteDBQuery = "DELETE FROM MBL_DEVICE WHERE MOBILE_DEVICE_ID = ?"; stmt = conn.prepareStatement(deleteDBQuery); - stmt.setString(1,deviceId); + stmt.setString(1, deviceId); int rows = stmt.executeUpdate(); - if(rows>0){ + if (rows > 0) { status = true; } } catch (SQLException e) { @@ -184,11 +184,12 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { Connection conn = null; PreparedStatement stmt = null; MobileDevice mobileDevice; - List mobileDevices=new ArrayList(); + List mobileDevices = new ArrayList(); try { conn = this.getConnection(); String selectDBQuery = - "SELECT * FROM MBL_DEVICE"; + "SELECT MOBILE_DEVICE_ID, REG_ID, IMEI, IMSI, OS_VERSION,DEVICE_MODEL, VENDOR," + + "LATITUDE, LONGITUDE FROM MBL_DEVICE"; stmt = conn.prepareStatement(selectDBQuery); ResultSet resultSet = stmt.executeQuery(); while (resultSet.next()) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java index c588d7bdc9..e1038fc361 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java @@ -249,7 +249,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio } @Override - public List getAllMobileDeviceOperationNappingsOfDevice( + public List getAllMobileDeviceOperationMappingsOfDevice( String deviceId) throws MobileDeviceManagementDAOException { Connection conn = null; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java index 47cfbce9a5..78d43352fa 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java @@ -46,8 +46,8 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { } @Override - public boolean addMobileFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException { - boolean status = false; + public int addMobileFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException { + int status = 0; Connection conn = null; PreparedStatement stmt = null; try { @@ -62,7 +62,10 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { stmt.setString(4, mobileFeature.getDeviceType()); int rows = stmt.executeUpdate(); if (rows > 0) { - status = true; + ResultSet rs = stmt.getGeneratedKeys(); + if (rs != null && rs.next()) { + status = rs.getInt(1); + } } } catch (SQLException e) { String msg = "Error occurred while adding feature code - '" + @@ -167,17 +170,17 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { try { conn = this.getConnection(); String selectDBQuery = - "SELECT FEATURE_ID,DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE CODE = ?"; + "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE WHERE CODE = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setString(1, featureCode); ResultSet resultSet = stmt.executeQuery(); while (resultSet.next()) { mobileFeature = new MobileFeature(); mobileFeature.setId(resultSet.getInt(1)); - mobileFeature.setDeviceType(resultSet.getString(2)); - mobileFeature.setCode(resultSet.getString(3)); - mobileFeature.setName(resultSet.getString(4)); - mobileFeature.setDescription(resultSet.getString(5)); + mobileFeature.setCode(resultSet.getString(2)); + mobileFeature.setName(resultSet.getString(3)); + mobileFeature.setDescription(resultSet.getString(4)); + mobileFeature.setDeviceType(resultSet.getString(5)); break; } } catch (SQLException e) { @@ -200,17 +203,17 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { try { conn = this.getConnection(); String selectDBQuery = - "SELECT FEATURE_ID,DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE FEATURE_ID = ?"; + "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE WHERE FEATURE_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setInt(1, featureID); ResultSet resultSet = stmt.executeQuery(); while (resultSet.next()) { mobileFeature = new MobileFeature(); mobileFeature.setId(resultSet.getInt(1)); - mobileFeature.setDeviceType(resultSet.getString(2)); - mobileFeature.setCode(resultSet.getString(3)); - mobileFeature.setName(resultSet.getString(4)); - mobileFeature.setDescription(resultSet.getString(5)); + mobileFeature.setCode(resultSet.getString(2)); + mobileFeature.setName(resultSet.getString(3)); + mobileFeature.setDescription(resultSet.getString(4)); + mobileFeature.setDeviceType(resultSet.getString(5)); break; } } catch (SQLException e) { @@ -233,16 +236,16 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { try { conn = this.getConnection(); String selectDBQuery = - "SELECT FEATURE_ID,DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE"; + "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE"; stmt = conn.prepareStatement(selectDBQuery); ResultSet resultSet = stmt.executeQuery(); while (resultSet.next()) { mobileFeature = new MobileFeature(); mobileFeature.setId(resultSet.getInt(1)); - mobileFeature.setDeviceType(resultSet.getString(2)); - mobileFeature.setCode(resultSet.getString(3)); - mobileFeature.setName(resultSet.getString(4)); - mobileFeature.setDescription(resultSet.getString(5)); + mobileFeature.setCode(resultSet.getString(2)); + mobileFeature.setName(resultSet.getString(3)); + mobileFeature.setDescription(resultSet.getString(4)); + mobileFeature.setDeviceType(resultSet.getString(5)); mobileFeatures.add(mobileFeature); } return mobileFeatures; @@ -264,17 +267,17 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { try { conn = this.getConnection(); String selectDBQuery = - "SELECT FEATURE_ID, DEVICE_TYPE, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE DEVICE_TYPE = ?"; + "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE WHERE DEVICE_TYPE = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setString(1, deviceType); ResultSet resultSet = stmt.executeQuery(); while (resultSet.next()) { mobileFeature = new MobileFeature(); mobileFeature.setId(resultSet.getInt(1)); - mobileFeature.setDeviceType(resultSet.getString(2)); - mobileFeature.setCode(resultSet.getString(3)); - mobileFeature.setName(resultSet.getString(4)); - mobileFeature.setDescription(resultSet.getString(5)); + mobileFeature.setCode(resultSet.getString(2)); + mobileFeature.setName(resultSet.getString(3)); + mobileFeature.setDescription(resultSet.getString(4)); + mobileFeature.setDeviceType(resultSet.getString(5)); mobileFeatures.add(mobileFeature); } return mobileFeatures; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java index a808d9d9af..95f2e3c107 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java @@ -129,6 +129,33 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { return status; } + @Override + public boolean deleteMobileFeaturePropertiesOfFeature(Integer featureId) + throws MobileDeviceManagementDAOException { + boolean status = false; + Connection conn = null; + PreparedStatement stmt = null; + try { + conn = this.getConnection(); + String deleteDBQuery = + "DELETE FROM MBL_FEATURE_PROPERTY WHERE FEATURE_ID = ?"; + stmt = conn.prepareStatement(deleteDBQuery); + stmt.setInt(1, featureId); + int rows = stmt.executeUpdate(); + if (rows > 0) { + status = true; + } + } catch (SQLException e) { + String msg = "Error occurred while deleting feature properties of feature - " + + featureId; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null); + } + return status; + } + @Override public MobileFeatureProperty getMobileFeatureProperty(String property) throws MobileDeviceManagementDAOException { @@ -160,7 +187,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { } @Override - public List getFeaturePropertyOfFeature(Integer featureId) + public List getFeaturePropertiesOfFeature(Integer featureId) throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java index ee38e786f1..f52290a438 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java @@ -36,6 +36,7 @@ import java.sql.SQLException; */ public class MobileOperationDAOImpl implements MobileOperationDAO { + public static final String COLUMN_OPERATION_ID = "OPERATION_ID"; private DataSource dataSource; private static final Log log = LogFactory.getLog(MobileOperationDAOImpl.class); @@ -53,7 +54,7 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { conn = this.getConnection(); String createDBQuery = "INSERT INTO MBL_OPERATION(FEATURE_CODE, CREATED_DATE) VALUES ( ?, ?)"; - stmt = conn.prepareStatement(createDBQuery, new String[] { "OPERATION_ID" }); + stmt = conn.prepareStatement(createDBQuery, new String[] { COLUMN_OPERATION_ID }); stmt.setString(1, operation.getFeatureCode()); stmt.setLong(2, operation.getCreatedDate()); int rows = stmt.executeUpdate(); @@ -93,8 +94,9 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { status = true; } } catch (SQLException e) { - String msg = "Error occurred while updating the MBL_OPERATION table entry with operation id - '" + - operation.getOperationId() + "'"; + String msg = + "Error occurred while updating the MBL_OPERATION table entry with operation id - '" + + operation.getOperationId() + "'"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidMobileOperationManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidMobileOperationManager.java index 37f070807b..82cfec148e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidMobileOperationManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidMobileOperationManager.java @@ -82,7 +82,7 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage MobileOperation mobileOperation = null; try { mobileDeviceOperationMappings = MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO() - .getAllMobileDeviceOperationNappingsOfDevice( + .getAllMobileDeviceOperationMappingsOfDevice( deviceIdentifier .getId()); if (mobileDeviceOperationMappings.size() > 0) { @@ -172,7 +172,7 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage feature.setDescription(mobileFeature.getDescription()); List metadataEntries = new ArrayList(); List properties = - featurePropertyDAO.getFeaturePropertyOfFeature(mobileFeature.getId()); + featurePropertyDAO.getFeaturePropertiesOfFeature(mobileFeature.getId()); for (MobileFeatureProperty property : properties) { Feature.MetadataEntry metaEntry = new Feature.MetadataEntry(); metaEntry.setId(property.getFeatureID()); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java index 402b95d86c..fd692365a1 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java @@ -34,89 +34,105 @@ import javax.xml.validation.Schema; import javax.xml.validation.SchemaFactory; import java.io.File; +/** + * Class for holding unit-tests related to MobileDeviceManagementConfig class. + */ + public class MobileDeviceManagementConfigTests { - private static final Log log = LogFactory.getLog(MobileDeviceManagementConfigTests.class); - private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_MGT_REPOSITORY = - "./src/test/resources/config/malformed-mobile-config-no-mgt-repo.xml"; - private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_DS_CONFIG = - "./src/test/resources/config/malformed-mobile-config-no-ds-config.xml"; - private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_JNDI_CONFIG = - "./src/test/resources/config/malformed-mobile-config-no-jndi-config.xml"; - private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_APIS_CONFIG = - "./src/test/resources/config/malformed-mobile-config-no-apis-config.xml"; - private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_API_CONFIG = - "./src/test/resources/config/malformed-mobile-config-no-api-config.xml"; - private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_API_PUBLISHER_CONFIG = - "./src/test/resources/config/malformed-mobile-config-no-api-publisher-config.xml"; - private static final String TEST_CONFIG_SCHEMA_LOCATION = - "./src/test/resources/config/schema/MobileDeviceManagementConfigSchema.xsd"; - - private Schema schema; - - @BeforeClass - private void initSchema() { - File deviceManagementSchemaConfig = new File(MobileDeviceManagementConfigTests.TEST_CONFIG_SCHEMA_LOCATION); - SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); - try { - schema = factory.newSchema(deviceManagementSchemaConfig); - } catch (SAXException e) { - Assert.fail("Invalid schema found", e); - } - } - - @Test() - public void testMandateManagementRepositoryElement() { - File malformedConfig = - new File(MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_MGT_REPOSITORY); - this.validateMalformedConfig(malformedConfig); - } - - @Test - public void testMandateDataSourceConfigurationElement() { - File malformedConfig = new File(MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_DS_CONFIG); - this.validateMalformedConfig(malformedConfig); - } - - @Test - public void testMandateJndiLookupDefinitionElement() { - File malformedConfig = new File(MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_JNDI_CONFIG); - this.validateMalformedConfig(malformedConfig); - } - - @Test - public void testMandateAPIPublisherElement() { - File malformedConfig = new File(MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_API_PUBLISHER_CONFIG); - this.validateMalformedConfig(malformedConfig); - } - - @Test - public void testMandateAPIsElement() { - File malformedConfig = new File(MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_APIS_CONFIG); - this.validateMalformedConfig(malformedConfig); - } - - @Test - public void testMandateAPIElement() { - File malformedConfig = new File(MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_API_CONFIG); - this.validateMalformedConfig(malformedConfig); - } - - private void validateMalformedConfig(File malformedConfig) { - try { - JAXBContext ctx = JAXBContext.newInstance(MobileDeviceManagementConfig.class); - Unmarshaller um = ctx.createUnmarshaller(); - um.setSchema(this.getSchema()); - um.unmarshal(malformedConfig); - Assert.assertTrue(false); - } catch (JAXBException e) { - log.error("Error occurred while unmarsharlling mobile device management config", e); - Assert.assertTrue(true); - } - } - - private Schema getSchema() { - return schema; - } + private static final Log log = LogFactory.getLog(MobileDeviceManagementConfigTests.class); + private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_MGT_REPOSITORY = + "./src/test/resources/config/malformed-mobile-config-no-mgt-repo.xml"; + private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_DS_CONFIG = + "./src/test/resources/config/malformed-mobile-config-no-ds-config.xml"; + private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_JNDI_CONFIG = + "./src/test/resources/config/malformed-mobile-config-no-jndi-config.xml"; + private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_APIS_CONFIG = + "./src/test/resources/config/malformed-mobile-config-no-apis-config.xml"; + private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_API_CONFIG = + "./src/test/resources/config/malformed-mobile-config-no-api-config.xml"; + private static final String MALFORMED_TEST_CONFIG_LOCATION_NO_API_PUBLISHER_CONFIG = + "./src/test/resources/config/malformed-mobile-config-no-api-publisher-config.xml"; + private static final String TEST_CONFIG_SCHEMA_LOCATION = + "./src/test/resources/config/schema/MobileDeviceManagementConfigSchema.xsd"; + + private Schema schema; + + @BeforeClass + private void initSchema() { + File deviceManagementSchemaConfig = + new File(MobileDeviceManagementConfigTests.TEST_CONFIG_SCHEMA_LOCATION); + SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); + try { + schema = factory.newSchema(deviceManagementSchemaConfig); + } catch (SAXException e) { + Assert.fail("Invalid schema found", e); + } + } + + @Test() + public void testMandateManagementRepositoryElement() { + File malformedConfig = + new File( + MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_MGT_REPOSITORY); + this.validateMalformedConfig(malformedConfig); + } + + @Test + public void testMandateDataSourceConfigurationElement() { + File malformedConfig = new File( + MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_DS_CONFIG); + this.validateMalformedConfig(malformedConfig); + } + + @Test + public void testMandateJndiLookupDefinitionElement() { + File malformedConfig = new File( + MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_JNDI_CONFIG); + this.validateMalformedConfig(malformedConfig); + } + + @Test + public void testMandateAPIPublisherElement() { + File malformedConfig = new File( + MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_API_PUBLISHER_CONFIG); + this.validateMalformedConfig(malformedConfig); + } + + @Test + public void testMandateAPIsElement() { + File malformedConfig = new File( + MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_APIS_CONFIG); + this.validateMalformedConfig(malformedConfig); + } + + @Test + public void testMandateAPIElement() { + File malformedConfig = new File( + MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_API_CONFIG); + this.validateMalformedConfig(malformedConfig); + } + + /** + * + * Validates a given malformed-configuration file. + * + */ + private void validateMalformedConfig(File malformedConfig) { + try { + JAXBContext ctx = JAXBContext.newInstance(MobileDeviceManagementConfig.class); + Unmarshaller um = ctx.createUnmarshaller(); + um.setSchema(this.getSchema()); + um.unmarshal(malformedConfig); + Assert.assertTrue(false); + } catch (JAXBException e) { + log.error("Error occurred while unmarsharlling mobile device management config", e); + Assert.assertTrue(true); + } + } + + private Schema getSchema() { + return schema; + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/TestUtils.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/TestUtils.java deleted file mode 100644 index b4e8d9f0af..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/TestUtils.java +++ /dev/null @@ -1,57 +0,0 @@ -/* - * 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.mobile.impl; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; - -import java.sql.Connection; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.sql.Statement; - -public class TestUtils { - - private static final Log log = LogFactory.getLog(TestUtils.class); - - public static void cleanupResources(Connection conn, Statement stmt, ResultSet rs) { - if (rs != null) { - try { - rs.close(); - } catch (SQLException e) { - log.warn("Error occurred while closing result set", e); - } - } - if (stmt != null) { - try { - stmt.close(); - } catch (SQLException e) { - log.warn("Error occurred while closing prepared statement", e); - } - } - if (conn != null) { - try { - conn.close(); - } catch (SQLException e) { - log.warn("Error occurred while closing database connection", e); - } - } - } - -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAOTestSuite.java index 2243493d4a..84a7647e0d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAOTestSuite.java @@ -18,5 +18,237 @@ package org.wso2.carbon.device.mgt.mobile.impl.dao; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.tomcat.jdbc.pool.DataSource; +import org.apache.tomcat.jdbc.pool.PoolProperties; +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; +import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException; +import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileDeviceDAOImpl; +import org.wso2.carbon.device.mgt.mobile.dto.MobileDevice; +import org.wso2.carbon.device.mgt.mobile.impl.common.DBTypes; +import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration; +import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils; + +import java.sql.*; +import java.util.List; + public class MobileDeviceDAOTestSuite { + + private static final Log log = LogFactory.getLog(MobileDeviceDAOTestSuite.class); + public static final String TEST_MOBILE_DEVICE_ID = "ABCD"; + public static final String TEST_MOBILE_IMEI = "2412421412"; + public static final String TEST_MOBILE_IMSI = "325235235"; + public static final String TEST_MOBILE_MODEL = "S5"; + public static final String TEST_MOBILE_VENDOR = "samsung"; + public static final String TEST_MOBILE_UPDATED_VENDOR = "sony"; + public static final String TEST_MOBILE_REG_ID = "2414"; + public static final String TEST_MOBILE_OS_VERSION = "5.0.0"; + public static final String TEST_MOBILE_LATITUDE = "6.93N"; + public static final String TEST_MOBILE_LONGITUDE = "80.60E"; + private TestDBConfiguration testDBConfiguration; + private MobileDeviceDAOImpl mblDeviceDAO; + + @BeforeClass + @Parameters("dbType") + public void setUpDB(String dbTypeStr) throws Exception { + + DBTypes dbType = DBTypes.valueOf(dbTypeStr); + testDBConfiguration = MobileDatabaseUtils.getTestDBConfiguration(dbType); + + switch (dbType) { + case H2: + MobileDatabaseUtils.createH2DB(testDBConfiguration); + DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource(); + PoolProperties properties = new PoolProperties(); + properties.setUrl(testDBConfiguration.getConnectionURL()); + properties.setDriverClassName(testDBConfiguration.getDriverClassName()); + properties.setUsername(testDBConfiguration.getUsername()); + properties.setPassword(testDBConfiguration.getPassword()); + testDataSource.setPoolProperties(properties); + mblDeviceDAO = new MobileDeviceDAOImpl(testDataSource); + default: + } + } + + @Test + public void addMobileDeviceTest() + throws MobileDeviceManagementDAOException { + + Connection conn = null; + PreparedStatement preparedStatement = null; + MobileDevice mobileDevice = new MobileDevice(); + MobileDevice testMblDevice = new MobileDevice(); + mobileDevice.setMobileDeviceId(TEST_MOBILE_DEVICE_ID); + mobileDevice.setImei(TEST_MOBILE_IMEI); + mobileDevice.setImsi(TEST_MOBILE_IMSI); + mobileDevice.setModel(TEST_MOBILE_MODEL); + mobileDevice.setVendor(TEST_MOBILE_VENDOR); + mobileDevice.setRegId(TEST_MOBILE_REG_ID); + mobileDevice.setOsVersion(TEST_MOBILE_OS_VERSION); + mobileDevice.setLatitude(TEST_MOBILE_LATITUDE); + mobileDevice.setLongitude(TEST_MOBILE_LONGITUDE); + + boolean added = mblDeviceDAO.addMobileDevice(mobileDevice); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT MOBILE_DEVICE_ID, REG_ID, IMEI, IMSI, OS_VERSION,DEVICE_MODEL, VENDOR, " + + "LATITUDE, LONGITUDE FROM MBL_DEVICE WHERE MOBILE_DEVICE_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + testMblDevice.setMobileDeviceId(resultSet.getString(1)); + testMblDevice.setRegId(resultSet.getString(2)); + testMblDevice.setImei(resultSet.getString(3)); + testMblDevice.setImsi(resultSet.getString(4)); + testMblDevice.setOsVersion(resultSet.getString(5)); + testMblDevice.setModel(resultSet.getString(6)); + testMblDevice.setVendor(resultSet.getString(7)); + testMblDevice.setLatitude(resultSet.getString(8)); + testMblDevice.setLongitude(resultSet.getString(9)); + } + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Device data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(added, "MobileDevice has added"); + Assert.assertEquals(TEST_MOBILE_DEVICE_ID, testMblDevice.getMobileDeviceId(), + "MobileDevice id has persisted "); + Assert.assertEquals(TEST_MOBILE_IMEI, testMblDevice.getImei(), + "MobileDevice IMEI has persisted "); + Assert.assertEquals(TEST_MOBILE_IMSI, testMblDevice.getImsi(), + "MobileDevice IMSI has persisted "); + Assert.assertEquals(TEST_MOBILE_LATITUDE, testMblDevice.getLatitude(), + "MobileDevice latitude has persisted "); + Assert.assertEquals(TEST_MOBILE_LONGITUDE, testMblDevice.getLongitude(), + "MobileDevice longitude has persisted "); + Assert.assertEquals(TEST_MOBILE_MODEL, testMblDevice.getModel(), + "MobileDevice model has persisted "); + Assert.assertEquals(TEST_MOBILE_OS_VERSION, testMblDevice.getOsVersion(), + "MobileDevice os-version has persisted "); + Assert.assertEquals(TEST_MOBILE_REG_ID, testMblDevice.getRegId(), + "MobileDevice reg-id has persisted "); + Assert.assertEquals(TEST_MOBILE_VENDOR, testMblDevice.getVendor(), + "MobileDevice vendor has persisted "); + } + + @Test(dependsOnMethods = { "addMobileDeviceTest" }) + public void getMobileDeviceTest() + throws MobileDeviceManagementDAOException { + MobileDevice testMblDevice = mblDeviceDAO.getMobileDevice(TEST_MOBILE_DEVICE_ID); + Assert.assertEquals(TEST_MOBILE_DEVICE_ID, testMblDevice.getMobileDeviceId(), + "MobileDevice id has persisted "); + Assert.assertEquals(TEST_MOBILE_IMEI, testMblDevice.getImei(), + "MobileDevice IMEI has persisted "); + Assert.assertEquals(TEST_MOBILE_IMSI, testMblDevice.getImsi(), + "MobileDevice IMSI has persisted "); + Assert.assertEquals(TEST_MOBILE_LATITUDE, testMblDevice.getLatitude(), + "MobileDevice latitude has persisted "); + Assert.assertEquals(TEST_MOBILE_LONGITUDE, testMblDevice.getLongitude(), + "MobileDevice longitude has persisted "); + Assert.assertEquals(TEST_MOBILE_MODEL, testMblDevice.getModel(), + "MobileDevice model has persisted "); + Assert.assertEquals(TEST_MOBILE_OS_VERSION, testMblDevice.getOsVersion(), + "MobileDevice os-version has persisted "); + Assert.assertEquals(TEST_MOBILE_REG_ID, testMblDevice.getRegId(), + "MobileDevice reg-id has persisted "); + Assert.assertEquals(TEST_MOBILE_VENDOR, testMblDevice.getVendor(), + "MobileDevice vendor has persisted "); + } + + @Test(dependsOnMethods = { "addMobileDeviceTest" }) + public void getAllMobileDevicesTest() + throws MobileDeviceManagementDAOException { + List mblDevices = mblDeviceDAO.getAllMobileDevices(); + Assert.assertNotNull(mblDevices, "MobileDevice list is not null"); + Assert.assertTrue(mblDevices.size() == 1, "MobileDevice list has 1 MobileDevice"); + } + + @Test(dependsOnMethods = { "addMobileDeviceTest", "getMobileDeviceTest", + "getAllMobileDevicesTest" }) + public void updateMobileDeviceTest() + throws MobileDeviceManagementDAOException { + + Connection conn = null; + PreparedStatement preparedStatement = null; + MobileDevice mobileDevice = new MobileDevice(); + MobileDevice testMblDevice = new MobileDevice(); + mobileDevice.setMobileDeviceId(TEST_MOBILE_DEVICE_ID); + mobileDevice.setImei(TEST_MOBILE_IMEI); + mobileDevice.setImsi(TEST_MOBILE_IMSI); + mobileDevice.setModel(TEST_MOBILE_MODEL); + mobileDevice.setVendor(TEST_MOBILE_UPDATED_VENDOR); + mobileDevice.setRegId(TEST_MOBILE_REG_ID); + mobileDevice.setOsVersion(TEST_MOBILE_OS_VERSION); + mobileDevice.setLatitude(TEST_MOBILE_LATITUDE); + mobileDevice.setLongitude(TEST_MOBILE_LONGITUDE); + + boolean updated = mblDeviceDAO.updateMobileDevice(mobileDevice); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT MOBILE_DEVICE_ID, REG_ID, IMEI, IMSI, OS_VERSION,DEVICE_MODEL, VENDOR, " + + "LATITUDE, LONGITUDE FROM MBL_DEVICE WHERE MOBILE_DEVICE_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + testMblDevice.setMobileDeviceId(resultSet.getString(1)); + testMblDevice.setRegId(resultSet.getString(2)); + testMblDevice.setImei(resultSet.getString(3)); + testMblDevice.setImsi(resultSet.getString(4)); + testMblDevice.setOsVersion(resultSet.getString(5)); + testMblDevice.setModel(resultSet.getString(6)); + testMblDevice.setVendor(resultSet.getString(7)); + testMblDevice.setLatitude(resultSet.getString(8)); + testMblDevice.setLongitude(resultSet.getString(9)); + } + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Device data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(updated, "MobileDevice has updated "); + Assert.assertEquals(TEST_MOBILE_UPDATED_VENDOR, testMblDevice.getVendor(), + "MobileDevice vendor has updated "); + } + + @Test(dependsOnMethods = { "addMobileDeviceTest", "getMobileDeviceTest", + "getAllMobileDevicesTest", "updateMobileDeviceTest" }) + public void deleteMobileDeviceTest() + throws MobileDeviceManagementDAOException { + + Connection conn = null; + PreparedStatement preparedStatement = null; + boolean deleted = mblDeviceDAO.deleteMobileDevice(TEST_MOBILE_DEVICE_ID); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT MOBILE_DEVICE_ID, REG_ID, IMEI, IMSI, OS_VERSION,DEVICE_MODEL, VENDOR, " + + "LATITUDE, LONGITUDE FROM MBL_DEVICE WHERE MOBILE_DEVICE_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + deleted = false; + } + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Device data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(deleted, "MobileDevice has deleted "); + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationDAOTestSuite.java deleted file mode 100644 index 62bcff359e..0000000000 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationDAOTestSuite.java +++ /dev/null @@ -1,22 +0,0 @@ -/* - * 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.mobile.impl.dao; - -public class MobileDeviceOperationDAOTestSuite { -} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationMappingDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationMappingDAOTestSuite.java new file mode 100644 index 0000000000..d8e611ecdb --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationMappingDAOTestSuite.java @@ -0,0 +1,429 @@ +/* + * 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.mobile.impl.dao; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.tomcat.jdbc.pool.DataSource; +import org.apache.tomcat.jdbc.pool.PoolProperties; +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; +import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException; +import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileDeviceDAOImpl; +import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileDeviceOperationMappingDAOImpl; +import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileOperationDAOImpl; +import org.wso2.carbon.device.mgt.mobile.dto.MobileDevice; +import org.wso2.carbon.device.mgt.mobile.dto.MobileDeviceOperationMapping; +import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation; +import org.wso2.carbon.device.mgt.mobile.impl.common.DBTypes; +import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration; +import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils; + +import java.sql.*; +import java.util.ArrayList; +import java.util.List; + +public class MobileDeviceOperationMappingDAOTestSuite { + + private static final Log log = + LogFactory.getLog(MobileDeviceOperationMappingDAOTestSuite.class); + public static final String TEST_MOBILE_DEVICE_ID = "ABCD"; + public static final String TEST_MOBILE_IMEI = "2412421412"; + public static final String TEST_MOBILE_IMSI = "325235235"; + public static final String TEST_MOBILE_MODEL = "S5"; + public static final String TEST_MOBILE_VENDOR = "samsung"; + public static final String TEST_MOBILE_REG_ID = "2414"; + public static final String TEST_MOBILE_OS_VERSION = "5.0.0"; + public static final String TEST_MOBILE_LATITUDE = "6.93N"; + public static final String TEST_MOBILE_LONGITUDE = "80.60E"; + public static final String TEST_MBL_OPR_FEATURE_CODE1 = "LOCK"; + public static final String TEST_MBL_OPR_FEATURE_CODE2 = "WIPE"; + public static final long TEST_MBL_OPR_CREATED_DATE = new java.util.Date().getTime(); + + private TestDBConfiguration testDBConfiguration; + private MobileDeviceDAOImpl mblDeviceDAO; + private MobileOperationDAOImpl mblOperationDAO; + private MobileDeviceOperationMappingDAOImpl mblDeviceOperationMappingDAO; + private int mblOperationId1; + private int mblOperationId2; + + @BeforeClass + @Parameters("dbType") + public void setUpDB(String dbTypeStr) throws Exception { + + DBTypes dbType = DBTypes.valueOf(dbTypeStr); + testDBConfiguration = MobileDatabaseUtils.getTestDBConfiguration(dbType); + + switch (dbType) { + case H2: + MobileDatabaseUtils.createH2DB(testDBConfiguration); + DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource(); + PoolProperties properties = new PoolProperties(); + properties.setUrl(testDBConfiguration.getConnectionURL()); + properties.setDriverClassName(testDBConfiguration.getDriverClassName()); + properties.setUsername(testDBConfiguration.getUsername()); + properties.setPassword(testDBConfiguration.getPassword()); + testDataSource.setPoolProperties(properties); + mblDeviceDAO = new MobileDeviceDAOImpl(testDataSource); + mblOperationDAO = new MobileOperationDAOImpl(testDataSource); + mblDeviceOperationMappingDAO = + new MobileDeviceOperationMappingDAOImpl(testDataSource); + default: + } + } + + @Test + public void addMobileDeviceOperationMappingTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + + List mblOperations = + new ArrayList(); + MobileDeviceOperationMapping mblDvOperationMapping = + new MobileDeviceOperationMapping(); + //Add a new Device to the database + MobileDevice mobileDevice = new MobileDevice(); + mobileDevice.setMobileDeviceId(TEST_MOBILE_DEVICE_ID); + mobileDevice.setImei(TEST_MOBILE_IMEI); + mobileDevice.setImsi(TEST_MOBILE_IMSI); + mobileDevice.setModel(TEST_MOBILE_MODEL); + mobileDevice.setVendor(TEST_MOBILE_VENDOR); + mobileDevice.setRegId(TEST_MOBILE_REG_ID); + mobileDevice.setOsVersion(TEST_MOBILE_OS_VERSION); + mobileDevice.setLatitude(TEST_MOBILE_LATITUDE); + mobileDevice.setLongitude(TEST_MOBILE_LONGITUDE); + mblDeviceDAO.addMobileDevice(mobileDevice); + + //Add an Operation to the db + MobileOperation mblOperation = new MobileOperation(); + mblOperation.setFeatureCode(TEST_MBL_OPR_FEATURE_CODE1); + mblOperation.setCreatedDate(TEST_MBL_OPR_CREATED_DATE); + mblOperationId1 = mblOperationDAO.addMobileOperation(mblOperation); + + //Add a new Operation 2 to the db + mblOperation.setFeatureCode(TEST_MBL_OPR_FEATURE_CODE2); + mblOperation.setCreatedDate(TEST_MBL_OPR_CREATED_DATE); + mblOperationId2 = mblOperationDAO.addMobileOperation(mblOperation); + + //Add a device-operation mapping 1 to the table + mblDvOperationMapping.setDeviceId(TEST_MOBILE_DEVICE_ID); + mblDvOperationMapping.setOperationId(mblOperationId1); + mblDvOperationMapping.setStatus(MobileDeviceOperationMapping.Status.NEW); + boolean status1 = + mblDeviceOperationMappingDAO.addMobileDeviceOperationMapping(mblDvOperationMapping); + + //Add a device-operation mapping 2 to the table + mblDvOperationMapping.setDeviceId(TEST_MOBILE_DEVICE_ID); + mblDvOperationMapping.setOperationId(mblOperationId2); + mblDvOperationMapping.setStatus(MobileDeviceOperationMapping.Status.NEW); + boolean status2 = + mblDeviceOperationMappingDAO.addMobileDeviceOperationMapping(mblDvOperationMapping); + + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM " + + "MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID); + ResultSet resultSet = preparedStatement.executeQuery(); + while (resultSet.next()) { + mblDvOperationMapping = new MobileDeviceOperationMapping(); + mblDvOperationMapping.setDeviceId(resultSet.getString(1)); + mblDvOperationMapping.setOperationId(resultSet.getInt(2)); + mblDvOperationMapping.setSentDate(resultSet.getLong(3)); + mblDvOperationMapping.setReceivedDate(resultSet.getLong(4)); + mblDvOperationMapping.setStatus(resultSet.getString(5)); + mblOperations.add(mblDvOperationMapping); + } + + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Operation Mappings data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status1, "MobileOperationMapping1 has added "); + Assert.assertTrue(status2, "MobileOperationMapping2 has added "); + Assert.assertTrue(mblOperations.size() == 2, "MobileOperationMappings have retrieved "); + + for (MobileDeviceOperationMapping mapping : mblOperations) { + Assert.assertEquals(TEST_MOBILE_DEVICE_ID, mapping.getDeviceId(), + "MobileOperationMapping device id has persisted "); + Assert.assertEquals(MobileDeviceOperationMapping.Status.NEW, mapping.getStatus(), + "MobileOperationMapping status has persisted "); + Assert.assertTrue(mapping.getOperationId() > 0, + "MobileOperationMapping operation-id has persisted "); + Assert.assertTrue(mapping.getSentDate() == 0, + "MobileOperationMapping sent-date has fetched "); + Assert.assertTrue(mapping.getReceivedDate() == 0, + "MobileOperationMapping received-date has fetched "); + } + } + + @Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest" }) + public void getMobileDeviceOperationMappingTest() throws MobileDeviceManagementDAOException { + MobileDeviceOperationMapping mblOperationMapping = + mblDeviceOperationMappingDAO.getMobileDeviceOperationMapping( + TEST_MOBILE_DEVICE_ID, mblOperationId1); + Assert.assertNotNull(mblOperationMapping, "MobileOperationMapping 1 has fetched "); + Assert.assertEquals(TEST_MOBILE_DEVICE_ID, mblOperationMapping.getDeviceId(), + "MobileOperationMapping device id has fetched "); + Assert.assertEquals(mblOperationId1, mblOperationMapping.getOperationId(), + "MobileOperationMapping device id has fetched "); + Assert.assertEquals(MobileDeviceOperationMapping.Status.NEW, + mblOperationMapping.getStatus(), + "MobileOperationMapping status has fetched "); + Assert.assertTrue(mblOperationMapping.getSentDate() == 0, + "MobileOperationMapping sent-date has fetched "); + Assert.assertTrue(mblOperationMapping.getReceivedDate() == 0, + "MobileOperationMapping received-date has fetched "); + } + + @Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest" }) + public void getAllMobileDeviceOperationMappingsOfDeviceTest() + throws MobileDeviceManagementDAOException { + List mblOperationMappings = + mblDeviceOperationMappingDAO.getAllMobileDeviceOperationMappingsOfDevice( + TEST_MOBILE_DEVICE_ID); + Assert.assertNotNull(mblOperationMappings, "MobileOperationMappings have fetched "); + Assert.assertTrue(mblOperationMappings.size() == 2, + "All MobileOperationMappings have fetched "); + for (MobileDeviceOperationMapping mblOperationMapping : mblOperationMappings) { + Assert.assertEquals(TEST_MOBILE_DEVICE_ID, mblOperationMapping.getDeviceId(), + "MobileOperationMapping device id has fetched "); + Assert.assertTrue(mblOperationMapping.getOperationId() > 0, + "MobileOperationMapping operation-id has fetched "); + Assert.assertEquals(MobileDeviceOperationMapping.Status.NEW, + mblOperationMapping.getStatus(), + "MobileOperationMapping status has fetched "); + Assert.assertTrue(mblOperationMapping.getSentDate() == 0, + "MobileOperationMapping sent-date has fetched "); + Assert.assertTrue(mblOperationMapping.getReceivedDate() == 0, + "MobileOperationMapping received-date has fetched "); + } + } + + @Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest", + "getAllMobileDeviceOperationMappingsOfDeviceTest" }) + public void updateMobileDeviceOperationMappingToInProgressTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + MobileDeviceOperationMapping mblOperationMapping = null; + //Update device-operation to In-Progress state + boolean status = + mblDeviceOperationMappingDAO.updateMobileDeviceOperationMappingToInProgress( + TEST_MOBILE_DEVICE_ID, mblOperationId1); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, STATUS FROM " + + "MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID); + preparedStatement.setInt(2, mblOperationId1); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + mblOperationMapping = new MobileDeviceOperationMapping(); + mblOperationMapping.setDeviceId(resultSet.getString(1)); + mblOperationMapping.setOperationId(resultSet.getInt(2)); + mblOperationMapping.setSentDate(resultSet.getLong(3)); + mblOperationMapping.setStatus(resultSet.getString(4)); + } + + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Operation Mappings data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status, "MobileOperationMapping 1 has updated "); + Assert.assertNotNull(mblOperationMapping, "MobileOperationMappings have fetched "); + Assert.assertEquals(MobileDeviceOperationMapping.Status.INPROGRESS, + mblOperationMapping.getStatus(), + "MobileOperationMapping status has updated "); + Assert.assertTrue(mblOperationMapping.getSentDate() > 0, + "MobileOperationMapping sent-date has updated "); + } + + @Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest", + "getAllMobileDeviceOperationMappingsOfDeviceTest" }) + public void updateMobileDeviceOperationMappingToCompletedTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + MobileDeviceOperationMapping mblOperationMapping = null; + //Update device-operation to Completed state + boolean status = + mblDeviceOperationMappingDAO.updateMobileDeviceOperationMappingToCompleted( + TEST_MOBILE_DEVICE_ID, mblOperationId1); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT DEVICE_ID, OPERATION_ID, RECEIVED_DATE, STATUS FROM " + + "MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID); + preparedStatement.setInt(2, mblOperationId1); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + mblOperationMapping = new MobileDeviceOperationMapping(); + mblOperationMapping.setDeviceId(resultSet.getString(1)); + mblOperationMapping.setOperationId(resultSet.getInt(2)); + mblOperationMapping.setReceivedDate(resultSet.getLong(3)); + mblOperationMapping.setStatus(resultSet.getString(4)); + } + + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Operation Mappings data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status, "MobileOperationMapping 1 has updated "); + Assert.assertNotNull(mblOperationMapping, "MobileOperationMappings have fetched "); + Assert.assertEquals(MobileDeviceOperationMapping.Status.COMPLETED, + mblOperationMapping.getStatus(), + "MobileOperationMapping status has updated "); + Assert.assertTrue(mblOperationMapping.getReceivedDate() > 0, + "MobileOperationMapping received-date has updated "); + } + + @Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest", + "getAllMobileDeviceOperationMappingsOfDeviceTest", + "updateMobileDeviceOperationMappingToInProgressTest", + "updateMobileDeviceOperationMappingToCompletedTest" }) + public void updateMobileDeviceOperationMappingTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + MobileDeviceOperationMapping mblOperationMapping = new MobileDeviceOperationMapping(); + long currentTime = new java.util.Date().getTime(); + //Update device-operation mapping 1 + mblOperationMapping.setDeviceId(TEST_MOBILE_DEVICE_ID); + mblOperationMapping.setOperationId(mblOperationId1); + mblOperationMapping.setStatus(MobileDeviceOperationMapping.Status.INPROGRESS); + mblOperationMapping.setSentDate(currentTime); + mblOperationMapping.setReceivedDate(currentTime); + boolean status = + mblDeviceOperationMappingDAO.updateMobileDeviceOperationMapping( + mblOperationMapping); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT DEVICE_ID, OPERATION_ID, RECEIVED_DATE, SENT_DATE, STATUS FROM " + + "MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID); + preparedStatement.setInt(2, mblOperationId1); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + mblOperationMapping = new MobileDeviceOperationMapping(); + mblOperationMapping.setDeviceId(resultSet.getString(1)); + mblOperationMapping.setOperationId(resultSet.getInt(2)); + mblOperationMapping.setReceivedDate(resultSet.getLong(3)); + mblOperationMapping.setSentDate(resultSet.getLong(4)); + mblOperationMapping.setStatus(resultSet.getString(5)); + } + + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Operation Mappings data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status, "MobileOperationMapping 1 has updated "); + Assert.assertNotNull(mblOperationMapping, "MobileOperationMappings have fetched "); + Assert.assertEquals(MobileDeviceOperationMapping.Status.INPROGRESS, + mblOperationMapping.getStatus(), + "MobileOperationMapping status has updated "); + Assert.assertTrue(mblOperationMapping.getReceivedDate() == currentTime, + "MobileOperationMapping received-date has updated "); + Assert.assertTrue(mblOperationMapping.getSentDate() == currentTime, + "MobileOperationMapping sent-date has updated "); + } + + @Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest", + "getAllMobileDeviceOperationMappingsOfDeviceTest", + "updateMobileDeviceOperationMappingToInProgressTest" }) + public void getAllPendingOperationMappingsOfMobileDeviceTest() + throws MobileDeviceManagementDAOException { + List mblOperationMappings = + mblDeviceOperationMappingDAO.getAllPendingOperationMappingsOfMobileDevice( + TEST_MOBILE_DEVICE_ID); + Assert.assertNotNull(mblOperationMappings, "Pending MobileOperationMappings have fetched "); + Assert.assertTrue(mblOperationMappings.size() == 1, + "All MobileOperationMappings have fetched "); + for (MobileDeviceOperationMapping mblOperationMapping : mblOperationMappings) { + Assert.assertEquals(TEST_MOBILE_DEVICE_ID, mblOperationMapping.getDeviceId(), + "MobileOperationMapping device id has fetched "); + Assert.assertTrue(mblOperationMapping.getOperationId() == mblOperationId2, + "MobileOperationMapping operation-id has fetched "); + Assert.assertEquals(MobileDeviceOperationMapping.Status.NEW, + mblOperationMapping.getStatus(), + "MobileOperationMapping status has fetched "); + Assert.assertTrue(mblOperationMapping.getSentDate() == 0, + "MobileOperationMapping sent-date has fetched "); + Assert.assertTrue(mblOperationMapping.getReceivedDate() == 0, + "MobileOperationMapping received-date has fetched "); + } + } + + @Test(dependsOnMethods = { "addMobileDeviceOperationMappingTest", + "getAllMobileDeviceOperationMappingsOfDeviceTest", + "updateMobileDeviceOperationMappingToInProgressTest", + "updateMobileDeviceOperationMappingToCompletedTest", + "updateMobileDeviceOperationMappingTest" }) + public void deleteMobileDeviceOperationMappingTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + boolean status = + mblDeviceOperationMappingDAO.deleteMobileDeviceOperationMapping( + TEST_MOBILE_DEVICE_ID, mblOperationId1); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT DEVICE_ID, OPERATION_ID, RECEIVED_DATE, SENT_DATE, STATUS FROM " + + "MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setString(1, TEST_MOBILE_DEVICE_ID); + preparedStatement.setInt(2, mblOperationId1); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + status = false; + } + } catch (SQLException e) { + String msg = "Error in retrieving MobileFeatureProperty data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status, "MobileDeviceOperationMapping 1 has deleted "); + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeatureDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeatureDAOTestSuite.java index 5748524121..b9bed2c084 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeatureDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeatureDAOTestSuite.java @@ -20,272 +20,238 @@ package org.wso2.carbon.device.mgt.mobile.impl.dao; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.apache.tomcat.jdbc.pool.DataSource; import org.apache.tomcat.jdbc.pool.PoolProperties; 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.mobile.dao.MobileDeviceManagementDAOException; import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileFeatureDAOImpl; import org.wso2.carbon.device.mgt.mobile.dto.MobileFeature; -import org.wso2.carbon.device.mgt.mobile.impl.TestUtils; import org.wso2.carbon.device.mgt.mobile.impl.common.DBTypes; import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration; -import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfigurations; -import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementUtil; +import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils; -import javax.sql.DataSource; -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.Iterator; import java.util.List; +/** + * Class for holding the units tests related to MobileFeatureDAO class. + */ public class MobileFeatureDAOTestSuite { - private static final Log log = LogFactory.getLog(MobileFeatureDAOTestSuite.class); - public static final String MBL_FEATURE_NAME = "Camera"; - private static final String MBL_FEATURE_CODE = "500A"; - public static final String MBL_FEATURE_DESCRIPTION = "Camera enable or disable"; - public static final String MBL_FEATURE_UPDATED_CODE = "501B"; - private TestDBConfiguration testDBConfiguration; - private Connection conn = null; - private Statement stmt = null; - private MobileFeatureDAOImpl mblFeatureDAO; - private int mblFeatureId; - - @BeforeClass - @Parameters("dbType") - public void setUpDB(String dbTypeStr) throws Exception { - - DBTypes dbType = DBTypes.valueOf(dbTypeStr); - testDBConfiguration = getTestDBConfiguration(dbType); - - switch (dbType) { - case H2: - createH2DB(testDBConfiguration); - DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource(); - PoolProperties properties = new PoolProperties(); - properties.setUrl(testDBConfiguration.getConnectionURL()); - properties.setDriverClassName(testDBConfiguration.getDriverClassName()); - properties.setUsername(testDBConfiguration.getUsername()); - properties.setPassword(testDBConfiguration.getPassword()); - mblFeatureDAO = new MobileFeatureDAOImpl(testDataSource); - default: - } - } - - private TestDBConfiguration getTestDBConfiguration(DBTypes dbType) throws - MobileDeviceManagementDAOException, - DeviceManagementException { - - File deviceMgtConfig = new File("src/test/resources/testdbconfig.xml"); - Document doc = null; - testDBConfiguration = null; - TestDBConfigurations testDBConfigurations = null; - - doc = MobileDeviceManagementUtil.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 MobileDeviceManagementDAOException("Error parsing test db configurations", e); - } - - Iterator itrDBConfigs = - testDBConfigurations.getDbTypesList().iterator(); - while (itrDBConfigs.hasNext()) { - testDBConfiguration = itrDBConfigs.next(); - if (testDBConfiguration.getType().equals(dbType.toString())) { - break; - } - } + private static final Log log = LogFactory.getLog(MobileFeatureDAOTestSuite.class); + public static final String MBL_FEATURE_NAME = "Camera"; + private static final String MBL_FEATURE_CODE = "500A"; + public static final String MBL_FEATURE_DESCRIPTION = "Camera enable or disable"; + public static final String MBL_FEATURE_DEVICE_TYPE = "Android"; + public static final String MBL_FEATURE_UPDATED_CODE = "501B"; + private TestDBConfiguration testDBConfiguration; + private MobileFeatureDAOImpl mblFeatureDAO; + private int mblFeatureId; - return testDBConfiguration; - } + @BeforeClass + @Parameters("dbType") + public void setUpDB(String dbTypeStr) throws Exception { - private void createH2DB(TestDBConfiguration testDBConf) throws Exception { - try { - Class.forName(testDBConf.getDriverClassName()); - conn = DriverManager.getConnection(testDBConf.getConnectionURL()); - stmt = conn.createStatement(); - stmt.executeUpdate("RUNSCRIPT FROM './src/test/resources/sql/CreateH2TestDB.sql'"); - } finally { - stmt.close(); - conn.close(); - TestUtils.cleanupResources(conn, stmt, null); - } - } + DBTypes dbType = DBTypes.valueOf(dbTypeStr); + testDBConfiguration = MobileDatabaseUtils.getTestDBConfiguration(dbType); - @Test - public void addMobileFeatureTest() - throws MobileDeviceManagementDAOException { + switch (dbType) { + case H2: + MobileDatabaseUtils.createH2DB(testDBConfiguration); + DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource(); + PoolProperties properties = new PoolProperties(); + properties.setUrl(testDBConfiguration.getConnectionURL()); + properties.setDriverClassName(testDBConfiguration.getDriverClassName()); + properties.setUsername(testDBConfiguration.getUsername()); + properties.setPassword(testDBConfiguration.getPassword()); + testDataSource.setPoolProperties(properties); + mblFeatureDAO = new MobileFeatureDAOImpl(testDataSource); + default: + } + } - MobileFeature mobileFeature = new MobileFeature(); - MobileFeature testMblFeature = new MobileFeature(); - mobileFeature.setCode(MBL_FEATURE_CODE); - mobileFeature.setDescription(MBL_FEATURE_DESCRIPTION); - mobileFeature.setName(MBL_FEATURE_NAME); - boolean added = mblFeatureDAO.addMobileFeature(mobileFeature); - try { - conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); - stmt = conn.createStatement(); - ResultSet resultSet = stmt - .executeQuery( - "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE CODE = '500A'"); - while (resultSet.next()) { - testMblFeature.setId(resultSet.getInt(1)); - testMblFeature.setCode(resultSet.getString(2)); - testMblFeature.setName(resultSet.getString(3)); - testMblFeature.setDescription(resultSet.getString(4)); - } - conn.close(); - } catch (SQLException e) { - log.error("Error in retrieving Mobile Feature data ", e); - throw new MobileDeviceManagementDAOException("Error in retrieving Mobile Feature data ", - e); - } finally { - TestUtils.cleanupResources(conn, stmt, null); - } - mblFeatureId = testMblFeature.getId(); - Assert.assertTrue(added, "MobileFeature is added"); - Assert.assertEquals(MBL_FEATURE_CODE, testMblFeature.getCode(), - "MobileFeature code has persisted successfully"); - Assert.assertEquals(MBL_FEATURE_NAME, testMblFeature.getName(), - "MobileFeature name has persisted successfully"); - Assert.assertEquals(MBL_FEATURE_DESCRIPTION, testMblFeature.getDescription(), - "MobileFeature description has persisted successfully"); - } + @Test + public void addMobileFeatureTest() + throws MobileDeviceManagementDAOException { - @Test(dependsOnMethods = {"addMobileFeatureTest"}) - public void getMobileFeatureByCodeTest() - throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + MobileFeature mobileFeature = new MobileFeature(); + MobileFeature testMblFeature = new MobileFeature(); + mobileFeature.setCode(MBL_FEATURE_CODE); + mobileFeature.setDescription(MBL_FEATURE_DESCRIPTION); + mobileFeature.setName(MBL_FEATURE_NAME); + mobileFeature.setDeviceType(MBL_FEATURE_DEVICE_TYPE); + int id = mblFeatureDAO.addMobileFeature(mobileFeature); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String query = + "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE WHERE CODE = ?"; + preparedStatement = conn.prepareStatement(query); + preparedStatement.setString(1, MBL_FEATURE_CODE); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + testMblFeature.setId(resultSet.getInt(1)); + testMblFeature.setCode(resultSet.getString(2)); + testMblFeature.setName(resultSet.getString(3)); + testMblFeature.setDescription(resultSet.getString(4)); + testMblFeature.setDeviceType(resultSet.getString(5)); + } + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Feature data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + mblFeatureId = testMblFeature.getId(); + Assert.assertTrue(id > 0, "MobileFeature has added "); + Assert.assertEquals(MBL_FEATURE_CODE, testMblFeature.getCode(), + "MobileFeature code has persisted "); + Assert.assertEquals(MBL_FEATURE_NAME, testMblFeature.getName(), + "MobileFeature name has persisted "); + Assert.assertEquals(MBL_FEATURE_DESCRIPTION, testMblFeature.getDescription(), + "MobileFeature description has persisted "); + Assert.assertEquals(MBL_FEATURE_DEVICE_TYPE, testMblFeature.getDeviceType(), + "MobileFeature device-type has persisted "); + } - MobileFeature mobileFeature = mblFeatureDAO.getMobileFeatureByCode(MBL_FEATURE_CODE); - Assert.assertEquals(MBL_FEATURE_CODE, mobileFeature.getCode(), - "MobileFeature code has retrieved successfully"); - Assert.assertEquals(MBL_FEATURE_NAME, mobileFeature.getName(), - "MobileFeature name has retrieved successfully"); - Assert.assertEquals(MBL_FEATURE_DESCRIPTION, mobileFeature.getDescription(), - "MobileFeature description has retrieved successfully"); - } + @Test(dependsOnMethods = { "addMobileFeatureTest" }) + public void getMobileFeatureByCodeTest() + throws MobileDeviceManagementDAOException { - @Test(dependsOnMethods = {"addMobileFeatureTest"}) - public void deleteMobileFeatureByCodeTest() - throws MobileDeviceManagementDAOException { - boolean status = mblFeatureDAO.deleteMobileFeatureByCode(MBL_FEATURE_CODE); - try { - conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); - stmt = conn.createStatement(); - ResultSet resultSet = stmt - .executeQuery( - "SELECT FEATURE_ID, CODE FROM MBL_FEATURE WHERE CODE = '500A'"); - while (resultSet.next()) { - status = false; - } - conn.close(); - } catch (SQLException e) { - log.error("Error in deleting Mobile Feature data ", e); - throw new MobileDeviceManagementDAOException("Error in deleting Mobile Feature data ", - e); - } finally { - TestUtils.cleanupResources(conn, stmt, null); - } - Assert.assertTrue(status, "MobileFeature has deleted successfully"); - } + MobileFeature mobileFeature = mblFeatureDAO.getMobileFeatureByCode(MBL_FEATURE_CODE); + Assert.assertEquals(MBL_FEATURE_CODE, mobileFeature.getCode(), + "MobileFeature code has retrieved "); + Assert.assertEquals(MBL_FEATURE_NAME, mobileFeature.getName(), + "MobileFeature name has retrieved "); + Assert.assertEquals(MBL_FEATURE_DESCRIPTION, mobileFeature.getDescription(), + "MobileFeature description has retrieved "); + } - @Test(dependsOnMethods = {"addMobileFeatureTest"}) - public void getMobileFeatureByIdTest() - throws MobileDeviceManagementDAOException { + @Test(dependsOnMethods = { "addMobileFeatureTest" }) + public void getMobileFeatureByIdTest() + throws MobileDeviceManagementDAOException { - MobileFeature mobileFeature = mblFeatureDAO.getMobileFeatureById(mblFeatureId); - Assert.assertEquals(MBL_FEATURE_CODE, mobileFeature.getCode(), - "MobileFeature code has retrieved successfully"); - Assert.assertEquals(MBL_FEATURE_NAME, mobileFeature.getName(), - "MobileFeature name has retrieved successfully"); - Assert.assertEquals(MBL_FEATURE_DESCRIPTION, mobileFeature.getDescription(), - "MobileFeature description has retrieved successfully"); - } + MobileFeature mobileFeature = mblFeatureDAO.getMobileFeatureById(mblFeatureId); + Assert.assertEquals(MBL_FEATURE_CODE, mobileFeature.getCode(), + "MobileFeature code has retrieved "); + Assert.assertEquals(MBL_FEATURE_NAME, mobileFeature.getName(), + "MobileFeature name has retrieved "); + Assert.assertEquals(MBL_FEATURE_DESCRIPTION, mobileFeature.getDescription(), + "MobileFeature description has retrieved "); + } - @Test(dependsOnMethods = {"addMobileFeatureTest"}) - public void getAllMobileFeaturesTest() - throws MobileDeviceManagementDAOException { + @Test(dependsOnMethods = { "addMobileFeatureTest" }) + public void getAllMobileFeaturesTest() + throws MobileDeviceManagementDAOException { - List mobileFeatures = mblFeatureDAO.getAllMobileFeatures(); - Assert.assertNotNull(mobileFeatures, "MobileFeature list is not null"); - Assert.assertTrue(mobileFeatures.size() > 0, "MobileFeature list has 1 MobileFeature"); - } + List mobileFeatures = mblFeatureDAO.getAllMobileFeatures(); + Assert.assertNotNull(mobileFeatures, "MobileFeature list is not null"); + Assert.assertTrue(mobileFeatures.size() > 0, "MobileFeature list has 1 MobileFeature"); + } - @Test(dependsOnMethods = {"addMobileFeatureTest"}) - public void deleteMobileFeatureByIdTest() - throws MobileDeviceManagementDAOException { - Connection conn = null; - Statement stmt = null; + @Test(dependsOnMethods = { "addMobileFeatureTest", "getMobileFeatureByCodeTest", + "getMobileFeatureByIdTest", "getAllMobileFeaturesTest" }) + public void updateMobileFeatureTest() + throws MobileDeviceManagementDAOException { - boolean status = mblFeatureDAO.deleteMobileFeatureById(mblFeatureId); - try { - conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); - ResultSet resultSet = stmt - .executeQuery( - "SELECT FEATURE_ID, CODE FROM MBL_FEATURE WHERE FEATURE_ID = " + - mblFeatureId); - while (resultSet.next()) { - status = false; - } - } catch (SQLException e) { - log.error("Error in deleting Mobile Feature data ", e); - throw new MobileDeviceManagementDAOException("Error in deleting Mobile Feature data ", - e); - } finally { - TestUtils.cleanupResources(conn, stmt, null); - } - Assert.assertTrue(status, "MobileFeature has deleted successfully"); - } + Connection conn = null; + PreparedStatement stmt = null; - @Test(dependsOnMethods = {"deleteMobileFeatureByCodeTest", "addMobileFeatureTest"}) - public void updateMobileFeatureTest() - throws MobileDeviceManagementDAOException { + MobileFeature mobileFeature = new MobileFeature(); + MobileFeature testMblFeature = new MobileFeature(); + mobileFeature.setCode(MBL_FEATURE_UPDATED_CODE); + mobileFeature.setDescription(MBL_FEATURE_DESCRIPTION); + mobileFeature.setName(MBL_FEATURE_NAME); + mobileFeature.setId(mblFeatureId); + boolean updated = mblFeatureDAO.updateMobileFeature(mobileFeature); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String query = + "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE CODE = ?"; + stmt = conn.prepareStatement(query); + stmt.setString(1, MBL_FEATURE_UPDATED_CODE); + ResultSet resultSet = stmt.executeQuery(); + if (resultSet.next()) { + testMblFeature.setId(resultSet.getInt(1)); + testMblFeature.setCode(resultSet.getString(2)); + testMblFeature.setName(resultSet.getString(3)); + testMblFeature.setDescription(resultSet.getString(4)); + } + } catch (SQLException e) { + String msg = "Error in updating Mobile Feature data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, stmt, null); + } + Assert.assertTrue(updated, "MobileFeature has updated"); + Assert.assertEquals(MBL_FEATURE_UPDATED_CODE, testMblFeature.getCode(), + "MobileFeature data has updated "); + } - Connection conn = null; - Statement stmt = null; + @Test(dependsOnMethods = { "addMobileFeatureTest", "getMobileFeatureByCodeTest", + "getMobileFeatureByIdTest", "getAllMobileFeaturesTest", + "updateMobileFeatureTest" }) + public void deleteMobileFeatureByIdTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement stmt = null; - MobileFeature mobileFeature = new MobileFeature(); - MobileFeature testMblFeature = new MobileFeature(); - mobileFeature.setCode(MBL_FEATURE_UPDATED_CODE); - mobileFeature.setDescription(MBL_FEATURE_DESCRIPTION); - mobileFeature.setName(MBL_FEATURE_NAME); - mobileFeature.setId(mblFeatureId); - boolean updated = mblFeatureDAO.updateMobileFeature(mobileFeature); - try { - conn = DriverManager.getConnection(testDBConfiguration.getDriverClassName()); - stmt = conn.createStatement(); - ResultSet resultSet = stmt - .executeQuery( - "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE CODE = '" + - MBL_FEATURE_UPDATED_CODE + "'"); - while (resultSet.next()) { - testMblFeature.setId(resultSet.getInt(1)); - testMblFeature.setCode(resultSet.getString(2)); - testMblFeature.setName(resultSet.getString(3)); - testMblFeature.setDescription(resultSet.getString(4)); - } - } catch (SQLException e) { - log.error("Error in updating Mobile Feature data ", e); - throw new MobileDeviceManagementDAOException("Error in updating Mobile Feature data ", - e); - } finally { - TestUtils.cleanupResources(conn, stmt, null); - } - Assert.assertTrue(updated, "MobileFeature has updated"); - Assert.assertEquals(MBL_FEATURE_UPDATED_CODE, testMblFeature.getCode(), - "MobileFeature data has updated successfully"); - } + boolean status = mblFeatureDAO.deleteMobileFeatureById(mblFeatureId); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String query = "SELECT FEATURE_ID, CODE FROM MBL_FEATURE WHERE FEATURE_ID = ?"; + stmt = conn.prepareStatement(query); + stmt.setInt(1, mblFeatureId); + ResultSet resultSet = stmt.executeQuery(); + if (resultSet.next()) { + status = false; + } + } catch (SQLException e) { + String msg = "Error in deleting Mobile Feature data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, stmt, null); + } + Assert.assertTrue(status, "MobileFeature has deleted "); + } + @Test(dependsOnMethods = { "addMobileFeatureTest", "getMobileFeatureByCodeTest", + "getMobileFeatureByIdTest", "getAllMobileFeaturesTest", + "updateMobileFeatureTest", "deleteMobileFeatureByIdTest" }) + public void deleteMobileFeatureByCodeTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + MobileFeature mobileFeature = new MobileFeature(); + mobileFeature.setCode(MBL_FEATURE_CODE); + mobileFeature.setDescription(MBL_FEATURE_DESCRIPTION); + mobileFeature.setName(MBL_FEATURE_NAME); + mobileFeature.setDeviceType(MBL_FEATURE_DEVICE_TYPE); + mblFeatureDAO.addMobileFeature(mobileFeature); + boolean status = mblFeatureDAO.deleteMobileFeatureByCode(MBL_FEATURE_CODE); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String query = "SELECT FEATURE_ID, CODE FROM MBL_FEATURE WHERE CODE = ?"; + preparedStatement = conn.prepareStatement(query); + preparedStatement.setString(1, MBL_FEATURE_CODE); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + status = false; + } + } catch (SQLException e) { + String msg = "Error in deleting Mobile Feature data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status, "MobileFeature has deleted "); + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java index 80a83cd707..07fe407e88 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java @@ -18,5 +18,216 @@ package org.wso2.carbon.device.mgt.mobile.impl.dao; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.tomcat.jdbc.pool.DataSource; +import org.apache.tomcat.jdbc.pool.PoolProperties; +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; +import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException; +import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileFeatureDAOImpl; +import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileFeaturePropertyDAOImpl; +import org.wso2.carbon.device.mgt.mobile.dto.MobileFeature; +import org.wso2.carbon.device.mgt.mobile.dto.MobileFeatureProperty; +import org.wso2.carbon.device.mgt.mobile.impl.common.DBTypes; +import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration; +import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils; + +import java.sql.*; +import java.util.ArrayList; +import java.util.List; + public class MobileFeaturePropertyDAOTestSuite { + private static final Log log = LogFactory.getLog(MobileFeaturePropertyDAOTestSuite.class); + public static final String MBL_FEATURE_NAME = "WIFI"; + private static final String MBL_FEATURE_CODE = "500A"; + public static final String MBL_FEATURE_DESCRIPTION = "Wifi config"; + public static final String MBL_FEATURE_DEVICE_TYPE = "Android"; + public static final String MBL_FEATURE_PROP_1 = "SSID"; + public static final String MBL_FEATURE_PROP_2 = "PASSWORD"; + private TestDBConfiguration testDBConfiguration; + private MobileFeatureDAOImpl mblFeatureDAO; + private MobileFeaturePropertyDAOImpl mobileFeaturePropertyDAO; + private int mblFeatureId; + + @BeforeClass + @Parameters("dbType") + public void setUpDB(String dbTypeStr) throws Exception { + + DBTypes dbType = DBTypes.valueOf(dbTypeStr); + testDBConfiguration = MobileDatabaseUtils.getTestDBConfiguration(dbType); + + switch (dbType) { + case H2: + MobileDatabaseUtils.createH2DB(testDBConfiguration); + DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource(); + PoolProperties properties = new PoolProperties(); + properties.setUrl(testDBConfiguration.getConnectionURL()); + properties.setDriverClassName(testDBConfiguration.getDriverClassName()); + properties.setUsername(testDBConfiguration.getUsername()); + properties.setPassword(testDBConfiguration.getPassword()); + testDataSource.setPoolProperties(properties); + mblFeatureDAO = new MobileFeatureDAOImpl(testDataSource); + mobileFeaturePropertyDAO = new MobileFeaturePropertyDAOImpl(testDataSource); + default: + } + } + + @Test + public void addMobileFeaturePropertyTest() + throws MobileDeviceManagementDAOException { + + Connection conn = null; + PreparedStatement preparedStatement = null; + List propertyList = new ArrayList(); + //Add a new MobileFeature to the database + MobileFeature mobileFeature = new MobileFeature(); + mobileFeature.setCode(MBL_FEATURE_CODE); + mobileFeature.setDescription(MBL_FEATURE_DESCRIPTION); + mobileFeature.setName(MBL_FEATURE_NAME); + mobileFeature.setDeviceType(MBL_FEATURE_DEVICE_TYPE); + mblFeatureId = mblFeatureDAO.addMobileFeature(mobileFeature); + + //Add 1st property to the feature + MobileFeatureProperty mobileFeatureProperty = new MobileFeatureProperty(); + mobileFeatureProperty.setFeatureID(mblFeatureId); + mobileFeatureProperty.setProperty(MBL_FEATURE_PROP_1); + boolean status1 = mobileFeaturePropertyDAO.addMobileFeatureProperty(mobileFeatureProperty); + + //Add 2nd property to the feature + mobileFeatureProperty.setProperty(MBL_FEATURE_PROP_2); + boolean status2 = mobileFeaturePropertyDAO.addMobileFeatureProperty(mobileFeatureProperty); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String query = + "SELECT FEATURE_ID, PROPERTY FROM MBL_FEATURE_PROPERTY WHERE FEATURE_ID = ?"; + preparedStatement = conn.prepareStatement(query); + preparedStatement.setInt(1, mblFeatureId); + ResultSet resultSet = preparedStatement.executeQuery(); + + while (resultSet.next()) { + mobileFeatureProperty = new MobileFeatureProperty(); + mobileFeatureProperty.setFeatureID(resultSet.getInt(1)); + mobileFeatureProperty.setProperty(resultSet.getString(2)); + propertyList.add(mobileFeatureProperty); + } + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Feature data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status1, "MobileFeatureProperty1 has added "); + Assert.assertTrue(status2, "MobileFeatureProperty2 has added "); + Assert.assertTrue(propertyList.size() == 2, "MobileFeatureProperties have retrieved "); + + for (MobileFeatureProperty mblFeatureProperty : propertyList) { + Assert.assertNotNull(mblFeatureProperty.getProperty(), + "MobileFeatureProperty property has persisted "); + Assert.assertNotNull(mblFeatureProperty.getFeatureID(), + "MobileFeatureProperty feature-id has persisted "); + } + + } + + @Test(dependsOnMethods = { "addMobileFeaturePropertyTest" }) + public void getMobileFeaturePropertyTest() + throws MobileDeviceManagementDAOException { + MobileFeatureProperty mobileFeatureProperty = + mobileFeaturePropertyDAO.getMobileFeatureProperty(MBL_FEATURE_PROP_1); + Assert.assertNotNull(mobileFeatureProperty, "MobileFeatureProperty has retrieved "); + Assert.assertEquals(MBL_FEATURE_PROP_1, mobileFeatureProperty.getProperty(), + "MobileFeatureProperty property has retrieved "); + Assert.assertTrue(mblFeatureId == mobileFeatureProperty.getFeatureID(), + "MobileFeatureProperty featureId has retrieved "); + } + + @Test(dependsOnMethods = { "addMobileFeaturePropertyTest" }) + public void getFeaturePropertyOfFeatureTest() + throws MobileDeviceManagementDAOException { + List mobileFeatureProperties = + mobileFeaturePropertyDAO.getFeaturePropertiesOfFeature(mblFeatureId); + Assert.assertNotNull(mobileFeatureProperties, "MobileFeatureProperty list has retrieved "); + Assert.assertTrue(mobileFeatureProperties.size() == 2, + "MobileFeatureProperties have fetched "); + for (MobileFeatureProperty mblFeatureProperty : mobileFeatureProperties) { + Assert.assertNotNull(mblFeatureProperty.getProperty(), + "MobileFeatureProperty property has fetched "); + Assert.assertNotNull(mblFeatureProperty.getFeatureID(), + "MobileFeatureProperty feature-id has fetched "); + } + } + + @Test(dependsOnMethods = { "addMobileFeaturePropertyTest", "getMobileFeaturePropertyTest", + "getFeaturePropertyOfFeatureTest" }, expectedExceptions = MobileDeviceManagementDAOException.class) + public void updateFeaturePropertyTest() throws MobileDeviceManagementDAOException { + //Update 1st property to a non-exist feature + MobileFeatureProperty mobileFeatureProperty = new MobileFeatureProperty(); + mobileFeatureProperty.setFeatureID(2); + mobileFeatureProperty.setProperty(MBL_FEATURE_PROP_1); + mobileFeaturePropertyDAO.updateMobileFeatureProperty(mobileFeatureProperty); + } + + @Test(dependsOnMethods = { "addMobileFeaturePropertyTest", "getMobileFeaturePropertyTest", + "getFeaturePropertyOfFeatureTest" }) + public void deleteMobileFeaturePropertyTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + boolean status = + mobileFeaturePropertyDAO.deleteMobileFeatureProperty(MBL_FEATURE_PROP_2); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String query = + "SELECT PROPERTY, FEATURE_ID FROM MBL_FEATURE_PROPERTY WHERE PROPERTY = ?"; + preparedStatement = conn.prepareStatement(query); + preparedStatement.setString(1, MBL_FEATURE_PROP_2); + ResultSet resultSet = preparedStatement.executeQuery(); + + if (resultSet.next()) { + status = false; + } + } catch (SQLException e) { + String msg = "Error in retrieving MobileFeatureProperty data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status, "MobileFeatureProperty has deleted "); + } + + @Test(dependsOnMethods = { "addMobileFeaturePropertyTest", "getMobileFeaturePropertyTest", + "getFeaturePropertyOfFeatureTest" , "updateFeaturePropertyTest", + "deleteMobileFeaturePropertyTest"}) + public void deleteMobileFeaturePropertiesOfFeatureTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + boolean status = + mobileFeaturePropertyDAO.deleteMobileFeaturePropertiesOfFeature(mblFeatureId); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String query = + "SELECT PROPERTY, FEATURE_ID FROM MBL_FEATURE_PROPERTY WHERE FEATURE_ID = ?"; + preparedStatement = conn.prepareStatement(query); + preparedStatement.setInt(1, mblFeatureId); + ResultSet resultSet = preparedStatement.executeQuery(); + + if (resultSet.next()) { + status = false; + } + } catch (SQLException e) { + String msg = "Error in retrieving MobileFeatureProperty data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status, "MobileFeatureProperties has deleted "); + } + } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java index 760da36083..cdab7bcc4d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java @@ -18,5 +18,166 @@ package org.wso2.carbon.device.mgt.mobile.impl.dao; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.tomcat.jdbc.pool.DataSource; +import org.apache.tomcat.jdbc.pool.PoolProperties; +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; +import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException; +import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileOperationDAOImpl; +import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation; +import org.wso2.carbon.device.mgt.mobile.impl.common.DBTypes; +import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration; +import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils; + +import java.sql.*; + public class MobileOperationDAOTestSuite { + + private static final Log log = LogFactory.getLog(MobileOperationDAOTestSuite.class); + public static final String TEST_MBL_OPR_FEATURE_CODE = "LOCK"; + public static final String TEST_MBL_OPR_UPDATED_FEATURE_CODE = "MUTE"; + public static final long TEST_MBL_OPR_CREATED_DATE = new java.util.Date().getTime(); + private TestDBConfiguration testDBConfiguration; + private MobileOperationDAOImpl mblOperationDAO; + private int mblOperationId; + + @BeforeClass + @Parameters("dbType") + public void setUpDB(String dbTypeStr) throws Exception { + + DBTypes dbType = DBTypes.valueOf(dbTypeStr); + testDBConfiguration = MobileDatabaseUtils.getTestDBConfiguration(dbType); + + switch (dbType) { + case H2: + MobileDatabaseUtils.createH2DB(testDBConfiguration); + DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource(); + PoolProperties properties = new PoolProperties(); + properties.setUrl(testDBConfiguration.getConnectionURL()); + properties.setDriverClassName(testDBConfiguration.getDriverClassName()); + properties.setUsername(testDBConfiguration.getUsername()); + properties.setPassword(testDBConfiguration.getPassword()); + testDataSource.setPoolProperties(properties); + mblOperationDAO = new MobileOperationDAOImpl(testDataSource); + default: + } + } + + @Test + public void addMobileOperationTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + MobileOperation mblOperation = new MobileOperation(); + MobileOperation testMblOperation = new MobileOperation(); + mblOperation.setFeatureCode(TEST_MBL_OPR_FEATURE_CODE); + mblOperation.setCreatedDate(TEST_MBL_OPR_CREATED_DATE); + mblOperationId = mblOperationDAO.addMobileOperation(mblOperation); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM MBL_OPERATION WHERE OPERATION_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setInt(1, mblOperationId); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + testMblOperation.setOperationId(resultSet.getInt(1)); + testMblOperation.setFeatureCode(resultSet.getString(2)); + testMblOperation.setCreatedDate(resultSet.getLong(3)); + } + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Operation data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(mblOperationId > 0 , "MobileOperation has added "); + Assert.assertEquals(TEST_MBL_OPR_FEATURE_CODE, testMblOperation.getFeatureCode(), + "MobileOperation feature code has persisted "); + Assert.assertEquals(TEST_MBL_OPR_CREATED_DATE, testMblOperation.getCreatedDate(), + "MobileOperation created-date has persisted "); + } + + @Test(dependsOnMethods = { "addMobileOperationTest" }) + public void getMobileOperationTest() + throws MobileDeviceManagementDAOException { + + MobileOperation mobileOperation = mblOperationDAO.getMobileOperation(mblOperationId); + Assert.assertEquals(TEST_MBL_OPR_CREATED_DATE, mobileOperation.getCreatedDate(), + "MobileOperation created-date has retrieved "); + Assert.assertEquals(TEST_MBL_OPR_FEATURE_CODE, mobileOperation.getFeatureCode(), + "MobileOperation feature-code has retrieved "); + } + + @Test(dependsOnMethods = { "addMobileOperationTest" , "getMobileOperationTest"}) + public void updateMobileOperationTest() + throws MobileDeviceManagementDAOException { + + Connection conn = null; + PreparedStatement preparedStatement = null; + long updatedDate = new java.util.Date().getTime(); + MobileOperation mblOperation = new MobileOperation(); + MobileOperation testMblOperation = new MobileOperation(); + mblOperation.setFeatureCode(TEST_MBL_OPR_UPDATED_FEATURE_CODE); + mblOperation.setCreatedDate(updatedDate); + mblOperation.setOperationId(mblOperationId); + boolean status = mblOperationDAO.updateMobileOperation(mblOperation); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM MBL_OPERATION WHERE OPERATION_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setInt(1, mblOperationId); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + testMblOperation.setOperationId(resultSet.getInt(1)); + testMblOperation.setFeatureCode(resultSet.getString(2)); + testMblOperation.setCreatedDate(resultSet.getLong(3)); + } + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Operation data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status , "MobileOperation has updated "); + Assert.assertEquals(TEST_MBL_OPR_UPDATED_FEATURE_CODE, testMblOperation.getFeatureCode(), + "MobileOperation feature code has updated "); + Assert.assertEquals(updatedDate, testMblOperation.getCreatedDate(), + "MobileOperation created-date has updated "); + } + + @Test(dependsOnMethods = { "addMobileOperationTest" , "getMobileOperationTest", + "updateMobileOperationTest" }) + public void deleteMobileDeviceTest() + throws MobileDeviceManagementDAOException { + + Connection conn = null; + PreparedStatement preparedStatement = null; + boolean deleted = mblOperationDAO.deleteMobileOperation(mblOperationId); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM MBL_OPERATION WHERE OPERATION_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setInt(1, mblOperationId); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + deleted = false; + } + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Operation data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(deleted, "MobileOperation has deleted "); + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationPropertyDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationPropertyDAOTestSuite.java index 3b5b60ba20..7d8315eaa5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationPropertyDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationPropertyDAOTestSuite.java @@ -18,5 +18,215 @@ package org.wso2.carbon.device.mgt.mobile.impl.dao; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.apache.tomcat.jdbc.pool.DataSource; +import org.apache.tomcat.jdbc.pool.PoolProperties; +import org.testng.Assert; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Parameters; +import org.testng.annotations.Test; +import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException; +import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileOperationDAOImpl; +import org.wso2.carbon.device.mgt.mobile.dao.impl.MobileOperationPropertyDAOImpl; +import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation; +import org.wso2.carbon.device.mgt.mobile.dto.MobileOperationProperty; +import org.wso2.carbon.device.mgt.mobile.impl.common.DBTypes; +import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration; +import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils; + +import java.sql.*; +import java.util.ArrayList; +import java.util.List; + public class MobileOperationPropertyDAOTestSuite { + + private static final Log log = LogFactory.getLog(MobileOperationPropertyDAOTestSuite.class); + public static final String TEST_MBL_OPR_FEATURE_CODE = "LOCK"; + public static final long TEST_MBL_OPR_CREATED_DATE = new java.util.Date().getTime(); + public static final String TEST_MBL_OPR_PROPERTY_SSID = "SSID"; + public static final String TEST_MBL_OPR_PROPERTY_SSID_VALUE = "wso2"; + public static final String TEST_MBL_OPR_PROPERTY_PWD = "PASSWORD"; + public static final String TEST_MBL_OPR_PROPERTY_PWD_VALUE = "wso2"; + public static final String TEST_MBL_OPR_PROPERTY_PWD_UPDATED_VALUE = "wso2mdm"; + private int mblOperationId; + private TestDBConfiguration testDBConfiguration; + private MobileOperationPropertyDAOImpl mobileOperationPropertyDAO; + private MobileOperationDAOImpl mblOperationDAO; + + @BeforeClass + @Parameters("dbType") + public void setUpDB(String dbTypeStr) throws Exception { + + DBTypes dbType = DBTypes.valueOf(dbTypeStr); + testDBConfiguration = MobileDatabaseUtils.getTestDBConfiguration(dbType); + + switch (dbType) { + case H2: + MobileDatabaseUtils.createH2DB(testDBConfiguration); + DataSource testDataSource = new org.apache.tomcat.jdbc.pool.DataSource(); + PoolProperties properties = new PoolProperties(); + properties.setUrl(testDBConfiguration.getConnectionURL()); + properties.setDriverClassName(testDBConfiguration.getDriverClassName()); + properties.setUsername(testDBConfiguration.getUsername()); + properties.setPassword(testDBConfiguration.getPassword()); + testDataSource.setPoolProperties(properties); + mobileOperationPropertyDAO = new MobileOperationPropertyDAOImpl(testDataSource); + mblOperationDAO = new MobileOperationDAOImpl(testDataSource); + default: + } + } + + @Test + public void addMobileOperationPropertyTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + MobileOperation mblOperation = new MobileOperation(); + MobileOperationProperty operationProperty = new MobileOperationProperty(); + List properties = new ArrayList(); + //Add a new Operation to the database + MobileOperation testMblOperation = new MobileOperation(); + mblOperation.setFeatureCode(TEST_MBL_OPR_FEATURE_CODE); + mblOperation.setCreatedDate(TEST_MBL_OPR_CREATED_DATE); + mblOperationId = mblOperationDAO.addMobileOperation(mblOperation); + //Add property1 + operationProperty.setOperationId(mblOperationId); + operationProperty.setProperty(TEST_MBL_OPR_PROPERTY_SSID); + operationProperty.setValue(TEST_MBL_OPR_PROPERTY_SSID_VALUE); + boolean status1 = mobileOperationPropertyDAO.addMobileOperationProperty(operationProperty); + + //add property2 + operationProperty = new MobileOperationProperty(); + operationProperty.setOperationId(mblOperationId); + operationProperty.setProperty(TEST_MBL_OPR_PROPERTY_PWD); + operationProperty.setValue(TEST_MBL_OPR_PROPERTY_PWD_VALUE); + boolean status2 = mobileOperationPropertyDAO.addMobileOperationProperty(operationProperty); + + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT OPERATION_ID, PROPERTY, VALUE FROM MBL_OPERATION_PROPERTY WHERE OPERATION_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setInt(1, mblOperationId); + ResultSet resultSet = preparedStatement.executeQuery(); + while (resultSet.next()) { + operationProperty = new MobileOperationProperty(); + operationProperty.setOperationId(resultSet.getInt(1)); + operationProperty.setProperty(resultSet.getString(2)); + operationProperty.setValue(resultSet.getString(3)); + properties.add(operationProperty); + } + + } catch (SQLException e) { + String msg = "Error in retrieving Mobile Operation Property data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status1, "MobileOperationProperty1 has added "); + Assert.assertTrue(status2, "MobileOperationProperty2 has added "); + Assert.assertTrue(properties.size() == 2, "MobileOperationProperties have retrieved "); + + for (MobileOperationProperty mobileOperationProperty : properties) { + Assert.assertNotNull(mobileOperationProperty.getProperty(), + "MobileOperationProperty property has persisted "); + Assert.assertNotNull(mobileOperationProperty.getValue(), + "MobileOperationProperty value has persisted "); + } + } + + @Test(dependsOnMethods = { "addMobileOperationPropertyTest" }) + public void getMobileOperationPropertyTest() + throws MobileDeviceManagementDAOException { + MobileOperationProperty mobileOperationProperty = mobileOperationPropertyDAO + .getMobileOperationProperty(mblOperationId, TEST_MBL_OPR_PROPERTY_PWD); + Assert.assertEquals(mblOperationId, mobileOperationProperty.getOperationId(), + "MobileOperationProperty operation-id has retrieved "); + Assert.assertEquals(TEST_MBL_OPR_PROPERTY_PWD, mobileOperationProperty.getProperty(), + "MobileOperationProperty property has retrieved "); + Assert.assertEquals(TEST_MBL_OPR_PROPERTY_PWD_VALUE, mobileOperationProperty.getValue(), + "MobileOperationProperty property-value has retrieved "); + } + + @Test(dependsOnMethods = { "addMobileOperationPropertyTest" }) + public void getAllMobileOperationPropertiesOfOperationTest() + throws MobileDeviceManagementDAOException { + List mobileOperationProperties = mobileOperationPropertyDAO + .getAllMobileOperationPropertiesOfOperation(mblOperationId); + Assert.assertTrue(mobileOperationProperties.size() == 2, + "MobileOperationProperties of operation has retrieved"); + } + + @Test(dependsOnMethods = { "addMobileOperationPropertyTest", "getMobileOperationPropertyTest", + "getAllMobileOperationPropertiesOfOperationTest" }) + public void updateMobileOperationPropertyTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + MobileOperationProperty mblOperationProperty = new MobileOperationProperty(); + MobileOperationProperty testMblOperationProperty = new MobileOperationProperty(); + mblOperationProperty.setOperationId(mblOperationId); + mblOperationProperty.setProperty(TEST_MBL_OPR_PROPERTY_PWD); + mblOperationProperty.setValue(TEST_MBL_OPR_PROPERTY_PWD_UPDATED_VALUE); + + boolean status = + mobileOperationPropertyDAO.updateMobileOperationProperty(mblOperationProperty); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT OPERATION_ID, PROPERTY, VALUE FROM MBL_OPERATION_PROPERTY WHERE" + + " OPERATION_ID = ? AND PROPERTY = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setInt(1, mblOperationId); + preparedStatement.setString(2, TEST_MBL_OPR_PROPERTY_PWD); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + testMblOperationProperty.setOperationId(resultSet.getInt(1)); + testMblOperationProperty.setProperty(resultSet.getString(2)); + testMblOperationProperty.setValue(resultSet.getString(3)); + } + } catch (SQLException e) { + String msg = "Error in retrieving MobileOperationProperty data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status, "MobileOperationProperty has updated "); + Assert.assertEquals(TEST_MBL_OPR_PROPERTY_PWD_UPDATED_VALUE, + testMblOperationProperty.getValue(), + "MobileOperationProperty value has updated "); + } + + @Test(dependsOnMethods = { "addMobileOperationPropertyTest", "getMobileOperationPropertyTest", + "getAllMobileOperationPropertiesOfOperationTest", + "updateMobileOperationPropertyTest" }) + public void deleteMobileOperationPropertiesOfOperationTest() + throws MobileDeviceManagementDAOException { + Connection conn = null; + PreparedStatement preparedStatement = null; + boolean status = + mobileOperationPropertyDAO.deleteMobileOperationProperties(mblOperationId); + try { + conn = DriverManager.getConnection(testDBConfiguration.getConnectionURL()); + String selectDBQuery = + "SELECT OPERATION_ID, PROPERTY, VALUE FROM MBL_OPERATION_PROPERTY WHERE" + + " OPERATION_ID = ?"; + preparedStatement = conn.prepareStatement(selectDBQuery); + preparedStatement.setInt(1, mblOperationId); + ResultSet resultSet = preparedStatement.executeQuery(); + if (resultSet.next()) { + status = false; + } + } catch (SQLException e) { + String msg = "Error in retrieving MobileOperationProperty data "; + log.error(msg, e); + throw new MobileDeviceManagementDAOException(msg, e); + } finally { + MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); + } + Assert.assertTrue(status, "MobileOperationProperty has deleted "); + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/util/MobileDatabaseUtils.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/util/MobileDatabaseUtils.java new file mode 100644 index 0000000000..cd4f45a247 --- /dev/null +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/util/MobileDatabaseUtils.java @@ -0,0 +1,111 @@ +/* + * 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.mobile.impl.dao.util; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.w3c.dom.Document; +import org.wso2.carbon.device.mgt.common.DeviceManagementException; +import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException; +import org.wso2.carbon.device.mgt.mobile.impl.common.DBTypes; +import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfiguration; +import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfigurations; +import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementUtil; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Unmarshaller; +import java.io.File; +import java.sql.*; + +/** + * This class provides the utility methods needed for DAO related test executions. + */ +public class MobileDatabaseUtils { + + private static final Log log = LogFactory.getLog(MobileDatabaseUtils.class); + public static final String TEST_RESOURCES_DB_CONFIG_FILE = + "src/test/resources/testdbconfig.xml"; + + public static void cleanupResources(Connection conn, Statement stmt, ResultSet rs) { + if (rs != null) { + try { + rs.close(); + } catch (SQLException e) { + log.warn("Error occurred while closing result set", e); + } + } + if (stmt != null) { + try { + stmt.close(); + } catch (SQLException e) { + log.warn("Error occurred while closing prepared statement", e); + } + } + if (conn != null) { + try { + conn.close(); + } catch (SQLException e) { + log.warn("Error occurred while closing database connection", e); + } + } + } + + public static TestDBConfiguration getTestDBConfiguration(DBTypes dbType) throws + MobileDeviceManagementDAOException, + DeviceManagementException { + File deviceMgtConfig = new File(TEST_RESOURCES_DB_CONFIG_FILE); + Document doc; + TestDBConfiguration testDBConfiguration = null; + TestDBConfigurations testDBConfigurations; + + doc = MobileDeviceManagementUtil.convertToDocument(deviceMgtConfig); + JAXBContext testDBContext; + + try { + testDBContext = JAXBContext.newInstance(TestDBConfigurations.class); + Unmarshaller unmarshaller = testDBContext.createUnmarshaller(); + testDBConfigurations = (TestDBConfigurations) unmarshaller.unmarshal(doc); + } catch (JAXBException e) { + throw new MobileDeviceManagementDAOException("Error parsing test db configurations", e); + } + + for (TestDBConfiguration testDBConfiguration1 : testDBConfigurations.getDbTypesList()) { + testDBConfiguration = testDBConfiguration1; + if (testDBConfiguration.getType().equals(dbType.toString())) { + break; + } + } + + return testDBConfiguration; + } + + public static void createH2DB(TestDBConfiguration testDBConf) throws Exception { + Connection conn = null; + Statement stmt = null; + try { + Class.forName(testDBConf.getDriverClassName()); + conn = DriverManager.getConnection(testDBConf.getConnectionURL()); + stmt = conn.createStatement(); + stmt.executeUpdate("RUNSCRIPT FROM './src/test/resources/sql/CreateH2TestDB.sql'"); + } finally { + cleanupResources(conn, stmt, null); + } + } +} diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/resources/sql/CreateH2TestDB.sql b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/resources/sql/CreateH2TestDB.sql index aab99bd146..a49b86f4bc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/resources/sql/CreateH2TestDB.sql +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/resources/sql/CreateH2TestDB.sql @@ -20,9 +20,10 @@ CREATE TABLE IF NOT EXISTS `MBL_DEVICE` ( -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `MBL_FEATURE` ( `FEATURE_ID` INT NOT NULL AUTO_INCREMENT , - `CODE` VARCHAR(45) NOT NULL , + `CODE` VARCHAR(45) NOT NULL, `NAME` VARCHAR(100) NULL , `DESCRIPTION` VARCHAR(200) NULL , + `DEVICE_TYPE` VARCHAR(50) NULL , PRIMARY KEY (`FEATURE_ID`) ); -- ----------------------------------------------------- @@ -74,7 +75,7 @@ CREATE TABLE IF NOT EXISTS `MBL_OPERATION_PROPERTY` ( -- ----------------------------------------------------- CREATE TABLE IF NOT EXISTS `MBL_FEATURE_PROPERTY` ( `PROPERTY` VARCHAR(45) NOT NULL , - `FEATURE_ID` VARCHAR(45) NOT NULL , + `FEATURE_ID` INT NOT NULL , PRIMARY KEY (`PROPERTY`) , CONSTRAINT `fk_MBL_FEATURE_PROPERTY_MBL_FEATURE1` FOREIGN KEY (`FEATURE_ID` ) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/resources/testng.xml b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/resources/testng.xml index 0c639fea39..cd8ba17ab0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/resources/testng.xml +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/resources/testng.xml @@ -25,11 +25,16 @@ - + \ No newline at end of file From 7f436f4f752abdae1886eae1a720f86dfcc2a958 Mon Sep 17 00:00:00 2001 From: harshanL Date: Thu, 12 Feb 2015 12:00:56 +0530 Subject: [PATCH 2/8] Added comments to DAO unit tests --- .../mgt/mobile/impl/dao/MobileDeviceDAOTestSuite.java | 6 ++++++ .../impl/dao/MobileDeviceOperationMappingDAOTestSuite.java | 5 +++++ .../mgt/mobile/impl/dao/MobileFeatureDAOTestSuite.java | 4 +++- .../mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java | 5 +++++ .../mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java | 5 +++++ .../impl/dao/MobileOperationPropertyDAOTestSuite.java | 5 +++++ 6 files changed, 29 insertions(+), 1 deletion(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAOTestSuite.java index 84a7647e0d..da7b502a3f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceDAOTestSuite.java @@ -36,6 +36,12 @@ import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils; import java.sql.*; import java.util.List; +/** + * + * Class for holding unit-tests related to MobileDeviceDAO class. + * + */ + public class MobileDeviceDAOTestSuite { private static final Log log = LogFactory.getLog(MobileDeviceDAOTestSuite.class); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationMappingDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationMappingDAOTestSuite.java index d8e611ecdb..cd93428066 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationMappingDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileDeviceOperationMappingDAOTestSuite.java @@ -41,6 +41,11 @@ import java.sql.*; import java.util.ArrayList; import java.util.List; +/** + * + * Class for holding unit-tests related to MobileDeviceOperationMappingDAO class. + * + */ public class MobileDeviceOperationMappingDAOTestSuite { private static final Log log = diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeatureDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeatureDAOTestSuite.java index b9bed2c084..5d1d576724 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeatureDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeatureDAOTestSuite.java @@ -37,7 +37,9 @@ import java.sql.*; import java.util.List; /** - * Class for holding the units tests related to MobileFeatureDAO class. + * + * Class for holding unit-tests related to MobileFeatureDAO class. + * */ public class MobileFeatureDAOTestSuite { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java index 07fe407e88..2985ded85f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java @@ -39,6 +39,11 @@ import java.sql.*; import java.util.ArrayList; import java.util.List; +/** + * + * Class for holding unit-tests related to MobileFeaturePropertyDAO class. + * + */ public class MobileFeaturePropertyDAOTestSuite { private static final Log log = LogFactory.getLog(MobileFeaturePropertyDAOTestSuite.class); public static final String MBL_FEATURE_NAME = "WIFI"; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java index cdab7bcc4d..a6386550e2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java @@ -35,6 +35,11 @@ import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils; import java.sql.*; +/** + * + * Class for holding unit-tests related to MobileOperationDAO class. + * + */ public class MobileOperationDAOTestSuite { private static final Log log = LogFactory.getLog(MobileOperationDAOTestSuite.class); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationPropertyDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationPropertyDAOTestSuite.java index 7d8315eaa5..161a6e4e6b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationPropertyDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationPropertyDAOTestSuite.java @@ -39,6 +39,11 @@ import java.sql.*; import java.util.ArrayList; import java.util.List; +/** + * + * Class for holding unit-tests related to MobileOperationPropertyDAO class. + * + */ public class MobileOperationPropertyDAOTestSuite { private static final Log log = LogFactory.getLog(MobileOperationPropertyDAOTestSuite.class); From dbf296605f9db59720df09c749fedebee418598f Mon Sep 17 00:00:00 2001 From: harshanL Date: Thu, 12 Feb 2015 19:37:07 +0530 Subject: [PATCH 3/8] MDM-312 fix : Refactored code of MDM MobileImpl component --- .../AbstractMobileOperationManager.java | 20 +- .../MobileDeviceConfigurationManager.java | 7 +- .../dao/MobileDeviceOperationMappingDAO.java | 8 +- .../mobile/dao/MobileFeaturePropertyDAO.java | 7 +- .../mobile/dao/impl/MobileDeviceDAOImpl.java | 3 +- .../MobileDeviceOperationMappingDAOImpl.java | 28 ++- .../mobile/dao/impl/MobileFeatureDAOImpl.java | 26 +- .../impl/MobileFeaturePropertyDAOImpl.java | 5 +- .../dao/impl/MobileOperationDAOImpl.java | 9 +- .../impl/MobileOperationPropertyDAOImpl.java | 26 +- .../util/MobileDeviceManagementDAOUtil.java | 7 +- .../AndroidMobileOperationManager.java | 44 ++-- ...MobileDeviceManagementBundleActivator.java | 231 +++++++++--------- ...obileDeviceManagementServiceComponent.java | 4 - ...bileDeviceManagementSchemaInitializer.java | 5 + .../util/MobileDeviceManagementUtil.java | 7 +- .../impl/dao/MobileOperationDAOTestSuite.java | 10 +- 17 files changed, 234 insertions(+), 213 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/AbstractMobileOperationManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/AbstractMobileOperationManager.java index 0bf268ef94..73fe6b9889 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/AbstractMobileOperationManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/AbstractMobileOperationManager.java @@ -24,15 +24,17 @@ import java.util.List; public abstract class AbstractMobileOperationManager implements OperationManager { - @Override - public List getOperations(DeviceIdentifier deviceIdentifier) throws OperationManagementException { - return null; - } + @Override + public List getOperations(DeviceIdentifier deviceIdentifier) + throws OperationManagementException { + return null; + } - @Override - public boolean addOperation(Operation operation, - List devices) throws OperationManagementException { - return true; - } + @Override + public boolean addOperation(Operation operation, + List devices) + throws OperationManagementException { + return true; + } } \ 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/config/MobileDeviceConfigurationManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/config/MobileDeviceConfigurationManager.java index cd42592f02..7143d74df3 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/config/MobileDeviceConfigurationManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/config/MobileDeviceConfigurationManager.java @@ -34,13 +34,14 @@ import java.io.File; public class MobileDeviceConfigurationManager { private static final String MOBILE_DEVICE_CONFIG_XML_NAME = "mobile-config.xml"; - private static final String MOBILE_DEVICE_PLUGIN_DIRECTORY = "mobile"; + private static final String MOBILE_DEVICE_PLUGIN_DIRECTORY = "mobile"; private MobileDeviceManagementConfig currentMobileDeviceConfig; private static MobileDeviceConfigurationManager mobileDeviceConfigManager; private final String mobileDeviceMgtConfigXMLPath = - CarbonUtils.getEtcCarbonConfigDirPath() + File.separator + "device-mgt-plugin-configs" + File.separator + - MOBILE_DEVICE_PLUGIN_DIRECTORY + File.separator + MOBILE_DEVICE_CONFIG_XML_NAME; + CarbonUtils.getEtcCarbonConfigDirPath() + File.separator + "device-mgt-plugin-configs" + + File.separator + + MOBILE_DEVICE_PLUGIN_DIRECTORY + File.separator + MOBILE_DEVICE_CONFIG_XML_NAME; public static MobileDeviceConfigurationManager getInstance() { if (mobileDeviceConfigManager == null) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java index f55660e7b1..e9fdb69af2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java @@ -29,8 +29,8 @@ public interface MobileDeviceOperationMappingDAO { /** * Add a new mobile device operation mapping to the table. * - * @param deviceOperation MobileDeviceOperation object that holds data related to the MobileDeviceOperation - * to be inserted. + * @param deviceOperation MobileDeviceOperation object that holds data related to the + * MobileDeviceOperation to be inserted. * @return The status of the operation. If the insert was successful or not. * @throws MobileDeviceManagementDAOException */ @@ -85,8 +85,8 @@ public interface MobileDeviceOperationMappingDAO { * * @param deviceId Device id of the mapping to be retrieved. * @param operationId Operation id of the mapping to be retrieved. - * @return MobileDeviceOperation object that holds data of the device operation mapping represented by - * deviceId and operationId. + * @return MobileDeviceOperation object that holds data of the device operation mapping + * represented by deviceId and operationId. * @throws MobileDeviceManagementDAOException */ MobileDeviceOperationMapping getMobileDeviceOperationMapping(String deviceId, int operationId) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java index e4414c6e6c..59828124cc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java @@ -23,14 +23,15 @@ import org.wso2.carbon.device.mgt.mobile.dto.MobileFeatureProperty; import java.util.List; /** - * This class represents the key operations associated with persisting mobile feature property related - * information. + * This class represents the key operations associated with persisting mobile feature property + * related information. */ public interface MobileFeaturePropertyDAO { /** * Add a new feature property to feature property table. * - * @param mobileFeatureProperty Feature property object that holds data related to the feature property to be inserted. + * @param mobileFeatureProperty Feature property object that holds data related to the feature + * property to be inserted. * @return The status of the operation. If the insert was successful or not. * @throws MobileDeviceManagementDAOException */ diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java index 55ec01944a..b5ee24b45c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java @@ -128,7 +128,8 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { conn = this.getConnection(); String updateDBQuery = "UPDATE MBL_DEVICE SET REG_ID = ?, IMEI = ?, IMSI = ?, OS_VERSION = ?," + - "DEVICE_MODEL = ?, VENDOR = ? , LATITUDE = ?, LONGITUDE = ? WHERE MOBILE_DEVICE_ID = ?"; + "DEVICE_MODEL = ?, VENDOR = ? , LATITUDE = ?, LONGITUDE = ? " + + "WHERE MOBILE_DEVICE_ID = ?"; stmt = conn.prepareStatement(updateDBQuery); stmt.setString(1, mobileDevice.getRegId()); stmt.setString(2, mobileDevice.getImei()); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java index e1038fc361..211ffe253e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java @@ -20,8 +20,8 @@ package org.wso2.carbon.device.mgt.mobile.dao.impl; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceOperationMappingDAO; import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException; +import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceOperationMappingDAO; import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil; import org.wso2.carbon.device.mgt.mobile.dto.MobileDeviceOperationMapping; @@ -73,7 +73,6 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio deviceOperation.getDeviceId() + " and operation id - " + deviceOperation.getOperationId() + " to mapping table MBL_DEVICE_OPERATION"; - ; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -91,8 +90,8 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio try { conn = this.getConnection(); String updateDBQuery = - "UPDATE MBL_DEVICE_OPERATION_MAPPING SET SENT_DATE = ?, RECEIVED_DATE = ?, STATUS = ? " + - "WHERE DEVICE_ID = ? AND OPERATION_ID=?"; + "UPDATE MBL_DEVICE_OPERATION_MAPPING SET SENT_DATE = ?, RECEIVED_DATE = ?, " + + "STATUS = ? WHERE DEVICE_ID = ? AND OPERATION_ID=?"; stmt = conn.prepareStatement(updateDBQuery); stmt.setLong(1, deviceOperation.getSentDate()); stmt.setLong(2, deviceOperation.getReceivedDate()); @@ -159,7 +158,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio conn = this.getConnection(); String updateDBQuery = "UPDATE MBL_DEVICE_OPERATION_MAPPING SET RECEIVED_DATE = ?, STATUS = ? " + - "WHERE DEVICE_ID = ? AND OPERATION_ID=?"; + "WHERE DEVICE_ID = ? AND OPERATION_ID = ?"; stmt = conn.prepareStatement(updateDBQuery); stmt.setLong(1, new Date().getTime()); stmt.setString(2, MobileDeviceOperationMapping.Status.COMPLETED.name()); @@ -191,7 +190,8 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio try { conn = this.getConnection(); String deleteDBQuery = - "DELETE FROM MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID=?"; + "DELETE FROM MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND " + + "OPERATION_ID = ?"; stmt = conn.prepareStatement(deleteDBQuery); stmt.setString(1, deviceId); stmt.setInt(2, operationId); @@ -222,19 +222,18 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio conn = this.getConnection(); String selectDBQuery = "SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM " + - "MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID=?"; + "MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setString(1, deviceId); stmt.setInt(2, operationId); ResultSet resultSet = stmt.executeQuery(); - while (resultSet.next()) { + if (resultSet.next()) { mblDeviceOperation = new MobileDeviceOperationMapping(); mblDeviceOperation.setDeviceId(resultSet.getString(1)); mblDeviceOperation.setOperationId(resultSet.getInt(2)); mblDeviceOperation.setSentDate(resultSet.getInt(3)); mblDeviceOperation.setReceivedDate(resultSet.getInt(4)); mblDeviceOperation.setStatus(resultSet.getString(5)); - break; } } catch (SQLException e) { String msg = @@ -254,8 +253,9 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; - MobileDeviceOperationMapping mblDeviceOperation = null; - List mblDeviceOperations = new ArrayList(); + MobileDeviceOperationMapping mblDeviceOperation; + List mblDeviceOperations = + new ArrayList(); try { conn = this.getConnection(); String selectDBQuery = @@ -292,15 +292,17 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio Connection conn = null; PreparedStatement stmt = null; MobileDeviceOperationMapping mblDeviceOperation = null; - List mblDeviceOperations = new ArrayList(); + List mblDeviceOperations = + new ArrayList(); try { conn = this.getConnection(); String selectDBQuery = "SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM" + - " MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND STATUS = 'NEW'"; + " MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND STATUS = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setString(1, deviceId); + stmt.setString(2, MobileDeviceOperationMapping.Status.NEW.name()); ResultSet resultSet = stmt.executeQuery(); while (resultSet.next()) { mblDeviceOperation = new MobileDeviceOperationMapping(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java index 78d43352fa..2f5251686e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java @@ -46,7 +46,8 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { } @Override - public int addMobileFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException { + public int addMobileFeature(MobileFeature mobileFeature) + throws MobileDeviceManagementDAOException { int status = 0; Connection conn = null; PreparedStatement stmt = null; @@ -87,7 +88,8 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { try { conn = this.getConnection(); String updateDBQuery = - "UPDATE MBL_FEATURE SET CODE = ?, NAME = ?, DESCRIPTION = ?, DEVICE_TYPE = ? WHERE FEATURE_ID = ?"; + "UPDATE MBL_FEATURE SET CODE = ?, NAME = ?, DESCRIPTION = ?, DEVICE_TYPE = ?" + + " WHERE FEATURE_ID = ?"; stmt = conn.prepareStatement(updateDBQuery); stmt.setString(1, mobileFeature.getCode()); stmt.setString(2, mobileFeature.getName()); @@ -170,18 +172,18 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { try { conn = this.getConnection(); String selectDBQuery = - "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE WHERE CODE = ?"; + "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE " + + "WHERE CODE = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setString(1, featureCode); ResultSet resultSet = stmt.executeQuery(); - while (resultSet.next()) { + if (resultSet.next()) { mobileFeature = new MobileFeature(); mobileFeature.setId(resultSet.getInt(1)); mobileFeature.setCode(resultSet.getString(2)); mobileFeature.setName(resultSet.getString(3)); mobileFeature.setDescription(resultSet.getString(4)); mobileFeature.setDeviceType(resultSet.getString(5)); - break; } } catch (SQLException e) { String msg = "Error occurred while fetching feature code - '" + @@ -203,18 +205,18 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { try { conn = this.getConnection(); String selectDBQuery = - "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE WHERE FEATURE_ID = ?"; + "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE" + + " WHERE FEATURE_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setInt(1, featureID); ResultSet resultSet = stmt.executeQuery(); - while (resultSet.next()) { + if (resultSet.next()) { mobileFeature = new MobileFeature(); mobileFeature.setId(resultSet.getInt(1)); mobileFeature.setCode(resultSet.getString(2)); mobileFeature.setName(resultSet.getString(3)); mobileFeature.setDescription(resultSet.getString(4)); mobileFeature.setDeviceType(resultSet.getString(5)); - break; } } catch (SQLException e) { String msg = "Error occurred while fetching feature id - '" + @@ -259,7 +261,8 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { } @Override - public List getMobileFeatureByDeviceType(String deviceType) throws MobileDeviceManagementDAOException { + public List getMobileFeatureByDeviceType(String deviceType) throws + MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; MobileFeature mobileFeature; @@ -267,7 +270,8 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { try { conn = this.getConnection(); String selectDBQuery = - "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE WHERE DEVICE_TYPE = ?"; + "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE" + + " WHERE DEVICE_TYPE = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setString(1, deviceType); ResultSet resultSet = stmt.executeQuery(); @@ -285,7 +289,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { String msg = "Error occurred while fetching all features.'"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); - }finally { + } finally { MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java index 95f2e3c107..34523675a6 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java @@ -169,11 +169,10 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { stmt = conn.prepareStatement(selectDBQuery); stmt.setString(1, property); ResultSet resultSet = stmt.executeQuery(); - while (resultSet.next()) { + if (resultSet.next()) { mobileFeatureProperty = new MobileFeatureProperty(); mobileFeatureProperty.setProperty(resultSet.getString(1)); mobileFeatureProperty.setFeatureID(resultSet.getInt(2)); - break; } } catch (SQLException e) { String msg = "Error occurred while fetching property - '" + @@ -191,7 +190,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; - MobileFeatureProperty mobileFeatureProperty = null; + MobileFeatureProperty mobileFeatureProperty; List FeatureProperties = new ArrayList(); try { conn = this.getConnection(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java index f52290a438..21f7d7044d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java @@ -84,7 +84,8 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { try { conn = this.getConnection(); String updateDBQuery = - "UPDATE MBL_OPERATION SET FEATURE_CODE = ?, CREATED_DATE = ? WHERE OPERATION_ID = ?"; + "UPDATE MBL_OPERATION SET FEATURE_CODE = ?, CREATED_DATE = ? WHERE " + + "OPERATION_ID = ?"; stmt = conn.prepareStatement(updateDBQuery); stmt.setString(1, operation.getFeatureCode()); stmt.setLong(2, operation.getCreatedDate()); @@ -140,16 +141,16 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { try { conn = this.getConnection(); String selectDBQuery = - "SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM MBL_OPERATION WHERE OPERATION_ID = ?"; + "SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM MBL_OPERATION WHERE " + + "OPERATION_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setInt(1, operationId); ResultSet resultSet = stmt.executeQuery(); - while (resultSet.next()) { + if (resultSet.next()) { operation = new MobileOperation(); operation.setOperationId(resultSet.getInt(1)); operation.setFeatureCode(resultSet.getString(2)); operation.setCreatedDate(resultSet.getLong(3)); - break; } } catch (SQLException e) { String msg = "Error occurred while fetching operationId - '" + diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationPropertyDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationPropertyDAOImpl.java index d5fb2519fd..352d2b6e25 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationPropertyDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationPropertyDAOImpl.java @@ -23,7 +23,6 @@ import org.apache.commons.logging.LogFactory; import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException; import org.wso2.carbon.device.mgt.mobile.dao.MobileOperationPropertyDAO; import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil; -import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation; import org.wso2.carbon.device.mgt.mobile.dto.MobileOperationProperty; import javax.sql.DataSource; @@ -55,8 +54,8 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA try { conn = this.getConnection(); String createDBQuery = - "INSERT INTO MBL_OPERATION_PROPERTY(OPERATION_ID, PROPERTY, VALUE) VALUES ( ?, ?, ?)"; - + "INSERT INTO MBL_OPERATION_PROPERTY(OPERATION_ID, PROPERTY, VALUE) " + + "VALUES ( ?, ?, ?)"; stmt = conn.prepareStatement(createDBQuery); stmt.setInt(1, operationProperty.getOperationId()); stmt.setString(2, operationProperty.getProperty()); @@ -67,7 +66,8 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA } } catch (SQLException e) { String msg = - "Error occurred while adding mobile operation property to MBL_OPERATION_PROPERTY table"; + "Error occurred while adding mobile operation property to MBL_OPERATION_PROPERTY " + + "table"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -86,8 +86,8 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA try { conn = this.getConnection(); String createDBQuery = - "UPDATE MBL_OPERATION_PROPERTY SET VALUE = ? WHERE OPERATION_ID = ? AND PROPERTY = ?"; - + "UPDATE MBL_OPERATION_PROPERTY SET VALUE = ? WHERE OPERATION_ID = ? AND " + + "PROPERTY = ?"; stmt = conn.prepareStatement(createDBQuery); stmt.setString(1, operationProperty.getValue()); stmt.setInt(2, operationProperty.getOperationId()); @@ -98,7 +98,8 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA } } catch (SQLException e) { String msg = - "Error occurred while updating the mobile operation property in MBL_OPERATION_PROPERTY table."; + "Error occurred while updating the mobile operation property in" + + " MBL_OPERATION_PROPERTY table."; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -144,17 +145,17 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA try { conn = this.getConnection(); String selectDBQuery = - "SELECT OPERATION_ID, PROPERTY, VALUE FROM MBL_OPERATION_PROPERTY WHERE OPERATION_ID = ? AND PROPERTY = ?"; + "SELECT OPERATION_ID, PROPERTY, VALUE FROM MBL_OPERATION_PROPERTY WHERE " + + "OPERATION_ID = ? AND PROPERTY = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setInt(1, operationId); stmt.setString(2, property); ResultSet resultSet = stmt.executeQuery(); - while (resultSet.next()) { + if (resultSet.next()) { mobileOperationProperty = new MobileOperationProperty(); mobileOperationProperty.setOperationId(resultSet.getInt(1)); mobileOperationProperty.setProperty(resultSet.getString(2)); mobileOperationProperty.setValue(resultSet.getString(3)); - break; } } catch (SQLException e) { String msg = @@ -173,12 +174,13 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA int operationId) throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; - MobileOperationProperty mobileOperationProperty = null; + MobileOperationProperty mobileOperationProperty; List properties = new ArrayList(); try { conn = this.getConnection(); String selectDBQuery = - "SELECT OPERATION_ID, PROPERTY, VALUE FROM MBL_OPERATION_PROPERTY WHERE OPERATION_ID = ?"; + "SELECT OPERATION_ID, PROPERTY, VALUE FROM MBL_OPERATION_PROPERTY WHERE " + + "OPERATION_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); stmt.setInt(1, operationId); ResultSet resultSet = stmt.executeQuery(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/util/MobileDeviceManagementDAOUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/util/MobileDeviceManagementDAOUtil.java index 15bb6f4858..8091ae186b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/util/MobileDeviceManagementDAOUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/util/MobileDeviceManagementDAOUtil.java @@ -21,8 +21,6 @@ package org.wso2.carbon.device.mgt.mobile.dao.util; 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.mobile.config.datasource.JNDILookupDefinition; -import org.wso2.carbon.device.mgt.mobile.config.datasource.MobileDataSourceConfig; import org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementSchemaInitializer; import javax.naming.InitialContext; @@ -32,7 +30,6 @@ import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.Hashtable; -import java.util.List; /** * Utility method required by MobileDeviceManagement DAO classes. @@ -94,8 +91,8 @@ public class MobileDeviceManagementDAOUtil { try { initializer.createRegistryDatabase(); } catch (Exception e) { - throw new DeviceManagementException("Error occurred while initializing Mobile Device Management " + - "database schema", e); + throw new DeviceManagementException("Error occurred while initializing Mobile Device " + + "Management database schema", e); } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidMobileOperationManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidMobileOperationManager.java index 82cfec148e..0fffc3f8ef 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidMobileOperationManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/impl/android/AndroidMobileOperationManager.java @@ -42,7 +42,7 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage OperationManagementException { boolean status = false; try { - MobileDeviceOperationMapping mobileDeviceOperationMapping = null; + MobileDeviceOperationMapping mobileDeviceOperationMapping; MobileOperation mobileOperation = MobileDeviceManagementUtil.convertToMobileOperation(operation); int operationId = MobileDeviceManagementDAOFactory.getMobileOperationDAO() @@ -77,14 +77,15 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage public List getOperations(DeviceIdentifier deviceIdentifier) throws OperationManagementException { List operations = new ArrayList(); - List mobileDeviceOperationMappings = null; - List operationProperties = null; - MobileOperation mobileOperation = null; + List mobileDeviceOperationMappings; + List operationProperties; + MobileOperation mobileOperation; try { - mobileDeviceOperationMappings = MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO() - .getAllMobileDeviceOperationMappingsOfDevice( - deviceIdentifier - .getId()); + mobileDeviceOperationMappings = + MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO() + .getAllMobileDeviceOperationMappingsOfDevice( + deviceIdentifier + .getId()); if (mobileDeviceOperationMappings.size() > 0) { List operationIds = MobileDeviceManagementUtil .getMobileOperationIdsFromMobileDeviceOperations( @@ -116,15 +117,16 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage public List getPendingOperations(DeviceIdentifier deviceIdentifier) throws OperationManagementException { List operations = new ArrayList(); - List mobileDeviceOperationMappings = null; - List operationProperties = null; - MobileOperation mobileOperation = null; + List mobileDeviceOperationMappings; + List operationProperties ; + MobileOperation mobileOperation; try { //Get the list of pending operations for the given device - mobileDeviceOperationMappings = MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO() - .getAllPendingOperationMappingsOfMobileDevice( - deviceIdentifier - .getId()); + mobileDeviceOperationMappings = + MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO() + .getAllPendingOperationMappingsOfMobileDevice( + deviceIdentifier + .getId()); //Go through each operation mapping for retrieving the data corresponding to each operation for (MobileDeviceOperationMapping operation : mobileDeviceOperationMappings) { //Get the MobileOperation data @@ -158,19 +160,23 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage } @Override - public List getFeaturesForDeviceType(String deviceType) throws FeatureManagementException { + public List getFeaturesForDeviceType(String deviceType) + throws FeatureManagementException { MobileFeatureDAO featureDAO = MobileDeviceManagementDAOFactory.getFeatureDAO(); - MobileFeaturePropertyDAO featurePropertyDAO = MobileDeviceManagementDAOFactory.getFeaturePropertyDAO(); + MobileFeaturePropertyDAO featurePropertyDAO = + MobileDeviceManagementDAOFactory.getFeaturePropertyDAO(); List features = new ArrayList(); try { - List mobileFeatures = featureDAO.getMobileFeatureByDeviceType(deviceType); + List mobileFeatures = + featureDAO.getMobileFeatureByDeviceType(deviceType); for (MobileFeature mobileFeature : mobileFeatures) { Feature feature = new Feature(); feature.setId(mobileFeature.getId()); feature.setDeviceType(mobileFeature.getDeviceType()); feature.setName(mobileFeature.getName()); feature.setDescription(mobileFeature.getDescription()); - List metadataEntries = new ArrayList(); + List metadataEntries = + new ArrayList(); List properties = featurePropertyDAO.getFeaturePropertiesOfFeature(mobileFeature.getId()); for (MobileFeatureProperty property : properties) { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementBundleActivator.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementBundleActivator.java index 3c0142f026..fb32d4fecc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementBundleActivator.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementBundleActivator.java @@ -40,129 +40,136 @@ import org.wso2.carbon.device.mgt.mobile.impl.windows.WindowsDeviceManagerServic import java.util.ArrayList; import java.util.List; +/** + * BundleActivator of MobileDeviceManagement component. + */ public class MobileDeviceManagementBundleActivator implements BundleActivator, BundleListener { - private ServiceRegistration androidServiceRegRef; - private ServiceRegistration iOSServiceRegRef; - private ServiceRegistration windowsServiceRegRef; + private ServiceRegistration androidServiceRegRef; + private ServiceRegistration iOSServiceRegRef; + private ServiceRegistration windowsServiceRegRef; - private static List dataSourceListeners = new ArrayList(); + private static List dataSourceListeners = + new ArrayList(); - private static final String SYMBOLIC_NAME_DATA_SOURCE_COMPONENT = "org.wso2.carbon.ndatasource.core"; - private static final Log log = LogFactory.getLog(MobileDeviceManagementBundleActivator.class); + private static final String SYMBOLIC_NAME_DATA_SOURCE_COMPONENT = + "org.wso2.carbon.ndatasource.core"; + private static final Log log = LogFactory.getLog(MobileDeviceManagementBundleActivator.class); - @Override - public void start(BundleContext bundleContext) throws Exception { - try { - if (log.isDebugEnabled()) { - log.debug("Activating Mobile Device Management Service bundle"); - } - bundleContext.addBundleListener(this); + @Override + public void start(BundleContext bundleContext) throws Exception { + try { + if (log.isDebugEnabled()) { + log.debug("Activating Mobile Device Management Service bundle"); + } + bundleContext.addBundleListener(this); /* Initialize the datasource configuration */ - MobileDeviceConfigurationManager.getInstance().initConfig(); - MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance() - .getMobileDeviceManagementConfig(); - MobileDataSourceConfig dsConfig = - config.getMobileDeviceMgtRepository().getMobileDataSourceConfig(); - - MobileDeviceManagementDAOFactory.setMobileDataSourceConfig(dsConfig); - - androidServiceRegRef = - bundleContext.registerService(DeviceManagerService.class.getName(), - new AndroidDeviceManagerService(), null); - iOSServiceRegRef = - bundleContext.registerService(DeviceManagerService.class.getName(), - new IOSDeviceManagerService(), null); - windowsServiceRegRef = - bundleContext.registerService(DeviceManagerService.class.getName(), - new WindowsDeviceManagerService(), null); + MobileDeviceConfigurationManager.getInstance().initConfig(); + MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance() + .getMobileDeviceManagementConfig(); + MobileDataSourceConfig dsConfig = + config.getMobileDeviceMgtRepository().getMobileDataSourceConfig(); + + MobileDeviceManagementDAOFactory.setMobileDataSourceConfig(dsConfig); + + androidServiceRegRef = + bundleContext.registerService(DeviceManagerService.class.getName(), + new AndroidDeviceManagerService(), null); + iOSServiceRegRef = + bundleContext.registerService(DeviceManagerService.class.getName(), + new IOSDeviceManagerService(), null); + windowsServiceRegRef = + bundleContext.registerService(DeviceManagerService.class.getName(), + new WindowsDeviceManagerService(), null); /* Initialize all API configurations with corresponding API Providers */ - this.initAPIConfigs(); - /* Publish all mobile device management related JAX-RS services as APIs */ - this.publishAPIs(); - - if (log.isDebugEnabled()) { - log.debug("Mobile Device Management Service bundle is activated"); - } - } catch (Throwable e) { - log.error("Error occurred while activating Mobile Device Management bundle", e); - } - } - - @Override - public void stop(BundleContext bundleContext) throws Exception { - if (log.isDebugEnabled()) { - log.debug("Deactivating Mobile Device Management Service"); - } - try { - androidServiceRegRef.unregister(); - iOSServiceRegRef.unregister(); - windowsServiceRegRef.unregister(); - - bundleContext.removeBundleListener(this); + this.initAPIConfigs(); + /* Publish all mobile device management related JAX-RS services as APIs */ + this.publishAPIs(); + + if (log.isDebugEnabled()) { + log.debug("Mobile Device Management Service bundle is activated"); + } + } catch (Throwable e) { + log.error("Error occurred while activating Mobile Device Management bundle", e); + } + } + + @Override + public void stop(BundleContext bundleContext) throws Exception { + if (log.isDebugEnabled()) { + log.debug("Deactivating Mobile Device Management Service"); + } + try { + androidServiceRegRef.unregister(); + iOSServiceRegRef.unregister(); + windowsServiceRegRef.unregister(); + + bundleContext.removeBundleListener(this); /* Removing all APIs published upon start-up for mobile device management related JAX-RS services */ - this.removeAPIs(); - } catch (Throwable e) { - log.error("Error occurred while de-activating Mobile Device Management bundle", e); - } - } - - @Override - public void bundleChanged(BundleEvent bundleEvent) { - int eventType = bundleEvent.getType(); - String bundleSymbolicName = bundleEvent.getBundle().getSymbolicName(); - - if (SYMBOLIC_NAME_DATA_SOURCE_COMPONENT.equals(bundleSymbolicName) && - eventType == BundleEvent.STARTED) { - for (DataSourceListener listener : this.getDataSourceListeners()) { - listener.notifyObserver(); - } - } - } - - public static void registerDataSourceListener(DataSourceListener listener) { - dataSourceListeners.add(listener); - } - - private List getDataSourceListeners() { - return dataSourceListeners; - } - - private void initAPIConfigs() throws DeviceManagementException { - List apiConfigs = - MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig(). - getApiPublisherConfig().getAPIs(); - for (APIConfig apiConfig : apiConfigs) { - try { - APIProvider provider = APIManagerFactory.getInstance().getAPIProvider(apiConfig.getOwner()); - apiConfig.init(provider); - } catch (APIManagementException e) { - throw new DeviceManagementException("Error occurred while initializing API Config '" + - apiConfig.getName() + "'", e); - } - } - } - - private void publishAPIs() throws DeviceManagementException { - List apiConfigs = - MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig(). - getApiPublisherConfig().getAPIs(); - for (APIConfig apiConfig : apiConfigs) { - DeviceManagementAPIPublisherUtil.publishAPI(apiConfig); - } - } - - private void removeAPIs() throws DeviceManagementException { - List apiConfigs = - MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig(). - getApiPublisherConfig().getAPIs(); - for (APIConfig apiConfig : apiConfigs) { - DeviceManagementAPIPublisherUtil.removeAPI(apiConfig); - } - } + this.removeAPIs(); + } catch (Throwable e) { + log.error("Error occurred while de-activating Mobile Device Management bundle", e); + } + } + + @Override + public void bundleChanged(BundleEvent bundleEvent) { + int eventType = bundleEvent.getType(); + String bundleSymbolicName = bundleEvent.getBundle().getSymbolicName(); + + if (SYMBOLIC_NAME_DATA_SOURCE_COMPONENT.equals(bundleSymbolicName) && + eventType == BundleEvent.STARTED) { + for (DataSourceListener listener : this.getDataSourceListeners()) { + listener.notifyObserver(); + } + } + } + + public static void registerDataSourceListener(DataSourceListener listener) { + dataSourceListeners.add(listener); + } + + private List getDataSourceListeners() { + return dataSourceListeners; + } + + private void initAPIConfigs() throws DeviceManagementException { + List apiConfigs = + MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig(). + getApiPublisherConfig().getAPIs(); + for (APIConfig apiConfig : apiConfigs) { + try { + APIProvider provider = + APIManagerFactory.getInstance().getAPIProvider(apiConfig.getOwner()); + apiConfig.init(provider); + } catch (APIManagementException e) { + throw new DeviceManagementException( + "Error occurred while initializing API Config '" + + apiConfig.getName() + "'", e); + } + } + } + + private void publishAPIs() throws DeviceManagementException { + List apiConfigs = + MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig(). + getApiPublisherConfig().getAPIs(); + for (APIConfig apiConfig : apiConfigs) { + DeviceManagementAPIPublisherUtil.publishAPI(apiConfig); + } + } + + private void removeAPIs() throws DeviceManagementException { + List apiConfigs = + MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig(). + getApiPublisherConfig().getAPIs(); + for (APIConfig apiConfig : apiConfigs) { + DeviceManagementAPIPublisherUtil.removeAPI(apiConfig); + } + } } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementServiceComponent.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementServiceComponent.java index 8d54387308..c048dc105d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementServiceComponent.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementServiceComponent.java @@ -23,11 +23,7 @@ import org.apache.commons.logging.LogFactory; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceRegistration; import org.osgi.service.component.ComponentContext; -import org.wso2.carbon.apimgt.api.APIManagementException; -import org.wso2.carbon.apimgt.api.APIProvider; import org.wso2.carbon.apimgt.impl.APIManagerConfigurationService; -import org.wso2.carbon.apimgt.impl.APIManagerFactory; -import org.wso2.carbon.apimgt.impl.utils.APIMgtDBUtil; import org.wso2.carbon.core.ServerStartupObserver; import org.wso2.carbon.device.mgt.common.DeviceManagementException; import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/util/MobileDeviceManagementSchemaInitializer.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/util/MobileDeviceManagementSchemaInitializer.java index bda4a641e3..1d04f60598 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/util/MobileDeviceManagementSchemaInitializer.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/util/MobileDeviceManagementSchemaInitializer.java @@ -26,6 +26,11 @@ import org.wso2.carbon.utils.dbcreator.DatabaseCreator; import javax.sql.DataSource; import java.io.File; +/** + * + * Provides methods for initializing the database script. + * + */ public final class MobileDeviceManagementSchemaInitializer extends DatabaseCreator { private static final Log log = LogFactory.getLog(MobileDeviceManagementSchemaInitializer.class); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/util/MobileDeviceManagementUtil.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/util/MobileDeviceManagementUtil.java index 0996edfa31..66fa5900df 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/util/MobileDeviceManagementUtil.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/util/MobileDeviceManagementUtil.java @@ -71,14 +71,13 @@ public class MobileDeviceManagementUtil { } private static Device.Property getProperty(String property, String value) { - Device.Property prop = null; if (property != null) { - prop = new Device.Property(); + Device.Property prop = new Device.Property(); prop.setName(property); prop.setValue(value); return prop; } - return prop; + return null; } public static MobileDevice convertToMobileDevice(Device device) { @@ -119,7 +118,7 @@ public class MobileDeviceManagementUtil { public static MobileOperation convertToMobileOperation(org.wso2.carbon.device.mgt.common.Operation operation) { MobileOperation mobileOperation = new MobileOperation(); - MobileOperationProperty operationProperty = null; + MobileOperationProperty operationProperty; List properties = new LinkedList(); mobileOperation.setFeatureCode(operation.getCode()); mobileOperation.setCreatedDate(new Date().getTime()); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java index a6386550e2..d6b03e07ed 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileOperationDAOTestSuite.java @@ -36,9 +36,7 @@ import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils; import java.sql.*; /** - * * Class for holding unit-tests related to MobileOperationDAO class. - * */ public class MobileOperationDAOTestSuite { @@ -101,7 +99,7 @@ public class MobileOperationDAOTestSuite { } finally { MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); } - Assert.assertTrue(mblOperationId > 0 , "MobileOperation has added "); + Assert.assertTrue(mblOperationId > 0, "MobileOperation has added "); Assert.assertEquals(TEST_MBL_OPR_FEATURE_CODE, testMblOperation.getFeatureCode(), "MobileOperation feature code has persisted "); Assert.assertEquals(TEST_MBL_OPR_CREATED_DATE, testMblOperation.getCreatedDate(), @@ -119,7 +117,7 @@ public class MobileOperationDAOTestSuite { "MobileOperation feature-code has retrieved "); } - @Test(dependsOnMethods = { "addMobileOperationTest" , "getMobileOperationTest"}) + @Test(dependsOnMethods = { "addMobileOperationTest", "getMobileOperationTest" }) public void updateMobileOperationTest() throws MobileDeviceManagementDAOException { @@ -151,14 +149,14 @@ public class MobileOperationDAOTestSuite { } finally { MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null); } - Assert.assertTrue(status , "MobileOperation has updated "); + Assert.assertTrue(status, "MobileOperation has updated "); Assert.assertEquals(TEST_MBL_OPR_UPDATED_FEATURE_CODE, testMblOperation.getFeatureCode(), "MobileOperation feature code has updated "); Assert.assertEquals(updatedDate, testMblOperation.getCreatedDate(), "MobileOperation created-date has updated "); } - @Test(dependsOnMethods = { "addMobileOperationTest" , "getMobileOperationTest", + @Test(dependsOnMethods = { "addMobileOperationTest", "getMobileOperationTest", "updateMobileOperationTest" }) public void deleteMobileDeviceTest() throws MobileDeviceManagementDAOException { From f4da4c35fc5e45604983f04668375e3e1c43db6b Mon Sep 17 00:00:00 2001 From: harshanL Date: Fri, 13 Feb 2015 10:56:42 +0530 Subject: [PATCH 4/8] Refactored unit-tests --- .../MobileDeviceManagementConfigTests.java | 43 ++++++++----------- .../MobileFeaturePropertyDAOTestSuite.java | 2 +- 2 files changed, 19 insertions(+), 26 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java index fd692365a1..ad77137617 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java @@ -70,65 +70,58 @@ public class MobileDeviceManagementConfigTests { } } - @Test() - public void testMandateManagementRepositoryElement() { + @Test(expectedExceptions = JAXBException.class) + public void testMandateManagementRepositoryElement() throws JAXBException { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_MGT_REPOSITORY); this.validateMalformedConfig(malformedConfig); } - @Test - public void testMandateDataSourceConfigurationElement() { + @Test(expectedExceptions = JAXBException.class) + public void testMandateDataSourceConfigurationElement() throws JAXBException { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_DS_CONFIG); this.validateMalformedConfig(malformedConfig); } - @Test - public void testMandateJndiLookupDefinitionElement() { + @Test(expectedExceptions = JAXBException.class) + public void testMandateJndiLookupDefinitionElement() throws JAXBException { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_JNDI_CONFIG); this.validateMalformedConfig(malformedConfig); } - @Test - public void testMandateAPIPublisherElement() { + @Test(expectedExceptions = JAXBException.class) + public void testMandateAPIPublisherElement() throws JAXBException { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_API_PUBLISHER_CONFIG); this.validateMalformedConfig(malformedConfig); } - @Test - public void testMandateAPIsElement() { + @Test(expectedExceptions = JAXBException.class) + public void testMandateAPIsElement() throws JAXBException { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_APIS_CONFIG); this.validateMalformedConfig(malformedConfig); } - @Test - public void testMandateAPIElement() { + @Test(expectedExceptions = JAXBException.class) + public void testMandateAPIElement() throws JAXBException { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_API_CONFIG); this.validateMalformedConfig(malformedConfig); } /** - * * Validates a given malformed-configuration file. - * */ - private void validateMalformedConfig(File malformedConfig) { - try { - JAXBContext ctx = JAXBContext.newInstance(MobileDeviceManagementConfig.class); - Unmarshaller um = ctx.createUnmarshaller(); - um.setSchema(this.getSchema()); - um.unmarshal(malformedConfig); - Assert.assertTrue(false); - } catch (JAXBException e) { - log.error("Error occurred while unmarsharlling mobile device management config", e); - Assert.assertTrue(true); - } + private void validateMalformedConfig(File malformedConfig) throws JAXBException { + JAXBContext ctx = JAXBContext.newInstance(MobileDeviceManagementConfig.class); + Unmarshaller um = ctx.createUnmarshaller(); + um.setSchema(this.getSchema()); + um.unmarshal(malformedConfig); + Assert.assertTrue(false); } private Schema getSchema() { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java index 2985ded85f..ff8980848f 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java @@ -168,7 +168,7 @@ public class MobileFeaturePropertyDAOTestSuite { @Test(dependsOnMethods = { "addMobileFeaturePropertyTest", "getMobileFeaturePropertyTest", "getFeaturePropertyOfFeatureTest" }, expectedExceptions = MobileDeviceManagementDAOException.class) - public void updateFeaturePropertyTest() throws MobileDeviceManagementDAOException { + public void updateMobileFeaturePropertyTest() throws MobileDeviceManagementDAOException { //Update 1st property to a non-exist feature MobileFeatureProperty mobileFeatureProperty = new MobileFeatureProperty(); mobileFeatureProperty.setFeatureID(2); From 26883800ea3e8ca200ccc7d2d1d918c89c3db682 Mon Sep 17 00:00:00 2001 From: harshanL Date: Fri, 13 Feb 2015 10:58:22 +0530 Subject: [PATCH 5/8] Refactored unit-tests --- .../mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java index ff8980848f..95af28f412 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/dao/MobileFeaturePropertyDAOTestSuite.java @@ -206,7 +206,7 @@ public class MobileFeaturePropertyDAOTestSuite { } @Test(dependsOnMethods = { "addMobileFeaturePropertyTest", "getMobileFeaturePropertyTest", - "getFeaturePropertyOfFeatureTest" , "updateFeaturePropertyTest", + "getFeaturePropertyOfFeatureTest" , "updateMobileFeaturePropertyTest", "deleteMobileFeaturePropertyTest"}) public void deleteMobileFeaturePropertiesOfFeatureTest() throws MobileDeviceManagementDAOException { From ac6eca2cbc2e6df70d3d0e398bbc8e65452520d4 Mon Sep 17 00:00:00 2001 From: harshanL Date: Fri, 13 Feb 2015 11:10:49 +0530 Subject: [PATCH 6/8] Refactored unit-tests to check for SAX parser exceptions --- .../MobileDeviceManagementConfigTests.java | 46 +++++++++++-------- 1 file changed, 28 insertions(+), 18 deletions(-) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java index ad77137617..461de8a1ad 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/test/java/org/wso2/carbon/device/mgt/mobile/impl/MobileDeviceManagementConfigTests.java @@ -25,6 +25,7 @@ import org.testng.annotations.BeforeClass; import org.testng.annotations.Test; import org.wso2.carbon.device.mgt.mobile.config.MobileDeviceManagementConfig; import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; import javax.xml.XMLConstants; import javax.xml.bind.JAXBContext; @@ -70,44 +71,44 @@ public class MobileDeviceManagementConfigTests { } } - @Test(expectedExceptions = JAXBException.class) - public void testMandateManagementRepositoryElement() throws JAXBException { + @Test + public void testMandateManagementRepositoryElement() { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_MGT_REPOSITORY); this.validateMalformedConfig(malformedConfig); } - @Test(expectedExceptions = JAXBException.class) - public void testMandateDataSourceConfigurationElement() throws JAXBException { + @Test + public void testMandateDataSourceConfigurationElement() { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_DS_CONFIG); this.validateMalformedConfig(malformedConfig); } - @Test(expectedExceptions = JAXBException.class) - public void testMandateJndiLookupDefinitionElement() throws JAXBException { + @Test + public void testMandateJndiLookupDefinitionElement() { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_JNDI_CONFIG); this.validateMalformedConfig(malformedConfig); } - @Test(expectedExceptions = JAXBException.class) - public void testMandateAPIPublisherElement() throws JAXBException { + @Test + public void testMandateAPIPublisherElement() { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_API_PUBLISHER_CONFIG); this.validateMalformedConfig(malformedConfig); } - @Test(expectedExceptions = JAXBException.class) - public void testMandateAPIsElement() throws JAXBException { + @Test + public void testMandateAPIsElement() { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_APIS_CONFIG); this.validateMalformedConfig(malformedConfig); } - @Test(expectedExceptions = JAXBException.class) - public void testMandateAPIElement() throws JAXBException { + @Test + public void testMandateAPIElement() { File malformedConfig = new File( MobileDeviceManagementConfigTests.MALFORMED_TEST_CONFIG_LOCATION_NO_API_CONFIG); this.validateMalformedConfig(malformedConfig); @@ -116,12 +117,21 @@ public class MobileDeviceManagementConfigTests { /** * Validates a given malformed-configuration file. */ - private void validateMalformedConfig(File malformedConfig) throws JAXBException { - JAXBContext ctx = JAXBContext.newInstance(MobileDeviceManagementConfig.class); - Unmarshaller um = ctx.createUnmarshaller(); - um.setSchema(this.getSchema()); - um.unmarshal(malformedConfig); - Assert.assertTrue(false); + private void validateMalformedConfig(File malformedConfig) { + try { + JAXBContext ctx = JAXBContext.newInstance(MobileDeviceManagementConfig.class); + Unmarshaller um = ctx.createUnmarshaller(); + um.setSchema(this.getSchema()); + um.unmarshal(malformedConfig); + Assert.assertTrue(false); + } catch (JAXBException e) { + Throwable linkedException = e.getLinkedException(); + if (!(linkedException instanceof SAXParseException)) { + log.error("Unexpected error occurred while unmarshalling mobile device management config", e); + Assert.assertTrue(false); + } + Assert.assertTrue(true); + } } private Schema getSchema() { From 2dc1fe240fabf0c9a2e561dbf9b486df15421db5 Mon Sep 17 00:00:00 2001 From: harshanL Date: Tue, 17 Feb 2015 16:21:06 +0530 Subject: [PATCH 7/8] Refactored DAO implementations & added comments. --- .../pom.xml | 13 +- .../MobileDeviceConfigurationManager.java | 4 +- .../mgt/mobile/dao/MobileDeviceDAO.java | 34 +++- .../dao/MobileDeviceOperationMappingDAO.java | 70 ++++--- .../mgt/mobile/dao/MobileFeatureDAO.java | 58 +++--- .../mobile/dao/MobileFeaturePropertyDAO.java | 46 +++-- .../mgt/mobile/dao/MobileOperationDAO.java | 33 ++-- .../dao/MobileOperationPropertyDAO.java | 53 ++--- .../mobile/dao/impl/MobileDeviceDAOImpl.java | 30 ++- .../MobileDeviceOperationMappingDAOImpl.java | 99 ++++++---- .../mobile/dao/impl/MobileFeatureDAOImpl.java | 54 ++++-- .../impl/MobileFeaturePropertyDAOImpl.java | 48 +++-- .../dao/impl/MobileOperationDAOImpl.java | 44 +++-- .../impl/MobileOperationPropertyDAOImpl.java | 55 ++++-- ...MobileDeviceManagementBundleActivator.java | 4 +- ...obileDeviceManagementServiceComponent.java | 183 +++++++++--------- components/device-mgt/pom.xml | 4 +- pom.xml | 31 +-- 18 files changed, 533 insertions(+), 330 deletions(-) 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 d5e73ecfd0..1f219c7791 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 @@ -18,7 +18,9 @@ ~ under the License. --> - + device-mgt org.wso2.carbon.devicemgt-plugins @@ -51,9 +53,11 @@ ${project.artifactId} ${project.artifactId} ${carbon.mobile.device.mgt.version} - Device Management Mobile Impl Bundle + Device Management Mobile Impl Bundle + - org.wso2.carbon.device.mgt.mobile.internal + org.wso2.carbon.device.mgt.mobile.internal + org.osgi.framework, org.osgi.service.component, @@ -73,7 +77,8 @@ 2.18 - file:src/test/resources/log4j.properties + file:src/test/resources/log4j.properties + src/test/resources/testng.xml diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/config/MobileDeviceConfigurationManager.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/config/MobileDeviceConfigurationManager.java index 7143d74df3..755e71f90a 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/config/MobileDeviceConfigurationManager.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/config/MobileDeviceConfigurationManager.java @@ -35,11 +35,13 @@ public class MobileDeviceConfigurationManager { private static final String MOBILE_DEVICE_CONFIG_XML_NAME = "mobile-config.xml"; private static final String MOBILE_DEVICE_PLUGIN_DIRECTORY = "mobile"; + private static final String DEVICE_MGT_PLUGIN_CONFIGS_DIRECTORY = "device-mgt-plugin-configs"; private MobileDeviceManagementConfig currentMobileDeviceConfig; private static MobileDeviceConfigurationManager mobileDeviceConfigManager; private final String mobileDeviceMgtConfigXMLPath = - CarbonUtils.getEtcCarbonConfigDirPath() + File.separator + "device-mgt-plugin-configs" + + CarbonUtils.getEtcCarbonConfigDirPath() + File.separator + + DEVICE_MGT_PLUGIN_CONFIGS_DIRECTORY + File.separator + MOBILE_DEVICE_PLUGIN_DIRECTORY + File.separator + MOBILE_DEVICE_CONFIG_XML_NAME; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceDAO.java index 9c0dbb9187..1052ef1aba 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceDAO.java @@ -27,14 +27,44 @@ import java.util.List; */ public interface MobileDeviceDAO { - MobileDevice getMobileDevice(String deviceId) throws MobileDeviceManagementDAOException; + /** + * Fetches a MobileDevice from MDM database. + * @param mblDeviceId Id of the Mobile-Device. + * @return MobileDevice corresponding to given device-id. + * @throws MobileDeviceManagementDAOException + */ + MobileDevice getMobileDevice(String mblDeviceId) throws MobileDeviceManagementDAOException; + /** + * Adds a new MobileDevice to the MDM database. + * @param mobileDevice MobileDevice to be added. + * @return The status of the operation. + * @throws MobileDeviceManagementDAOException + */ boolean addMobileDevice(MobileDevice mobileDevice) throws MobileDeviceManagementDAOException; + /** + * Updates MobileDevice information in MDM database. + * @param mobileDevice MobileDevice to be updated. + * @return The status of the operation. + * @throws MobileDeviceManagementDAOException + */ boolean updateMobileDevice(MobileDevice mobileDevice) throws MobileDeviceManagementDAOException; - boolean deleteMobileDevice(String deviceId) throws MobileDeviceManagementDAOException; + /** + * Deletes a given MobileDevice from MDM database. + * @param mblDeviceId Id of MobileDevice to be deleted. + * @return The status of the operation. + * @throws MobileDeviceManagementDAOException + */ + boolean deleteMobileDevice(String mblDeviceId) throws MobileDeviceManagementDAOException; + /** + * Fetches all MobileDevices from MDM database. + * + * @return List of MobileDevices. + * @throws MobileDeviceManagementDAOException + */ List getAllMobileDevices() throws MobileDeviceManagementDAOException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java index e9fdb69af2..bc61be0039 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceOperationMappingDAO.java @@ -26,87 +26,93 @@ import java.util.List; * This class represents the mapping between mobile device and operations. */ public interface MobileDeviceOperationMappingDAO { + /** - * Add a new mobile device operation mapping to the table. + * Adds a new mobile device operation mapping to the table. * - * @param deviceOperation MobileDeviceOperation object that holds data related to the - * MobileDeviceOperation to be inserted. - * @return The status of the operation. If the insert was successful or not. + * @param mblDeviceOperationMapping MobileDeviceOperationMapping object that holds data related + * to the MobileDeviceOperationMapping to be inserted. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean addMobileDeviceOperationMapping(MobileDeviceOperationMapping deviceOperation) + boolean addMobileDeviceOperationMapping(MobileDeviceOperationMapping mblDeviceOperationMapping) throws MobileDeviceManagementDAOException; /** - * Updates a mobile device operation mapping. + * Updates a MobileDeviceOperationMapping in MobileDeviceOperationMapping table. * - * @param deviceOperation MobileDeviceOperation object that holds data has to be updated. - * @return The status of the operation. If the update was successful or not. + * @param mblDeviceOperation MobileDeviceOperationMapping object that holds data has to be updated. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean updateMobileDeviceOperationMapping(MobileDeviceOperationMapping deviceOperation) + boolean updateMobileDeviceOperationMapping(MobileDeviceOperationMapping mblDeviceOperation) throws MobileDeviceManagementDAOException; /** - * Updates a mobile device operation mapping to In-Progress state. + * Updates a MobileDeviceOperationMapping to In-Progress state in MobileDeviceOperationMapping + * table. * - * @param deviceId Device id of the mapping to be deleted. - * @param operationId Operation id of the mapping to be deleted. - * @return The status of the operation. If the update was successful or not. + * @param mblDeviceId MobileDevice id of the mappings to be updated. + * @param operationId Operation id of the mapping to be updated. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean updateMobileDeviceOperationMappingToInProgress(String deviceId, int operationId) + boolean updateMobileDeviceOperationMappingToInProgress(String mblDeviceId, int operationId) throws MobileDeviceManagementDAOException; /** - * Updates a mobile device operation mapping to completed state. + * Updates a MobileDeviceOperationMapping to completed state in MobileDeviceOperationMapping + * table. * - * @param deviceId Device id of the mapping to be deleted. - * @param operationId Operation id of the mapping to be deleted. - * @return The status of the operation. If the update was successful or not. + * @param mblDeviceId MobileDevice id of the mappings to be updated. + * @param operationId Operation id of the mapping to be updated. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean updateMobileDeviceOperationMappingToCompleted(String deviceId, int operationId) + boolean updateMobileDeviceOperationMappingToCompleted(String mblDeviceId, int operationId) throws MobileDeviceManagementDAOException; /** - * Delete a given mobile device operation mapping from table. + * Delete a given MobileDeviceOperationMapping from MobileDeviceOperationMapping table. * - * @param deviceId Device id of the mapping to be deleted. + * @param mblDeviceId MobileDevice id of the mappings to be deleted. * @param operationId Operation id of the mapping to be deleted. - * @return The status of the operation. If the deletion was successful or not. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean deleteMobileDeviceOperationMapping(String deviceId, int operationId) + boolean deleteMobileDeviceOperationMapping(String mblDeviceId, int operationId) throws MobileDeviceManagementDAOException; /** - * Retrieves a given mobile device operation from the plugin database. + * Retrieves a given MobileDeviceOperationMapping object from the MobileDeviceOperationMapping + * table. * - * @param deviceId Device id of the mapping to be retrieved. + * @param mblDeviceId Device id of the mapping to be retrieved. * @param operationId Operation id of the mapping to be retrieved. * @return MobileDeviceOperation object that holds data of the device operation mapping * represented by deviceId and operationId. * @throws MobileDeviceManagementDAOException */ - MobileDeviceOperationMapping getMobileDeviceOperationMapping(String deviceId, int operationId) + MobileDeviceOperationMapping getMobileDeviceOperationMapping(String mblDeviceId, int operationId) throws MobileDeviceManagementDAOException; /** - * Retrieves all the of mobile device operation mappings relevant to the given mobile device. + * Retrieves all the of MobileDeviceOperationMappings relevant to a given mobile device. * - * @return Device operation mapping object list. + * @param mblDeviceId MobileDevice id of the mappings to be retrieved. + * @return MobileDeviceOperationMapping object list. * @throws MobileDeviceManagementDAOException */ - List getAllMobileDeviceOperationMappingsOfDevice(String deviceId) + List getAllMobileDeviceOperationMappingsOfDevice(String mblDeviceId) throws MobileDeviceManagementDAOException; /** - * Retrieves all the pending device operation mappings of a mobiel device. + * Retrieves all the pending MobileDeviceOperationMappings of a mobile device. * - * @return Device operation mapping object list. + * @param mblDeviceId MobileDevice id of the mappings to be retrieved. + * @return MobileDeviceOperationMapping object list. * @throws MobileDeviceManagementDAOException */ - List getAllPendingOperationMappingsOfMobileDevice(String deviceId) + List getAllPendingOperationMappingsOfMobileDevice(String mblDeviceId) throws MobileDeviceManagementDAOException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeatureDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeatureDAO.java index 0248c1a25a..c22f3d1a46 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeatureDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeatureDAO.java @@ -29,73 +29,73 @@ import java.util.List; public interface MobileFeatureDAO { /** - * Add a new feature to feature table. + * Adds a new MobileFeature to Mobile-Feature table. * - * @param mobileFeature Feature object that holds data related to the feature to be inserted. - * @return The id of inserted feature. + * @param mobileFeature MobileFeature object that holds data related to the feature to be inserted. + * @return The id of inserted MobileFeature. * @throws MobileDeviceManagementDAOException */ int addMobileFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException; /** - * Update a feature in the feature table. + * Updates a MobileFeature in Mobile-Feature table. * - * @param mobileFeature Feature object that holds data has to be updated. - * @return The status of the operation. If the update was successful or not. + * @param mobileFeature MobileFeature object that holds data has to be updated. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ boolean updateMobileFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException; /** - * Delete a feature from feature table when the feature id is given. + * Deletes a MobileFeature from Mobile-Feature table when the feature id is given. * - * @param featureId Feature id of the feature to be deleted. - * @return The status of the operation. If the operationId was successful or not. + * @param mblFeatureId MobileFeature id of the MobileFeature to be deleted. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean deleteMobileFeatureById(int featureId) throws MobileDeviceManagementDAOException; + boolean deleteMobileFeatureById(int mblFeatureId) throws MobileDeviceManagementDAOException; /** - * Delete a feature from feature table when the feature code is given. + * Deletes a MobileFeature from Mobile-Feature table when the feature code is given. * - * @param featureCode Feature code of the feature to be deleted. - * @return The status of the operation. If the operationId was successful or not. + * @param mblFeatureCode MobileFeature code of the feature to be deleted. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean deleteMobileFeatureByCode(String featureCode) throws MobileDeviceManagementDAOException; + boolean deleteMobileFeatureByCode(String mblFeatureCode) throws MobileDeviceManagementDAOException; /** - * Retrieve a given feature from feature table when the feature id is given. + * Retrieves a given MobileFeature from Mobile-Feature table when the feature id is given. * - * @param featureId Feature id of the feature to be retrieved. - * @return Feature object that holds data of the feature represented by featureId. + * @param mblFeatureId Feature id of the feature to be retrieved. + * @return MobileFeature object that holds data of the feature represented by featureId. * @throws MobileDeviceManagementDAOException */ - MobileFeature getMobileFeatureById(int featureId) throws MobileDeviceManagementDAOException; + MobileFeature getMobileFeatureById(int mblFeatureId) throws MobileDeviceManagementDAOException; /** - * Retrieve a given feature from feature table when the feature code is given. + * Retrieves a given MobileFeature from Mobile-Feature table when the feature code is given. * - * @param featureCode Feature code of the feature to be retrieved. - * @return Feature object that holds data of the feature represented by featureCode. + * @param mblFeatureCode Feature code of the feature to be retrieved. + * @return MobileFeature object that holds data of the feature represented by featureCode. * @throws MobileDeviceManagementDAOException */ - MobileFeature getMobileFeatureByCode(String featureCode) throws MobileDeviceManagementDAOException; + MobileFeature getMobileFeatureByCode(String mblFeatureCode) throws MobileDeviceManagementDAOException; /** - * Retrieve all the features from plugin specific database. + * Retrieves all MobileFeatures of a MobileDevice type from Mobile-Feature table. * - * @return Feature object list. + * @param deviceType MobileDevice type of the MobileFeatures to be retrieved + * @return MobileFeature object list. * @throws MobileDeviceManagementDAOException */ + List getMobileFeatureByDeviceType(String deviceType) throws MobileDeviceManagementDAOException; /** - * Retrieve all the features from plugin specific database for a Device Type. - * @param deviceType - Device type. - * @return Feature object list. + * Retrieve all the MobileFeatures from Mobile-Feature table. + * + * @return MobileFeature object list. * @throws MobileDeviceManagementDAOException */ - List getMobileFeatureByDeviceType(String deviceType) throws MobileDeviceManagementDAOException; - List getAllMobileFeatures() throws MobileDeviceManagementDAOException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java index 59828124cc..51a6cef289 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileFeaturePropertyDAO.java @@ -27,64 +27,68 @@ import java.util.List; * related information. */ public interface MobileFeaturePropertyDAO { + /** - * Add a new feature property to feature property table. + * Add a new MobileFeatureProperty to MobileFeatureProperty table. * - * @param mobileFeatureProperty Feature property object that holds data related to the feature + * @param mblFeatureProperty MobileFeatureProperty object that holds data related to the feature * property to be inserted. - * @return The status of the operation. If the insert was successful or not. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean addMobileFeatureProperty(MobileFeatureProperty mobileFeatureProperty) + boolean addMobileFeatureProperty(MobileFeatureProperty mblFeatureProperty) throws MobileDeviceManagementDAOException; /** - * Updates a feature property in the feature property table. + * Updates a MobileFeatureProperty in the MobileFeatureProperty table. * - * @param mobileFeatureProperty Feature property object that holds data has to be updated. - * @return The status of the operation. If the update was successful or not. + * @param mblFeatureProperty MobileFeatureProperty object that holds data has to be updated. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean updateMobileFeatureProperty(MobileFeatureProperty mobileFeatureProperty) + boolean updateMobileFeatureProperty(MobileFeatureProperty mblFeatureProperty) throws MobileDeviceManagementDAOException; /** - * Deletes a given feature property from feature property table. + * Deletes a given MobileFeatureProperty from MobileFeatureProperty table. * - * @param property Property of the feature property to be deleted. - * @return The status of the operation. If the operationId was successful or not. + * @param property Property of the MobileFeatureProperty to be deleted. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ boolean deleteMobileFeatureProperty(String property) throws MobileDeviceManagementDAOException; /** - * Deletes feature properties of a feature from feature property table. + * Deletes MobileFeatureProperties of a given feature from MobileFeatureProperty table. * - * @param featureId Feature-id of the feature corresponding properties should be deleted. - * @return The status of the operation. If the operationId was successful or not. + * @param mblFeatureId Feature-id of the MobileFeature corresponding properties should be deleted. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean deleteMobileFeaturePropertiesOfFeature(Integer featureId) + boolean deleteMobileFeaturePropertiesOfFeature(Integer mblFeatureId) throws MobileDeviceManagementDAOException; /** - * Retrieves a given feature property from feature property table. + * Retrieves a given MobileFeatureProperty from MobileFeatureProperty table. * * @param property Property of the feature property to be retrieved. - * @return Feature property object that holds data of the feature property represented by propertyId. + * @return MobileFeatureProperty object that holds data of the feature property represented by + * property. * @throws MobileDeviceManagementDAOException */ MobileFeatureProperty getMobileFeatureProperty(String property) throws MobileDeviceManagementDAOException; /** - * Retrieves a list of feature property corresponds to a feature id . + * Retrieves a list of MobileFeatureProperties corresponds to a given feature id from + * MobileFeatureProperty table. * - * @param featureId feature id of the feature property to be retrieved. - * @return Feature property object that holds data of the feature property represented by propertyId. + * @param mblFeatureId feature id of the MobileFeatureProperties to be retrieved. + * @return List of MobileFeatureProperty objects that holds data of the MobileFeatureProperties + * represented by featureId. * @throws MobileDeviceManagementDAOException */ - List getFeaturePropertiesOfFeature(Integer featureId) + List getFeaturePropertiesOfFeature(Integer mblFeatureId) throws MobileDeviceManagementDAOException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileOperationDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileOperationDAO.java index 4c8c11c008..90e5a3ea7b 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileOperationDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileOperationDAO.java @@ -27,35 +27,36 @@ import org.wso2.carbon.device.mgt.mobile.dto.MobileOperation; public interface MobileOperationDAO { /** - * Add a new Mobile operation to plugin operation table. - * @param operation Operation object that holds data related to the operation to be inserted. - * @return The last inserted Id is returned, if the insertion was unsuccessful -1 is returned. + * Adds a new Mobile operation to the MobileOperation table. + * @param mblOperation MobileOperation object that holds data related to the operation to be + * inserted. + * @return The id of the inserted record, if the insertion was unsuccessful -1 is returned. * @throws MobileDeviceManagementDAOException */ - int addMobileOperation(MobileOperation operation) throws MobileDeviceManagementDAOException; + int addMobileOperation(MobileOperation mblOperation) throws MobileDeviceManagementDAOException; /** - * Update a Mobile operation in the operation table. - * @param operation Operation object that holds data has to be updated. - * @return The status of the operation. If the update was successful or not. + * Updates a Mobile operation in the MobileOperation table. + * @param mblOperation MobileOperation object that holds data has to be updated. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean updateMobileOperation(MobileOperation operation) throws MobileDeviceManagementDAOException; + boolean updateMobileOperation(MobileOperation mblOperation) throws MobileDeviceManagementDAOException; /** - * Delete a given Mobile operation from plugin database. - * @param operationId Operation code of the operation to be deleted. - * @return The status of the operation. If the operationId was successful or not. + * Deletes a given MobileOperation from MobileOperation table. + * @param mblOperationId Operation code of the MobileOperation to be deleted. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean deleteMobileOperation(int operationId) throws MobileDeviceManagementDAOException; + boolean deleteMobileOperation(int mblOperationId) throws MobileDeviceManagementDAOException; /** - * Retrieve a given Mobile operation from plugin database. - * @param operationId Operation id of the operation to be retrieved. - * @return Operation object that holds data of the feature represented by operationId. + * Retrieve a MobileOperation from MobileOperation table. + * @param mblOperationId Operation id of the MobileOperation to be retrieved. + * @return MobileOperation object that holds data of MobileOperation represented by operationId. * @throws MobileDeviceManagementDAOException */ - MobileOperation getMobileOperation(int operationId) throws MobileDeviceManagementDAOException; + MobileOperation getMobileOperation(int mblOperationId) throws MobileDeviceManagementDAOException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileOperationPropertyDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileOperationPropertyDAO.java index 1dedb21733..87216b02d2 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileOperationPropertyDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileOperationPropertyDAO.java @@ -23,60 +23,65 @@ import org.wso2.carbon.device.mgt.mobile.dto.MobileOperationProperty; import java.util.List; /** - * This class represents the key operations associated with persisting mobile operation property related - * information. + * + * This class represents the key operations associated with persisting mobile operation property + * related information. + * */ public interface MobileOperationPropertyDAO { + /** - * Add a new mapping to plugin operation property table. + * Add a new MobileOperationProperty to MobileOperationProperty table. * - * @param operationProperty OperationProperty object that holds data related to the operation - * property to be inserted. - * @return The status of the operation. If the insert was successful or not. + * @param mblOperationProperty MobileOperationProperty object that holds data related to the + * operation property to be inserted. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean addMobileOperationProperty(MobileOperationProperty operationProperty) + boolean addMobileOperationProperty(MobileOperationProperty mblOperationProperty) throws MobileDeviceManagementDAOException; /** - * Update a feature in the feature table. + * Update a MobileOperationProperty in the MobileOperationProperty table. * - * @param operationProperty DeviceOperation object that holds data has to be updated. - * @return The status of the operation. If the update was successful or not. + * @param mblOperationProperty MobileOperationProperty object that holds data has to be updated. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean updateMobileOperationProperty(MobileOperationProperty operationProperty) + boolean updateMobileOperationProperty(MobileOperationProperty mblOperationProperty) throws MobileDeviceManagementDAOException; /** - * Deletes mobile operation properties of a given operation id from the plugin database. + * Deletes MobileOperationProperties of a given operation id from the MobileOperationProperty + * table. * - * @param operationId Operation id of the mapping to be deleted. - * @return The status of the operation. If the deletion was successful or not. + * @param mblOperationId Operation id of the MobileOperationProperty to be deleted. + * @return The status of the operation. * @throws MobileDeviceManagementDAOException */ - boolean deleteMobileOperationProperties(int operationId) + boolean deleteMobileOperationProperties(int mblOperationId) throws MobileDeviceManagementDAOException; /** - * Retrieve a given mobile operation property from plugin database. + * Retrieve a given MobileOperationProperty from MobileOperationProperty table. * - * @param operationId Operation id of the mapping to be retrieved. + * @param mblOperationId Operation id of the mapping to be retrieved. * @param property Property of the mapping to be retrieved. - * @return DeviceOperation object that holds data of the device operation mapping represented by - * deviceId and operationId. + * @return MobileOperationProperty object that holds data of the MobileOperationProperty + * represented by mblOperationId and property. * @throws MobileDeviceManagementDAOException */ - MobileOperationProperty getMobileOperationProperty(int operationId, String property) + MobileOperationProperty getMobileOperationProperty(int mblOperationId, String property) throws MobileDeviceManagementDAOException; /** - * Retrieve all the mobile operation properties related to the a operation id. + * Retrieve all the MobileOperationProperties related to the a operation id from + * MobileOperationProperty table. * - * @param operationId Operation id of the mapping to be retrieved. - * @return Device operation mapping object list. + * @param mblOperationId Operation id of the MobileOperationProperty to be retrieved. + * @return List of MobileOperationProperty objects. * @throws MobileDeviceManagementDAOException */ - List getAllMobileOperationPropertiesOfOperation(int operationId) + List getAllMobileOperationPropertiesOfOperation(int mblOperationId) throws MobileDeviceManagementDAOException; } diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java index b5ee24b45c..1c882515f5 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceDAOImpl.java @@ -46,7 +46,7 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { } @Override - public MobileDevice getMobileDevice(String deviceId) throws MobileDeviceManagementDAOException { + public MobileDevice getMobileDevice(String mblDeviceId) throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; MobileDevice mobileDevice = null; @@ -56,7 +56,7 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { "SELECT MOBILE_DEVICE_ID, REG_ID, IMEI, IMSI, OS_VERSION,DEVICE_MODEL, VENDOR, " + "LATITUDE, LONGITUDE FROM MBL_DEVICE WHERE MOBILE_DEVICE_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); - stmt.setString(1, deviceId); + stmt.setString(1, mblDeviceId); ResultSet resultSet = stmt.executeQuery(); if (resultSet.next()) { mobileDevice = new MobileDevice(); @@ -69,10 +69,13 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { mobileDevice.setVendor(resultSet.getString(7)); mobileDevice.setLatitude(resultSet.getString(8)); mobileDevice.setLongitude(resultSet.getString(9)); + if (log.isDebugEnabled()) { + log.debug("Mobile device " + mblDeviceId + " data has fetched from MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while fetching mobile device '" + - deviceId + "'"; + mblDeviceId + "'"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -106,6 +109,10 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Mobile device " + mobileDevice.getMobileDeviceId() + " data has added" + + " to the MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while adding the mobile device '" + @@ -143,6 +150,10 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Mobile device " + mobileDevice.getMobileDeviceId() + " data has" + + " updated"); + } } } catch (SQLException e) { String msg = "Error occurred while updating the mobile device '" + @@ -156,7 +167,7 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { } @Override - public boolean deleteMobileDevice(String deviceId) throws MobileDeviceManagementDAOException { + public boolean deleteMobileDevice(String mblDeviceId) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; PreparedStatement stmt = null; @@ -165,13 +176,17 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { String deleteDBQuery = "DELETE FROM MBL_DEVICE WHERE MOBILE_DEVICE_ID = ?"; stmt = conn.prepareStatement(deleteDBQuery); - stmt.setString(1, deviceId); + stmt.setString(1, mblDeviceId); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Mobile device " + mblDeviceId + " data has deleted" + + " from the MDM database."); + } } } catch (SQLException e) { - String msg = "Error occurred while deleting mobile device " + deviceId; + String msg = "Error occurred while deleting mobile device " + mblDeviceId; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -206,6 +221,9 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO { mobileDevice.setLongitude(resultSet.getString(9)); mobileDevices.add(mobileDevice); } + if (log.isDebugEnabled()) { + log.debug("All Mobile device details have fetched from MDM database."); + } return mobileDevices; } catch (SQLException e) { String msg = "Error occurred while fetching all mobile device data'"; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java index 211ffe253e..9738f1f60d 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileDeviceOperationMappingDAOImpl.java @@ -47,7 +47,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio } @Override - public boolean addMobileDeviceOperationMapping(MobileDeviceOperationMapping deviceOperation) + public boolean addMobileDeviceOperationMapping(MobileDeviceOperationMapping mblDeviceOperationMapping) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -59,19 +59,24 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio "RECEIVED_DATE, STATUS) VALUES (?, ?, ?, ?, ?)"; stmt = conn.prepareStatement(createDBQuery); - stmt.setString(1, deviceOperation.getDeviceId()); - stmt.setLong(2, deviceOperation.getOperationId()); - stmt.setLong(3, deviceOperation.getSentDate()); - stmt.setLong(4, deviceOperation.getReceivedDate()); - stmt.setString(5, deviceOperation.getStatus().name()); + stmt.setString(1, mblDeviceOperationMapping.getDeviceId()); + stmt.setLong(2, mblDeviceOperationMapping.getOperationId()); + stmt.setLong(3, mblDeviceOperationMapping.getSentDate()); + stmt.setLong(4, mblDeviceOperationMapping.getReceivedDate()); + stmt.setString(5, mblDeviceOperationMapping.getStatus().name()); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Added a MobileDevice-Mapping DeviceId : " + mblDeviceOperationMapping + .getDeviceId() + ", " + + "OperationId : " + mblDeviceOperationMapping.getOperationId() + " to the MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while adding device id - '" + - deviceOperation.getDeviceId() + " and operation id - " + - deviceOperation.getOperationId() + + mblDeviceOperationMapping.getDeviceId() + " and operation id - " + + mblDeviceOperationMapping.getOperationId() + " to mapping table MBL_DEVICE_OPERATION"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); @@ -82,7 +87,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio } @Override - public boolean updateMobileDeviceOperationMapping(MobileDeviceOperationMapping deviceOperation) + public boolean updateMobileDeviceOperationMapping(MobileDeviceOperationMapping mblDeviceOperation) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -93,19 +98,23 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio "UPDATE MBL_DEVICE_OPERATION_MAPPING SET SENT_DATE = ?, RECEIVED_DATE = ?, " + "STATUS = ? WHERE DEVICE_ID = ? AND OPERATION_ID=?"; stmt = conn.prepareStatement(updateDBQuery); - stmt.setLong(1, deviceOperation.getSentDate()); - stmt.setLong(2, deviceOperation.getReceivedDate()); - stmt.setString(3, deviceOperation.getStatus().name()); - stmt.setString(4, deviceOperation.getDeviceId()); - stmt.setInt(5, deviceOperation.getOperationId()); + stmt.setLong(1, mblDeviceOperation.getSentDate()); + stmt.setLong(2, mblDeviceOperation.getReceivedDate()); + stmt.setString(3, mblDeviceOperation.getStatus().name()); + stmt.setString(4, mblDeviceOperation.getDeviceId()); + stmt.setInt(5, mblDeviceOperation.getOperationId()); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Updated MobileDevice-Mapping DeviceId : " + mblDeviceOperation.getDeviceId() + " , " + + "OperationId : " + mblDeviceOperation.getOperationId()); + } } } catch (SQLException e) { String msg = "Error occurred while updating device id - '" + - deviceOperation.getDeviceId() + " and operation id - " + - deviceOperation.getOperationId() + " in table MBL_DEVICE_OPERATION"; + mblDeviceOperation.getDeviceId() + " and operation id - " + + mblDeviceOperation.getOperationId() + " in table MBL_DEVICE_OPERATION"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -115,7 +124,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio } @Override - public boolean updateMobileDeviceOperationMappingToInProgress(String deviceId, int operationId) + public boolean updateMobileDeviceOperationMappingToInProgress(String mblDeviceId, int operationId) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -128,16 +137,20 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio stmt = conn.prepareStatement(updateDBQuery); stmt.setLong(1, new Date().getTime()); stmt.setString(2, MobileDeviceOperationMapping.Status.INPROGRESS.name()); - stmt.setString(3, deviceId); + stmt.setString(3, mblDeviceId); stmt.setInt(4, operationId); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Updated status of MobileDevice-Mapping DeviceId : " + mblDeviceId + " , " + + "OperationId : " + operationId + " to In-Progress state"); + } } } catch (SQLException e) { String msg = "Error occurred while updating the Status of operation to in-progress of device id - '" + - deviceId + " and operation id - " + + mblDeviceId + " and operation id - " + operationId + " in table MBL_DEVICE_OPERATION"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); @@ -148,7 +161,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio } @Override - public boolean updateMobileDeviceOperationMappingToCompleted(String deviceId, + public boolean updateMobileDeviceOperationMappingToCompleted(String mblDeviceId, int operationId) throws MobileDeviceManagementDAOException { boolean status = false; @@ -162,16 +175,20 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio stmt = conn.prepareStatement(updateDBQuery); stmt.setLong(1, new Date().getTime()); stmt.setString(2, MobileDeviceOperationMapping.Status.COMPLETED.name()); - stmt.setString(3, deviceId); + stmt.setString(3, mblDeviceId); stmt.setInt(4, operationId); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Updated status of MobileDevice-Mapping DeviceId : " + mblDeviceId + " , " + + "OperationId : " + operationId + " to Completed state"); + } } } catch (SQLException e) { String msg = "Error occurred while updating the Status of operation to completed of device id - '" + - deviceId + " and operation id - " + + mblDeviceId + " and operation id - " + operationId + " in table MBL_DEVICE_OPERATION"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); @@ -182,7 +199,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio } @Override - public boolean deleteMobileDeviceOperationMapping(String deviceId, int operationId) + public boolean deleteMobileDeviceOperationMapping(String mblDeviceId, int operationId) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -193,16 +210,20 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio "DELETE FROM MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND " + "OPERATION_ID = ?"; stmt = conn.prepareStatement(deleteDBQuery); - stmt.setString(1, deviceId); + stmt.setString(1, mblDeviceId); stmt.setInt(2, operationId); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Deleted MobileDevice-Mapping DeviceId : " + mblDeviceId + " , " + + "OperationId : " + operationId + "from MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while deleting the table entry MBL_DEVICE_OPERATION with " + - " device id - '" + deviceId + " and operation id - " + operationId; + " device id - '" + mblDeviceId + " and operation id - " + operationId; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -212,7 +233,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio } @Override - public MobileDeviceOperationMapping getMobileDeviceOperationMapping(String deviceId, + public MobileDeviceOperationMapping getMobileDeviceOperationMapping(String mblDeviceId, int operationId) throws MobileDeviceManagementDAOException { Connection conn = null; @@ -224,7 +245,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio "SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM " + "MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND OPERATION_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); - stmt.setString(1, deviceId); + stmt.setString(1, mblDeviceId); stmt.setInt(2, operationId); ResultSet resultSet = stmt.executeQuery(); if (resultSet.next()) { @@ -234,11 +255,15 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio mblDeviceOperation.setSentDate(resultSet.getInt(3)); mblDeviceOperation.setReceivedDate(resultSet.getInt(4)); mblDeviceOperation.setStatus(resultSet.getString(5)); + if (log.isDebugEnabled()) { + log.debug("Fetched MobileDevice-Mapping of DeviceId : " + mblDeviceId + " , " + + "OperationId : " + operationId ); + } } } catch (SQLException e) { String msg = "Error occurred while fetching table MBL_DEVICE_OPERATION entry with device id - '" + - deviceId + " and operation id - " + operationId; + mblDeviceId + " and operation id - " + operationId; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -249,7 +274,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio @Override public List getAllMobileDeviceOperationMappingsOfDevice( - String deviceId) + String mblDeviceId) throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; @@ -262,7 +287,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio "SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM " + "MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); - stmt.setString(1, deviceId); + stmt.setString(1, mblDeviceId); ResultSet resultSet = stmt.executeQuery(); while (resultSet.next()) { mblDeviceOperation = new MobileDeviceOperationMapping(); @@ -273,10 +298,13 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio mblDeviceOperation.setStatus(resultSet.getString(5)); mblDeviceOperations.add(mblDeviceOperation); } + if (log.isDebugEnabled()) { + log.debug("Fetched all MobileDevice-Mappings of DeviceId : " + mblDeviceId); + } } catch (SQLException e) { String msg = "Error occurred while fetching mapping table MBL_DEVICE_OPERATION entries of " + - "device id - '" + deviceId; + "device id - '" + mblDeviceId; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -287,7 +315,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio @Override public List getAllPendingOperationMappingsOfMobileDevice( - String deviceId) + String mblDeviceId) throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; @@ -301,7 +329,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio "SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM" + " MBL_DEVICE_OPERATION_MAPPING WHERE DEVICE_ID = ? AND STATUS = ?"; stmt = conn.prepareStatement(selectDBQuery); - stmt.setString(1, deviceId); + stmt.setString(1, mblDeviceId); stmt.setString(2, MobileDeviceOperationMapping.Status.NEW.name()); ResultSet resultSet = stmt.executeQuery(); while (resultSet.next()) { @@ -313,10 +341,13 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio mblDeviceOperation.setStatus(resultSet.getString(5)); mblDeviceOperations.add(mblDeviceOperation); } + if (log.isDebugEnabled()) { + log.debug("Fetched all pending MobileDevice-Mappings of DeviceId : " + mblDeviceId); + } } catch (SQLException e) { String msg = "Error occurred while fetching mapping table MBL_DEVICE_OPERATION entries of" + - " device id - '" + deviceId; + " device id - '" + mblDeviceId; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java index 2f5251686e..66081becd7 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeatureDAOImpl.java @@ -67,6 +67,10 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { if (rs != null && rs.next()) { status = rs.getInt(1); } + if (log.isDebugEnabled()) { + log.debug("Added a new MobileFeature " + mobileFeature.getCode() + " to the" + + " MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while adding feature code - '" + @@ -99,6 +103,9 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Updated MobileFeature " + mobileFeature.getCode()); + } } } catch (SQLException e) { String msg = "Error occurred while updating the feature with feature code - '" + @@ -112,7 +119,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { } @Override - public boolean deleteMobileFeatureByCode(String featureCode) + public boolean deleteMobileFeatureByCode(String mblFeatureCode) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -122,13 +129,17 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { String deleteDBQuery = "DELETE FROM MBL_FEATURE WHERE CODE = ?"; stmt = conn.prepareStatement(deleteDBQuery); - stmt.setString(1, featureCode); + stmt.setString(1, mblFeatureCode); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Deleted MobileFeature code " + mblFeatureCode + " from the" + + " MDM database."); + } } } catch (SQLException e) { - String msg = "Error occurred while deleting feature with code - " + featureCode; + String msg = "Error occurred while deleting feature with code - " + mblFeatureCode; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -138,7 +149,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { } @Override - public boolean deleteMobileFeatureById(int featureId) + public boolean deleteMobileFeatureById(int mblFeatureId) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -148,13 +159,17 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { String deleteDBQuery = "DELETE FROM MBL_FEATURE WHERE FEATURE_ID = ?"; stmt = conn.prepareStatement(deleteDBQuery); - stmt.setInt(1, featureId); + stmt.setInt(1, mblFeatureId); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Deleted MobileFeature id " + mblFeatureId + " from the" + + " MDM database."); + } } } catch (SQLException e) { - String msg = "Error occurred while deleting feature with id - " + featureId; + String msg = "Error occurred while deleting feature with id - " + mblFeatureId; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -164,7 +179,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { } @Override - public MobileFeature getMobileFeatureByCode(String featureCode) + public MobileFeature getMobileFeatureByCode(String mblFeatureCode) throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; @@ -175,7 +190,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE " + "WHERE CODE = ?"; stmt = conn.prepareStatement(selectDBQuery); - stmt.setString(1, featureCode); + stmt.setString(1, mblFeatureCode); ResultSet resultSet = stmt.executeQuery(); if (resultSet.next()) { mobileFeature = new MobileFeature(); @@ -184,10 +199,14 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { mobileFeature.setName(resultSet.getString(3)); mobileFeature.setDescription(resultSet.getString(4)); mobileFeature.setDeviceType(resultSet.getString(5)); + if (log.isDebugEnabled()) { + log.debug("Fetched MobileFeature " + mblFeatureCode + " from the" + + " MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while fetching feature code - '" + - featureCode + "'"; + mblFeatureCode + "'"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -197,7 +216,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { } @Override - public MobileFeature getMobileFeatureById(int featureID) + public MobileFeature getMobileFeatureById(int mblFeatureId) throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; @@ -208,7 +227,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { "SELECT FEATURE_ID, CODE, NAME, DESCRIPTION, DEVICE_TYPE FROM MBL_FEATURE" + " WHERE FEATURE_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); - stmt.setInt(1, featureID); + stmt.setInt(1, mblFeatureId); ResultSet resultSet = stmt.executeQuery(); if (resultSet.next()) { mobileFeature = new MobileFeature(); @@ -217,10 +236,14 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { mobileFeature.setName(resultSet.getString(3)); mobileFeature.setDescription(resultSet.getString(4)); mobileFeature.setDeviceType(resultSet.getString(5)); + if (log.isDebugEnabled()) { + log.debug("Fetched MobileFeatureId" + mblFeatureId + " from the" + + " MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while fetching feature id - '" + - featureID + "'"; + mblFeatureId + "'"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -250,6 +273,9 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { mobileFeature.setDeviceType(resultSet.getString(5)); mobileFeatures.add(mobileFeature); } + if (log.isDebugEnabled()) { + log.debug("Fetched all MobileFeatures from the MDM database."); + } return mobileFeatures; } catch (SQLException e) { String msg = "Error occurred while fetching all features.'"; @@ -284,6 +310,10 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO { mobileFeature.setDeviceType(resultSet.getString(5)); mobileFeatures.add(mobileFeature); } + if (log.isDebugEnabled()) { + log.debug("Fetched all MobileFeatures of type " + deviceType + " from the MDM" + + " database."); + } return mobileFeatures; } catch (SQLException e) { String msg = "Error occurred while fetching all features.'"; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java index 34523675a6..d768dbd445 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileFeaturePropertyDAOImpl.java @@ -46,7 +46,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { } @Override - public boolean addMobileFeatureProperty(MobileFeatureProperty mobileFeatureProperty) + public boolean addMobileFeatureProperty(MobileFeatureProperty mblFeatureProperty) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -57,15 +57,19 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { "INSERT INTO MBL_FEATURE_PROPERTY(PROPERTY, FEATURE_ID) VALUES (?, ?)"; stmt = conn.prepareStatement(createDBQuery); - stmt.setString(1, mobileFeatureProperty.getProperty()); - stmt.setInt(2, mobileFeatureProperty.getFeatureID()); + stmt.setString(1, mblFeatureProperty.getProperty()); + stmt.setInt(2, mblFeatureProperty.getFeatureID()); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Added MobileFeatureProperty " + mblFeatureProperty.getProperty() + + " to the MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while adding property id - '" + - mobileFeatureProperty.getFeatureID() + "'"; + mblFeatureProperty.getFeatureID() + "'"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -75,7 +79,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { } @Override - public boolean updateMobileFeatureProperty(MobileFeatureProperty mobileFeatureProperty) + public boolean updateMobileFeatureProperty(MobileFeatureProperty mblFeatureProperty) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -85,15 +89,18 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { String updateDBQuery = "UPDATE MBL_FEATURE_PROPERTY SET FEATURE_ID = ? WHERE PROPERTY = ?"; stmt = conn.prepareStatement(updateDBQuery); - stmt.setInt(1, mobileFeatureProperty.getFeatureID()); - stmt.setString(2, mobileFeatureProperty.getProperty()); + stmt.setInt(1, mblFeatureProperty.getFeatureID()); + stmt.setString(2, mblFeatureProperty.getProperty()); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Updated MobileFeatureProperty " + mblFeatureProperty.getProperty()); + } } } catch (SQLException e) { String msg = "Error occurred while updating the feature property with property - '" + - mobileFeatureProperty.getProperty() + "'"; + mblFeatureProperty.getProperty() + "'"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -117,6 +124,9 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Deleted MobileFeatureProperty " + property + " from MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while deleting feature property with property - " + @@ -130,7 +140,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { } @Override - public boolean deleteMobileFeaturePropertiesOfFeature(Integer featureId) + public boolean deleteMobileFeaturePropertiesOfFeature(Integer mblFeatureId) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -140,14 +150,18 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { String deleteDBQuery = "DELETE FROM MBL_FEATURE_PROPERTY WHERE FEATURE_ID = ?"; stmt = conn.prepareStatement(deleteDBQuery); - stmt.setInt(1, featureId); + stmt.setInt(1, mblFeatureId); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Deleted all MobileFeatureProperties of FeatureId " + mblFeatureId + + " from MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while deleting feature properties of feature - " + - featureId; + mblFeatureId; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -173,6 +187,10 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { mobileFeatureProperty = new MobileFeatureProperty(); mobileFeatureProperty.setProperty(resultSet.getString(1)); mobileFeatureProperty.setFeatureID(resultSet.getInt(2)); + if (log.isDebugEnabled()) { + log.debug("Fetched MobileFeatureProperty " + mobileFeatureProperty.getProperty() + + " from MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while fetching property - '" + @@ -186,7 +204,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { } @Override - public List getFeaturePropertiesOfFeature(Integer featureId) + public List getFeaturePropertiesOfFeature(Integer mblFeatureId) throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; @@ -197,7 +215,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { String selectDBQuery = "SELECT PROPERTY, FEATURE_ID FROM MBL_FEATURE_PROPERTY WHERE FEATURE_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); - stmt.setInt(1, featureId); + stmt.setInt(1, mblFeatureId); ResultSet resultSet = stmt.executeQuery(); while (resultSet.next()) { mobileFeatureProperty = new MobileFeatureProperty(); @@ -205,6 +223,10 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO { mobileFeatureProperty.setFeatureID(resultSet.getInt(2)); FeatureProperties.add(mobileFeatureProperty); } + if (log.isDebugEnabled()) { + log.debug("Fetched all MobileFeatureProperties of featureId " + mblFeatureId + + " from MDM database."); + } return FeatureProperties; } catch (SQLException e) { String msg = "Error occurred while fetching all feature property.'"; diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java index 21f7d7044d..bd7e8b3c3c 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationDAOImpl.java @@ -45,7 +45,7 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { } @Override - public int addMobileOperation(MobileOperation operation) + public int addMobileOperation(MobileOperation mblOperation) throws MobileDeviceManagementDAOException { int status = -1; Connection conn = null; @@ -55,18 +55,22 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { String createDBQuery = "INSERT INTO MBL_OPERATION(FEATURE_CODE, CREATED_DATE) VALUES ( ?, ?)"; stmt = conn.prepareStatement(createDBQuery, new String[] { COLUMN_OPERATION_ID }); - stmt.setString(1, operation.getFeatureCode()); - stmt.setLong(2, operation.getCreatedDate()); + stmt.setString(1, mblOperation.getFeatureCode()); + stmt.setLong(2, mblOperation.getCreatedDate()); int rows = stmt.executeUpdate(); if (rows > 0) { ResultSet rs = stmt.getGeneratedKeys(); if (rs != null && rs.next()) { status = rs.getInt(1); } + if (log.isDebugEnabled()) { + log.debug("Added a new MobileOperation " + mblOperation.getFeatureCode() + + " to MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while adding the operation - '" + - operation.getFeatureCode() + "' to MBL_OPERATION table"; + mblOperation.getFeatureCode() + "' to MBL_OPERATION table"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -76,7 +80,7 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { } @Override - public boolean updateMobileOperation(MobileOperation operation) + public boolean updateMobileOperation(MobileOperation mblOperation) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -87,17 +91,21 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { "UPDATE MBL_OPERATION SET FEATURE_CODE = ?, CREATED_DATE = ? WHERE " + "OPERATION_ID = ?"; stmt = conn.prepareStatement(updateDBQuery); - stmt.setString(1, operation.getFeatureCode()); - stmt.setLong(2, operation.getCreatedDate()); - stmt.setInt(3, operation.getOperationId()); + stmt.setString(1, mblOperation.getFeatureCode()); + stmt.setLong(2, mblOperation.getCreatedDate()); + stmt.setInt(3, mblOperation.getOperationId()); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Updated MobileOperation " + mblOperation.getFeatureCode() + + " to MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while updating the MBL_OPERATION table entry with operation id - '" + - operation.getOperationId() + "'"; + mblOperation.getOperationId() + "'"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -107,7 +115,7 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { } @Override - public boolean deleteMobileOperation(int operationId) + public boolean deleteMobileOperation(int mblOperationId) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -117,10 +125,14 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { String deleteDBQuery = "DELETE FROM MBL_OPERATION WHERE OPERATION_ID = ?"; stmt = conn.prepareStatement(deleteDBQuery); - stmt.setInt(1, operationId); + stmt.setInt(1, mblOperationId); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Deleted a new MobileOperation " + mblOperationId + + " from MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while deleting MBL_OPERATION entry with operation Id - "; @@ -133,7 +145,7 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { } @Override - public MobileOperation getMobileOperation(int operationId) + public MobileOperation getMobileOperation(int mblOperationId) throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; @@ -144,17 +156,21 @@ public class MobileOperationDAOImpl implements MobileOperationDAO { "SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM MBL_OPERATION WHERE " + "OPERATION_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); - stmt.setInt(1, operationId); + stmt.setInt(1, mblOperationId); ResultSet resultSet = stmt.executeQuery(); if (resultSet.next()) { operation = new MobileOperation(); operation.setOperationId(resultSet.getInt(1)); operation.setFeatureCode(resultSet.getString(2)); operation.setCreatedDate(resultSet.getLong(3)); + if (log.isDebugEnabled()) { + log.debug("Fetched MobileOperation " + operation.getFeatureCode() + + " from MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while fetching operationId - '" + - operationId + "' from MBL_OPERATION"; + mblOperationId + "' from MBL_OPERATION"; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationPropertyDAOImpl.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationPropertyDAOImpl.java index 352d2b6e25..c4553862fc 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationPropertyDAOImpl.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/impl/MobileOperationPropertyDAOImpl.java @@ -46,7 +46,7 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA } @Override - public boolean addMobileOperationProperty(MobileOperationProperty operationProperty) + public boolean addMobileOperationProperty(MobileOperationProperty mblOperationProperty) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -57,12 +57,16 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA "INSERT INTO MBL_OPERATION_PROPERTY(OPERATION_ID, PROPERTY, VALUE) " + "VALUES ( ?, ?, ?)"; stmt = conn.prepareStatement(createDBQuery); - stmt.setInt(1, operationProperty.getOperationId()); - stmt.setString(2, operationProperty.getProperty()); - stmt.setString(3, operationProperty.getValue()); + stmt.setInt(1, mblOperationProperty.getOperationId()); + stmt.setString(2, mblOperationProperty.getProperty()); + stmt.setString(3, mblOperationProperty.getValue()); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Added a new MobileOperationProperty " + mblOperationProperty.getProperty() + + " to MDM database."); + } } } catch (SQLException e) { String msg = @@ -78,7 +82,7 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA @Override public boolean updateMobileOperationProperty( - MobileOperationProperty operationProperty) + MobileOperationProperty mblOperationProperty) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -89,12 +93,16 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA "UPDATE MBL_OPERATION_PROPERTY SET VALUE = ? WHERE OPERATION_ID = ? AND " + "PROPERTY = ?"; stmt = conn.prepareStatement(createDBQuery); - stmt.setString(1, operationProperty.getValue()); - stmt.setInt(2, operationProperty.getOperationId()); - stmt.setString(3, operationProperty.getProperty()); + stmt.setString(1, mblOperationProperty.getValue()); + stmt.setInt(2, mblOperationProperty.getOperationId()); + stmt.setString(3, mblOperationProperty.getProperty()); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Updated MobileOperationProperty " + mblOperationProperty.getProperty() + + " to MDM database."); + } } } catch (SQLException e) { String msg = @@ -109,7 +117,7 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA } @Override - public boolean deleteMobileOperationProperties(int operationId) + public boolean deleteMobileOperationProperties(int mblOperationId) throws MobileDeviceManagementDAOException { boolean status = false; Connection conn = null; @@ -119,10 +127,15 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA String deleteDBQuery = "DELETE FROM MBL_OPERATION_PROPERTY WHERE OPERATION_ID = ?"; stmt = conn.prepareStatement(deleteDBQuery); - stmt.setInt(1, operationId); + stmt.setInt(1, mblOperationId); int rows = stmt.executeUpdate(); if (rows > 0) { status = true; + if (log.isDebugEnabled()) { + log.debug("Deleted MobileOperationProperties of operation-id " + + mblOperationId + + " from MDM database."); + } } } catch (SQLException e) { String msg = @@ -136,7 +149,7 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA } @Override - public MobileOperationProperty getMobileOperationProperty(int operationId, + public MobileOperationProperty getMobileOperationProperty(int mblOperationId, String property) throws MobileDeviceManagementDAOException { Connection conn = null; @@ -148,7 +161,7 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA "SELECT OPERATION_ID, PROPERTY, VALUE FROM MBL_OPERATION_PROPERTY WHERE " + "OPERATION_ID = ? AND PROPERTY = ?"; stmt = conn.prepareStatement(selectDBQuery); - stmt.setInt(1, operationId); + stmt.setInt(1, mblOperationId); stmt.setString(2, property); ResultSet resultSet = stmt.executeQuery(); if (resultSet.next()) { @@ -156,11 +169,16 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA mobileOperationProperty.setOperationId(resultSet.getInt(1)); mobileOperationProperty.setProperty(resultSet.getString(2)); mobileOperationProperty.setValue(resultSet.getString(3)); + if (log.isDebugEnabled()) { + log.debug("Fetched MobileOperationProperty of Operation-id : " + + mblOperationId + + " Property : " + property + " from MDM database."); + } } } catch (SQLException e) { String msg = "Error occurred while fetching the mobile operation property of Operation_id : " + - operationId + " and Property : " + property; + mblOperationId + " and Property : " + property; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { @@ -171,7 +189,7 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA @Override public List getAllMobileOperationPropertiesOfOperation( - int operationId) throws MobileDeviceManagementDAOException { + int mblOperationId) throws MobileDeviceManagementDAOException { Connection conn = null; PreparedStatement stmt = null; MobileOperationProperty mobileOperationProperty; @@ -182,7 +200,7 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA "SELECT OPERATION_ID, PROPERTY, VALUE FROM MBL_OPERATION_PROPERTY WHERE " + "OPERATION_ID = ?"; stmt = conn.prepareStatement(selectDBQuery); - stmt.setInt(1, operationId); + stmt.setInt(1, mblOperationId); ResultSet resultSet = stmt.executeQuery(); while (resultSet.next()) { mobileOperationProperty = new MobileOperationProperty(); @@ -191,10 +209,15 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA mobileOperationProperty.setValue(resultSet.getString(3)); properties.add(mobileOperationProperty); } + if (log.isDebugEnabled()) { + log.debug("Fetched all MobileOperationProperties of Operation-id : " + + mblOperationId + + " from MDM database."); + } } catch (SQLException e) { String msg = "Error occurred while fetching the mobile operation properties of Operation_id " + - operationId; + mblOperationId; log.error(msg, e); throw new MobileDeviceManagementDAOException(msg, e); } finally { diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementBundleActivator.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementBundleActivator.java index fb32d4fecc..bf3f4e611e 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementBundleActivator.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementBundleActivator.java @@ -66,8 +66,8 @@ public class MobileDeviceManagementBundleActivator implements BundleActivator, B /* Initialize the datasource configuration */ MobileDeviceConfigurationManager.getInstance().initConfig(); - MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance() - .getMobileDeviceManagementConfig(); + MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance(). + getMobileDeviceManagementConfig(); MobileDataSourceConfig dsConfig = config.getMobileDeviceMgtRepository().getMobileDataSourceConfig(); diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementServiceComponent.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementServiceComponent.java index c048dc105d..93bd8484a0 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementServiceComponent.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/internal/MobileDeviceManagementServiceComponent.java @@ -57,101 +57,106 @@ import java.util.List; */ public class MobileDeviceManagementServiceComponent { - private ServiceRegistration androidServiceRegRef; - private ServiceRegistration iOSServiceRegRef; - private ServiceRegistration windowsServiceRegRef; - private ServiceRegistration serverStartupObserverRef; + private ServiceRegistration androidServiceRegRef; + private ServiceRegistration iOSServiceRegRef; + private ServiceRegistration windowsServiceRegRef; + private ServiceRegistration serverStartupObserverRef; - private static final Log log = LogFactory.getLog(MobileDeviceManagementServiceComponent.class); + private static final Log log = LogFactory.getLog(MobileDeviceManagementServiceComponent.class); - protected void activate(ComponentContext ctx) { - if (log.isDebugEnabled()) { - log.debug("Activating Mobile Device Management Service Component"); - } - try { - BundleContext bundleContext = ctx.getBundleContext(); + protected void activate(ComponentContext ctx) { + if (log.isDebugEnabled()) { + log.debug("Activating Mobile Device Management Service Component"); + } + try { + BundleContext bundleContext = ctx.getBundleContext(); /* Initialize the datasource configuration */ - MobileDeviceConfigurationManager.getInstance().initConfig(); - MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance() - .getMobileDeviceManagementConfig(); - MobileDataSourceConfig dsConfig = - config.getMobileDeviceMgtRepository().getMobileDataSourceConfig(); - - MobileDeviceManagementDAOFactory.setMobileDataSourceConfig(dsConfig); - MobileDeviceManagementDAOFactory.init(); - String setupOption = System.getProperty("setup"); - if (setupOption != null) { - if (log.isDebugEnabled()) { - log.debug( - "-Dsetup is enabled. Mobile Device management repository schema initialization is about " + - "to begin"); - } - try { - MobileDeviceManagementDAOUtil.setupMobileDeviceManagementSchema( - MobileDeviceManagementDAOFactory.getDataSource()); - } catch (DeviceManagementException e) { - log.error("Exception occurred while initializing mobile device management database schema", e); - } - } - - androidServiceRegRef = - bundleContext.registerService(DeviceManagerService.class.getName(), - new AndroidDeviceManagerService(), null); - iOSServiceRegRef = - bundleContext.registerService(DeviceManagerService.class.getName(), - new IOSDeviceManagerService(), null); - windowsServiceRegRef = - bundleContext.registerService(DeviceManagerService.class.getName(), - new WindowsDeviceManagerService(), null); - - serverStartupObserverRef = bundleContext.registerService(ServerStartupObserver.class, - new MobileDeviceManagementStartupObserver(), null); - if (log.isDebugEnabled()) { - log.debug("Mobile Device Management Service Component has been successfully activated"); - } - } catch (Throwable e) { - log.error("Error occurred while activating Mobile Device Management Service Component", e); - } - } - - protected void deactivate(ComponentContext ctx) { - if (log.isDebugEnabled()) { - log.debug("De-activating Mobile Device Management Service Component"); - } - try { - androidServiceRegRef.unregister(); - iOSServiceRegRef.unregister(); - windowsServiceRegRef.unregister(); - serverStartupObserverRef.unregister(); + MobileDeviceConfigurationManager.getInstance().initConfig(); + MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance() + .getMobileDeviceManagementConfig(); + MobileDataSourceConfig dsConfig = + config.getMobileDeviceMgtRepository().getMobileDataSourceConfig(); + + MobileDeviceManagementDAOFactory.setMobileDataSourceConfig(dsConfig); + MobileDeviceManagementDAOFactory.init(); + String setupOption = System.getProperty("setup"); + if (setupOption != null) { + if (log.isDebugEnabled()) { + log.debug( + "-Dsetup is enabled. Mobile Device management repository schema initialization is about " + + "to begin"); + } + try { + MobileDeviceManagementDAOUtil.setupMobileDeviceManagementSchema( + MobileDeviceManagementDAOFactory.getDataSource()); + } catch (DeviceManagementException e) { + log.error( + "Exception occurred while initializing mobile device management database schema", + e); + } + } + + androidServiceRegRef = + bundleContext.registerService(DeviceManagerService.class.getName(), + new AndroidDeviceManagerService(), null); + iOSServiceRegRef = + bundleContext.registerService(DeviceManagerService.class.getName(), + new IOSDeviceManagerService(), null); + windowsServiceRegRef = + bundleContext.registerService(DeviceManagerService.class.getName(), + new WindowsDeviceManagerService(), null); + + serverStartupObserverRef = bundleContext.registerService(ServerStartupObserver.class, + new MobileDeviceManagementStartupObserver(), + null); + if (log.isDebugEnabled()) { + log.debug( + "Mobile Device Management Service Component has been successfully activated"); + } + } catch (Throwable e) { + log.error("Error occurred while activating Mobile Device Management Service Component", + e); + } + } + + protected void deactivate(ComponentContext ctx) { + if (log.isDebugEnabled()) { + log.debug("De-activating Mobile Device Management Service Component"); + } + try { + androidServiceRegRef.unregister(); + iOSServiceRegRef.unregister(); + windowsServiceRegRef.unregister(); + serverStartupObserverRef.unregister(); /* Removing all APIs published upon start-up for mobile device management related JAX-RS services */ - this.removeAPIs(); - if (log.isDebugEnabled()) { - log.debug( - "Mobile Device Management Service Component has been successfully de-activated"); - } - } catch (Throwable e) { - log.error("Error occurred while de-activating Mobile Device Management bundle", e); - } - } - - private void removeAPIs() throws DeviceManagementException { - List apiConfigs = - MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig(). - getApiPublisherConfig().getAPIs(); - for (APIConfig apiConfig : apiConfigs) { - DeviceManagementAPIPublisherUtil.removeAPI(apiConfig); - } - } - - protected void setAPIManagerConfigurationService(APIManagerConfigurationService service) { - //do nothing - } - - protected void unsetAPIManagerConfigurationService(APIManagerConfigurationService service) { - //do nothing - } + this.removeAPIs(); + if (log.isDebugEnabled()) { + log.debug( + "Mobile Device Management Service Component has been successfully de-activated"); + } + } catch (Throwable e) { + log.error("Error occurred while de-activating Mobile Device Management bundle", e); + } + } + + private void removeAPIs() throws DeviceManagementException { + List apiConfigs = + MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig(). + getApiPublisherConfig().getAPIs(); + for (APIConfig apiConfig : apiConfigs) { + DeviceManagementAPIPublisherUtil.removeAPI(apiConfig); + } + } + + protected void setAPIManagerConfigurationService(APIManagerConfigurationService service) { + //do nothing + } + + protected void unsetAPIManagerConfigurationService(APIManagerConfigurationService service) { + //do nothing + } } diff --git a/components/device-mgt/pom.xml b/components/device-mgt/pom.xml index 053ad179cd..73957bbe7a 100644 --- a/components/device-mgt/pom.xml +++ b/components/device-mgt/pom.xml @@ -17,7 +17,9 @@ ~ under the License. --> - + org.wso2.carbon.devicemgt-plugins diff --git a/pom.xml b/pom.xml index 1db632ba71..79c2940568 100644 --- a/pom.xml +++ b/pom.xml @@ -17,7 +17,9 @@ ~ under the License. --> - + 4.0.0 org.wso2.carbon.devicemgt-plugins @@ -275,17 +277,17 @@ - + org.wso2.carbon.apimgt org.wso2.carbon.apimgt.api @@ -446,7 +448,7 @@ 7.0.34.wso2v2 - + 2.6.1 1.9.0 1.1.1 @@ -488,7 +490,8 @@ https://github.com/wso2/carbon-device-mgt-plugins.git - scm:git:https://github.com/wso2/carbon-device-mgt-plugins.git + scm:git:https://github.com/wso2/carbon-device-mgt-plugins.git + scm:git:https://github.com/wso2/carbon-device-mgt-plugins.git HEAD From dcbfd06075057c651b82e92e2fd169ad6a81da46 Mon Sep 17 00:00:00 2001 From: harshanL Date: Tue, 17 Feb 2015 17:15:51 +0530 Subject: [PATCH 8/8] Added debug logs --- .../mgt/mobile/dao/MobileDeviceDAO.java | 4 ++++ .../android/AndroidDeviceManagerService.java | 21 +++++++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceDAO.java b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceDAO.java index 1052ef1aba..1615942736 100644 --- a/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceDAO.java +++ b/components/device-mgt/org.wso2.carbon.device.mgt.mobile.impl/src/main/java/org/wso2/carbon/device/mgt/mobile/dao/MobileDeviceDAO.java @@ -29,6 +29,7 @@ public interface MobileDeviceDAO { /** * Fetches a MobileDevice from MDM database. + * * @param mblDeviceId Id of the Mobile-Device. * @return MobileDevice corresponding to given device-id. * @throws MobileDeviceManagementDAOException @@ -37,6 +38,7 @@ public interface MobileDeviceDAO { /** * Adds a new MobileDevice to the MDM database. + * * @param mobileDevice MobileDevice to be added. * @return The status of the operation. * @throws MobileDeviceManagementDAOException @@ -45,6 +47,7 @@ public interface MobileDeviceDAO { /** * Updates MobileDevice information in MDM database. + * * @param mobileDevice MobileDevice to be updated. * @return The status of the operation. * @throws MobileDeviceManagementDAOException @@ -53,6 +56,7 @@ public interface MobileDeviceDAO { /** * Deletes a given MobileDevice from MDM database. + * * @param mblDeviceId Id of MobileDevice to be deleted. * @return The status of the operation. * @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/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 0b83e1f8e1..8109f14148 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 @@ -52,6 +52,9 @@ public class AndroidDeviceManagerService implements DeviceManagerService { boolean status; MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device); try { + if (log.isDebugEnabled()) { + log.debug("Enrolling a new Android device : " + device.getDeviceIdentifier()); + } status = MobileDeviceManagementDAOFactory.getMobileDeviceDAO().addMobileDevice( mobileDevice); } catch (MobileDeviceManagementDAOException e) { @@ -68,6 +71,9 @@ public class AndroidDeviceManagerService implements DeviceManagerService { boolean status; MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device); try { + if (log.isDebugEnabled()) { + log.debug("Modifying the Android device enrollment data"); + } status = MobileDeviceManagementDAOFactory.getMobileDeviceDAO() .updateMobileDevice(mobileDevice); } catch (MobileDeviceManagementDAOException e) { @@ -83,6 +89,9 @@ public class AndroidDeviceManagerService implements DeviceManagerService { public boolean disenrollDevice(DeviceIdentifier deviceId) throws DeviceManagementException { boolean status; try { + if (log.isDebugEnabled()) { + log.debug("Dis-enrolling Android device : " + deviceId); + } status = MobileDeviceManagementDAOFactory.getMobileDeviceDAO() .deleteMobileDevice(deviceId.getId()); } catch (MobileDeviceManagementDAOException e) { @@ -97,6 +106,9 @@ public class AndroidDeviceManagerService implements DeviceManagerService { public boolean isEnrolled(DeviceIdentifier deviceId) throws DeviceManagementException { boolean isEnrolled = false; try { + if (log.isDebugEnabled()) { + log.debug("Checking the enrollment of Android device : " + deviceId.getId()); + } MobileDevice mobileDevice = MobileDeviceManagementDAOFactory.getMobileDeviceDAO().getMobileDevice( deviceId.getId()); @@ -127,6 +139,9 @@ public class AndroidDeviceManagerService implements DeviceManagerService { public Device getDevice(DeviceIdentifier deviceId) throws DeviceManagementException { Device device; try { + if (log.isDebugEnabled()) { + log.debug("Getting the details of Android device : " + deviceId.getId()); + } MobileDevice mobileDevice = MobileDeviceManagementDAOFactory.getMobileDeviceDAO(). getMobileDevice(deviceId.getId()); device = MobileDeviceManagementUtil.convertToDevice(mobileDevice); @@ -149,6 +164,9 @@ public class AndroidDeviceManagerService implements DeviceManagerService { boolean status; MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device); try { + if (log.isDebugEnabled()) { + log.debug("updating the details of Android device : " + device.getDeviceIdentifier()); + } status = MobileDeviceManagementDAOFactory.getMobileDeviceDAO() .updateMobileDevice(mobileDevice); } catch (MobileDeviceManagementDAOException e) { @@ -163,6 +181,9 @@ public class AndroidDeviceManagerService implements DeviceManagerService { public List getAllDevices() throws DeviceManagementException { List devices = null; try { + if (log.isDebugEnabled()) { + log.debug("Fetching the details of all Android devices"); + } List mobileDevices = MobileDeviceManagementDAOFactory.getMobileDeviceDAO(). getAllMobileDevices();