From fbf29b2be148be1f47e10d68a0fdc0e1ff7de488 Mon Sep 17 00:00:00 2001 From: agrancaric Date: Wed, 4 May 2022 10:12:20 +0200 Subject: [PATCH] Extract common code between enrypt and decrypt methods in a private method --- .../service/DefaultDataEncryptService.java | 25 ++++++------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/nrich-encrypt/src/main/java/net/croz/nrich/encrypt/service/DefaultDataEncryptService.java b/nrich-encrypt/src/main/java/net/croz/nrich/encrypt/service/DefaultDataEncryptService.java index 466746a2f..6a581b284 100644 --- a/nrich-encrypt/src/main/java/net/croz/nrich/encrypt/service/DefaultDataEncryptService.java +++ b/nrich-encrypt/src/main/java/net/croz/nrich/encrypt/service/DefaultDataEncryptService.java @@ -43,36 +43,27 @@ public class DefaultDataEncryptService implements DataEncryptionService { @Override public T encryptData(T data, List 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 decryptData(T data, List pathToEncryptDecryptList, EncryptionContext encryptionContext) { + return encryptDecryptData(data, pathToEncryptDecryptList, encryptionContext, EncryptionOperation.DECRYPT); + } + + private T encryptDecryptData(T data, List 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; }