Skip to content

Commit

Permalink
Extract common code between enrypt and decrypt methods in a private m…
Browse files Browse the repository at this point in the history
…ethod
  • Loading branch information
agrancaric committed May 6, 2022
1 parent d4b5083 commit fbf29b2
Showing 1 changed file with 8 additions and 17 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -43,36 +43,27 @@ public class DefaultDataEncryptService implements DataEncryptionService {

@Override
public <T> T encryptData(T data, List<String> pathToEncryptDecryptList, EncryptionContext encryptionContext) {
if (data == null) {
return null;
}

if (CollectionUtils.isEmpty(pathToEncryptDecryptList)) {
@SuppressWarnings("unchecked")
T encryptedValue = (T) encryptDecryptValue(encryptionContext, data, EncryptionOperation.ENCRYPT);

return encryptedValue == null ? data : encryptedValue;
}

pathToEncryptDecryptList.forEach(path -> executeEncryptionOperation(encryptionContext, data, path, EncryptionOperation.ENCRYPT));

return data;
return encryptDecryptData(data, pathToEncryptDecryptList, encryptionContext, EncryptionOperation.ENCRYPT);
}

@Override
public <T> T decryptData(T data, List<String> pathToEncryptDecryptList, EncryptionContext encryptionContext) {
return encryptDecryptData(data, pathToEncryptDecryptList, encryptionContext, EncryptionOperation.DECRYPT);
}

private <T> T encryptDecryptData(T data, List<String> pathToEncryptDecryptList, EncryptionContext encryptionContext, EncryptionOperation encryptionOperation) {
if (data == null) {
return null;
}

if (CollectionUtils.isEmpty(pathToEncryptDecryptList)) {
@SuppressWarnings("unchecked")
T decryptedValue = (T) encryptDecryptValue(encryptionContext, data, EncryptionOperation.DECRYPT);
T encryptedDecryptedValue = (T) encryptDecryptValue(encryptionContext, data, encryptionOperation);

return decryptedValue == null ? data : decryptedValue;
return encryptedDecryptedValue == null ? data : encryptedDecryptedValue;
}

pathToEncryptDecryptList.forEach(path -> executeEncryptionOperation(encryptionContext, data, path, EncryptionOperation.DECRYPT));
pathToEncryptDecryptList.forEach(path -> executeEncryptionOperation(encryptionContext, data, path, encryptionOperation));

return data;
}
Expand Down

0 comments on commit fbf29b2

Please sign in to comment.