mirror of
https://repository.entgra.net/community/device-mgt-core.git
synced 2025-10-06 02:01:45 +00:00
Fixing transactional anomalies found in PolicyManagerImpl
This commit is contained in:
parent
05c3d080e0
commit
cd31662a96
@ -106,17 +106,17 @@ public class MonitoringManagerImpl implements MonitoringManager {
|
||||
PolicyManagementDAOFactory.closeConnection();
|
||||
}
|
||||
|
||||
PolicyManagementDAOFactory.beginTransaction();
|
||||
//This was added because update query below that did not return the update table primary key.
|
||||
|
||||
if (!complianceFeatures.isEmpty()) {
|
||||
|
||||
PolicyManagementDAOFactory.beginTransaction();
|
||||
monitoringDAO.setDeviceAsNoneCompliance(device.getId(), policy.getId());
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("Compliance status primary key " + complianceData.getId());
|
||||
}
|
||||
// complianceData.setId(cmf.getId());
|
||||
monitoringDAO.addNoneComplianceFeatures(complianceData.getId(), device.getId(), complianceFeatures);
|
||||
PolicyManagementDAOFactory.commitTransaction();
|
||||
complianceDecisionPoint.validateDevicePolicyCompliance(deviceIdentifier, complianceData);
|
||||
List<ProfileFeature> profileFeatures = policy.getProfile().getProfileFeaturesList();
|
||||
for (ComplianceFeature compFeature : complianceFeatures) {
|
||||
@ -127,11 +127,12 @@ public class MonitoringManagerImpl implements MonitoringManager {
|
||||
}
|
||||
}
|
||||
} else {
|
||||
PolicyManagementDAOFactory.beginTransaction();
|
||||
monitoringDAO.setDeviceAsCompliance(device.getId(), policy.getId());
|
||||
//complianceData.setId(cmf.getId());
|
||||
monitoringDAO.deleteNoneComplianceData(complianceData.getId());
|
||||
PolicyManagementDAOFactory.commitTransaction();
|
||||
}
|
||||
PolicyManagementDAOFactory.commitTransaction();
|
||||
} else {
|
||||
if (log.isDebugEnabled()) {
|
||||
log.debug("There is no policy applied to this device, hence compliance monitoring was not called.");
|
||||
|
||||
@ -765,12 +765,11 @@ public class PolicyManagerImpl implements PolicyManager {
|
||||
public Policy getAppliedPolicyToDevice(DeviceIdentifier deviceIdentifier) throws PolicyManagementException {
|
||||
Policy policy;
|
||||
try {
|
||||
PolicyManagementDAOFactory.openConnection();
|
||||
DeviceManagementProviderService service = new DeviceManagementProviderServiceImpl();
|
||||
Device device = service.getDevice(deviceIdentifier);
|
||||
//int policyId = policyDAO.getAppliedPolicyId(device.getId());
|
||||
PolicyManagementDAOFactory.openConnection();
|
||||
policy = policyDAO.getAppliedPolicy(device.getId());
|
||||
|
||||
} catch (DeviceManagementException e) {
|
||||
throw new PolicyManagementException("Error occurred while getting device id.", e);
|
||||
} catch (PolicyManagerDAOException e) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user