mirror of
https://repository.entgra.net/community/device-mgt-plugins.git
synced 2025-09-16 23:42:15 +00:00
OperationDAO, FeaturePropertyDAO, OperationProperty and related implementaions
This commit is contained in:
parent
1c2ede6be5
commit
f2c6eab6a3
@ -0,0 +1,63 @@
|
|||||||
|
package org.wso2.carbon.device.mgt.mobile.dao;
|
||||||
|
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dto.DeviceOperation;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class represents the mapping between device and operations.
|
||||||
|
*/
|
||||||
|
public interface DeviceOperationDAO {
|
||||||
|
/**
|
||||||
|
* Add a new mapping to plugin device_operation table.
|
||||||
|
*
|
||||||
|
* @param deviceOperation DeviceOperation object that holds data related to the DeviceOperation
|
||||||
|
* to be inserted.
|
||||||
|
* @return The status of the operation. If the insert was successful or not.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
boolean addDeviceOperation(DeviceOperation deviceOperation)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update a feature in the feature table.
|
||||||
|
*
|
||||||
|
* @param deviceOperation DeviceOperation object that holds data has to be updated.
|
||||||
|
* @return The status of the operation. If the update was successful or not.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
boolean updateDeviceOperation(DeviceOperation deviceOperation)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete a given device operation from device operation 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 deletion was successful or not.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
boolean deleteDeviceOperation(String deviceId, int operationId)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve a given device operation from plugin database.
|
||||||
|
*
|
||||||
|
* @param deviceId Device id of the mapping to be retrieved.
|
||||||
|
* @param operationId Operation id of the mapping to be retrieved.
|
||||||
|
* @return DeviceOperation object that holds data of the device operation mapping represented by
|
||||||
|
* deviceId and operationId.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
DeviceOperation getDeviceOperation(String deviceId, int operationId)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve all the device operation mapping from plugin database.
|
||||||
|
*
|
||||||
|
* @return Device operation mapping object list.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
List<DeviceOperation> getAllDeviceOperationOfDevice(String deviceId)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
}
|
||||||
@ -11,7 +11,8 @@ import java.util.List;
|
|||||||
public interface FeatureDAO {
|
public interface FeatureDAO {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add a new feature to plugin feature table.
|
* Add a new feature to feature table.
|
||||||
|
*
|
||||||
* @param feature Feature object that holds data related to the feature to be inserted.
|
* @param feature 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 status of the operation. If the insert was successful or not.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
@ -20,6 +21,7 @@ public interface FeatureDAO {
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a feature in the feature table.
|
* Update a feature in the feature table.
|
||||||
|
*
|
||||||
* @param feature Feature object that holds data has to be updated.
|
* @param feature Feature object that holds data has to be updated.
|
||||||
* @return The status of the operation. If the update was successful or not.
|
* @return The status of the operation. If the update was successful or not.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
@ -27,23 +29,44 @@ public interface FeatureDAO {
|
|||||||
boolean updateFeature(Feature feature) throws MobileDeviceManagementDAOException;
|
boolean updateFeature(Feature feature) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a given feature from plugin database.
|
* Delete a feature from feature table when the feature id is given.
|
||||||
* @param featureCode Feature code of the feature to be deleted.
|
*
|
||||||
* @return The status of the operation. If the delete was successful or not.
|
* @param featureId Feature id of the feature to be deleted.
|
||||||
|
* @return The status of the operation. If the operationId was successful or not.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
boolean deleteFeature(String featureCode) throws MobileDeviceManagementDAOException;
|
boolean deleteFeatureById(String featureId) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve a given feature from plugin database.
|
* Delete a feature from 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.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
boolean deleteFeatureByCode(String featureCode) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve a given feature from 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.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
Feature getFeatureById(String featureId) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve a given feature from feature table when the feature code is given.
|
||||||
|
*
|
||||||
* @param featureCode Feature code of the feature to be retrieved.
|
* @param featureCode Feature code of the feature to be retrieved.
|
||||||
* @return Feature object that holds data of the feature represented by featureCode.
|
* @return Feature object that holds data of the feature represented by featureCode.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
Feature getFeature(String featureCode) throws MobileDeviceManagementDAOException;
|
Feature getFeatureByCode(String featureCode) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve all the features from plugin database.
|
* Retrieve all the features from plugin specific database.
|
||||||
|
*
|
||||||
* @return Feature object list.
|
* @return Feature object list.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
|
|||||||
@ -2,49 +2,59 @@ package org.wso2.carbon.device.mgt.mobile.dao;
|
|||||||
|
|
||||||
import org.wso2.carbon.device.mgt.mobile.dto.FeatureProperty;
|
import org.wso2.carbon.device.mgt.mobile.dto.FeatureProperty;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class represents the key operations associated with persisting feature property related
|
* This class represents the key operations associated with persisting feature property related
|
||||||
* information.
|
* information.
|
||||||
*/
|
*/
|
||||||
public interface FeaturePropertyDAO {
|
public interface FeaturePropertyDAO {
|
||||||
/**
|
/**
|
||||||
* Add a new feature property to plugin feature property table.
|
* Add a new feature property to feature property table.
|
||||||
|
*
|
||||||
* @param featureProperty Feature property object that holds data related to the feature property to be inserted.
|
* @param featureProperty 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
|
||||||
*/
|
*/
|
||||||
boolean addFeatureProperty(FeatureProperty featureProperty) throws MobileDeviceManagementDAOException;
|
boolean addFeatureProperty(FeatureProperty featureProperty)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update a feature property in the feature property table.
|
* Update a feature property in the feature property table.
|
||||||
|
*
|
||||||
* @param featureProperty Feature property object that holds data has to be updated.
|
* @param featureProperty Feature property object that holds data has to be updated.
|
||||||
* @return The status of the operation. If the update was successful or not.
|
* @return The status of the operation. If the update was successful or not.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
boolean updateFeatureProperty(FeatureProperty featureProperty) throws MobileDeviceManagementDAOException;
|
boolean updateFeatureProperty(FeatureProperty featureProperty)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete a given feature property from plugin database.
|
* Delete a given feature property from feature property table.
|
||||||
|
*
|
||||||
* @param propertyId Id of the feature property to be deleted.
|
* @param propertyId Id of the feature property to be deleted.
|
||||||
* @return The status of the operation. If the delete was successful or not.
|
* @return The status of the operation. If the operationId was successful or not.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
boolean deleteDeviceProperty(String propertyId) throws MobileDeviceManagementDAOException;
|
boolean deleteFeatureProperty(int propertyId) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve a given feature property from plugin database.
|
* Retrieve a given feature property from feature property table.
|
||||||
|
*
|
||||||
* @param propertyId Id of the feature property to be retrieved.
|
* @param propertyId Id of the feature property to be retrieved.
|
||||||
* @return Feature property object that holds data of the feature property represented by propertyId.
|
* @return Feature property object that holds data of the feature property represented by propertyId.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
FeatureProperty getFeatureProperty(String propertyId) throws MobileDeviceManagementDAOException;
|
FeatureProperty getFeatureProperty(int propertyId) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Retrieve a list of feature property corresponds to a feature code .
|
* Retrieve a list of feature property corresponds to a feature id .
|
||||||
* @param featureCode feature code of the feature property to be retrieved.
|
*
|
||||||
|
* @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.
|
* @return Feature property object that holds data of the feature property represented by propertyId.
|
||||||
* @throws MobileDeviceManagementDAOException
|
* @throws MobileDeviceManagementDAOException
|
||||||
*/
|
*/
|
||||||
FeatureProperty[] getFeaturePropertyOfFeature(String featureCode) throws MobileDeviceManagementDAOException;
|
List<FeatureProperty> getFeaturePropertyOfFeature(String featureId)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,45 @@
|
|||||||
|
package org.wso2.carbon.device.mgt.mobile.dao;
|
||||||
|
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dto.Operation;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class represents the key operations associated with persisting operation related
|
||||||
|
* information.
|
||||||
|
*/
|
||||||
|
public interface OperationDAO {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add a new operation to plugin operation table.
|
||||||
|
* @param operation Operation object that holds data related to the operation to be inserted.
|
||||||
|
* @return The status of the operation. If the insert was successful or not.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
boolean addOperation(Operation operation) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update a 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.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
boolean updateOperation(Operation operation) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete a given 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.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
boolean deleteOperation(int operationId) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve a given 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.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
Operation getOperation(int operationId) throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,61 @@
|
|||||||
|
package org.wso2.carbon.device.mgt.mobile.dao;
|
||||||
|
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dto.OperationProperty;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class represents the key operations associated with persisting operation property related
|
||||||
|
* information.
|
||||||
|
*/
|
||||||
|
public interface OperationPropertyDAO {
|
||||||
|
/**
|
||||||
|
* Add a new mapping to plugin operation property 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.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
boolean addOperationProperty(OperationProperty operationProperty)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Update a feature in the feature 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.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
boolean updateOperationProperty(OperationProperty operationProperty)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Delete a given device operation from plugin database.
|
||||||
|
*
|
||||||
|
* @param operationPropertyId Device id of the mapping to be deleted.
|
||||||
|
* @return The status of the operation. If the deletion was successful or not.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
boolean deleteOperationProperty(int operationPropertyId)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve a given device operation from plugin database.
|
||||||
|
*
|
||||||
|
* @param deviceId Device id of the mapping to be retrieved.
|
||||||
|
* @param operationId Operation id of the mapping to be retrieved.
|
||||||
|
* @return DeviceOperation object that holds data of the device operation mapping represented by deviceId and operationId.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
OperationProperty getOperationProperty(String deviceId, int operationId)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Retrieve all the device operation mapping from plugin database.
|
||||||
|
*
|
||||||
|
* @return Device operation mapping object list.
|
||||||
|
* @throws MobileDeviceManagementDAOException
|
||||||
|
*/
|
||||||
|
List<OperationProperty> getAllDeviceOperationOfDevice(String deviceId)
|
||||||
|
throws MobileDeviceManagementDAOException;
|
||||||
|
}
|
||||||
@ -0,0 +1,196 @@
|
|||||||
|
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.DeviceOperationDAO;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dto.DeviceOperation;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of DeviceOperationDAO
|
||||||
|
*/
|
||||||
|
public class DeviceOperationDAOImpl implements DeviceOperationDAO {
|
||||||
|
|
||||||
|
private DataSource dataSource;
|
||||||
|
private static final Log log = LogFactory.getLog(DeviceOperationDAOImpl.class);
|
||||||
|
|
||||||
|
public DeviceOperationDAOImpl(DataSource dataSource) {
|
||||||
|
this.dataSource = dataSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean addDeviceOperation(DeviceOperation deviceOperation)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String createDBQuery =
|
||||||
|
"INSERT INTO MBL_DEVICE_OPERATION(DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE) VALUES (?, ?, ?, ?)";
|
||||||
|
|
||||||
|
stmt = conn.prepareStatement(createDBQuery);
|
||||||
|
stmt.setString(1, deviceOperation.getDeviceId());
|
||||||
|
stmt.setInt(2, deviceOperation.getOperationId());
|
||||||
|
stmt.setInt(3, deviceOperation.getSentDate());
|
||||||
|
stmt.setInt(4, deviceOperation.getReceivedDate());
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if (rows > 0) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while adding device id - '" +
|
||||||
|
deviceOperation.getDeviceId() + " and operation id - " + deviceOperation.getOperationId() + "of mapping table MBL_DEVICE_OPERATION";;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateDeviceOperation(DeviceOperation deviceOperation)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String updateDBQuery =
|
||||||
|
"UPDATE MBL_DEVICE_OPERATION SET SENT_DATE = ?, RECEIVED_DATE = ? WHERE DEVICE_ID = ? and OPERATION_ID=?";
|
||||||
|
stmt = conn.prepareStatement(updateDBQuery);
|
||||||
|
stmt.setInt(1, deviceOperation.getSentDate());
|
||||||
|
stmt.setInt(2, deviceOperation.getReceivedDate());
|
||||||
|
stmt.setString(3, deviceOperation.getDeviceId());
|
||||||
|
stmt.setInt(4, deviceOperation.getOperationId());
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if (rows > 0) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while updating device id - '" +
|
||||||
|
deviceOperation.getDeviceId() + " and operation id - " + deviceOperation.getOperationId() + "of mapping table MBL_DEVICE_OPERATION";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteDeviceOperation(String deviceId, int operationId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String deleteDBQuery =
|
||||||
|
"DELETE FROM MBL_DEVICE_OPERATION WHERE DEVICE_ID = ? and OPERATION_ID=?";
|
||||||
|
stmt = conn.prepareStatement(deleteDBQuery);
|
||||||
|
stmt.setString(1, deviceId);
|
||||||
|
stmt.setInt(2, operationId);
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if(rows>0){
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while deleting mapping table MBL_DEVICE_OPERATION with device id - '" +
|
||||||
|
deviceId + " and operation id - " + operationId;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public DeviceOperation getDeviceOperation(String deviceId, int operationId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
DeviceOperation deviceOperation = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String selectDBQuery =
|
||||||
|
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE FROM MBL_DEVICE_OPERATION 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()) {
|
||||||
|
deviceOperation = new DeviceOperation();
|
||||||
|
deviceOperation.setDeviceId(resultSet.getString(1));
|
||||||
|
deviceOperation.setOperationId(resultSet.getInt(2));
|
||||||
|
deviceOperation.setSentDate(resultSet.getInt(3));
|
||||||
|
deviceOperation.setReceivedDate(resultSet.getInt(4));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while fetching mapping table MBL_DEVICE_OPERATION entry with device id - '" +
|
||||||
|
deviceId + " and operation id - " + operationId;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return deviceOperation;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<DeviceOperation> getAllDeviceOperationOfDevice(String deviceId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
DeviceOperation deviceOperation = null;
|
||||||
|
List<DeviceOperation> deviceOperations=new ArrayList<DeviceOperation>();
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String selectDBQuery =
|
||||||
|
"SELECT DEVICE_ID, OPERATION_ID, SENT_DATE, RECEIVED_DATE FROM MBL_DEVICE_OPERATION WHERE DEVICE_ID = ?";
|
||||||
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
|
stmt.setString(1, deviceId);
|
||||||
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
|
while (resultSet.next()) {
|
||||||
|
deviceOperation = new DeviceOperation();
|
||||||
|
deviceOperation.setDeviceId(resultSet.getString(1));
|
||||||
|
deviceOperation.setOperationId(resultSet.getInt(2));
|
||||||
|
deviceOperation.setSentDate(resultSet.getInt(3));
|
||||||
|
deviceOperation.setReceivedDate(resultSet.getInt(4));
|
||||||
|
deviceOperations.add(deviceOperation);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while fetching mapping table MBL_DEVICE_OPERATION entry with device id - '" +
|
||||||
|
deviceId;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return deviceOperations;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Connection getConnection() throws MobileDeviceManagementDAOException {
|
||||||
|
try {
|
||||||
|
return dataSource.getConnection();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while obtaining a connection from the mobile device " +
|
||||||
|
"management metadata repository datasource.";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -35,7 +35,7 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String createDBQuery =
|
String createDBQuery =
|
||||||
"INSERT INTO MBL_FEATURES(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)";
|
"INSERT INTO MBL_FEATURE(CODE, NAME, DESCRIPTION) VALUES (?, ?, ?)";
|
||||||
|
|
||||||
stmt = conn.prepareStatement(createDBQuery);
|
stmt = conn.prepareStatement(createDBQuery);
|
||||||
stmt.setString(1, feature.getCode());
|
stmt.setString(1, feature.getCode());
|
||||||
@ -47,7 +47,7 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String msg = "Error occurred while adding feature code - '" +
|
String msg = "Error occurred while adding feature code - '" +
|
||||||
feature.getCode() + "'";
|
feature.getCode() + "' to feature table";
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
throw new MobileDeviceManagementDAOException(msg, e);
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
} finally {
|
} finally {
|
||||||
@ -65,7 +65,7 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String updateDBQuery =
|
String updateDBQuery =
|
||||||
"UPDATE MBL_FEATURES SET CODE = ?, NAME = ?, DESCRIPTION = ? WHERE FEATURE_ID = ?";
|
"UPDATE MBL_FEATURE SET CODE = ?, NAME = ?, DESCRIPTION = ? WHERE FEATURE_ID = ?";
|
||||||
stmt = conn.prepareStatement(updateDBQuery);
|
stmt = conn.prepareStatement(updateDBQuery);
|
||||||
stmt.setString(1, feature.getCode());
|
stmt.setString(1, feature.getCode());
|
||||||
stmt.setString(2, feature.getName());
|
stmt.setString(2, feature.getName());
|
||||||
@ -87,7 +87,7 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean deleteFeature(String featureCode)
|
public boolean deleteFeatureByCode(String featureCode)
|
||||||
throws MobileDeviceManagementDAOException {
|
throws MobileDeviceManagementDAOException {
|
||||||
boolean status = false;
|
boolean status = false;
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
@ -95,11 +95,11 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String deleteDBQuery =
|
String deleteDBQuery =
|
||||||
"DELETE FROM MBL_FEATURES WHERE FEATURE_ID = ?";
|
"DELETE FROM MBL_FEATURE WHERE CODE = ?";
|
||||||
stmt = conn.prepareStatement(deleteDBQuery);
|
stmt = conn.prepareStatement(deleteDBQuery);
|
||||||
stmt.setString(1, featureCode);
|
stmt.setString(1, featureCode);
|
||||||
int rows = stmt.executeUpdate();
|
int rows = stmt.executeUpdate();
|
||||||
if(rows>0){
|
if (rows > 0) {
|
||||||
status = true;
|
status = true;
|
||||||
}
|
}
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
@ -113,7 +113,33 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Feature getFeature(String featureCode)
|
public boolean deleteFeatureById(String featureId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String deleteDBQuery =
|
||||||
|
"DELETE FROM MBL_FEATURE WHERE FEATURE_ID = ?";
|
||||||
|
stmt = conn.prepareStatement(deleteDBQuery);
|
||||||
|
stmt.setString(1, featureId);
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if (rows > 0) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while deleting feature with id - " + featureId;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Feature getFeatureByCode(String featureCode)
|
||||||
throws MobileDeviceManagementDAOException {
|
throws MobileDeviceManagementDAOException {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
@ -121,7 +147,7 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
String selectDBQuery =
|
||||||
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE FEATURE_ID = ?";
|
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION 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();
|
||||||
@ -144,12 +170,44 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
return feature;
|
return feature;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Feature getFeatureById(String featureID)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
Feature feature = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String selectDBQuery =
|
||||||
|
"SELECT FEATURE_ID, CODE, NAME, DESCRIPTION FROM MBL_FEATURE WHERE FEATURE_ID = ?";
|
||||||
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
|
stmt.setString(1, featureID);
|
||||||
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
|
while (resultSet.next()) {
|
||||||
|
feature = new Feature();
|
||||||
|
feature.setId(resultSet.getInt(1));
|
||||||
|
feature.setCode(resultSet.getString(2));
|
||||||
|
feature.setName(resultSet.getString(3));
|
||||||
|
feature.setDescription(resultSet.getString(4));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while fetching feature id - '" +
|
||||||
|
featureID + "'";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return feature;
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<Feature> getAllFeatures() throws MobileDeviceManagementDAOException {
|
public List<Feature> getAllFeatures() throws MobileDeviceManagementDAOException {
|
||||||
Connection conn = null;
|
Connection conn = null;
|
||||||
PreparedStatement stmt = null;
|
PreparedStatement stmt = null;
|
||||||
Feature feature;
|
Feature feature;
|
||||||
List<Feature> features=new ArrayList<Feature>();
|
List<Feature> features = new ArrayList<Feature>();
|
||||||
try {
|
try {
|
||||||
conn = this.getConnection();
|
conn = this.getConnection();
|
||||||
String selectDBQuery =
|
String selectDBQuery =
|
||||||
@ -178,8 +236,8 @@ public class FeatureDAOImpl implements FeatureDAO {
|
|||||||
try {
|
try {
|
||||||
return dataSource.getConnection();
|
return dataSource.getConnection();
|
||||||
} catch (SQLException e) {
|
} catch (SQLException e) {
|
||||||
String msg = "Error occurred while obtaining a connection from the mobile device " +
|
String msg = "Error occurred while obtaining a connection from the mobile specific " +
|
||||||
"management metadata repository datasource.";
|
"datasource.";
|
||||||
log.error(msg, e);
|
log.error(msg, e);
|
||||||
throw new MobileDeviceManagementDAOException(msg, e);
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -0,0 +1,186 @@
|
|||||||
|
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.FeaturePropertyDAO;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dto.FeatureProperty;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of FeaturePropertyDAO
|
||||||
|
*/
|
||||||
|
public class FeaturePropertyDAOImpl implements FeaturePropertyDAO {
|
||||||
|
|
||||||
|
private DataSource dataSource;
|
||||||
|
private static final Log log = LogFactory.getLog(FeaturePropertyDAOImpl.class);
|
||||||
|
|
||||||
|
public FeaturePropertyDAOImpl(DataSource dataSource) {
|
||||||
|
this.dataSource = dataSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean addFeatureProperty(FeatureProperty featureProperty)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String createDBQuery =
|
||||||
|
"INSERT INTO MBL_FEATURE_PROPERTY(PROPERTY, FEATURE_ID) VALUES (?, ?)";
|
||||||
|
|
||||||
|
stmt = conn.prepareStatement(createDBQuery);
|
||||||
|
stmt.setString(1, featureProperty.getProperty());
|
||||||
|
stmt.setString(2, featureProperty.getFeatureID());
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if (rows > 0) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while adding property id - '" +
|
||||||
|
featureProperty.getFeatureID() + "'";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateFeatureProperty(FeatureProperty featureProperty)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String updateDBQuery =
|
||||||
|
"UPDATE MBL_FEATURE_PROPERTY SET PROPERTY = ?, FEATURE_ID = ? WHERE PROPERTY_ID = ?";
|
||||||
|
stmt = conn.prepareStatement(updateDBQuery);
|
||||||
|
stmt.setString(1, featureProperty.getProperty());
|
||||||
|
stmt.setString(2, featureProperty.getFeatureID());
|
||||||
|
stmt.setInt(3, featureProperty.getPropertyId());
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if (rows > 0) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while updating the feature property with property id - '" +
|
||||||
|
featureProperty.getPropertyId() + "'";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteFeatureProperty(int propertyId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String deleteDBQuery =
|
||||||
|
"DELETE FROM MBL_FEATURE_PROPERTY WHERE PROPERTY_ID = ?";
|
||||||
|
stmt = conn.prepareStatement(deleteDBQuery);
|
||||||
|
stmt.setInt(1, propertyId);
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if (rows > 0) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while deleting feature property with property Id - " +
|
||||||
|
propertyId;
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public FeatureProperty getFeatureProperty(int propertyId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
FeatureProperty featureProperty = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String selectDBQuery =
|
||||||
|
"SELECT PROPERTY, FEATURE_ID FROM MBL_FEATURE_PROPERTY WHERE PROPERTY_ID = ?";
|
||||||
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
|
stmt.setInt(1, propertyId);
|
||||||
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
|
while (resultSet.next()) {
|
||||||
|
featureProperty = new FeatureProperty();
|
||||||
|
featureProperty.setProperty(resultSet.getString(1));
|
||||||
|
featureProperty.setFeatureID(resultSet.getString(2));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while fetching property Id - '" +
|
||||||
|
propertyId + "'";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return featureProperty;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<FeatureProperty> getFeaturePropertyOfFeature(String featureId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
FeatureProperty featureProperty = null;
|
||||||
|
List<FeatureProperty> FeatureProperties = new ArrayList<FeatureProperty>();
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String selectDBQuery =
|
||||||
|
"SELECT PROPERTY_ID,PROPERTY, FEATURE_ID FROM MBL_FEATURE_PROPERTY WHERE FEATURE_ID = ?";
|
||||||
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
|
stmt.setString(1, featureId);
|
||||||
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
|
while (resultSet.next()) {
|
||||||
|
featureProperty = new FeatureProperty();
|
||||||
|
featureProperty.setPropertyId(resultSet.getInt(1));
|
||||||
|
featureProperty.setProperty(resultSet.getString(2));
|
||||||
|
featureProperty.setFeatureID(resultSet.getString(3));
|
||||||
|
FeatureProperties.add(featureProperty);
|
||||||
|
}
|
||||||
|
return FeatureProperties;
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while fetching all feature property.'";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Connection getConnection() throws MobileDeviceManagementDAOException {
|
||||||
|
try {
|
||||||
|
return dataSource.getConnection();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while obtaining a connection from the mobile device " +
|
||||||
|
"management metadata repository datasource.";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,151 @@
|
|||||||
|
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.MobileDeviceManagementDAOException;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dao.OperationDAO;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dto.Operation;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.ResultSet;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of OperationDAO
|
||||||
|
*/
|
||||||
|
public class OperationDAOImpl implements OperationDAO {
|
||||||
|
|
||||||
|
private DataSource dataSource;
|
||||||
|
private static final Log log = LogFactory.getLog(OperationDAOImpl.class);
|
||||||
|
|
||||||
|
public OperationDAOImpl(DataSource dataSource) {
|
||||||
|
this.dataSource = dataSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean addOperation(Operation operation)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String createDBQuery =
|
||||||
|
"INSERT INTO MBL_OPERATION(FEATURE_CODE, CREATED_DATE) VALUES ( ?, ?)";
|
||||||
|
|
||||||
|
stmt = conn.prepareStatement(createDBQuery);
|
||||||
|
stmt.setString(1, operation.getFeatureCode());
|
||||||
|
stmt.setInt(2, operation.getCreatedDate());
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if (rows > 0) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while adding feature code - '" +
|
||||||
|
operation.getFeatureCode() + "' to operations table";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean updateOperation(Operation operation)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String updateDBQuery =
|
||||||
|
"UPDATE MBL_OPERATION SET FEATURE_CODE = ?, CREATED_DATE = ? WHERE OPERATION_ID = ?";
|
||||||
|
stmt = conn.prepareStatement(updateDBQuery);
|
||||||
|
stmt.setString(1, operation.getFeatureCode());
|
||||||
|
stmt.setInt(2, operation.getCreatedDate());
|
||||||
|
stmt.setInt(3, operation.getOperationId());
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if (rows > 0) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while updating the operation with operation id - '" +
|
||||||
|
operation.getOperationId() + "'";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean deleteOperation(int operationId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String deleteDBQuery =
|
||||||
|
"DELETE FROM MBL_OPERATION WHERE OPERATION_ID = ?";
|
||||||
|
stmt = conn.prepareStatement(deleteDBQuery);
|
||||||
|
stmt.setInt(1, operationId);
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if (rows > 0) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while deleting operation with operation Id - ";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Operation getOperation(int operationId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
Operation operation = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String selectDBQuery =
|
||||||
|
"SELECT OPERATION_ID, FEATURE_CODE, CREATED_DATE FROM MBL_OPERATION WHERE OPERATION_ID = ?";
|
||||||
|
stmt = conn.prepareStatement(selectDBQuery);
|
||||||
|
stmt.setInt(1, operation.getOperationId());
|
||||||
|
ResultSet resultSet = stmt.executeQuery();
|
||||||
|
while (resultSet.next()) {
|
||||||
|
operation = new Operation();
|
||||||
|
operation.setOperationId(resultSet.getInt(1));
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while fetching operationId - '" +
|
||||||
|
operationId + "'";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return operation;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Connection getConnection() throws MobileDeviceManagementDAOException {
|
||||||
|
try {
|
||||||
|
return dataSource.getConnection();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while obtaining a connection from the mobile device " +
|
||||||
|
"management metadata repository datasource.";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,87 @@
|
|||||||
|
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.MobileDeviceManagementDAOException;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dao.OperationPropertyDAO;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dao.util.MobileDeviceManagementDAOUtil;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dto.OperationProperty;
|
||||||
|
|
||||||
|
import javax.sql.DataSource;
|
||||||
|
import java.sql.Connection;
|
||||||
|
import java.sql.PreparedStatement;
|
||||||
|
import java.sql.SQLException;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Implementation of OperationPropertyDAO
|
||||||
|
*/
|
||||||
|
public class OperationPropertyDAOImpl implements OperationPropertyDAO {
|
||||||
|
|
||||||
|
private DataSource dataSource;
|
||||||
|
private static final Log log = LogFactory.getLog(OperationPropertyDAOImpl.class);
|
||||||
|
|
||||||
|
public OperationPropertyDAOImpl(DataSource dataSource) {
|
||||||
|
this.dataSource = dataSource;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean addOperationProperty(OperationProperty operationProperty)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
boolean status = false;
|
||||||
|
Connection conn = null;
|
||||||
|
PreparedStatement stmt = null;
|
||||||
|
try {
|
||||||
|
conn = this.getConnection();
|
||||||
|
String createDBQuery =
|
||||||
|
"INSERT INTO MBL_OPERATION_PROPERTY(OPERATION_ID, PROPERTY_ID, VALUE) VALUES ( ?, ?, ?)";
|
||||||
|
|
||||||
|
stmt = conn.prepareStatement(createDBQuery);
|
||||||
|
stmt.setInt(1, operationProperty.getOperationId());
|
||||||
|
stmt.setInt(2, operationProperty.getPropertyId());
|
||||||
|
stmt.setString(3, operationProperty.getValue());
|
||||||
|
int rows = stmt.executeUpdate();
|
||||||
|
if (rows > 0) {
|
||||||
|
status = true;
|
||||||
|
}
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while adding feature property to operation property table";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
} finally {
|
||||||
|
MobileDeviceManagementDAOUtil.cleanupResources(conn, stmt, null);
|
||||||
|
}
|
||||||
|
return status;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public boolean updateOperationProperty(OperationProperty operationProperty)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public boolean deleteOperationProperty(int operationPropertyId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public OperationProperty getOperationProperty(String deviceId, int operationId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override public List<OperationProperty> getAllDeviceOperationOfDevice(String deviceId)
|
||||||
|
throws MobileDeviceManagementDAOException {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Connection getConnection() throws MobileDeviceManagementDAOException {
|
||||||
|
try {
|
||||||
|
return dataSource.getConnection();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
String msg = "Error occurred while obtaining a connection from the mobile device " +
|
||||||
|
"management metadata repository datasource.";
|
||||||
|
log.error(msg, e);
|
||||||
|
throw new MobileDeviceManagementDAOException(msg, e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,44 @@
|
|||||||
|
package org.wso2.carbon.device.mgt.mobile.dto;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DTO of Operations.
|
||||||
|
*/
|
||||||
|
public class DeviceOperation {
|
||||||
|
String deviceId;
|
||||||
|
int operationId;
|
||||||
|
int sentDate;
|
||||||
|
int receivedDate;
|
||||||
|
|
||||||
|
public String getDeviceId() {
|
||||||
|
return deviceId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDeviceId(String deviceId) {
|
||||||
|
this.deviceId = deviceId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getOperationId() {
|
||||||
|
return operationId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOperationId(int operationId) {
|
||||||
|
this.operationId = operationId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getSentDate() {
|
||||||
|
return sentDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setSentDate(int sentDate) {
|
||||||
|
this.sentDate = sentDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getReceivedDate() {
|
||||||
|
return receivedDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setReceivedDate(int receivedDate) {
|
||||||
|
this.receivedDate = receivedDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -1,20 +1,19 @@
|
|||||||
package org.wso2.carbon.device.mgt.mobile.dto;
|
package org.wso2.carbon.device.mgt.mobile.dto;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* DTO of feature property. Represents a property of a feature.
|
* DTO of feature property. Represents a property of a feature.
|
||||||
*/
|
*/
|
||||||
public class FeatureProperty {
|
public class FeatureProperty {
|
||||||
int propertyId;
|
int propertyId;
|
||||||
String property;
|
String property;
|
||||||
String featureCode;
|
String featureID;
|
||||||
|
|
||||||
public String getFeatureCode() {
|
public String getFeatureID() {
|
||||||
return featureCode;
|
return featureID;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setFeatureCode(String featureCode) {
|
public void setFeatureID(String featureID) {
|
||||||
this.featureCode = featureCode;
|
this.featureID = featureID;
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getPropertyId() {
|
public int getPropertyId() {
|
||||||
|
|||||||
@ -0,0 +1,36 @@
|
|||||||
|
package org.wso2.carbon.device.mgt.mobile.dto;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DTO of operation.
|
||||||
|
*/
|
||||||
|
public class Operation {
|
||||||
|
int operationId;
|
||||||
|
String featureCode;
|
||||||
|
int createdDate;
|
||||||
|
|
||||||
|
public int getOperationId() {
|
||||||
|
return operationId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOperationId(int operationId) {
|
||||||
|
this.operationId = operationId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public String getFeatureCode() {
|
||||||
|
return featureCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setFeatureCode(String featureCode) {
|
||||||
|
this.featureCode = featureCode;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getCreatedDate() {
|
||||||
|
return createdDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setCreatedDate(int createdDate) {
|
||||||
|
this.createdDate = createdDate;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@ -0,0 +1,44 @@
|
|||||||
|
package org.wso2.carbon.device.mgt.mobile.dto;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* DTO of operation property.
|
||||||
|
*/
|
||||||
|
public class OperationProperty {
|
||||||
|
int operationPropertyId;
|
||||||
|
int getOperationId;
|
||||||
|
int propertyId;
|
||||||
|
String value;
|
||||||
|
|
||||||
|
public String getValue() {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setValue(String value) {
|
||||||
|
this.value = value;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getOperationPropertyId() {
|
||||||
|
return operationPropertyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOperationPropertyId(int operationPropertyId) {
|
||||||
|
this.operationPropertyId = operationPropertyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getOperationId() {
|
||||||
|
return getOperationId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setOperationId(int getOperationId) {
|
||||||
|
this.getOperationId = getOperationId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public int getPropertyId() {
|
||||||
|
return propertyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setPropertyId(int propertyId) {
|
||||||
|
this.propertyId = propertyId;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@ -26,20 +26,12 @@ import org.testng.annotations.Parameters;
|
|||||||
import org.testng.annotations.Test;
|
import org.testng.annotations.Test;
|
||||||
import org.w3c.dom.Document;
|
import org.w3c.dom.Document;
|
||||||
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
import org.wso2.carbon.device.mgt.common.DeviceManagementException;
|
||||||
import org.wso2.carbon.device.mgt.core.common.DBTypes;
|
|
||||||
import org.wso2.carbon.device.mgt.core.common.TestDBConfiguration;
|
|
||||||
import org.wso2.carbon.device.mgt.core.common.TestDBConfigurations;
|
|
||||||
import org.wso2.carbon.device.mgt.core.dto.Device;
|
|
||||||
import org.wso2.carbon.device.mgt.core.dto.DeviceType;
|
|
||||||
import org.wso2.carbon.device.mgt.core.dto.OwnerShip;
|
|
||||||
import org.wso2.carbon.device.mgt.core.dto.Status;
|
|
||||||
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
|
||||||
import org.wso2.carbon.device.mgt.mobile.dao.FeatureDAO;
|
|
||||||
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
|
||||||
import org.wso2.carbon.device.mgt.mobile.dao.impl.FeatureDAOImpl;
|
|
||||||
import org.wso2.carbon.device.mgt.mobile.impl.common.DBTypes;
|
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.TestDBConfiguration;
|
||||||
import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfigurations;
|
import org.wso2.carbon.device.mgt.mobile.impl.common.TestDBConfigurations;
|
||||||
|
import org.wso2.carbon.device.mgt.core.util.DeviceManagerUtil;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dao.MobileDeviceManagementDAOException;
|
||||||
|
import org.wso2.carbon.device.mgt.mobile.dao.impl.FeatureDAOImpl;
|
||||||
import org.wso2.carbon.device.mgt.mobile.dto.*;
|
import org.wso2.carbon.device.mgt.mobile.dto.*;
|
||||||
|
|
||||||
import javax.xml.bind.JAXBContext;
|
import javax.xml.bind.JAXBContext;
|
||||||
|
|||||||
@ -22,7 +22,7 @@
|
|||||||
<parameter name="dbType" value="H2"/>
|
<parameter name="dbType" value="H2"/>
|
||||||
<classes>
|
<classes>
|
||||||
|
|
||||||
<class name="org.wso2.carbon.device.mgt.core.dao.DeviceMgtDAOTestSuite"/>
|
<class name="org.wso2.carbon.device.mgt.mobile.impl.dao.FeatureDAOTestSuite"/>
|
||||||
</classes>
|
</classes>
|
||||||
</test>
|
</test>
|
||||||
</suite>
|
</suite>
|
||||||
Loading…
Reference in New Issue
Block a user