public PolicyEnforcementDelegatorImpl(List<Device> devices, List<Integer> updatedPolicyIds) { log.info("Policy re-enforcing stared due to change of the policies."); if (log.isDebugEnabled()) { for (Device device : devices) { log.debug("Policy re-enforcing for device :" + device.getDeviceIdentifier() + " - Type : " + device.getType()); } } this.devices = devices; this.updatedPolicyIds = updatedPolicyIds; }
private List<DeviceIdentifier> getDeviceIdentifiersFromDevices(List<Device> devices) { List<DeviceIdentifier> deviceIdentifiers = new ArrayList<>(); for (Device device : devices) { DeviceIdentifier identifier = new DeviceIdentifier(); identifier.setId(device.getDeviceIdentifier()); identifier.setType(device.getType()); deviceIdentifiers.add(identifier); } return deviceIdentifiers; }
private List<DeviceIdentifier> convertDevices(List<Device> devices) { List<DeviceIdentifier> deviceIdentifiers = new ArrayList<>(); for (Device device : devices) { DeviceIdentifier identifier = new DeviceIdentifier(); identifier.setId(device.getDeviceIdentifier()); identifier.setType(device.getType()); deviceIdentifiers.add(identifier); } return deviceIdentifiers; }
@Override public void setDevicesAsUnreachableWith(List<Device> devices) throws PolicyComplianceException { try { DeviceManagementProviderService service = this.getDeviceManagementProviderService(); for (Device device : devices) { DeviceIdentifier deviceIdentifier = new DeviceIdentifier(); deviceIdentifier.setId(device.getDeviceIdentifier()); deviceIdentifier.setType(device.getType()); service.setStatus(deviceIdentifier, device.getEnrolmentInfo().getOwner(), EnrolmentInfo.Status.UNREACHABLE); } } catch (DeviceManagementException e) { String msg = "Error occurred while setting the device as unreachable"; log.error(msg, e); throw new PolicyComplianceException(msg, e); } }
@Override public void delegate() throws PolicyDelegationException { for (Device device : devices) { DeviceIdentifier identifier = new DeviceIdentifier(); identifier.setId(device.getDeviceIdentifier()); identifier.setType(device.getType()); Policy devicePolicy = this.getAppliedPolicyToDevice(identifier); Policy policy = this.getEffectivePolicy(identifier); List<DeviceIdentifier> deviceIdentifiers = new ArrayList<>(); deviceIdentifiers.add(identifier); if (policy != null) { /* We add policy operation for the device if, 1) Device does not have any policy or 2) New Policy or 3) Device existing policy has changed */ if (devicePolicy == null || devicePolicy.getId() != policy.getId() || updatedPolicyIds.contains (policy.getId())) { this.addPolicyRevokeOperation(deviceIdentifiers); this.addPolicyOperation(deviceIdentifiers, policy); } } else { //This means all the applicable policies have been removed from device. Hence calling a policy revoke. this.addPolicyRevokeOperation(deviceIdentifiers); } } }
new DeviceIdentifier(device.getDeviceIdentifier(), device.getType())); if (isEnrolled) { this.modifyEnrollment(device);
@Override public boolean enrollDevice(Device device) throws DeviceManagementException { boolean status = false; MobileDevice mobileDevice = MobileDeviceManagementUtil.convertToMobileDevice(device); try { if (log.isDebugEnabled()) { log.debug("Enrolling a new windows device : " + device.getDeviceIdentifier()); } boolean isEnrolled = this.isEnrolled( new DeviceIdentifier(device.getDeviceIdentifier(), device.getType())); if (isEnrolled) { this.modifyEnrollment(device); } else { WindowsDAOFactory.beginTransaction(); status = daoFactory.getMobileDeviceDAO().addMobileDevice(mobileDevice); WindowsDAOFactory.commitTransaction(); } } catch (MobileDeviceManagementDAOException e) { WindowsDAOFactory.rollbackTransaction(); String msg = "Error while enrolling the windows device : " + device.getDeviceIdentifier(); throw new DeviceManagementException(msg, e); } return status; }