mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
MDM-312 fix : Refactored code of MDM MobileImpl component
This commit is contained in:
parent
7f436f4f75
commit
dbf296605f
@ -24,15 +24,17 @@ import java.util.List;
|
|||||||
|
|
||||||
public abstract class AbstractMobileOperationManager implements OperationManager {
|
public abstract class AbstractMobileOperationManager implements OperationManager {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Operation> getOperations(DeviceIdentifier deviceIdentifier) throws OperationManagementException {
|
public List<Operation> getOperations(DeviceIdentifier deviceIdentifier)
|
||||||
return null;
|
throws OperationManagementException {
|
||||||
}
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean addOperation(Operation operation,
|
public boolean addOperation(Operation operation,
|
||||||
List<DeviceIdentifier> devices) throws OperationManagementException {
|
List<DeviceIdentifier> devices)
|
||||||
return true;
|
throws OperationManagementException {
|
||||||
}
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -34,13 +34,14 @@ import java.io.File;
|
|||||||
public class MobileDeviceConfigurationManager {
|
public class MobileDeviceConfigurationManager {
|
||||||
|
|
||||||
private static final String MOBILE_DEVICE_CONFIG_XML_NAME = "mobile-config.xml";
|
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 MobileDeviceManagementConfig currentMobileDeviceConfig;
|
||||||
private static MobileDeviceConfigurationManager mobileDeviceConfigManager;
|
private static MobileDeviceConfigurationManager mobileDeviceConfigManager;
|
||||||
|
|
||||||
private final String mobileDeviceMgtConfigXMLPath =
|
private final String mobileDeviceMgtConfigXMLPath =
|
||||||
CarbonUtils.getEtcCarbonConfigDirPath() + File.separator + "device-mgt-plugin-configs" + File.separator +
|
CarbonUtils.getEtcCarbonConfigDirPath() + File.separator + "device-mgt-plugin-configs" +
|
||||||
MOBILE_DEVICE_PLUGIN_DIRECTORY + File.separator + MOBILE_DEVICE_CONFIG_XML_NAME;
|
File.separator +
|
||||||
|
MOBILE_DEVICE_PLUGIN_DIRECTORY + File.separator + MOBILE_DEVICE_CONFIG_XML_NAME;
|
||||||
|
|
||||||
public static MobileDeviceConfigurationManager getInstance() {
|
public static MobileDeviceConfigurationManager getInstance() {
|
||||||
if (mobileDeviceConfigManager == null) {
|
if (mobileDeviceConfigManager == null) {
|
||||||
|
|||||||
@ -29,8 +29,8 @@ public interface MobileDeviceOperationMappingDAO {
|
|||||||
/**
|
/**
|
||||||
* Add a new mobile device operation mapping to the table.
|
* Add a new mobile device operation mapping to the table.
|
||||||
*
|
*
|
||||||
* @param deviceOperation MobileDeviceOperation object that holds data related to the MobileDeviceOperation
|
* @param deviceOperation MobileDeviceOperation object that holds data related to the
|
||||||
* to be inserted.
|
* MobileDeviceOperation to be inserted.
|
||||||
* @return The status of the operation. If the insert was successful or not.
|
* @return The status of the operation. If the insert was successful or not.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
@ -85,8 +85,8 @@ public interface MobileDeviceOperationMappingDAO {
|
|||||||
*
|
*
|
||||||
* @param deviceId Device id of the mapping to be retrieved.
|
* @param deviceId Device id of the mapping to be retrieved.
|
||||||
* @param operationId Operation 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
|
* @return MobileDeviceOperation object that holds data of the device operation mapping
|
||||||
* deviceId and operationId.
|
* represented by deviceId and operationId.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
MobileDeviceOperationMapping getMobileDeviceOperationMapping(String deviceId, int operationId)
|
MobileDeviceOperationMapping getMobileDeviceOperationMapping(String deviceId, int operationId)
|
||||||
|
|||||||
@ -23,14 +23,15 @@ import org.wso2.carbon.device.mgt.mobile.dto.MobileFeatureProperty;
|
|||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class represents the key operations associated with persisting mobile feature property related
|
* This class represents the key operations associated with persisting mobile feature property
|
||||||
* information.
|
* related information.
|
||||||
*/
|
*/
|
||||||
public interface MobileFeaturePropertyDAO {
|
public interface MobileFeaturePropertyDAO {
|
||||||
/**
|
/**
|
||||||
* Add a new feature property to feature property table.
|
* 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.
|
* @return The status of the operation. If the insert was successful or not.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -128,7 +128,8 @@ public class MobileDeviceDAOImpl implements MobileDeviceDAO {
|
|||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String updateDBQuery =
|
String updateDBQuery =
|
||||||
"UPDATE MBL_DEVICE SET REG_ID = ?, IMEI = ?, IMSI = ?, OS_VERSION = ?," +
|
"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 = conn.prepareStatement(updateDBQuery);
|
||||||
stmt.setString(1, mobileDevice.getRegId());
|
stmt.setString(1, mobileDevice.getRegId());
|
||||||
stmt.setString(2, mobileDevice.getImei());
|
stmt.setString(2, mobileDevice.getImei());
|
||||||
|
|||||||
@ -20,8 +20,8 @@ package org.wso2.carbon.device.mgt.mobile.dao.impl;
|
|||||||
|
|
||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
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.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.dao.util.MobileDeviceManagementDAOUtil;
|
||||||
import org.wso2.carbon.device.mgt.mobile.dto.MobileDeviceOperationMapping;
|
import org.wso2.carbon.device.mgt.mobile.dto.MobileDeviceOperationMapping;
|
||||||
|
|
||||||
@ -73,7 +73,6 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio
|
|||||||
deviceOperation.getDeviceId() + " and operation id - " +
|
deviceOperation.getDeviceId() + " and operation id - " +
|
||||||
deviceOperation.getOperationId() +
|
deviceOperation.getOperationId() +
|
||||||
" to mapping table MBL_DEVICE_OPERATION";
|
" to mapping table MBL_DEVICE_OPERATION";
|
||||||
;
|
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
throw new MobileDeviceManagementDAOException(msg, e);
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
} finally {
|
} finally {
|
||||||
@ -91,8 +90,8 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String updateDBQuery =
|
String updateDBQuery =
|
||||||
"UPDATE MBL_DEVICE_OPERATION_MAPPING SET SENT_DATE = ?, RECEIVED_DATE = ?, STATUS = ? " +
|
"UPDATE MBL_DEVICE_OPERATION_MAPPING SET SENT_DATE = ?, RECEIVED_DATE = ?, " +
|
||||||
"WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
"STATUS = ? WHERE DEVICE_ID = ? AND OPERATION_ID=?";
|
||||||
stmt = conn.prepareStatement(updateDBQuery);
|
stmt = conn.prepareStatement(updateDBQuery);
|
||||||
stmt.setLong(1, deviceOperation.getSentDate());
|
stmt.setLong(1, deviceOperation.getSentDate());
|
||||||
stmt.setLong(2, deviceOperation.getReceivedDate());
|
stmt.setLong(2, deviceOperation.getReceivedDate());
|
||||||
@ -159,7 +158,7 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio
|
|||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String updateDBQuery =
|
String updateDBQuery =
|
||||||
"UPDATE MBL_DEVICE_OPERATION_MAPPING SET RECEIVED_DATE = ?, STATUS = ? " +
|
"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 = conn.prepareStatement(updateDBQuery);
|
||||||
stmt.setLong(1, new Date().getTime());
|
stmt.setLong(1, new Date().getTime());
|
||||||
stmt.setString(2, MobileDeviceOperationMapping.Status.COMPLETED.name());
|
stmt.setString(2, MobileDeviceOperationMapping.Status.COMPLETED.name());
|
||||||
@ -191,7 +190,8 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String deleteDBQuery =
|
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 = conn.prepareStatement(deleteDBQuery);
|
||||||
stmt.setString(1, deviceId);
|
stmt.setString(1, deviceId);
|
||||||
stmt.setInt(2, operationId);
|
stmt.setInt(2, operationId);
|
||||||
@ -222,19 +222,18 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio
|
|||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
String selectDBQuery =
|
||||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM " +
|
"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 = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setString(1, deviceId);
|
stmt.setString(1, deviceId);
|
||||||
stmt.setInt(2, operationId);
|
stmt.setInt(2, operationId);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
while (resultSet.next()) {
|
if (resultSet.next()) {
|
||||||
mblDeviceOperation = new MobileDeviceOperationMapping();
|
mblDeviceOperation = new MobileDeviceOperationMapping();
|
||||||
mblDeviceOperation.setDeviceId(resultSet.getString(1));
|
mblDeviceOperation.setDeviceId(resultSet.getString(1));
|
||||||
mblDeviceOperation.setOperationId(resultSet.getInt(2));
|
mblDeviceOperation.setOperationId(resultSet.getInt(2));
|
||||||
mblDeviceOperation.setSentDate(resultSet.getInt(3));
|
mblDeviceOperation.setSentDate(resultSet.getInt(3));
|
||||||
mblDeviceOperation.setReceivedDate(resultSet.getInt(4));
|
mblDeviceOperation.setReceivedDate(resultSet.getInt(4));
|
||||||
mblDeviceOperation.setStatus(resultSet.getString(5));
|
mblDeviceOperation.setStatus(resultSet.getString(5));
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String msg =
|
String msg =
|
||||||
@ -254,8 +253,9 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio
|
|||||||
throws MobileDeviceManagementDAOException {
|
throws MobileDeviceManagementDAOException {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
MobileDeviceOperationMapping mblDeviceOperation = null;
|
MobileDeviceOperationMapping mblDeviceOperation;
|
||||||
List<MobileDeviceOperationMapping> mblDeviceOperations = new ArrayList<MobileDeviceOperationMapping>();
|
List<MobileDeviceOperationMapping> mblDeviceOperations =
|
||||||
|
new ArrayList<MobileDeviceOperationMapping>();
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
String selectDBQuery =
|
||||||
@ -292,15 +292,17 @@ public class MobileDeviceOperationMappingDAOImpl implements MobileDeviceOperatio
|
|||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
MobileDeviceOperationMapping mblDeviceOperation = null;
|
MobileDeviceOperationMapping mblDeviceOperation = null;
|
||||||
List<MobileDeviceOperationMapping> mblDeviceOperations = new ArrayList<MobileDeviceOperationMapping>();
|
List<MobileDeviceOperationMapping> mblDeviceOperations =
|
||||||
|
new ArrayList<MobileDeviceOperationMapping>();
|
||||||
try {
|
try {
|
||||||
|
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
String selectDBQuery =
|
||||||
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE, STATUS FROM" +
|
"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 = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setString(1, deviceId);
|
stmt.setString(1, deviceId);
|
||||||
|
stmt.setString(2, MobileDeviceOperationMapping.Status.NEW.name());
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
while (resultSet.next()) {
|
while (resultSet.next()) {
|
||||||
mblDeviceOperation = new MobileDeviceOperationMapping();
|
mblDeviceOperation = new MobileDeviceOperationMapping();
|
||||||
|
|||||||
@ -46,7 +46,8 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public int addMobileFeature(MobileFeature mobileFeature) throws MobileDeviceManagementDAOException {
|
public int addMobileFeature(MobileFeature mobileFeature)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
int status = 0;
|
int status = 0;
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
@ -87,7 +88,8 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String updateDBQuery =
|
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 = conn.prepareStatement(updateDBQuery);
|
||||||
stmt.setString(1, mobileFeature.getCode());
|
stmt.setString(1, mobileFeature.getCode());
|
||||||
stmt.setString(2, mobileFeature.getName());
|
stmt.setString(2, mobileFeature.getName());
|
||||||
@ -170,18 +172,18 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
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 = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setString(1, featureCode);
|
stmt.setString(1, featureCode);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
while (resultSet.next()) {
|
if (resultSet.next()) {
|
||||||
mobileFeature = new MobileFeature();
|
mobileFeature = new MobileFeature();
|
||||||
mobileFeature.setId(resultSet.getInt(1));
|
mobileFeature.setId(resultSet.getInt(1));
|
||||||
mobileFeature.setCode(resultSet.getString(2));
|
mobileFeature.setCode(resultSet.getString(2));
|
||||||
mobileFeature.setName(resultSet.getString(3));
|
mobileFeature.setName(resultSet.getString(3));
|
||||||
mobileFeature.setDescription(resultSet.getString(4));
|
mobileFeature.setDescription(resultSet.getString(4));
|
||||||
mobileFeature.setDeviceType(resultSet.getString(5));
|
mobileFeature.setDeviceType(resultSet.getString(5));
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String msg = "Error occurred while fetching feature code - '" +
|
String msg = "Error occurred while fetching feature code - '" +
|
||||||
@ -203,18 +205,18 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
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 = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setInt(1, featureID);
|
stmt.setInt(1, featureID);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
while (resultSet.next()) {
|
if (resultSet.next()) {
|
||||||
mobileFeature = new MobileFeature();
|
mobileFeature = new MobileFeature();
|
||||||
mobileFeature.setId(resultSet.getInt(1));
|
mobileFeature.setId(resultSet.getInt(1));
|
||||||
mobileFeature.setCode(resultSet.getString(2));
|
mobileFeature.setCode(resultSet.getString(2));
|
||||||
mobileFeature.setName(resultSet.getString(3));
|
mobileFeature.setName(resultSet.getString(3));
|
||||||
mobileFeature.setDescription(resultSet.getString(4));
|
mobileFeature.setDescription(resultSet.getString(4));
|
||||||
mobileFeature.setDeviceType(resultSet.getString(5));
|
mobileFeature.setDeviceType(resultSet.getString(5));
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String msg = "Error occurred while fetching feature id - '" +
|
String msg = "Error occurred while fetching feature id - '" +
|
||||||
@ -259,7 +261,8 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<MobileFeature> getMobileFeatureByDeviceType(String deviceType) throws MobileDeviceManagementDAOException {
|
public List<MobileFeature> getMobileFeatureByDeviceType(String deviceType) throws
|
||||||
|
MobileDeviceManagementDAOException {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
MobileFeature mobileFeature;
|
MobileFeature mobileFeature;
|
||||||
@ -267,7 +270,8 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
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 = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setString(1, deviceType);
|
stmt.setString(1, deviceType);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
@ -285,7 +289,7 @@ public class MobileFeatureDAOImpl implements MobileFeatureDAO {
|
|||||||
String msg = "Error occurred while fetching all features.'";
|
String msg = "Error occurred while fetching all features.'";
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
throw new MobileDeviceManagementDAOException(msg, e);
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
}finally {
|
} finally {
|
||||||
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -169,11 +169,10 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
|||||||
stmt = conn.prepareStatement(selectDBQuery);
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setString(1, property);
|
stmt.setString(1, property);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
while (resultSet.next()) {
|
if (resultSet.next()) {
|
||||||
mobileFeatureProperty = new MobileFeatureProperty();
|
mobileFeatureProperty = new MobileFeatureProperty();
|
||||||
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
mobileFeatureProperty.setProperty(resultSet.getString(1));
|
||||||
mobileFeatureProperty.setFeatureID(resultSet.getInt(2));
|
mobileFeatureProperty.setFeatureID(resultSet.getInt(2));
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String msg = "Error occurred while fetching property - '" +
|
String msg = "Error occurred while fetching property - '" +
|
||||||
@ -191,7 +190,7 @@ public class MobileFeaturePropertyDAOImpl implements MobileFeaturePropertyDAO {
|
|||||||
throws MobileDeviceManagementDAOException {
|
throws MobileDeviceManagementDAOException {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
MobileFeatureProperty mobileFeatureProperty = null;
|
MobileFeatureProperty mobileFeatureProperty;
|
||||||
List<MobileFeatureProperty> FeatureProperties = new ArrayList<MobileFeatureProperty>();
|
List<MobileFeatureProperty> FeatureProperties = new ArrayList<MobileFeatureProperty>();
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
|
|||||||
@ -84,7 +84,8 @@ public class MobileOperationDAOImpl implements MobileOperationDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String updateDBQuery =
|
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 = conn.prepareStatement(updateDBQuery);
|
||||||
stmt.setString(1, operation.getFeatureCode());
|
stmt.setString(1, operation.getFeatureCode());
|
||||||
stmt.setLong(2, operation.getCreatedDate());
|
stmt.setLong(2, operation.getCreatedDate());
|
||||||
@ -140,16 +141,16 @@ public class MobileOperationDAOImpl implements MobileOperationDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
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 = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setInt(1, operationId);
|
stmt.setInt(1, operationId);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
while (resultSet.next()) {
|
if (resultSet.next()) {
|
||||||
operation = new MobileOperation();
|
operation = new MobileOperation();
|
||||||
operation.setOperationId(resultSet.getInt(1));
|
operation.setOperationId(resultSet.getInt(1));
|
||||||
operation.setFeatureCode(resultSet.getString(2));
|
operation.setFeatureCode(resultSet.getString(2));
|
||||||
operation.setCreatedDate(resultSet.getLong(3));
|
operation.setCreatedDate(resultSet.getLong(3));
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String msg = "Error occurred while fetching operationId - '" +
|
String msg = "Error occurred while fetching operationId - '" +
|
||||||
|
|||||||
@ -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.MobileDeviceManagementDAOException;
|
||||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileOperationPropertyDAO;
|
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.dao.util.MobileDeviceManagementDAOUtil;
|
||||||
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.dto.MobileOperationProperty;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
@ -55,8 +54,8 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String createDBQuery =
|
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 = conn.prepareStatement(createDBQuery);
|
||||||
stmt.setInt(1, operationProperty.getOperationId());
|
stmt.setInt(1, operationProperty.getOperationId());
|
||||||
stmt.setString(2, operationProperty.getProperty());
|
stmt.setString(2, operationProperty.getProperty());
|
||||||
@ -67,7 +66,8 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA
|
|||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String msg =
|
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);
|
log.error(msg, e);
|
||||||
throw new MobileDeviceManagementDAOException(msg, e);
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
} finally {
|
} finally {
|
||||||
@ -86,8 +86,8 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String createDBQuery =
|
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 = conn.prepareStatement(createDBQuery);
|
||||||
stmt.setString(1, operationProperty.getValue());
|
stmt.setString(1, operationProperty.getValue());
|
||||||
stmt.setInt(2, operationProperty.getOperationId());
|
stmt.setInt(2, operationProperty.getOperationId());
|
||||||
@ -98,7 +98,8 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA
|
|||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String msg =
|
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);
|
log.error(msg, e);
|
||||||
throw new MobileDeviceManagementDAOException(msg, e);
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
} finally {
|
} finally {
|
||||||
@ -144,17 +145,17 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
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 = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setInt(1, operationId);
|
stmt.setInt(1, operationId);
|
||||||
stmt.setString(2, property);
|
stmt.setString(2, property);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
while (resultSet.next()) {
|
if (resultSet.next()) {
|
||||||
mobileOperationProperty = new MobileOperationProperty();
|
mobileOperationProperty = new MobileOperationProperty();
|
||||||
mobileOperationProperty.setOperationId(resultSet.getInt(1));
|
mobileOperationProperty.setOperationId(resultSet.getInt(1));
|
||||||
mobileOperationProperty.setProperty(resultSet.getString(2));
|
mobileOperationProperty.setProperty(resultSet.getString(2));
|
||||||
mobileOperationProperty.setValue(resultSet.getString(3));
|
mobileOperationProperty.setValue(resultSet.getString(3));
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String msg =
|
String msg =
|
||||||
@ -173,12 +174,13 @@ public class MobileOperationPropertyDAOImpl implements MobileOperationPropertyDA
|
|||||||
int operationId) throws MobileDeviceManagementDAOException {
|
int operationId) throws MobileDeviceManagementDAOException {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
MobileOperationProperty mobileOperationProperty = null;
|
MobileOperationProperty mobileOperationProperty;
|
||||||
List<MobileOperationProperty> properties = new ArrayList<MobileOperationProperty>();
|
List<MobileOperationProperty> properties = new ArrayList<MobileOperationProperty>();
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
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 = conn.prepareStatement(selectDBQuery);
|
||||||
stmt.setInt(1, operationId);
|
stmt.setInt(1, operationId);
|
||||||
ResultSet resultSet = stmt.executeQuery();
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
|
|||||||
@ -21,8 +21,6 @@ package org.wso2.carbon.device.mgt.mobile.dao.util;
|
|||||||
import org.apache.commons.logging.Log;
|
import org.apache.commons.logging.Log;
|
||||||
import org.apache.commons.logging.LogFactory;
|
import org.apache.commons.logging.LogFactory;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
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 org.wso2.carbon.device.mgt.mobile.util.MobileDeviceManagementSchemaInitializer;
|
||||||
|
|
||||||
import javax.naming.InitialContext;
|
import javax.naming.InitialContext;
|
||||||
@ -32,7 +30,6 @@ import java.sql.PreparedStatement;
|
|||||||
import java.sql.ResultSet;
|
import java.sql.ResultSet;
|
||||||
import java.sql.SQLException;
|
import java.sql.SQLException;
|
||||||
import java.util.Hashtable;
|
import java.util.Hashtable;
|
||||||
import java.util.List;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Utility method required by MobileDeviceManagement DAO classes.
|
* Utility method required by MobileDeviceManagement DAO classes.
|
||||||
@ -94,8 +91,8 @@ public class MobileDeviceManagementDAOUtil {
|
|||||||
try {
|
try {
|
||||||
initializer.createRegistryDatabase();
|
initializer.createRegistryDatabase();
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
throw new DeviceManagementException("Error occurred while initializing Mobile Device Management " +
|
throw new DeviceManagementException("Error occurred while initializing Mobile Device " +
|
||||||
"database schema", e);
|
"Management database schema", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -42,7 +42,7 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage
|
|||||||
OperationManagementException {
|
OperationManagementException {
|
||||||
boolean status = false;
|
boolean status = false;
|
||||||
try {
|
try {
|
||||||
MobileDeviceOperationMapping mobileDeviceOperationMapping = null;
|
MobileDeviceOperationMapping mobileDeviceOperationMapping;
|
||||||
MobileOperation mobileOperation =
|
MobileOperation mobileOperation =
|
||||||
MobileDeviceManagementUtil.convertToMobileOperation(operation);
|
MobileDeviceManagementUtil.convertToMobileOperation(operation);
|
||||||
int operationId = MobileDeviceManagementDAOFactory.getMobileOperationDAO()
|
int operationId = MobileDeviceManagementDAOFactory.getMobileOperationDAO()
|
||||||
@ -77,14 +77,15 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage
|
|||||||
public List<Operation> getOperations(DeviceIdentifier deviceIdentifier)
|
public List<Operation> getOperations(DeviceIdentifier deviceIdentifier)
|
||||||
throws OperationManagementException {
|
throws OperationManagementException {
|
||||||
List<Operation> operations = new ArrayList<Operation>();
|
List<Operation> operations = new ArrayList<Operation>();
|
||||||
List<MobileDeviceOperationMapping> mobileDeviceOperationMappings = null;
|
List<MobileDeviceOperationMapping> mobileDeviceOperationMappings;
|
||||||
List<MobileOperationProperty> operationProperties = null;
|
List<MobileOperationProperty> operationProperties;
|
||||||
MobileOperation mobileOperation = null;
|
MobileOperation mobileOperation;
|
||||||
try {
|
try {
|
||||||
mobileDeviceOperationMappings = MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO()
|
mobileDeviceOperationMappings =
|
||||||
.getAllMobileDeviceOperationMappingsOfDevice(
|
MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO()
|
||||||
deviceIdentifier
|
.getAllMobileDeviceOperationMappingsOfDevice(
|
||||||
.getId());
|
deviceIdentifier
|
||||||
|
.getId());
|
||||||
if (mobileDeviceOperationMappings.size() > 0) {
|
if (mobileDeviceOperationMappings.size() > 0) {
|
||||||
List<Integer> operationIds = MobileDeviceManagementUtil
|
List<Integer> operationIds = MobileDeviceManagementUtil
|
||||||
.getMobileOperationIdsFromMobileDeviceOperations(
|
.getMobileOperationIdsFromMobileDeviceOperations(
|
||||||
@ -116,15 +117,16 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage
|
|||||||
public List<Operation> getPendingOperations(DeviceIdentifier deviceIdentifier)
|
public List<Operation> getPendingOperations(DeviceIdentifier deviceIdentifier)
|
||||||
throws OperationManagementException {
|
throws OperationManagementException {
|
||||||
List<Operation> operations = new ArrayList<Operation>();
|
List<Operation> operations = new ArrayList<Operation>();
|
||||||
List<MobileDeviceOperationMapping> mobileDeviceOperationMappings = null;
|
List<MobileDeviceOperationMapping> mobileDeviceOperationMappings;
|
||||||
List<MobileOperationProperty> operationProperties = null;
|
List<MobileOperationProperty> operationProperties ;
|
||||||
MobileOperation mobileOperation = null;
|
MobileOperation mobileOperation;
|
||||||
try {
|
try {
|
||||||
//Get the list of pending operations for the given device
|
//Get the list of pending operations for the given device
|
||||||
mobileDeviceOperationMappings = MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO()
|
mobileDeviceOperationMappings =
|
||||||
.getAllPendingOperationMappingsOfMobileDevice(
|
MobileDeviceManagementDAOFactory.getMobileDeviceOperationDAO()
|
||||||
deviceIdentifier
|
.getAllPendingOperationMappingsOfMobileDevice(
|
||||||
.getId());
|
deviceIdentifier
|
||||||
|
.getId());
|
||||||
//Go through each operation mapping for retrieving the data corresponding to each operation
|
//Go through each operation mapping for retrieving the data corresponding to each operation
|
||||||
for (MobileDeviceOperationMapping operation : mobileDeviceOperationMappings) {
|
for (MobileDeviceOperationMapping operation : mobileDeviceOperationMappings) {
|
||||||
//Get the MobileOperation data
|
//Get the MobileOperation data
|
||||||
@ -158,19 +160,23 @@ public class AndroidMobileOperationManager extends AbstractMobileOperationManage
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Feature> getFeaturesForDeviceType(String deviceType) throws FeatureManagementException {
|
public List<Feature> getFeaturesForDeviceType(String deviceType)
|
||||||
|
throws FeatureManagementException {
|
||||||
MobileFeatureDAO featureDAO = MobileDeviceManagementDAOFactory.getFeatureDAO();
|
MobileFeatureDAO featureDAO = MobileDeviceManagementDAOFactory.getFeatureDAO();
|
||||||
MobileFeaturePropertyDAO featurePropertyDAO = MobileDeviceManagementDAOFactory.getFeaturePropertyDAO();
|
MobileFeaturePropertyDAO featurePropertyDAO =
|
||||||
|
MobileDeviceManagementDAOFactory.getFeaturePropertyDAO();
|
||||||
List<Feature> features = new ArrayList<Feature>();
|
List<Feature> features = new ArrayList<Feature>();
|
||||||
try {
|
try {
|
||||||
List<MobileFeature> mobileFeatures = featureDAO.getMobileFeatureByDeviceType(deviceType);
|
List<MobileFeature> mobileFeatures =
|
||||||
|
featureDAO.getMobileFeatureByDeviceType(deviceType);
|
||||||
for (MobileFeature mobileFeature : mobileFeatures) {
|
for (MobileFeature mobileFeature : mobileFeatures) {
|
||||||
Feature feature = new Feature();
|
Feature feature = new Feature();
|
||||||
feature.setId(mobileFeature.getId());
|
feature.setId(mobileFeature.getId());
|
||||||
feature.setDeviceType(mobileFeature.getDeviceType());
|
feature.setDeviceType(mobileFeature.getDeviceType());
|
||||||
feature.setName(mobileFeature.getName());
|
feature.setName(mobileFeature.getName());
|
||||||
feature.setDescription(mobileFeature.getDescription());
|
feature.setDescription(mobileFeature.getDescription());
|
||||||
List<Feature.MetadataEntry> metadataEntries = new ArrayList<Feature.MetadataEntry>();
|
List<Feature.MetadataEntry> metadataEntries =
|
||||||
|
new ArrayList<Feature.MetadataEntry>();
|
||||||
List<MobileFeatureProperty> properties =
|
List<MobileFeatureProperty> properties =
|
||||||
featurePropertyDAO.getFeaturePropertiesOfFeature(mobileFeature.getId());
|
featurePropertyDAO.getFeaturePropertiesOfFeature(mobileFeature.getId());
|
||||||
for (MobileFeatureProperty property : properties) {
|
for (MobileFeatureProperty property : properties) {
|
||||||
|
|||||||
@ -40,129 +40,136 @@ import org.wso2.carbon.device.mgt.mobile.impl.windows.WindowsDeviceManagerServic
|
|||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* BundleActivator of MobileDeviceManagement component.
|
||||||
|
*/
|
||||||
public class MobileDeviceManagementBundleActivator implements BundleActivator, BundleListener {
|
public class MobileDeviceManagementBundleActivator implements BundleActivator, BundleListener {
|
||||||
|
|
||||||
private ServiceRegistration androidServiceRegRef;
|
private ServiceRegistration androidServiceRegRef;
|
||||||
private ServiceRegistration iOSServiceRegRef;
|
private ServiceRegistration iOSServiceRegRef;
|
||||||
private ServiceRegistration windowsServiceRegRef;
|
private ServiceRegistration windowsServiceRegRef;
|
||||||
|
|
||||||
private static List<DataSourceListener> dataSourceListeners = new ArrayList<DataSourceListener>();
|
private static List<DataSourceListener> dataSourceListeners =
|
||||||
|
new ArrayList<DataSourceListener>();
|
||||||
|
|
||||||
private static final String SYMBOLIC_NAME_DATA_SOURCE_COMPONENT = "org.wso2.carbon.ndatasource.core";
|
private static final String SYMBOLIC_NAME_DATA_SOURCE_COMPONENT =
|
||||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementBundleActivator.class);
|
"org.wso2.carbon.ndatasource.core";
|
||||||
|
private static final Log log = LogFactory.getLog(MobileDeviceManagementBundleActivator.class);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void start(BundleContext bundleContext) throws Exception {
|
public void start(BundleContext bundleContext) throws Exception {
|
||||||
try {
|
try {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Activating Mobile Device Management Service bundle");
|
log.debug("Activating Mobile Device Management Service bundle");
|
||||||
}
|
}
|
||||||
bundleContext.addBundleListener(this);
|
bundleContext.addBundleListener(this);
|
||||||
|
|
||||||
/* Initialize the datasource configuration */
|
/* Initialize the datasource configuration */
|
||||||
MobileDeviceConfigurationManager.getInstance().initConfig();
|
MobileDeviceConfigurationManager.getInstance().initConfig();
|
||||||
MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance()
|
MobileDeviceManagementConfig config = MobileDeviceConfigurationManager.getInstance()
|
||||||
.getMobileDeviceManagementConfig();
|
.getMobileDeviceManagementConfig();
|
||||||
MobileDataSourceConfig dsConfig =
|
MobileDataSourceConfig dsConfig =
|
||||||
config.getMobileDeviceMgtRepository().getMobileDataSourceConfig();
|
config.getMobileDeviceMgtRepository().getMobileDataSourceConfig();
|
||||||
|
|
||||||
MobileDeviceManagementDAOFactory.setMobileDataSourceConfig(dsConfig);
|
MobileDeviceManagementDAOFactory.setMobileDataSourceConfig(dsConfig);
|
||||||
|
|
||||||
androidServiceRegRef =
|
androidServiceRegRef =
|
||||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||||
new AndroidDeviceManagerService(), null);
|
new AndroidDeviceManagerService(), null);
|
||||||
iOSServiceRegRef =
|
iOSServiceRegRef =
|
||||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||||
new IOSDeviceManagerService(), null);
|
new IOSDeviceManagerService(), null);
|
||||||
windowsServiceRegRef =
|
windowsServiceRegRef =
|
||||||
bundleContext.registerService(DeviceManagerService.class.getName(),
|
bundleContext.registerService(DeviceManagerService.class.getName(),
|
||||||
new WindowsDeviceManagerService(), null);
|
new WindowsDeviceManagerService(), null);
|
||||||
|
|
||||||
/* Initialize all API configurations with corresponding API Providers */
|
/* Initialize all API configurations with corresponding API Providers */
|
||||||
this.initAPIConfigs();
|
this.initAPIConfigs();
|
||||||
/* Publish all mobile device management related JAX-RS services as APIs */
|
/* Publish all mobile device management related JAX-RS services as APIs */
|
||||||
this.publishAPIs();
|
this.publishAPIs();
|
||||||
|
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Mobile Device Management Service bundle is activated");
|
log.debug("Mobile Device Management Service bundle is activated");
|
||||||
}
|
}
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
log.error("Error occurred while activating Mobile Device Management bundle", e);
|
log.error("Error occurred while activating Mobile Device Management bundle", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void stop(BundleContext bundleContext) throws Exception {
|
public void stop(BundleContext bundleContext) throws Exception {
|
||||||
if (log.isDebugEnabled()) {
|
if (log.isDebugEnabled()) {
|
||||||
log.debug("Deactivating Mobile Device Management Service");
|
log.debug("Deactivating Mobile Device Management Service");
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
androidServiceRegRef.unregister();
|
androidServiceRegRef.unregister();
|
||||||
iOSServiceRegRef.unregister();
|
iOSServiceRegRef.unregister();
|
||||||
windowsServiceRegRef.unregister();
|
windowsServiceRegRef.unregister();
|
||||||
|
|
||||||
bundleContext.removeBundleListener(this);
|
bundleContext.removeBundleListener(this);
|
||||||
|
|
||||||
/* Removing all APIs published upon start-up for mobile device management related JAX-RS
|
/* Removing all APIs published upon start-up for mobile device management related JAX-RS
|
||||||
services */
|
services */
|
||||||
this.removeAPIs();
|
this.removeAPIs();
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
log.error("Error occurred while de-activating Mobile Device Management bundle", e);
|
log.error("Error occurred while de-activating Mobile Device Management bundle", e);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void bundleChanged(BundleEvent bundleEvent) {
|
public void bundleChanged(BundleEvent bundleEvent) {
|
||||||
int eventType = bundleEvent.getType();
|
int eventType = bundleEvent.getType();
|
||||||
String bundleSymbolicName = bundleEvent.getBundle().getSymbolicName();
|
String bundleSymbolicName = bundleEvent.getBundle().getSymbolicName();
|
||||||
|
|
||||||
if (SYMBOLIC_NAME_DATA_SOURCE_COMPONENT.equals(bundleSymbolicName) &&
|
if (SYMBOLIC_NAME_DATA_SOURCE_COMPONENT.equals(bundleSymbolicName) &&
|
||||||
eventType == BundleEvent.STARTED) {
|
eventType == BundleEvent.STARTED) {
|
||||||
for (DataSourceListener listener : this.getDataSourceListeners()) {
|
for (DataSourceListener listener : this.getDataSourceListeners()) {
|
||||||
listener.notifyObserver();
|
listener.notifyObserver();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void registerDataSourceListener(DataSourceListener listener) {
|
public static void registerDataSourceListener(DataSourceListener listener) {
|
||||||
dataSourceListeners.add(listener);
|
dataSourceListeners.add(listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<DataSourceListener> getDataSourceListeners() {
|
private List<DataSourceListener> getDataSourceListeners() {
|
||||||
return dataSourceListeners;
|
return dataSourceListeners;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void initAPIConfigs() throws DeviceManagementException {
|
private void initAPIConfigs() throws DeviceManagementException {
|
||||||
List<APIConfig> apiConfigs =
|
List<APIConfig> apiConfigs =
|
||||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||||
getApiPublisherConfig().getAPIs();
|
getApiPublisherConfig().getAPIs();
|
||||||
for (APIConfig apiConfig : apiConfigs) {
|
for (APIConfig apiConfig : apiConfigs) {
|
||||||
try {
|
try {
|
||||||
APIProvider provider = APIManagerFactory.getInstance().getAPIProvider(apiConfig.getOwner());
|
APIProvider provider =
|
||||||
apiConfig.init(provider);
|
APIManagerFactory.getInstance().getAPIProvider(apiConfig.getOwner());
|
||||||
} catch (APIManagementException e) {
|
apiConfig.init(provider);
|
||||||
throw new DeviceManagementException("Error occurred while initializing API Config '" +
|
} catch (APIManagementException e) {
|
||||||
apiConfig.getName() + "'", e);
|
throw new DeviceManagementException(
|
||||||
}
|
"Error occurred while initializing API Config '" +
|
||||||
}
|
apiConfig.getName() + "'", e);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void publishAPIs() throws DeviceManagementException {
|
private void publishAPIs() throws DeviceManagementException {
|
||||||
List<APIConfig> apiConfigs =
|
List<APIConfig> apiConfigs =
|
||||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||||
getApiPublisherConfig().getAPIs();
|
getApiPublisherConfig().getAPIs();
|
||||||
for (APIConfig apiConfig : apiConfigs) {
|
for (APIConfig apiConfig : apiConfigs) {
|
||||||
DeviceManagementAPIPublisherUtil.publishAPI(apiConfig);
|
DeviceManagementAPIPublisherUtil.publishAPI(apiConfig);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void removeAPIs() throws DeviceManagementException {
|
private void removeAPIs() throws DeviceManagementException {
|
||||||
List<APIConfig> apiConfigs =
|
List<APIConfig> apiConfigs =
|
||||||
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
MobileDeviceConfigurationManager.getInstance().getMobileDeviceManagementConfig().
|
||||||
getApiPublisherConfig().getAPIs();
|
getApiPublisherConfig().getAPIs();
|
||||||
for (APIConfig apiConfig : apiConfigs) {
|
for (APIConfig apiConfig : apiConfigs) {
|
||||||
DeviceManagementAPIPublisherUtil.removeAPI(apiConfig);
|
DeviceManagementAPIPublisherUtil.removeAPI(apiConfig);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -23,11 +23,7 @@ import org.apache.commons.logging.LogFactory;
|
|||||||
import org.osgi.framework.BundleContext;
|
import org.osgi.framework.BundleContext;
|
||||||
import org.osgi.framework.ServiceRegistration;
|
import org.osgi.framework.ServiceRegistration;
|
||||||
import org.osgi.service.component.ComponentContext;
|
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.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.core.ServerStartupObserver;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService;
|
import org.wso2.carbon.device.mgt.common.spi.DeviceManagerService;
|
||||||
|
|||||||
@ -26,6 +26,11 @@ import org.wso2.carbon.utils.dbcreator.DatabaseCreator;
|
|||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Provides methods for initializing the database script.
|
||||||
|
*
|
||||||
|
*/
|
||||||
public final class MobileDeviceManagementSchemaInitializer extends DatabaseCreator {
|
public final class MobileDeviceManagementSchemaInitializer extends DatabaseCreator {
|
||||||
|
|
||||||
private static final Log log = LogFactory.getLog(MobileDeviceManagementSchemaInitializer.class);
|
private static final Log log = LogFactory.getLog(MobileDeviceManagementSchemaInitializer.class);
|
||||||
|
|||||||
@ -71,14 +71,13 @@ public class MobileDeviceManagementUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private static Device.Property getProperty(String property, String value) {
|
private static Device.Property getProperty(String property, String value) {
|
||||||
Device.Property prop = null;
|
|
||||||
if (property != null) {
|
if (property != null) {
|
||||||
prop = new Device.Property();
|
Device.Property prop = new Device.Property();
|
||||||
prop.setName(property);
|
prop.setName(property);
|
||||||
prop.setValue(value);
|
prop.setValue(value);
|
||||||
return prop;
|
return prop;
|
||||||
}
|
}
|
||||||
return prop;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static MobileDevice convertToMobileDevice(Device device) {
|
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) {
|
public static MobileOperation convertToMobileOperation(org.wso2.carbon.device.mgt.common.Operation operation) {
|
||||||
MobileOperation mobileOperation = new MobileOperation();
|
MobileOperation mobileOperation = new MobileOperation();
|
||||||
MobileOperationProperty operationProperty = null;
|
MobileOperationProperty operationProperty;
|
||||||
List<MobileOperationProperty> properties = new LinkedList<MobileOperationProperty>();
|
List<MobileOperationProperty> properties = new LinkedList<MobileOperationProperty>();
|
||||||
mobileOperation.setFeatureCode(operation.getCode());
|
mobileOperation.setFeatureCode(operation.getCode());
|
||||||
mobileOperation.setCreatedDate(new Date().getTime());
|
mobileOperation.setCreatedDate(new Date().getTime());
|
||||||
|
|||||||
@ -36,9 +36,7 @@ import org.wso2.carbon.device.mgt.mobile.impl.dao.util.MobileDatabaseUtils;
|
|||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
|
||||||
* Class for holding unit-tests related to MobileOperationDAO class.
|
* Class for holding unit-tests related to MobileOperationDAO class.
|
||||||
*
|
|
||||||
*/
|
*/
|
||||||
public class MobileOperationDAOTestSuite {
|
public class MobileOperationDAOTestSuite {
|
||||||
|
|
||||||
@ -101,7 +99,7 @@ public class MobileOperationDAOTestSuite {
|
|||||||
} finally {
|
} finally {
|
||||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
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(),
|
Assert.assertEquals(TEST_MBL_OPR_FEATURE_CODE, testMblOperation.getFeatureCode(),
|
||||||
"MobileOperation feature code has persisted ");
|
"MobileOperation feature code has persisted ");
|
||||||
Assert.assertEquals(TEST_MBL_OPR_CREATED_DATE, testMblOperation.getCreatedDate(),
|
Assert.assertEquals(TEST_MBL_OPR_CREATED_DATE, testMblOperation.getCreatedDate(),
|
||||||
@ -119,7 +117,7 @@ public class MobileOperationDAOTestSuite {
|
|||||||
"MobileOperation feature-code has retrieved ");
|
"MobileOperation feature-code has retrieved ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = { "addMobileOperationTest" , "getMobileOperationTest"})
|
@Test(dependsOnMethods = { "addMobileOperationTest", "getMobileOperationTest" })
|
||||||
public void updateMobileOperationTest()
|
public void updateMobileOperationTest()
|
||||||
throws MobileDeviceManagementDAOException {
|
throws MobileDeviceManagementDAOException {
|
||||||
|
|
||||||
@ -151,14 +149,14 @@ public class MobileOperationDAOTestSuite {
|
|||||||
} finally {
|
} finally {
|
||||||
MobileDatabaseUtils.cleanupResources(conn, preparedStatement, null);
|
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(),
|
Assert.assertEquals(TEST_MBL_OPR_UPDATED_FEATURE_CODE, testMblOperation.getFeatureCode(),
|
||||||
"MobileOperation feature code has updated ");
|
"MobileOperation feature code has updated ");
|
||||||
Assert.assertEquals(updatedDate, testMblOperation.getCreatedDate(),
|
Assert.assertEquals(updatedDate, testMblOperation.getCreatedDate(),
|
||||||
"MobileOperation created-date has updated ");
|
"MobileOperation created-date has updated ");
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test(dependsOnMethods = { "addMobileOperationTest" , "getMobileOperationTest",
|
@Test(dependsOnMethods = { "addMobileOperationTest", "getMobileOperationTest",
|
||||||
"updateMobileOperationTest" })
|
"updateMobileOperationTest" })
|
||||||
public void deleteMobileDeviceTest()
|
public void deleteMobileDeviceTest()
|
||||||
throws MobileDeviceManagementDAOException {
|
throws MobileDeviceManagementDAOException {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user