private void saveExistingPropertyDescriptor(PropertyDescriptorEntity descriptor, List<PropertyTagEntity> tags, ResourceTypeEntity resourceType) { PropertyDescriptorEntity oldDescriptor = entityManager.find(PropertyDescriptorEntity.class, descriptor.getId()); List<Integer> encryptedPropertyIds = new ArrayList<>(); if (oldDescriptor.isEncrypt()) { encryptedPropertyIds.add(oldDescriptor.getId()); } PropertyDescriptorEntity mergedDescriptor = entityManager.merge(descriptor); propertyTagEditingService.updateTags(tags, mergedDescriptor); boolean canDecrypt = false; // decryption required - check permission if (!mergedDescriptor.isEncrypt() && encryptedPropertyIds.contains(mergedDescriptor.getId())) { // context? canDecrypt = permissionService.hasPermission(Permission.RESOURCETYPE_PROPERTY_DECRYPT, null, Action.ALL, null, resourceType); } manageChangeOfEncryptedPropertyDescriptor(mergedDescriptor, encryptedPropertyIds, canDecrypt); }
private void saveExistingPropertyDescriptor(PropertyDescriptorEntity descriptor, List<PropertyTagEntity> tags, ResourceEntity resource) { PropertyDescriptorEntity oldDescriptor = entityManager.find(PropertyDescriptorEntity.class, descriptor.getId()); List<Integer> encryptedPropertyIds = new ArrayList<>(); if (oldDescriptor.isEncrypt()) { encryptedPropertyIds.add(oldDescriptor.getId()); } PropertyDescriptorEntity mergedDescriptor = entityManager.merge(descriptor); propertyTagEditingService.updateTags(tags, mergedDescriptor); boolean canDecrypt = false; // decryption required - check permission if (!mergedDescriptor.isEncrypt() && encryptedPropertyIds.contains(mergedDescriptor.getId())) { // context? canDecrypt = permissionService.hasPermission(Permission.RESOURCE_PROPERTY_DECRYPT, null, Action.ALL, resource.getResourceGroup(), null); } manageChangeOfEncryptedPropertyDescriptor(mergedDescriptor, encryptedPropertyIds, canDecrypt); }
encryptedProperties = Arrays.asList(propertyDescriptorEntity.getId()); service.manageChangeOfEncryptedPropertyDescriptor(propertyDescriptorEntity, encryptedProperties, hasPermission); if (encrypt != null) { if (encrypt) {