diff --git a/v3/src/main/java/com/skyflow/utils/validations/Validations.java b/v3/src/main/java/com/skyflow/utils/validations/Validations.java index 23b3c252..b7ea4bbd 100644 --- a/v3/src/main/java/com/skyflow/utils/validations/Validations.java +++ b/v3/src/main/java/com/skyflow/utils/validations/Validations.java @@ -81,7 +81,7 @@ public static void validateDetokenizeRequest(DetokenizeRequest request) throws S )); throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(), ErrorMessage.DetokenizeRequestNull.getMessage()); } - ArrayList tokens = request.getTokens(); + List tokens = request.getTokens(); if (tokens == null || tokens.isEmpty()) { LogUtil.printErrorLog(Utils.parameterizedString( ErrorLogs.EMPTY_DETOKENIZE_DATA.getLog(), InterfaceName.DETOKENIZE.getName() @@ -96,7 +96,7 @@ public static void validateDetokenizeRequest(DetokenizeRequest request) throws S throw new SkyflowException(ErrorCode.INVALID_INPUT.getCode(), ErrorMessage.EmptyTokenInDetokenizeData.getMessage()); } } - ArrayList groupRedactions = request.getTokenGroupRedactions(); + List groupRedactions = request.getTokenGroupRedactions(); if (groupRedactions != null && !groupRedactions.isEmpty()) { for (TokenGroupRedactions group : groupRedactions) { if (group == null) { diff --git a/v3/src/main/java/com/skyflow/vault/controller/VaultController.java b/v3/src/main/java/com/skyflow/vault/controller/VaultController.java index 1c4ed195..270bf98e 100644 --- a/v3/src/main/java/com/skyflow/vault/controller/VaultController.java +++ b/v3/src/main/java/com/skyflow/vault/controller/VaultController.java @@ -196,7 +196,7 @@ private com.skyflow.vault.data.InsertResponse processSync( private DetokenizeResponse processDetokenizeSync( com.skyflow.generated.rest.resources.recordservice.requests.DetokenizeRequest detokenizeRequest, - ArrayList originalTokens + List originalTokens ) throws ExecutionException, InterruptedException, SkyflowException { LogUtil.printInfoLog(InfoLogs.PROCESSING_BATCHES.getLog()); List errorTokens = Collections.synchronizedList(new ArrayList<>()); diff --git a/v3/src/main/java/com/skyflow/vault/data/DetokenizeRequest.java b/v3/src/main/java/com/skyflow/vault/data/DetokenizeRequest.java index a1e7ca76..93ba8b9b 100644 --- a/v3/src/main/java/com/skyflow/vault/data/DetokenizeRequest.java +++ b/v3/src/main/java/com/skyflow/vault/data/DetokenizeRequest.java @@ -1,6 +1,7 @@ package com.skyflow.vault.data; import java.util.ArrayList; +import java.util.List; public class DetokenizeRequest { private final DetokenizeRequestBuilder builder; @@ -11,23 +12,23 @@ private DetokenizeRequest(DetokenizeRequestBuilder builder){ public static DetokenizeRequestBuilder builder(){ return new DetokenizeRequestBuilder(); } - public ArrayList getTokens(){ + public List getTokens(){ return this.builder.tokens; } - public ArrayList getTokenGroupRedactions(){ + public List getTokenGroupRedactions(){ return this.builder.tokenGroupRedactions; } public static final class DetokenizeRequestBuilder{ - private ArrayList tokens; + private List tokens; - private ArrayList tokenGroupRedactions; + private List tokenGroupRedactions; - public DetokenizeRequestBuilder tokens(ArrayList tokens){ + public DetokenizeRequestBuilder tokens(List tokens){ this.tokens = tokens; return this; } - public DetokenizeRequestBuilder tokenGroupRedactions(ArrayList tokenGroupRedactions){ + public DetokenizeRequestBuilder tokenGroupRedactions(List tokenGroupRedactions){ this.tokenGroupRedactions = tokenGroupRedactions; return this; } diff --git a/v3/src/main/java/com/skyflow/vault/data/DetokenizeResponse.java b/v3/src/main/java/com/skyflow/vault/data/DetokenizeResponse.java index cdc25e58..4116c8f5 100644 --- a/v3/src/main/java/com/skyflow/vault/data/DetokenizeResponse.java +++ b/v3/src/main/java/com/skyflow/vault/data/DetokenizeResponse.java @@ -7,6 +7,7 @@ import java.util.ArrayList; import java.util.HashMap; import java.util.List; +import java.util.stream.Collectors; public class DetokenizeResponse { @Expose(serialize = true) @@ -18,8 +19,7 @@ public class DetokenizeResponse { private List errors; private List originalPayload; - private ArrayList> recordsToRetry; - + private List recordsToRetry; public DetokenizeResponse(List success, List errors) { this.success = success; @@ -34,6 +34,17 @@ public DetokenizeResponse(List success, List getTokensToRetry() { + if (recordsToRetry == null) { + recordsToRetry = new ArrayList<>(); + recordsToRetry = errors.stream() + .filter(error -> (error.getCode() >= 500 && error.getCode() <= 599) && error.getCode() != 529) + .map(errorRecord -> originalPayload.get(errorRecord.getIndex())) + .collect(Collectors.toList()); + } + return recordsToRetry; + } + public List getSuccess() { return success; }